一种基于PCI总线的高速缓冲型CAN接口卡的制作方法

文档序号:16621487发布日期:2019-01-15 23:47阅读:215来源:国知局
一种基于PCI总线的高速缓冲型CAN接口卡的制作方法

本实用新型专利属于PCI总线的CAN接口卡技术,是对CAN接口卡技术的一种提升和改造。



背景技术:

CAN(控制器局域网络总线)总线技术具有报文自动滤波重发、极低的误码率和高通信率等特点,在工业、军事领域中被广泛应用。

当前,基于PCI(外设备互连总线)的CAN总线接口卡存在的问题是:

1数据吞吐率偏低;

2当需要突发传输大量数据的时候,传输时间过长;

3丢失数据的现象。

CAN总线最初是为汽车的通信和控制而设计的,由于CAN总线的良好性能,应用领域不断扩展,直至机械加工、智能控制、传感器通信等工业领域。

由于CAN总线的高可靠性设计能有效地支持较高安全等级的分布式实时控制系统,从而在军用领域也得到了广泛地应用。

现有常见的技术方案有两种:一种是以PCI转串口桥芯片+单片机+CAN总线协议芯片的方式来实现。

主机通过串口发送或接收数据,CAN接口卡将串口数据进行协议转换成CAN数据,再通过协议芯片发送或者接收。

这种方案的缺点是由于串口通信速率的限制,主机与外部CAN设备的通信瓶颈出现在串口通信处。

另一种方案是PCI桥芯片+单片机(或FPGA)+CAN总线协议芯片来实现。

主机通过PCI总线与单片机进行通信,单片机完成数据处理及转换,通过CAN协议芯片完成CAN总线数据的发送和接收。

这种方案的缺点是数据处理芯片仅完成数据的通道功能,未考虑在大量数据情况下的处理能力,导致传输时间过长,甚至是数据丢包的现象不断发生。



技术实现要素:

本实用新型解决的技术问题是:针对现有技术的不足,本发明试图解决PCI总线CAN接口卡在突发传输时出现的高延时、低可靠性的问题,以保证正常的数据传输时间缩短,数据不丢失。

本实用新型的技术方案是:一种基于PCI总线的高速缓冲型CAN接口卡,包括PCI芯片、FPGA逻辑处理芯片、双端口RAM通道、ARM主控芯片和若干CAN收发器;其中PCI芯片与双端口RAM通道一端连接,双端口RAM通道另一端与ARM主控芯片一端连接;ARM主控芯片另一端与若干CAN收发器连接;FPGA逻辑处理芯片分别与双端口RAM通道和ARM主控芯片连接。

本实用新型进一步的技术方案是:外部计算机通过CPCI总线将数据信息发送至PCI桥芯片中,经PCI桥芯片转换为8位并行数据,传至FPGA逻辑处理芯片中,FPGA逻辑处理芯片判断传入的数据是否符合通信协议,符合则将数据传至双端口RAM通道中,并在双端口RAM通道中的存储模块进行存储,同时FPGA逻辑处理芯片控制ARM主控芯片对双端口RAM通道中的数据进行读取,传入至ARM主控芯片中的若干CAN控制器中,数据经若干CAN控制器传出至外部若干CAN收发器。

本实用新型进一步的技术方案是:所述若干CAN收发器发送数据,若符合通信协议,则传入至ARM主控芯片中的若干CAN控制器中;FPGA逻辑处理芯片控制双端口RAM通道对ARM主控芯片中的数据进行读取,读取后传至PCI桥芯片中,经PCI桥芯片转换为32位并行数据,传至外部计算机中。

本实用新型进一步的技术方案是:所述FPGA逻辑处理芯片作为双端口RAM通道和ARM主控芯片的逻辑控制单元,控制RAM和ARM的读写时序,协调数据按照统一的时钟进行传递。

