论文部分内容阅读
出于CAN与PC连接的需要,在当前的市场上,CAN转串口的比较多,但是相对于USB,串口的通用性不强。而在通信端口方面,USB转串口的也比较多。在实际应用中CAN适配器的接口复杂,构建CAN总线网络时与PC机连接繁琐,兼容性差,不便于携带。而USB具有支持热插拔、携带方便、标准统一以及可以连接多个设备等优点,弥补了CAN的不足之处,两者相结合,CAN也弥补了USB传输距离上的限制。如果能够实现USB到CAN的转换,其意义十分重大。两者的结合对自动控制领域的发展十分有利,便于将来建立效率更高、规模更大、实用性更强的控制总线网络。本文中数据转换硬件上采用CP2101连接STM32,轻松地实现了UART到USB的转换,再利用STM32内置的CAN控制器实现CAN的相关功能。带有USB2.0接口和CAN接口,可进行双向传送。本文在软件的设计上下位机部分采用多线程的实现方式,使得下位机能够自如地收发CAN数据,并且可以作为一个标准的CAN节点,运用于CAN总线设备测试、CAN总线产品开发及数据分析中。采用该下位机,PC可以通过USB接口连接一个标准的CAN总线网络,应用于构建现场总线测试实验室、工业控制、智能楼宇、汽车电子等领域,在这些领域进行数据通讯、数据采集和数据处理等。同时它是CAN数据分析及CAN总线相关产品开发的强大工具。此下位机体积小、即插即用,是便携式系统用户的最佳选择。本文使用C++Builder设计相应的上位机。该上位机软件在功能上可收发基本的CAN数据,也可发送自定义的CAN数据,并以文本或图形曲线的形式显示接收数据,还可多个视图界面显示接收,从而实现各种数据的监控与比较,软件对用户每次的配置与操作信息具有自动保存功能。通过上位机可以直接进行CAN总线的配置、发送和接收。即便用户不了解复杂的USB协议,在相关的配置完成后,用户也可以使用该软件方便地开发出CAN系统应用软件产品,大大降低了USB开发的难度。最后运用开发的数据转换系统实现对排爆机器人的控制,通过下位机连接排爆机器人和PC,使用PC端的上位机发送命令控制排爆机器人。