专利名称:一种双现场总线接口转换器的制作方法
技术领域:
本发明属于现场总线技术领域。尤其涉及一种双现场总线接口转换器。
背景技术:
实际生产的巨大需求促进了现场总线技术和产品的飞速发展,各种现场通信网络的应用 越来越普及,特别是CAN、 Profibus-DP等网络在我国的发展速度最快。然而市场上提供的具 有这些现场总线通信能力的设备与仪表主要是进口设备,价格高。因此,开发现场总线接口 技术和产品是目前技术人员较为关注的问题。如北京鼎实创新科技有限公司开发出RS-232/ 485转Profibus-DP和RS-232/485转CAN的总线桥;瑞典的HMS公司开发出AnyBus-X系 列的串口网关和现场总线网关。另外,如"一种实现串口设备与Profibus-DP总线相接的装置" (CN 200620200643.1 )的技术、"基于微控制器的通用串口和CAN总线的接口转换器"(CN 200720069155.6)的技术和"应用于巻烟机上的Profibus-DP与CAN总线结合的通信方法"(CN 200710124631.4)的技术。
这些技术研究和产品应用虽取得了一定的进展,但或是针对串口向单一现场总线的转换,
或是两种现场总线之间的转换,然而相对于在一个接口装置内实现串口向多种现场总线转换, 其接口功能单一,灵活性差,无法满足实际工业系统对于多现场总线的需求,且硬件复杂度 高,体积大。
发明内容
本发明的目的在于提供一种功能齐全、灵活性强、硬件复杂度低的双现场总线接口转换 器,该转换器能使普通串行接口分别与CAN和Profibus-DP总线接口之间转换,可实现异构 网络互联。
为了实现上述目的,本发明采用的述技术方案是该转换器包括SoC微控制器、CAN总线 通信接口模块、Profibus-DP总线通信接口模块、串口通信接口模块、电源转换模块和总线选 择开关模块。CAN总线通信接口模块由SoC微控制器内嵌的CAN控制器、第一光耦隔离电路 和CAN总线收发器组成,Profibus-DP总线通信接口模块由SPC3协议控制器、第二光耦隔离电 路和RS485驱动器组成。
CAN总线收发器的一端与CAN总线网络连接,CAN总线收发器的另一端通过第一光耦隔 离电路和SoC微控制器内嵌的CAN控制器连接,SPC3协议控制器的一端与SoC微控制器连接,
SPC3协议控制器的另一端通过第二光耦隔离电路与RS485驱动器连接,RS485驱动器与 Profibus-DP总线网络连接;串口现场设备或仪表通过串口通信接口模块和SoC微控制器连接, 总线选择开关模块与SoC微控制器连接。电源转换模块分别与SoC微控制器、CAN总线通信接 口模块、Profibus-DP总线通信接口模块和串口通信接口模块连接。
串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序存储在SoC微控制器 中,该程序由一个主程序、CAN接口中断服务子程序、Profibus-DP接口中断服务子程序和串口 中断服务子程序组成。
所述的CAN总线通信接口模块由SoC微控制器内嵌的CAN控制器、第一光耦隔离电路和 CAN总线收发器组成。第一光耦隔离电路的接收端RX1、发送端TXl与SoC微控制器内嵌的 CAN控制器相对应的发送端CANTX、接收端CANRX连接,第一光耦隔离电路的接收端RX2、 发送端TX2与CAN总线收发器相对应的发送端TX2、接收端RX2连接,CAN总线收发器与CAN总 线网络连接。电源转换模块的电压输出端VCC、地线端GND与SoC微控制器相对应的工作电 压输入端VCC、地线端GND连接,电源转换模块的隔离电压输出端VDD1、地线端GND1与第 一光耦隔离电路相对应的工作电压输入端VDD1、地线端GND1连接,电源转换模块的隔离电 压输出端VDD2、地线端GND2分别与第一光耦隔离电路和CAN总线收发器相对应的工作电压 输入端VDD2、地线端GND2连接。
所述的Profibus-DP总线通信接口模块由SPC3协议控制器、第二光耦隔离电路和RS485 驱动器组成。SPC3协议控制器的数据/地址端DB
、地址端AB
和中断信号端INTO 与SoC微控制器相对应的数据/地址端P3
、地址端P2
和中断信号端INT0/P0.2连 接,SPC3协议控制器的读信号端RD、写信号端WR和地址锁存信号端ALE与SoC微控制 器相对应的读信号端RD/P0.6、写信号端WR/P0.7和地址锁存信号端ALE/P0.5连接,SPC3 协议控制器的接收端RXD、发送端TXD和发送使能端RTS与第二光耦隔离电路相对应的发 送端TXD、接收端RXD和发送使能端RTS连接;第二光耦隔离电路的接收端RXD1、发送 端TXD1和发送使能端RTS1与RS485驱动器相对应的发送端TXD1、接收端RXD1和发送 使能端RTS1连接,RS485驱动器与Profibus-DP总线网络连接。电源转换模块的电压输出端 VCC、地线端GND与SoC微控制器相对应的工作电压输入端VCC、地线端GND连接,电 源转换模块的隔离电压输出端VDD1、地线端GND1分别与SPC3协议控制器和第二光耦隔 离电路相对应的工作电压输入端VDD1、地线端GND1连接,电源转换模块的隔离电压输出 端VDD3、地线端GND3分别与第二光耦隔离电路和RS485驱动器相对应的工作电压输入端 VDD3、地线端GND3连接。所述的串口通信接口模块的接受端RXD2、发送端TXD2和发送使能端RTS2与SoC微 控制器相对应的发送端TXD2/P0.0、接受端RXD2/P0.1和输出端P0.3连接;电源转换模块的 电压输出端VCC、地线端GND与SoC微控制器相对应的工作电压输入端VCC、地线端GND 连接,电源转换模块的电压输出端VDD1、地线端GND1与串口通信接口模块相对应的工作 电压输入端VDD1、地线端GND1连接;串口通信接口模块的接受端RXD3和发送端TXD3 与串口现场设备或仪表相对应的端口连接。
所述的总线选择开关模块的开关Keyl、开关Key2和复位开关Resrt与SoC微控制器相 对应的输入端Pl.O、输入端Pl.l和复位端Resrt连接。
实现现场总线接口转换的工作原理是CAN总线通信接口模块实现CAN总线协议, Profibus-DP总线通信接口模块实现Profibus-DP总线协议,串口通信接口模块处理串口协议, SoC微控制器中的软件实现串形接口与CAN总线和Profibus-DP总线接口之间的协议转换。 总线选择开关模块的2个开关Keyl、Key2控制3种接口的转换。比如当CAN和Profibus-DP 网络同时对串口设备监测时,即底层串口设备向上层CAN和Profibus-DP网络发送数据时, 应同时选择开关Keyl和Key2;当主站只通过CAN网络与底层串口设备双向通信时,应选 择开关Keyl;当主站只通过Profibus-DP网络与底层串口设备双向通信时,应选择开关Key2。
所述的串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的主程序的具 体步骤是
步骤Sl-l,主程序开始,进入步骤Sl-2; 步骤Sl-2,配置转换器运行参数,进入步骤Sl-3;
步骤Sl-3,对各通信模块初始化,并配置各模块输入输出缓冲区大小,进入步骤Sl-4; 步骤Sl-4,査询CAN接口是否接受到数据,若是则进入步骤Sl-5,若不是则直接进入步 骤Sl-6;
步骤Sl-5,运行CAN接口中断服务子程序,子程序运行完进入步骤Sl-6; 步骤Sl-6,查询Profibus-DP接口是否接受到数据,若是则进入步骤Sl-7,若不是则进入 步骤Sl-8;
步骤Sl-7,运行Profibus-DP接口中断服务子程序,子程序运行完进入步骤Sl-8; 步骤Sl-8,査询串口是否接受到数据,若是则进入步骤SI-9,若不是则进入步骤Sl-4; 步骤Sl-9,运行串口中断服务子程序,进入步骤Sl-4。
所述的串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的CAN接口中断 服务子程序的具体步骤是
步骤S2-1, CAN接口中断服务子程序开始,进入步骤S2-2;
步骤S2-2,判断总线选择开关模块的开关Keyl是否开启,若开启则进入步骤S2-3,若 未开启则结束CAN接口中断服务子程序;
步骤S2-3,读CAN总线接口数据并写入第一输入缓冲区,进入步骤S2-4;
步骤S2-4,第一输入缓冲区中的数据转换成串口协议后存入第一输出缓冲区,进入步骤
52- 5;
步骤S2-5,第一输出缓冲区的数据发送到串口, CAN接口中断服子程序结束。
所述的串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的Profibus-DP接 口中断服务子程序的具体步骤是
步骤S3-1, Profibus-DP接口中断服务子程序开始,进入步骤S3-2;
步骤S3-2,判断总线选择开关模块的开关Key2是否开启,若开启则进入步骤S3-3,若 未开启则结束Profibus-DP接口中断服务子程序;
步骤S3-3,读Profibus-DP总线接口数据并写入第二输入缓冲区,进入步骤S3-4;
步骤S3-4,第二输入缓冲区中的数据转换成串口协议后存入第二输出缓冲区,进入步骤
53- 5;
步骤S3-5,第二输出缓冲区的数据发送到串口, Profibus-DP接口中断服子程序结束。 所述的串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的串口中断服务 子程序的具体步骤是
步骤S4-1,串口中断服务子程序开始,进入步骤S4-2:
步骤S4-2,判断总线选择开关模块的开关Keyl或Key2是否开启,若其中一个开关Keyl或 Key2开启则进入步骤S4-3,若都未开启则结束串口中断服务子程序 步骤S4-3,读串口数据并写入第三输入缓冲区,进入步骤S4-4;
步骤S4-4,判断总线选择开关模块的开关Keyl是否开启,若开启则进入步骤S4-5,若 未开启则进入步骤S4-7;
步骤S4-5,第三输入缓冲区中的数据转换成CAN总线协议后存入第三输出缓冲区,进入 步骤S4-6;
步骤S4-6,输出第三输出缓冲区的数据发送到CAN接口,进入步骤S4-7;
步骤S4-7,判断总线选择开关模块的开关Key2是否开启,若开启则进入步骤S4-8,若
未开启则结束串口中断服务子程序;
步骤S4-8,第三输入缓冲区中的数据转换成Profibus-DP总线协议后存入第四输出缓冲区,
进入步骤S4-9;
步骤S4-9,第四输出缓冲区的数据发送至l」Profibus-DP接口,串口中断服子程序结束。 由于采用上述技术方案,本发明有效地解决了普通串行接口向多现场总线的转换,实现 两种现场总线网络对同一串口设备的监控管理与资源共享,达到异构网络互联的目的,具有 灵活性强和功能齐全的特点。另外,本发明选用了体积小、功耗低、处理速度快、并集成CAN 协议控制器的SoC微控制器,使该双现场总线接口转换器的硬件复杂度低,体积小。
图1是本发明的一种总体结构示意框图2是图1中CAN总线通信接口模块12的结构示意图3是图1中Profibus-DP总线通信接口模块7的结构示意图4是图1中串口通信接口模块11的结构示意图5是图1中总线选择开关模块8的结构示意图6是本发明的主程序流程图7是本发明的CAN接口中断服务子程序流程图8是本发明的Profibus-DP接口中断服务子程序流程图9是本发明的串口中断服务子程序流程图。
具体实施方案
下面结合附图对本发明作进一步的描述,并非对保护范围的限制。 一种双现场总线接口转换器如图1所示该转换器包括SoC微控制器9、 CAN总线通信
接口模块12、 Profibus-DP总线通信接口模块7、串口通信接口模块ll、电源转换模块3和总
线选择开关模块8。
其中CAN总线通信接口模块12由SoC微控制器9内嵌的CAN控制器10、第一光耦 隔离电路2和CAN总线收发器1组成;Profibus-DP总线通信接口模块7由SPC3协议控制器 4、第二光耦隔离电路5和RS485驱动器6组成。
本实施例如图l所示,CAN总线收发器1的一端与CAN总线网络连接,CAN总线收发器1的另 一端通过第一光耦隔离电路2和SoC微控制器9内嵌的CAN控制器10连接;SPC3协议控制器4的 一端与SoC微控制器9连接,SPC3协议控制器4的另一端通过第二光耦隔离电路5与RS485驱动 器6连接,RS485驱动器6与Profibus-DP总线网络连接;串口现场设备或仪表13通过串口通信 接口模块ll和SoC微控制器9连接,总线选择开关模块8与SoC微控制器9连接。电源转换模块3 分别与SoC微控制器9、 CAN总线通信接口模块12、 Profibus-DP总线通信接口模块7和串口通
信接口模块ll连接。
本实施例的CAN总线通信接口模块12由SoC微控制器9内嵌的CAN控制器10、第一光耦隔 离电路2和CAN总线收发器1组成。CAN总线通信接口模块12如图2所示第一光耦隔离电路2 的接收端RX1、发送端TXl与SoC微控制器9内嵌的CAN控制器10相对应的发送端CANTX、接 收端CANRX连接,第一光耦隔离电路2的接收端RX2、发送端TX2与C緒总线收发器1相对应 的发送端TX2、接收端RX2连接,CAN总线收发器1与CAN总线网络连接。电源转换模块3的24V 转3.3V电压输出端VCC、地线端GND与SoC微控制器9相对应的工作电压输入端VCC、地线端 GND连接,电源转换模块3的24V转5V隔离电压输出端VDD1、地线端GND1与第一光耦隔离 电路2相对应的工作电压输入端VDD1、地线端GND1连接,电源转换模块3的24V转5V隔离电 压输出端VDD2、地线端GND2分别与第一光耦隔离电路2和CAN总线收发器1相对应的工作电 压输入端VDD2、地线端GND2连接。
本实施例的Profibus-DP总线通信接口模块7如图3所示由SPC3协议控制器4、第二 光耦隔离电路5和RS485驱动器6组成。SPC3协议控制器4的数据/地址端DB
、地址 端AB
和中断信号端INTO与SoC微控制器9相对应的数据/地址端P3
、地址端 P2
和中断信号端INT0/P0.2连接,SPC3协议控制器4的读信号端RD、写信号端WR 和地址锁存信号端ALE与SoC微控制器9相对应的读信号端RD/P0.6、写信号端WR/P0.7 和地址锁存信号端ALE/P0.5连接,SPC3协议控制器4的接收端RXD、发送端TXD和发送 使能端RTS与第二光耦隔离电路5相对应的发送端TXD、接收端RXD和发送使能端RTS连 接;第二光耦隔离电路5的接收端RXD1、发送端TXD1和发送使能端RTS1与RS485驱动 器6相对应的发送端TXD1、接收端RXD1和发送使能端RTS1连接,RS485驱动器6与 Profibus-DP总线网络连接。电源转换模块3的24V转3.3V电压输出端VCC、地线端GND 与SoC微控制器9相对应的工作电压输入端VCC、地线端GND连接,电源转换模块3的24V 转5V隔离电压输出端VDD1、地线端GND1分别与SPC3协议控制器4和第二光耦隔离电路 5相对应的工作电压输入端VDD1、地线端GND1连接,电源转换模块3的24V转5V隔离 电压输出端VDD3、地线端GND3分别与第二光耦隔离电路5和RS485驱动器6相对应的工 作电压输入端VDD3、地线端GND3连接。
本实施例的串口通信接口模块11如图4所示串口通信接口模块11的接受端RXD2、 发送端TXD2和发送使能端RTS2与SoC微控制器9相对应的发送端TXD2/P0.0、接受端 RXD2/P0.1和输出端P0.3连接;电源转换模块3的24V转3.3V电压输出端VCC、地线端 GND与SoC微控制器9相对应的工作电压输入端VCC、地线端GND连接,电源转换模块3的24V转5V电压输出端VDD1、地线端GND1与串口通信接口模块11相对应的工作电压输 入端VDD1、地线端GND1连接;串口通信接口模块11的接受端RXD3和发送端TXD3与 串口现场设备或仪表13相对应的端口连接。
本实施例的总线选择开关模块8如图5所示总线选择开关模块8的开关Keyl、开关 Key2和复位开关Resrt与SoC微控制器9相对应的输入端Pl.O、输入端Pl.l和复位端Resrt 连接。
本实施例中,SoC微控制器9选用集成CAN协议控制器的SoC单片机C8051F040,这 种SoC单片机体积小、功耗低、处理速度快、抗干扰能力强、存储空间大、支持JTAG在线 编程方便系统升级,并集成了看门狗和电源管理等功能,大大降低了硬件设计的复杂度和开 发成本。
本实施例中,SPC3协议控制器4是西门子公司生产的Profibus-DP协议芯片。
本实施例实现现场总线接口转换的工作原理是CAN总线通信接口模块12实现CAN总 线协议,Profibus-DP总线通信接口模块7实现Profibus DP总线协议,串口通信接口模块11 处理串口协议,SoC微处理器9中的软件实现串形接口与CAN总线和Profibus-DP总线接口 之间的协议转换。总线选择开关模块8的2个开关Keyl、 Key2控制3种接口的转换。比如 当CAN禾口 Profibus-DP网络同时对串口设备监测时,即底层串口设备向上层CAN和 Profibus-DP网络发送数据时,应同时选择开关Keyl和Key2;当主站只通过CAN网络与底 层串口设备双向通信时,应选择开关Keyl;当主站只通过Profibus-DP网络与底层串口设备 双向通信时,应选择开关Key2。
在本实施例中,串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序存储 在SoC微控制器9中,该程序由一个主程序、CAN接口中断服务子程序、Profibus-DP接口 中断服务子程序和串口中断服务子程序组成。其中
串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的主程序的具体步骤
是
步骤S1-1,主程序开始,进入步骤Sl-2; 步骤Sl-2,配置转换器运行参数,进入步骤Sl-3;
步骤Sl-3,对各通信模块初始化,并配置各模块输入输出缓冲区大小,进入步骤Sl-4; 步骤Sl-4,查询CAN接口是否接受到数据,若是则进入步骤Sl-5,若不是则直接进入步 骤Sl-6;
步骤Sl-5,运行CAN接口中断服务子程序,子程序运行完进入步骤Sl-6;
步骤Sl-6,査询Profibus-DP接口是否接受到数据,若是则进入歩骤Sl-7,若不是则进入 步骤Sl-8:
步骤Sl-7,运行Profibus-DP接口中断服务子程序,子程序运行完进入步骤Sl-8; 步骤Sl-8,查询串口是否接受到数据,若是则进入步骤S卜9,若不是则进入步骤Sl-4; 步骤Sl-9,运行串口中断服务子程序,进入步骤Sl-4。
串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的CAN接口中断服务子 程序的具体步骤是
步骤S2-1, CAN接口中断服务子程序开始,进入步骤S2-2;
步骤S2-2,判断总线选择开关模块8的开关Keyl是否开启,若开启则进入步骤S2-3,若 未开启则结束CAN接口中断服务子程序;
步骤S2-3,读CAN总线接口数据并写入第一输入缓冲区,进入步骤S2-4;
步骤S2-4,第一输入缓冲区中的数据转换成串口协议后存入第一输出缓冲区,进入步骤 S2-5:
步骤S2-5,第一输出缓冲区的数据发送到串口, CAN接口中断服子程序结束。
串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的Profibus-DP接口中断
服务子程序的具体步骤是
步骤S3-1, Profibus-DP接口中断服务子程序开始,进入步骤S3-2;
步骤S3-2,判断总线选择开关模块8的开关Key2是否开启,若开启则进入步骤S3-3,若 未开启则结束Profibus-DP接口中断服务子程序;
步骤S3-3,读Profibus-DP总线接口数据并写入第二输入缓冲区,进入步骤S3-4;
步骤S3-4,第二输入缓冲区中的数据转换成串口协议后存入第二输出缓冲区,进入步骤 S3陽5;
步骤S3-5,第二输出缓冲区的数据发送到串口, Profibus-DP接口中断服子程序结束。 串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序的串口中断服务子程序 的具体步骤是
步骤S4-1,串口中断服务子程序开始,进入步骤S4-2:
步骤S4-2,判断总线选择开关模块8的开关Keyl或Key2是否开启,若其中一个开关Keyl 或Key2开启则迸入步骤S4-3,若都未开启则结束串口中断服务子程序; 步骤S4-3,读串口数据并写入第三输入缓冲区,进入步骤S4-4;
步骤S4-4,判断总线选择开关模块8的开关Keyl是否开启,若开启则进入步骤S4-5,若
未开启则进入步骤S4-7;
步骤S4-5,第三输入缓冲区中的数据转换成CAN总线协议后存入第三输出缓冲区,进入 步骤S4-6;
步骤S4-6,输出第三输出缓冲区的数据发送到CAN接口,进入步骤S4-7;
步骤S4-7,判断总线选择开关模块8的开关Key2是否开启,若开启则进入步骤S4-8,若 未开启则结束串口中断服务子程序;
步骤S4-8,第三输入缓冲区中的数据转换成Profibus-DP总线协议后存入第四输出缓冲区, 进入步骤S4-9;
步骤S4-9,第四输出缓冲区的数据发送到Profibus-DP接口,串口中断服子程序结束。 本具体实施方式
有效地解决了普通串行接口向多现场总线的转换,实现两种现场总线网 络对同一串口设备的监控管理与资源共享,达到异构网络互联的目的,具有灵活性强和功能 齐全的特点。另外,本具体实施方式
选用了体积小、功耗低、处理速度快、并集成CAN协议 控制器的SoC单片机C8051F040,使该双现场总线接口转换器的硬件复杂度低,体积小。
权利要求
1、一种双现场总线接口转换器,其特征在于该转换器包括SoC微控制器[9]、CAN总线通信接口模块[12]、Profibus-DP总线通信接口模块[7]、串口通信接口模块[11]、电源转换模块[3]和总线选择开关模块[8];CAN总线通信接口模块[12]由SoC微控制器[9]内嵌的CAN控制器[10]、第一光耦隔离电路[2]和CAN总线收发器[1]组成,Profibus-DP总线通信接口模块[7]由SPC3协议控制器[4]、第二光耦隔离电路[5]和RS485驱动器[6]组成;CAN总线收发器[1]的一端与CAN总线网络连接,CAN总线收发器[1]的另一端通过第一光耦隔离电路[2]和SoC微控制器[9]内嵌的CAN控制器[10]连接,SPC3协议控制器[4]的一端与SoC微控制器[9]连接,SPC3协议控制器[4]的另一端通过第二光耦隔离电路[5]与RS485驱动器[6]连接,RS485驱动器[6]与Profibus-DP总线网络连接,串口现场设备或仪表[13]通过串口通信接口模块[11]和SoC微控制器[9]连接,总线选择开关模块[8]与SoC微控制器[9]连接;电源转换模块[3]分别与SoC微控制器[9]、CAN总线通信接口模块[12]、Profibus-DP总线通信接口模块[7]和串口通信接口模块[11]连接;串形接口与CAN总线和Profibus-DP总线接口之间的协议转换程序存储在SoC微控制器[9]中,该程序由一个主程序、CAN接口中断服务子程序、Profibus-DP接口中断服务子程序和串口中断服务子程序组成。
2、 根据权利要求l所述的双现场总线接口转换器,其特征在于所述的CAN总线通信接口 模块[12]由SoC微控制器[9]内嵌的CAN控制器[10]、第一光耦隔离电路[2]和CAN总线收发器[1] 组成;第一光耦隔离电路[2]的接收端RX1、发送端TXl与SoC微控制器[9]内嵌的CAN控制器 [IO]相对应的发送端CANTX、接收端CANRX连接,第一光耦隔离电路[2]的接收端RX2、发 送端TX2与CAN总线收发器[1]相对应的发送端TX2、接收端RX2连接,CAN总线收发器[1]与 CAN总线网络连接;电源转换模块[3]的电压输出端VCC、地线端GND与SoC微控制器[9]相对 应的工作电压输入端VCC、地线端GND连接,电源转换模块[3]的隔离电压输出端VDD1、地 线端GNDI与第一光耦隔离电路[2]相对应的工作电压输入端VDD1、地线端GND1连接,电源 转换模块[3]的隔离电压输出端VDD2、地线端GND2分别与第一光耦隔离电路[2]和CAN总线 收发器[1]相对应的工作电压输入端VDD2、地线端GND2连接。
3、 根据权利要求1所述的双现场总线接口转换器,其特征在于所述的Profibus-DP总线 通信接口模块[7]由SPC3协议控制器[4]、第二光耦隔离电路[5]和RS485驱动器[6]组成;SPC3 协议控制器[4]的数据/地址端DB
、地址端AB
和中断信号端INTO与SoC微控制 器[9]相对应的数据/地址端P3
、地址端P2
和中断信号端INT0/P0.2连接,SPC3协议控制器[4]的读信号端RD、写信号端WR和地址锁存信号端ALE与SoC微控制器[9]相 对应的读信号端RD/P0.6、写信号端WR/P0.7和地址锁存信号端ALE/P0.5连接,SPC3协议 控制器[4]的接收端RXD、发送端TXD和发送使能端RTS与第二光耦隔离电路[5]相对应的发 送端TXD、接收端RXD和发送使能端RTS连接;第二光耦隔离电路[5]的接收端RXD1 、发 送端TXD1和发送使能端RTS1与RS485驱动器[6]相对应的发送端TXD1、接收端RXD1和 发送使能端RTS1连接,RS485驱动器[6]与Profibus-DP总线网络连接;电源转换模块[3]的电 压输出端VCC、地线端GND与SoC微控制器[9]相对应的工作电压输入端VCC、地线端GND 连接,电源转换模块[3]的隔离电压输出端VDD1、地线端GND1分别与SPC3协议控制器[4] 和第二光耦隔离电路[5]相对应的工作电压输入端VDD1、地线端GND1连接,电源转换模块 [3]的隔离电压输出端VDD3、地线端GND3分别与第二光耦隔离电路[5]和RS485驱动器[6] 相对应的工作电压输入端VDD3、地线端GND3连接。
4、 根据权利要求1所述的双现场总线接口转换器,其特征在于所述的串口通信接口模块 [ll]的接受端RXD2、发送端TXD2和发送使能端RTS2与SoC微控制器[9]相对应的发送端 TXD2/P0.0、接受端RXD2/P0.1和输出端P0.3连接;电源转换模块[3]的电压输出端VCC、地 线端GND与SoC微控制器[9]相对应的工作电压输入端VCC、地线端GND连接,电源转换 模块[3]的电压输出端VDD1、地线端GND1与串口通信接口模块[ll]相对应的工作电压输入 端VDD1、地线端GND1连接;串口通信接口模块[11]的接受端RXD3、发送端TXD3与串口 现场设备或仪表[13]相对应的端口连接。
5、 根据权利要求l所述的双现场总线接口转换器,其特征在于所述的总线选择开关模块 [8]的开关Keyl、开关Key2和复位开关Resrt与SoC微控制器[9]相对应的输入端Pl.O、输入 端Pl.l和复位端Resrt连接。
6、 根据权利要求1所述的双现场总线接口转换器,其特征在于所述的串形接口与CAN 总线和Profibus-DP总线接口之间的协议转换程序的主程序的具体步骤是步骤Sl-l,主程序开始,进入步骤Sl-2; 步骤Sl-2,配置转换器运行参数,进入步骤Sl-3;步骤Sl-3,对各通信模块初始化,并配置各模块输入输出缓冲区大小,进入步骤Sl-4; 步骤Sl-4,查询CAN接口是否接受到数据,若是则进入步骤Sl-5,若不是则直接进入步 骤Sl-6;步骤Sl-5,运行CAN接口中断服务子程序,子程序运行完进入步骤Sl-6;步骤Sl-6,查询Profibus-DP接口是否接受到数据,若是则进入步骤Sl-7,若不是则进入步骤Sl-8;步骤Sl-7,运行Profibus-DP接口中断服务子程序,子程序运行完进入步骤Sl-8; 步骤Sl-8,查询串口是否接受到数据,若是则进入步骤Sl-9,若不是则进入步骤Sl-4; 步骤Sl-9,运行串口中断服务子程序,进入步骤Sl-4。
7、 根据权利要求l所述的双现场总线接口转换器,其特征在于所述的串形接口与CAN总 线和Profibus-DP总线接口之间的协议转换程序的CAN接口中断服务子程序的具体步骤是, 步骤S2-1, CAN接口中断服务子程序开始,进入步骤S2-2:步骤S2-2,判断总线选择开关模块[8]的开关Keyl是否开启,若开启则进入步骤S2-3,若 未开启则结束CAN接口中断服务子程序;步骤S2-3,读CAN总线接口数据并写入第一输入缓冲区,进入步骤S2-4;步骤S2-4,第一输入缓冲区中的数据转换成串口协议后存入第一输出缓冲区,进入步骤52- 5;步骤S2-5,第一输出缓冲区的数据发送到串口, CAN接口中断服子程序结束。
8、 根据权利要求l所述的双现场总线接口转换器,其特征在于所述的串形接口与CAN总 线和Profibus-DP总线接口之间的协议转换程序的Profibus-DP接口中断服务子程序的具体步骤 是步骤S3-1, Profibus-DP接口中断服务子程序开始,进入步骤S3-2;步骤S3-2,判断总线选择开关模块[8]的开关Key2是否开启,若开启则进入步骤S3-3,若 未开启则结束Profibus-DP接口中断服务子程序;步骤S3-3,读Profibus-DP总线接口数据并写入第二输入缓冲区,进入步骤S3-4; 步骤S3-4,第二输入缓冲区中的数据转换成串口协议后存入第二输出缓冲区,进入步骤53- 5;步骤S3-5,第二输出缓冲区的数据发送到串口, Profibus-DP接口中断服子程序结束。
9、 根据权利要求l所述的双现场总线接口转换器,其特征在于所述的串形接口与CAN总 线和Profibus-DP总线接口之间的协议转换程序的串口中断服务子程序的具体步骤是步骤S4-1,串口中断服务子程序开始,进入步骤S4-2;步骤S4-2,判断总线选择开关模块[8]的开关Keyl或Key2是否开启,若其中一个开关Keyl 或Key2开启则进入步骤S4-3,若都未开启则结束串口中断服务子程序; 步骤S4-3,读串口数据并写入第三输入缓冲区,进入步骤S4-4;歩骤S4-4,判断总线选择开关模块[8]的开关Keyl是否开启,若开启则进入步骤S4-5,若 未开启则进入步骤S4-7;步骤S4-5,第三输入缓冲区中的数据转换成CAN总线协议后存入第三输出缓冲区,进入 步骤S4-6;步骤S4-6,输出第三输出缓冲区的数据发送到CAN接口,进入步骤S4-7;步骤S4-7,判断总线选择开关模块[8]的开关Key2是否开启,若开启则进入步骤S4-8,若未开启则结束串口中断服务子程序;步骤S4-8,第三输入缓冲区中的数据转换成Profibus-DP总线协议后存入第四输出缓冲区, 进入步骤S4-9;步骤S4-9,第四输出缓冲区的数据发送至i」Profibus-DP接口,串口中断服子程序结束。
全文摘要
本发明涉及一种多现场总线接口转换器。其技术方案是CAN总线收发器[1]的一端与CAN总线网络连接、另一端通过第一光耦隔离电路[2]和CAN控制器[10]相连接,SPC3协议控制器[4]的一端与SoC微控制器[9]连接、另一端通过第二光耦隔离电路[5]与RS485驱动器[6]连接,RS485驱动器[6]与Profibus-DP总线网络连接;串口现场设备或仪表[13]通过串口通信接口模块[11]和SoC微控制器[9]连接,总线选择开关模块[8]与SoC微控制器[1]连接。串口与CAN和Profibus-DP总线接口之间的协议转换程序存储在SoC微控制器[9]。本发明具有灵活性强、硬件复杂度低等特点,实现了两种现场总线网络对同一串口设备的监控管理与资源共享,达到异构网络的互联。
文档编号H04L12/66GK101345629SQ20081004893
公开日2009年1月14日 申请日期2008年8月21日 优先权日2008年8月21日
发明者叶杨婷, 方康玲 申请人:武汉科技大学