目前可行的方案分为如下几种,下面进行说明。自行开发自行开发DeviceNet接口可以先向ODVA组织购买协议,在充分阅读、理解协议后,建立开发测试环境,并开始设计相关硬件和固件程序,随后进行测试,有条件时可以购买一致性测试工具,对所开发产品进行测试,通过一致性测试的产品,才具有较好的协议兼容性,可以上市销售。
此种方案基于对协议的阅读理解基础上从0开始开发,难度相当大,就算开发完成,也需要较长时间的测试及市场检验方能稳定运行,耗时耗力,如果总线产品对于公司来说是非主力产品,则不建议此种开发模式。
IC1220-DeviceNet从站芯片DeviceNet从站通常使用一个8位DIP开关来设置站号和波特率,也可以使用2个旋转开关,同时还有两颗红绿双色指示灯MS和NS,IC1220芯片集成了开关和LED灯的输出功能,用户只需要使用芯片的SSC接口,外接一颗HC165连接8位开关,一颗HC595连接MS和NS灯,IC1220就可以自动读取开关值来设置总线站号和波特率,同时也能自动输出LED状态,用户不需要再设计程序去处理这部分。
如果条件允许,可以在芯片的RUN脚位上接一颗LED,如果灯亮,表示芯片启动成功,处于运行状态。
IC1220-DeviceNet从站芯片由于 IC1220 芯片完全集成了 DeviceNet 从站协议,在此芯片基础上开发,软件部分的设计将非常简单,只要通过 Modbus 协议,设置一些必要的参数,并将芯片启动,就可以实现 DeviceNet 通讯,剩下的工作,就是从 IO 数据区读出主站送来的数据,并根据设备的需要处理这些数据,同时将从站要送回主站的数据写入IO 数据区,芯片就会自动将数据回传给主站,这样就实现了一个完整的 DevieNet从站功能。
IC1220-DeviceNet从站芯片IC1220 的参数使用 Modbus 命令来读写,关于 Modbus 命令的详细介绍,网络上有丰富的文章,这里就不再详细说明。SCI 接口默认的通讯速率为 4800bps,通讯协议为 <8,N,1>,波特率可以自动侦测,站号默认为 1。一般的 DeviceNet 从站,用户只需要设置如下几个参数即可。本例假设用户开发的从站与主站的 IO 数据交换长度都为 4 字节,即主站到从站的输出数据长度为 4 字节,从站到主站的输入数据长度也为 4 字节。