论文部分内容阅读
CAN总线由于其抗干扰能力强、稳定性好、可靠性高等优点,已被广泛用于汽车、船舶、铁路和地矿勘探等领域。随着系统复杂性的提高,采用多路CAN总线信道可提高系统多节点通讯的实时性,并且方便用户进行冗余设计以提高系统的安全性。本文针对某船用设备监控系统的多通道CAN总线通讯需求,研制了一种集成度高、可维护性好且软硬件兼容性强的四通道CAN总线模块。四通道CAN总线模块的设计包括硬件设计和软件设计两个部分。硬件电路采用M模块标准设计,以FPGA为核心,通过四路CAN隔离收发器实现CAN总线信号电气隔离;FPGA固件采用CAN总线IP核控制器实现四通道CAN总线通信控制,并且通过对M模块接口规范和CAN总线IP核控制器接口协议的研究,实现接口转换逻辑设计,完成了模块与VME系统嵌入式处理器的通信。模块软件在Linux环境下开发,采用环形队列实现了多通道CAN总线数据缓冲设计,基于模块的通信需求和层次化软件开发思想,设计了四通道CAN总线模块的通信控制接口,提供了一套运行于嵌入式Linux系统中高度封装且可移植性强的函数库。为了验证模块软硬件设计的正确性,本文研究了CAN总线节点的测试方法与规范,设计了分层测试方案。按照通信层次对模块进行了物理层测试、数据链路层测试以及应用层测试,设计了各层的测试项目;采用四通道以太网转CAN接口卡与模块组建测试系统,完成了测试软件的设计。测试结果表明:本文设计的四通道CAN总线模块能够实现四通道CAN总线数据通信,满足了各方面设计要求。