CAN总线-PROFIBUS-DP总线网关的实现方法
CAN总线侧的初始化与发送程序流程如图4:
在接受子程序里,系统以查询的方式接受CAN子站传送过来的数据,网关通过接受缓冲区数据区的第一个字节的内容判断接受的是真正的数据,还是发给 PROFIBUS-DP站点的发送数据请求。如果数据区第一个字节是00H,则传送的是数据信息,于是根据ID查表求得该站所对应的存储单元,并将数据区的第二、三字节的内容存在该单元内,同时把ID放在7FFCH中,告诉对方发送数据的站点号;如果该字节内容是FFH,则说明是发送数据请求,数据区第二个字节存放的是被要求发送数据的站点号,将他放入7FFCH内即可。
CAN总线接口发送数据子程序流程图如图5:
5 结束语
实践证明,双CPU结构的双向网关可以很好地完成CAN总线到PROFIBUS-DP总线协议转换的任务,并且解决了单CPU结构网关中存在的数据传输速率低,数据传输可靠性差等问题,满足了CAN总线与PROFIBUS-DP总线协议转换的要求。它将CAN总线设备与PROFIBUS总线设备的连接起来,使两种现场总线设备可以高效的通信,最终达到数据共享与功能互补的目的。并且工作人员在使用过程中不必关心两种总线物理层和数据链路层的全部内容,给总线产品的研究开发带来极大方便。另外这种双CPU结构的设计方案对其他现场总线之间的网关设计具有借鉴意义,是一种值得推广的方法。
参考文献
[1] 邬宽明. 现场总线应用选编. 北京:北京航空航天大学出版社,2004
[2] 邹益仁. 现场总线控制系统的设计和开发. 北京:国防工业出版社,2003
[3] 饶运涛. 现场总线CAN原理与应用技术. 北京:北京航空航天大学出版社,2003
[4] SIEMENS. SPC3 and DPS2 User Description Version2.0,2002
[5] PNO.Draft GSD Specification for PROFIBUS-DP GSD Revision2,1998
[6] PHILIPS.Semiconductor PCA82C250 CAN controlerinter-face,1997(end)
评论