本实用新型进一步的技术方案是:还包括热插拔控制器,使得其他芯片在通电情况下能够进行插拔,无需断电。

本实用新型进一步的技术方案是:所述热插拔控制器对PCI或者CPCI协议下提供的三种电压值12v、5v和3.3v均可工作或者同时并行工作,同时热插拔控制器能够对PCI或者CPCI协议下的数据总线、控制总线进行预充电、预放电,及时将CAN通信板的PCI端数据总线、地址总线、控制总线与系统PCI总线进行隔离,防止其他PCI设备数据异常,并保护PCI总线上桥芯片的安全。

发明效果

本发明的技术效果在于:本实用新型提高PCI协议CAN总线接口卡的数据处理能力,采用ARm芯片和FPGA芯片,利用了芯片本身的高性能和存储优势,最终解决在大量数据突发传输的情况下出现的高延时以及数据丢失的现象,以及PCI总线CAN接口卡在突发传输时出现的高延时、低可靠性的问题,从而提高通信数据的吞吐率及可靠性。

附图说明

图1为原CAN总线通信板设备组成示意图

图2为本实用新型结构示意图

图3为现有热插拔控制器的结构示意图

具体实施方式

参见图1—图3,参见图1-图3,PCI局部总线作为一种具有多路地址线和数据线的高性能32/64位总线被广泛应用于通信、采集、控制等工业场合。

本发明对常见的方案进行优化设计,解决了在特殊情况下突发传输大量数据可能出现的问题。其方案如下:

在硬件方面:

硬件设计采用PLX公司的高速PCI桥接芯片PCI9030、NXP公司的基于Cortex-M3架构的ARM芯片LPC1778作为主处理器、Altera公司的EP4CE115 FPGA作为协处理器,在PCI数据和主处理器之间加入IDT公司的IDT70V06双端口RAM作为数据暂存和缓冲,同时结构采用标准的ATR机箱的3U插槽。

本实用新型充分利用ARM芯片现有的高速时钟驱动、总线矩阵、大量的RAM和ROM资源优势,数据预处理、数据缓冲队列、实时状态查询等算法,提高数据的处理能力。同时,通过FPGA对总线数据进行预处理,结合双端口RAM的数据暂存及缓冲功能,提高突发传输数据的存储能力。

在操作系统PCI驱动程序中,采用服务线程进行中断处理,提高PCI端对中断响应的实时;采用现有的生产者-消费者模型对缓冲区进行管理,保证PCI端驱动有效工作,采用事件驱动机制,实现双CAN通道的管理。

需要说明的是,本接口卡采用现有成熟的各个芯片,根据各个芯片的使用手册进行连接,提高了通信数据的吞吐率及可靠性。同时采用热插拔控制器,在PCI或者CPCI协议下,使得系统能够在12v、5v和3.3v电压下同时进行工作,或者分别在这个三个电压下进行工作,并且在不断电的情况下对各个芯片进行插拔。

从CAN总线通信板设备组成图可以看到,CAN总线通信板由PCI总线接口模块、热插拔控制模块、ARM FPGA协议处理及逻辑控制模块、双端口RAM存储模块、CAN总线接口模块、保护滤波模块组成。

计算机发送数据过程:计算机通过CPCI总线,将并行32位数据发送至PCI9030芯片,PCI9030芯片经过处理,转换为8位的并行局部总线,将数据打入双端口RAM IDT70V06中,ARM芯片通过查询方式判断RAM中有数据,则从双端口RAM中读出数据,转换为CAN总线数据后,通过CAN收发器模块发送至总线上。

计算机接收数据过程:ARM芯片采用中断方式,当CAN收发器模块接收之路有数据到来,并引起CAN接收中断,ARM解析CAN数据包,将数据转换为并行数据发送至双端口RAM IDT70V06中,计算机驱动程序通过PCI9030桥芯片查询双端口RAM中是否有未读数据,如果有数据,将双端口RAM中8位数据转换为CPCI 32位并行数据读取到计算机中。

