论文部分内容阅读
在CAN总线和USB总线技术规范的基础上,研究了CAN-USB总线互连技术及其实现方法,开发了CAN-USB总线适配器。该适配器可以收集CAN总线上各个节点的信息转发给PC机;可以将PC机的命令和数据转发给各个节点;可以监控管理CAN总线上的各个节点;具有性价比高,抗干扰能力强,传输速度快等特点。实际应用表明,采用该适配器可以明显提高工业现场控制系统的可集成度。 CAN总线采用的CSMA/CA(载波侦听多路访问/冲突避免)通讯协议,当多个节点同时发送数据时,总线通过标识符的优先级来仲裁,高优先级的节点可以继续发送数据,而低优先级节点的实时性则无法保证。因为在实际应用中大多数过程数据都为周期性数据,所以在该适配卡中采用了TDMA(时分复用)资源调度算法,在应用层对整个网络进行调度,改进了节点数据尤其是周期性数据的实时性问题。TDMA算法为硬实时信息留有足够的资源,即使是在由于软实时信息的触发导致网络过载情况下,仍能保证硬实时信息的有效传输。 硬件协议转换功能的实现主要采用Philips公司的单片机P89C52、CAN控制芯片SJA1000和USB控制芯片PDIUSBD12组成。协议规范采用USB1.1和CAN2.0B。固件程序采用KEILC51标准C编译器开发,整个程序采用前后台中断循环结构,后台ISR(中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。 针对系统应用软件对USB-CAN适配器的访问要求,参照其硬件平台结构和固件功能,设计开发了设备基于WDM(Windows Driver Model)模式的即插即用驱动程序。介绍了驱动程序的工作原理,给出了驱动程序结构以及开发配置范例,详细探讨了驱动程序实现即插即用的基本原理和实现方法,同时对驱动程序的生成及测试过程也作了说明。