导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:DeviceNet网络波特率的自动检测

* 17257: C51编程:DeviceNet网络波特率的自动检测

   awa405 
awa405发表的帖子 

 C51编程:DeviceNet网络波特率的自动检测
  DeviceNet网络允许的波特率共有三种:500K、250K、125K。在设备联入网络之前,需
要用户根据当前网络的要求选择一种工作波特率。为了满足设备热插拔的要求,很多接入
设备除了提供波特率的人工设置之外,还必须具备波特率自动检测的功能。
   根据CAN总线的特点,每一个网络上的节点对接收到的报文都具有自动应答机制,根
据接收到的信息正确与否发出应答信息和出错信息。在设备联入CAN网络后,根据网络通信
安全的要求,在没有得到波特率的正确设置前,不允许发送任何的信息,也就是说,接入
节点必须具有“只听”功能。DeviceNet是基于CAN总线的协议规范,要实现接入设备的波
特率自动检测,也必须使通讯接口在波特率没有确认前处于“只听”模式。
   很多DeviceNet通讯接口在设计上都是采用CAN协议芯片或者内嵌式的CAN接口,为了
实现其“只听”功能,可以在其发送接口与总线驱动芯片之间加上一级或门。也有一些CAN
协议芯片内部具有“只听”功能,例如Philip的CAN控制芯片SJA1000,在其扩展CAN功能中
就有对应的模式寄存器,可以在不增加其他外部电路的情况下完成“只听”模式的设置。
  波特率的自动检测,是通过对网络信息的侦听来实现的,也就是说,网络上首先要具
有正确传输的报文信息,接入设备才有可能识别出网络的波特率信息。
  首先,需要保证接入设备在网络上电前已经加入网络。这时,当上电时,根据
DeviceNet网络协议,每一个从站节点都会有自检和应答信息,这给自动波特率检测提供了
较好的时机。
   根据这一结论,还可以假想出波特率自动检测的比较极端的情况,那就是“孤立节
点”的情况,网络上只有接入设备本身这一个节点,这时候网络上没有传输信息,也就无
法侦听和识别波特率,这种情况下只有等待,直到有另一节点加入或者主站设备主动发送
有效信息。
 
 


发表时间:2003年1月14日12:18:00

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:这样改不知道你的问题解决了没有,如果你是用的micro老兄的程序,那不妨这么改 START:
[下一篇帖子]:我可以提供参考看的接线图,有无上拉电阻。单口的操作 联系:xingye819316@163.