这几天有网友来电来信咨询关于DeviceNet开发环境的问题。就我本人而言,DeviceNet产品的开发和其他嵌入式系统开发有着共同之处,建议首先搭建一套适合于单片机或者更高层次CPU软硬件系统的环境,在开发单片机或者更高层次CPU的应用系统基础上再考虑追加DeviceNet产品的开发环境。
1. 首先,关心一下DeviceNet开发所涉及的芯片,下面我摘录ODVA China 2002年第1期Newsletter 的有关内容如下:
DeviceNet 设备使用 CAN 芯片实现数据链路层功能,但 DeviceNet 协议是用附加的软件,在一另外的微处理器中实现的。较复杂的从站设备和主站/扫描器则使用单独的具有分立微处理器的 CAN 芯片。以下是专家针对不同用途的适当组件的建议(根据专家经验,并非完整列表):
主站应用:需要更强大的处理能力,建议使用具有分立微处理器的独立 CAN 芯片如下:
Intel 82527
Philips 82C200 (停产)
Philips XJA1000 (替代 82C200)
微处理器:
80186, 至少 25-40 MHz
80386, (选择此芯片前,应确认中断等待时间)
内存:
64K RAM ,(如可能,建议更多)复杂设备应用或远程/模块 I/O:典型使用分段报文传输(报文大于8个字节),并需要较之简单设备更强的处理能力和内存。可以选用上述推荐的组件,或使用下列高端的CAN微控制器:
Siemens C167CR
Philips XA-C3
简单设备:典型使用非分段报文传输(8 字节或更小的I/O),较低的 CPU 和内存要求。可使用下列低成本的 CAN 微处理器:
Philips 82C592 (replaced by XA-C3)
Philips XA-C3
Motorola 680HC705X4
Motorola 680HC705X16 (mask ROM)
Motorola 680HC705X32
Siemens C167CR
Siemens C515C8
我的应用体会是,仅限组2的从站设备,只要任一款带CAN接口的单片机(至少支持CAN2.0A)足亦,现在流行使用ISP技术的单片机,我觉得Atemel的T89c51cc01就可以,另外根据运算速度的需要可以选用三菱的H300系列的H3687,也是ISP编程,带CAN接口,16位的内核。要是做一些稍微复杂功能的CAN总线监控,选用Philips的SJA1000独立CAN控制器加一款通用的单片机就不错。
2. 其次是单片机的开发环境,那要根据单片机的型号来定,如果是CAN内嵌式的单片机最好是此单片机型号专用仿真器,这样就可以在调试环境里看到CAN的帧信息。值的一提的是,Keil 6.0以上版本支持针对内嵌式单片机部分型号的CAN信息的软仿真,这对于ISP编程的单片机来说,可以用不着仿真器了。
3. 最后就是DeviceNet的模拟主站和支持一致性测试软件的PC卡的选用了。这里首先要说的是,DeviceNet的模拟主站可以不单单是PC卡,也可以是其他设备,如PLC、与PC机以串口连接的适配器等,但一般在PC机上采用软件环境进行操控,如AB的RSlinx建立下的Rsnetworx环境,OMRON的DeviceNet Configurator 环境等。一般开发团队会选择PC卡,这是因为在建立模拟主站的同时,还考虑到一致性软件自我测试的问题。DeviceNet产品需要进行一致性测试,在提交认证实验室之前用一致性测试软件进行自测试是我们研发人员的一贯作风,毕竟这样可以确保心中有数,还有可以大大节省银子。
下面我就罗列一下支持DeviceNet一致性测试软件的PC接口CAN卡:
1) SST 5136 - DN
2) Softing CAN-AC1-PCI/DN
3) Softing CAN-AC2-PCI
4) Softing AC1
5) Softing AC2
6) Softing AC/527
7) Softing CANcard-SJA
8) Softing CANcard2
9) Huron NetWorks DN-PC2
10) IXXAT iPC-I165
11) IXXAT iPC-I320
12) IXXAT tinCAN
13) Allen Bradley 1784-PCD rev B or higher
这些接口卡大多是ISA插槽的,购买时一定注意,其中SST和IXXAT的国内都有代理,Huron需要到国外定购。另外需要注意的是目前使用的DeviceNet一致性测试软件版本是A15,只能在Windows3.1/95/98环境下,不能在WindowsNT或者更高版本操作系统下。ODVA即将推出的A16软件支持WindowsNT和XP,网站上有介绍,但是不知道什么时候可以购买。
4. 最后,开发DeviceNet产品需要一些成熟的DeviceNet主站、从站产品组建一个简单的DeviceNet网络,这个作用有两个方面,一是便于进行MAC ID重复检验功能的调试,另一方面也有利于检验产品的互操作性。一般的可以购买OMRON的CJ1做主站,这个相对比较便宜,另外可以购买一个简单的DeviceNet I/O模块,最好可以手动选择站号和波特率的,以便于调试,上海电器科学研究所的DT-ID16或者DT-OD16就可以。