基于PCI总线的CAN卡的设计与实现.docx
基于PCI总线的CAN#的设计与实现22020年5月29日文档仅供参考基于 PCI 总线的 CAN 卡的设计与实现现场总线 CAN(Controller Area Network 控制器局域网络)以其高性能、高可靠性及独特的设计,越来越受到人们的重视和青睐不但在汽车行业中应用广泛,而且在工业控制、机器人、医疗器械、传感器等领域发展迅速。为了扩展CAN 总线的功能,与计算机相连,可设计具有CAN接口和PC接口的CAN适配卡,用来收集CAN总线上各个节点的信息,转发给PC机,并可将PC机的命令和数据转发给各个节点以及完成对CAN 总线上的用户系统的部分监控和管理工作。PCI 总线是 Intel 公司推出的一种先进的高性能 32/64 位局部总线,可同时支持多组外围设备,不受制于处理器,数据吞吐量大(33MHz总线频率、 32位传输时峰值可高达132MB/s) 。当前 PCI 是处于主流的计算机总线。以往的 CAN 卡一般都是基于 ISA 总线的,由于ISA 部传输速率低,CAN 卡必须增加中继控制功能,才能够适应CAN 的高速传输,导致造价高、体积大、传输速率低,不利于CAN总线的推广应用。由于 PCI 总线传输速度快,而且支持热插拔、电源管理等功能,不但能满足CAN 总线的高速数据传输,性能高、功能强 ,而且体积小、价格低、使用方便、应用范围广。CAN 卡的设计包括硬件设计和软件设计。PCIHUSAD131:0ILAD(?O)C/BE(3tO)#FRAME"RDYtfTRDY#STOPBIDSEL?C 19052LTNTitLCLKTXORX。82c250DEVSEU 4PERR#RD0ALCSO#SJA1000SERR#CLKRTMUHLOCK*LRDYi#EESKEEDO串行EEPROM图I CAN卡电弟原理图1硬件设计PCI总线是一种独立于 CPU的局部总线,不同于传统的ISA总线。 由于PCI总线规范定义了严格的电气特性和时序要求 ,开发难度比ISA总线的开发难度大。实现 PCI接口的方案一般有两种:采用可 编程逻辑器件和专用总线接口器件。采用可编程逻辑器件实现PCI接口的最大好处是比较灵活,可把PCI时序模块和功能模块结 合在一起,能够利用的器件也比较多(如Altera公司的CPLD器件、Xilinx公司的FPGA器件等),还能够购买由厂家提供的用 VHDL、AHDL等硬件描述语言编制的 PCI核心设计模块,但其设计难度还 是很高,因为PCI总线对负载要求、传输数据的建立时间的要求都比较苛刻,同时还需要器件内部实现用于配置的各类寄存器,以及完成逻辑校验、地址译码等工作的寄存器(大致需要15000个门电路)。另外,还需加入FIFO、用户寄存器组和后端设备接口等部 分。设计这种PCI总线接口会导致将大量的人力、物力投入到复 杂的逻辑验证和时序分析的工作上,开发周期较长。要用专用接口器件虽然没有采用可编程逻辑器件那么灵活,但能够有效地降低接口设计白难度,缩短开发时间。专用接口器件具有较低的成本和很 高的通用性,能够优化数据传输,提供配置空间,具备用于突发传输 功能的片内FIFO,提供扩展局部总线等优点,而且许多公司还提供 配套的开发工具(例如评估板或驱动程序开发软件),使用很方便,开 发周期短。当前市场上常见的有PLX、AMCC、Cypress等公司的PCI桥芯片,各个型号的PCI接口芯片的大致特点如表 1所示。表1各公司PCI接口芯片公司芯片型号(模式)芯片功能及特点价格开发技术支持PLXPCI9052(从)PCI9054(主)型号众多,使用方便,性能好较便宜提供快速开发板RDK出售CYPRESSCY7c09449PV-AC(主)内置DPRAM,有效降低系统成本便宜技术文档TIPCI2031(从)PCI1251(主)与TI的DSP可无缝连接很便宜提供评估模块62020年5月29日