一种基于缓存队列的CAN驱动实现方法技术

技术编号:41564906 阅读:18 留言:0更新日期:2024-06-06 23:47
本发明专利技术涉及一种基于缓存队列的CAN驱动实现方法,属于计算机软件领域。本发明专利技术基于FPGA嵌入IP核的片上可编程系统替代SJA1000芯片实现CAN功能,FPGA通过PCI或PCIe总线与CPU相连接,在组装成的目标机上,实现基于FPGA的CAN总线驱动;CAN总线驱动是应用软件与访问CAN硬件设备的中介,为应用软件屏蔽了硬件的细节,包括内核层PCI设备注册和CAN驱动实现。本发明专利技术实现的基于IP核的国产化CAN驱动,一方面丰富了操作系统内核驱动库,另一方面本发明专利技术改进了因SJA1000协议中接收缓存有限可能造成的丢包问题,扩展了国产化CAN功能的应用场景。推进了CAN功能国产化进程的进一步落地。

【技术实现步骤摘要】

本专利技术属于计算机软件领域,具体涉及一种基于缓存队列的can驱动实现方法。


技术介绍

1、can协议是一种串行通信协议,can协议总线的通信速率和总线长度有关,在总线长度小于40m的场合中,数据传输速率可以达到1mbps,而即使总线长度达到1000m,数据传输速度仍可达到50kbps。相比于rs422、rs232、rs485这些串行通信,can协议总线在传输速率、抗干扰能力、负载能力、传输距离等方面都有优势。因此can总线在嵌入式系统中具有广泛的应用。

2、通常使用sja1000a进口芯片实现can协议功能,随着国产化替代需求的紧迫发展,为了节约成本,递进国产化替代进程,保留原系统设计,进口芯片需要被原位替换。在can芯片国产化替代方法中,基于fpga嵌入ip核的片上可编程系统得到了广泛应用,设计基于fpga定制电路(ip核)替代sja1000芯片实现can功能成为了主要的国产化替代方式。硬件上使用一块fpga芯片,配合can接口芯片就可以实现can通信。这样的电路方式不仅减少了芯片数量,降低了产品的体积、功耗和复杂度,提高了产品的可靠性,集本文档来自技高网...

【技术保护点】

1.一种基于缓存队列的CAN驱动实现方法,其特征在于,基于FPGA嵌入IP核的片上可编程系统实现CAN功能,FPGA通过PCI或PCIe总线与CPU相连接,在组装成的目标机上,安装操作系统,在操作系统上,实现基于FPGA的CAN总线驱动;

2.如权利要求1所述的基于缓存队列的CAN驱动实现方法,其特征在于,内核层PCI设备注册时,

3.如权利要求2所述的基于缓存队列的CAN驱动实现方法,其特征在于,CAN驱动实现中,CAN驱动中打开设备实现时:

4.如权利要求3所述的基于缓存队列的CAN驱动实现方法,其特征在于,CAN驱动实现中,CAN驱动中发送数据实...

【技术特征摘要】

1.一种基于缓存队列的can驱动实现方法,其特征在于,基于fpga嵌入ip核的片上可编程系统实现can功能,fpga通过pci或pcie总线与cpu相连接,在组装成的目标机上,安装操作系统,在操作系统上,实现基于fpga的can总线驱动;

2.如权利要求1所述的基于缓存队列的can驱动实现方法,其特征在于,内核层pci设备注册时,

3.如权利要求2所述的基于缓存队列的can驱动实现方法,其特征在于,can驱动实现中,can驱动中打开设备实现时:

4.如权利要求3所述的基于缓存队列的can驱动实现方法,其特征在于,can驱动实现中,can驱动中发送数据实现时:

5.如权利要求4所述的基于缓存队列的can驱动实现方法,其特征在于,can驱动实现中,can驱动中断处理函数实现时:

6.如权利要求5所述的基于缓存队列的can驱动实现方法,其特征在于,

7.如权利要求5所...

【专利技术属性】
技术研发人员:刘丽霞孙昆张宝亮陈婧
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1