新闻中心

EEPW首页>嵌入式系统>设计应用> 一种CAN总线―PROFIBUS-DP总线网关的实现方法

一种CAN总线―PROFIBUS-DP总线网关的实现方法

作者: 时间:2012-11-07 来源:网络 收藏


在接受子程序里,系统以查询的方式接受CAN子站传送过来的数据,网关通过接受缓冲区数据区的第一个字节的内容判断接受的是真正的数据,还是发给站点的发送数据请求。如果数据区第一个字节是00H,则传送的是数据信息,于是根据ID查表求得该站所对应的存储单元,并将数据区的第二、三字节的内容存在该单元内,同时把ID放在7FFCH中,告诉对方发送数据的站点号;如果该字节内容是FFH,则说明是发送数据请求,数据区第二个字节存放的是被要求发送数据的站点号,将他放入7FFCH内即可。

接口发送数据子程序流程图如图5:



上面的发送程序是由双口RAM的中断信号触发的,收到中断信号后,首先读取7FFEH单元的内容,将中断信号消除,然后根据该单元的内容,判断双口RAM内存放的是数据,还是被要求发送数据的CAN子站的ID号。如果7FFEH内容为00H,则说明所要发送到CAN子站的为正常的数据,于是将发送缓冲区的第一个字节设置为00H,告诉CAN子站发送的为数据,然后读取7FFDH单元内容,查表求得数据在双口RAM中的地址,并从该地址取两个字节存到SJA1000输出缓冲区数据区的第二、三个字节,同时把7FFDH作为发送的ID号。如果7FFDH是FFH,则说明PROFIBUS- DP发送过来得是被要求发送数据的CAN子站的站点号,于是只要把它放到SJA1000发送缓冲区数据区的第二个字节,并把第一个字节设为FFH,以通知 CAN站点,发送的数据为ID号。以上工作完成后,最后通过写命令字发送数据。

5 结束语

实践证明,双CPU结构的双向网关可以很好地完成总线协议转换的任务,并且解决了单CPU结构网关中存在的数据传输速率低,数据传输可靠性差等问题,满足了总线协议转换的要求。它将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

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