论文部分内容阅读
近年来,伴随着科学技术的不断发展与进步,工业自动化领域产生了较为深刻的变革,正向着数字化、智能化和网络化的方向发展,而如何解决CAN控制网络与信息管理网络的融合成为当前研究的热点。传统的CAN总线协议转换器往往功能单一,而且不具备CAN总线波特率自适应的功能,大大降低了协议转换器产品的竞争力。鉴于信息管理网络一般采用以太网和USB协议,因此,本文提出一种基于嵌入式Linux的CAN总线协议转换器的设计,实现CAN与USB、CAN与以太网之间的数据转换,并实现对CAN总线网络波特率的自适应。系统应用于工业控制领域,不仅使CAN控制网络与信息管理网络的互联变得更加方便,而且在接入未知波特率的CAN总线网络时将更加智能化。常见的CAN总线波特率自适应的方法有试探法和直接测量法,这两种方法都有一定的不足和缺陷,本文在这两种方法的基础上进行改进和优化,并在Linux下的CAN设备驱动中实现。在本文的硬件设计中,主要采用友善之臂公司的tiny6410的核心板作为系统的主控模块,其核心处理器为S3C6410,板上集成了SDRAM和NAND Flash。本文设计的硬件电路主要包括CAN接口电路、USB接口电路、WIFI模块电路以及电源和串口调试电路等;并对各个电路进行了详细的介绍和说明。最后完成了系统电路的焊接和调试。在本文的软件设计中,首先进行嵌入式软件开发平台的搭建,包括交叉编译环境的建立、Bootloader的移植、Linux内核的移植以及根文件系统的制作。紧接着提出CAN总线波特率自适应的改进方法,并在CAN设备驱动中实现。然后完成USB设备侧驱动的开发,包括UDC驱动和Gadget驱动,并对WIFI模块进行移植和配置。最后,实现Linux的协议转换应用程序的设计和Windows客户端测试软件的开发。实验测试结果表明,本文的CAN总线协议转换器具有较好的稳定性,不仅实现了基本的功能,而且对于CAN总线波特率的变化能够高效地自动匹配,达到了系统设计的初期效果。