论文部分内容阅读
控制器局域网(CAN)总线已经被认可为几种最有前途的现场总线之一,其应用范围也从最初的汽车领域扩展到了包括机械工业、交通工具和环境控制等多个领域。伴随着 CAN总线的高速发展,用户也随之提出了更多更高的要求。这无疑在给 CAN总线带来发展机遇的同时,也对其提出了巨大的挑战。在这种新形势下,CAN总线原有的设计方案和技术已经成为了其发展的瓶颈。 可编程片上系统(SOPC)是一种新型的系统软硬件协同设计的开发技术,是电路系统发展的一个重要方向。它在集成度、设计灵活性及可移植性等方面上的优越性无疑可以给CAN总线系统设计带来新的动力,使其能够快速地适应当前新形势下的挑战。本文在CAN总线系统设计中应用了SOPC技术,研究了一种基于FPGA的CAN总线系统设计,主要工作成果如下: (1)依据CAN总线协议规范和CAN控制器SJA1000芯片的功能原理,详细叙述了基于Verilog HDL语言的SJA1000 IP核的设计思路及过程,该IP核模块可以实现SJA1000芯片的基本功能。最终通过Quartus II和ModelSim软件的仿真测试,验证了该IP核模块设计的正确性。 (2)按照HAL下驱动程序开发的方法和流程,以Altera提供的UART设备驱动程序为模板,为SJA1000设备开发了基于HAL下的驱动程序,从而使得Nios II处理器可以对其正常访问。运用SOPC Builder组件编辑器将SJA1000 IP核模块的元件描述文件和驱动文件封装成了一个SOPC Builder组件,这样不仅使得IP核模块调用起来更加简便,还可以提供给其他用户使用。 (3)以现有的实验设备和开发工具为基础,在Altera Cyclone EP1C6Q240芯片上搭建出一种基于Nios II处理器的CAN总线SOPC系统,这样就使得CAN总线系统具有小型化、集成化和功能可方便扩展等优点。为了能够验证整个系统的功能,组建了一个以Polo车CAN-BUS试验台为基础的简单CAN总线网络来进行硬件电路测试。经过实验验证,文中所设计的基于FPGA的CAN总线系统具有良好的稳定性、可靠性和实时性。