基于CAN总线的多通道实时模拟器设计与技术应用
CAN总线技术介绍
CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线,在数据通信方面具有高可靠性、实时性强、灵活性等优点。除了广泛应用于汽车行业外,还扩展到机械工业、机器人、数控机床等领域。然而,在大量数据通信处理中,单通道CAN总线无法满足实际通信需求。因此,基于多通道实时CAN模拟器的设计方案应运而生。
CAN总线通信协议
在CAN 2.0B版本协议中,有两种帧格式:标准帧和扩展帧。其中,标准帧包含11位标识符,而扩展帧包含29位标识符。根据报文传输时严格的帧结构要求,不同类型的帧具有不同的传输方式,如数据帧用于传输数据,远程帧用于请求数据发送,错误帧用于指示总线出错,过载帧用于提供额外延时。
CAN协议控制器
目前主流的CAN协议控制器通常采用I/O总线(如SJA1000)或SPI接口(如MCP2515)与处理器进行通信。在设计中选择SJA1000控制器,它是一款独立CAN控制器,应用于移动目标和工业局域网控制领域。SJA1000支持BasicCAN和PeliCAN两种工作模式,用于完成CAN协议规定的物理层和数据链路层功能。
系统设计方案
针对多通道实时CAN总线模拟器的设计,可以基于ISA总线来研制,提出了ISA总线CAN通信控制器和微处理器CAN通信控制器两种设计方案。考虑到CAN总线通信对实时性的要求,以及多通道设计的需求,选择单片机负责CAN总线通信功能。选用DS89C430作为单片机,性能高效稳定,适合实时通信需求。同时,通过XC95144CPLD芯片实现锁存和译码功能,提高系统集成度和可靠性。
系统硬件设计
系统硬件由单片机、CAN控制器、CAN收发器和SRAM存储器构成。单片机用于计算和信息处理,CAN控制器用于通信,CAN收发器用于增强驱动能力,SRAM用于缓存数据。整个系统的发送和接收过程通过单片机与CAN控制器之间的交互完成,实现信息的传输和处理。
CPLD设计部分
CPLD输入信号包括单片机发送的信号,经过锁存、译码等处理后得到片选信号和其他必要信号。通过Xilinx ISE和ModelSim环境的综合和仿真,验证CPLD设计的正确性和可行性,确保系统正常运行。
软件设计
系统软件设计关键在于通信程序设计,包括单片机和CAN控制器的初始化程序、CAN发送程序和CAN接收程序。通过MAX232芯片对单片机进行在线编程,进行多通道CAN控制器初始化,并通过写入控制字确定CAN控制器的工作方式。发送和接收程序则负责数据的传输和处理,可采用查询或中断方式实现。
在CAN总线的多通道实时模拟器设计中,硬件与软件密切配合,充分利用CAN总线技术优势,通过合理的系统架构和设计方案,实现了高可靠性、高实时性的通信需求。随着该设计方案在实际工程项目中的成功应用,为相关领域的技术应用和发展提供了有力支持。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。