CAN总线接口卡设计:结合RS232串行通信

0 下载量 152 浏览量 更新于2024-08-30 收藏 239KB PDF 举报
本文主要探讨了CAN/RS232接口卡的设计与实现,着重考虑了如何在满足高速数据传输需求的同时,简化设计过程和降低维护成本。在当前市场环境下,CAN接口卡通常采用PCI或USB接口,各有优缺点。PCI接口卡传输速度快,但设计复杂且占用计算机插槽,而USB接口卡虽然价格便宜,但固件开发和驱动程序编写较为繁琐。因此,文章提出了一种新的设计方案,旨在通过RS232串行口实现CAN总线数据的高效、稳定传输。 CAN总线是一种广泛应用的现场总线,由ISO国际标准化组织制定标准,其高效的数据通信能力使其在控制系统中得到广泛采用。然而,由于数据处理完全由节点的单片机完成,使得监控总线运行状态变得困难。 在硬件设计方面,接口卡的核心组件包括主控制器、CAN总线控制器、CAN总线收发器和RS232通信接口芯片。主控制器负责通过CAN接口接收和缓存数据,根据PC机指令选择性传输。文中推荐使用Atmel的AT89S51作为主控制器,该单片机与8051兼容,内含4KB FLASH ROM,支持ISP在线编程,便于程序更新。 CAN总线控制器选择了Philips的SJA1000,这是一款支持CAN2.0B协议的高性能芯片,具备错误中断、报警限制、验收滤波器扩展和自接收请求等高级功能。通过将SJA1000的中断输出连接到主控制器的中断输入,当接收到数据或总线错误时,可以触发中断,从而实现快速响应。 在串行传输协议的增强方面,设计者需要确保在RS232传输过程中降低错误率。这可能涉及到错误检测和纠正机制,如奇偶校验、CRC校验等,以保证数据的完整性和可靠性。此外,为了简化PC端的数据处理,可能还需要设计相应的通信协议,例如定义特定的帧结构和握手协议,以确保数据的正确接收和解码。 设计CAN/RS232接口卡的关键在于平衡性能、成本和易用性。通过精心选择硬件组件,优化软件协议,可以实现一个既满足高速传输需求,又能简化系统集成的解决方案。这种接口卡对于那些需要实时监控CAN总线数据,并通过标准串行接口与PC进行交互的应用场合具有重要意义。