FPGA作为双端口RAM和ARM的逻辑控制单元,控制RAM和ARM的读写时序,协调数据按照统一的时钟进行传递。

热插拔电源管理采用Linear公司的CPCI电源管理芯片LTC1644作为电源管理模块的主芯片,配合外围MOSFET、电流采集电路、复位管理电路等完成电源管理功能。

PCI总线接口模块采用PLX公司的PCI9030芯片。PCI9030时PLX公司推出的一款高性能的32位33MHz的PCI总线接口芯片,遵循PICMG 2.1规范,提供对板卡的热插拔支持,提供早期电源支持(具有总线预充电功能)。PCI9030芯片支持存储器地址映射与I/O地址映射,支持总线的突发传输模式,可由EEPROM芯片对其进行配置,完成工作状态的初始化。

ARM FPGA协议处理及逻辑控制模块主要完成PCI桥芯片PCI9030并行数据与CAN总线数据之间的协议转换及逻辑处理功能。其中ARM完成CAN总线的端口配置、数据打包解包等功能,FPGA完成PCI总线控制信号的解析、数据转换处理及逻辑控制、双端口RAM的控制等功能。

双端口RAM采用IDT70V06。IDT70V06容量为16K×8bit,可同时进行读写操作。满足CAN总线100帧数据缓存的要求。

CAN总线收发器选用PCA82C250芯片。PCA82C250是应用成熟的收发器,满足1M收发波特率要求,最少能接入110个CAN总线节点。

CAN收发器保护电路主要有滤波电容、PESD1CAN ESD管、共模扼流线圈B82789C0513N002组成,滤波电容将CAN总线上的尖峰脉冲过滤,PESD1CAN是CAN纵贯线ESD保护器件,具有IEC61000-4-2,level 4等级防护标准,最高至23KV的ESD保护;B82789C0513N002为共模扼流线圈,抵消CANH和CANL线路上的共模干扰。

本实用新型专利解决了由于串口通信速率的限制,主机与外部CAN设备的通信瓶颈出现在串口通信处的问题。

另外,当大量数据出现的情况下,其数据处理能力得到提升,传输时间缩短,数据丢包的现象不再发生。

PCI总线接口模块采用PLX公司的PCI-9030。PCI-9030是一款高性能32位33MHz的PCI I/O接口芯片,满足PICMG2.1规范。PCI-9030支持热插拔以及总线预充电。桥芯片模块电路中包含桥芯片、匹配电阻、电源转换等电路。

ARM处理器采用基于ARMv7的Cortex M3内核的LPC1778。LPC1778为32位ARM芯片,具有64kB的Flash,16kB的SRAM,包含2通道符合CAN2.0B(兼容CAN2.0A)规范CAN控制器,每通道CAN控制器最高波特率可达1Mbps。

(3)PCI桥芯片的CPCI总线端口通过匹配电阻与CPCI连接器J1相连,局部总线端口连接至双端口RAM的一端,双端口RAM的另一端与ARM芯片相连;ARM芯片两路CAN接口连接CAN收发器完成CAN通信。FPGA的I/O端口与双端口RAM、ARM均相连,完成PCI本地总线的控制信号解析、双端口RAM控制、CAN数据打包缓存以及PCI本地数据解析等功能。

(4)信号传递

PCI桥芯片PCI-9030接收CPCI总线上的发送的数据,将32位CPCI总线数据转换为局部总线Local Bus数据后,写入双端口RAM中,ARM芯片读取双端口RAM,取出总线数据数据进行协议解析,将解析后的数据转换为CAN总线数据后发送;同样,CAN总线接收到数据后,ARM芯片对CAN总线数据进行解析,将解析后的数据写入双端口RAM,PCI桥芯片读取双端口RAM,取出CAN数据通过CPCI总线发送给主机。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1