银河麒麟系统下基于缓存队列的CAN驱动设计与实现
作者机构:中国航天科工集团第二研究院七〇六所 32379部队第一科室
出 版 物:《计算机工程与设计》 (Computer Engineering and Design)
年 卷 期:2024年第10期
页 面:3170-3176页
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:区域网络控制 驱动 现场可编程门阵列 周边设备高速连接标准 接收缓存 操作系统 通信
摘 要:为使基于FPGA的CAN功能在国产操作系统上得以应用,提出一种在银河麒麟操作系统下基于缓存队列的CAN驱动设计与实现方法。在目前主流的银河麒麟V10操作系统下,利用Linux下PCIe设备驱动架构,设计并实现基于FPGA的国产CAN驱,实现CAN发送、接收通信功能。使用缓存队列解决CAN使用的SJA1000协议中硬件接收缓存有限可能造成的丢包问题。对比测试结果表明,提出的CAN驱动满足通信应用,性能稳定,无丢包发生。实现成果可以转化为第三方库丰富操作系统内核驱动库。