vxworks系统下基于双口RAM通信的CAN总线驱动设计方法技术方案

技术编号:26170696 阅读:26 留言:0更新日期:2020-10-31 13:39
本发明专利技术属于vxworks系统下CAN总线驱动技术领域,具体涉及一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法。其包括:首先,划分双口RAM地址空间,将双口RAM分配出与底层通信模块通信的交互区间和制定通信规则。然后,提供给上层应用软件调用的接口,其中接口包括初始化驱动函数、板卡工作模式选择、初始化CAN端口、发送数据、接收数据、判断发送完成函数。本发明专利技术为上层软件CAN通讯开发提供了统一接口,上层应用软件与驱动层不会产生耦合问题,降低了上层开发人员CAN通信开发的难度。同时,使用双口RAM内存空间作为驱动层和底层通信软件的数据交互区,更方便上层应用软件进行故障定位。

【技术实现步骤摘要】
vxworks系统下基于双口RAM通信的CAN总线驱动设计方法
本专利技术属于vxworks系统下CAN总线驱动
,具体涉及一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法。
技术介绍
CAN总线作为实时控制的串行通信网络,具有网络各节点之间数据通信实时性强的特点,容易形成冗余结构,提高系统的可靠性和系统的灵活性。vxworks系统下没有CAN总线组件,不提供CAN总线通信的驱动接口。对于DSP芯片类的板卡需要用户开发芯片类CAN模块与系统主机应用程序通信的接口程序,从而实现vxworks系统下板卡类CAN模块的驱动过程。目前成熟的CAN总线驱动技术有通过操作系统调用的方式,为应用层提供一套标准的文件操作接口函数;还有根据SPI接口设计扩展CAN模块,进行虚拟内存分配和虚拟地址映射从而实现CAN驱动。但是上述方法没有提供数据缓冲机制,且直接操作CAN芯片模块无法进行故障定位。为了解决vxworks系统下的CAN总线模块驱动问题,在主机应用程序与DSP板卡底层程序之间提供交互接口,需要提出一种CAN总线驱动本文档来自技高网...

【技术保护点】
1.一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述方法包括:/n步骤1:划分双口RAM地址空间;/n步骤2:提供CAN总线驱动接口函数;/n通过以上步骤,实现vxworks系统下的CAN总线驱动功能。/n

【技术特征摘要】
1.一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述方法包括:
步骤1:划分双口RAM地址空间;
步骤2:提供CAN总线驱动接口函数;
通过以上步骤,实现vxworks系统下的CAN总线驱动功能。


2.如权利要求1所述的vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤1包括:
步骤11:将内存地址空间划分为6个区间,分别为板卡基本信息区、CAN通道的发送和接收缓存起始地址存放区、CAN通道的命令更新标志区、CAN通道的命令区、CAN通道的反馈状态区、CAN通道的错误标志区;
步骤12:根据驱动中实际使用的CAN通道数,选用信号灯基地址个数;对共享的内存空间采用信号灯保护机制,防止对数据读写失败。


3.如权利要求2所述的vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤11中,将内存地址空间划分为6个区间为:
①板卡基本信息区:用于存储板卡名称,板号,内存大小,双口RAM大小长度,软件版本号、本板自检结果信息、板卡运行状态、自检结果、工作模式;
②CAN通道的发送和接收缓存起始地址存放区:用于存储CAN各个通道的发送缓存区的起始地址和发送缓存区的起始地址;
③CAN通道的命令更新标志区:用于存储上层应用软件给CAN各个通道的下达的命令是否已更新的标志;
④CAN通道的命令区:用于存储上层应用软件给CAN各个通道的下达的命令;
⑤CAN通道的反馈状态区:用于存储CAN各个通道的CAN端口开关状态,接收指针在接收缓冲区的位置,接收指针位置取反后的值,数据发送结束标志;
⑥CAN通道的错误标志区:用于存储CAN各个通道运行时出现的故障类型。


4.如权利要求1所述的vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤2包括:
步骤21:提供初始化驱动函数;
步骤22:提供板卡工作模式选择的接口:CAN总线板卡可工作在三个模式,分别为正常、自检、复位;
步骤23:提供接口可设置CAN总线波特率、接收缓冲区大小和起始地址,发送缓冲区大小和起始地址;
步骤24:提供接口可设置发送数据,需要指定发送的长度和发送的数据数组;
步骤25:提供判断上次发送是否完成的接口;
步骤26:提供接口用于接收数据,采用循环缓冲区方法进行数据接收,需要给出接收长度指针和接收数组指针。


5.如权利要求4所述的vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤21包括:
a.规定用户输入参数:目标板卡所在机箱内的槽位号;
b.遍历PCI资源定位目标板卡:
首先,根据PCI板卡的deviceID,vendorID,使用PCI库函数pciFindDevice定位双口RAM板卡获取总线号、设备号、功能号;
然后...

【专利技术属性】
技术研发人员:高娟
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津;12

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

1