[发明专利]vxworks系统下基于双口RAM通信的CAN总线驱动设计方法在审
申请号: | 202010657375.0 | 申请日: | 2020-07-09 |
公开(公告)号: | CN111858445A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 高娟 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | G06F13/42 | 分类号: | G06F13/42;H04L12/40 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 周恒 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | vxworks 系统 基于 ram 通信 can 总线 驱动 设计 方法 | ||
本发明属于vxworks系统下CAN总线驱动技术领域,具体涉及一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法。其包括:首先,划分双口RAM地址空间,将双口RAM分配出与底层通信模块通信的交互区间和制定通信规则。然后,提供给上层应用软件调用的接口,其中接口包括初始化驱动函数、板卡工作模式选择、初始化CAN端口、发送数据、接收数据、判断发送完成函数。本发明为上层软件CAN通讯开发提供了统一接口,上层应用软件与驱动层不会产生耦合问题,降低了上层开发人员CAN通信开发的难度。同时,使用双口RAM内存空间作为驱动层和底层通信软件的数据交互区,更方便上层应用软件进行故障定位。
技术领域
本发明属于vxworks系统下CAN总线驱动技术领域,具体涉及一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法。
背景技术
CAN总线作为实时控制的串行通信网络,具有网络各节点之间数据通信实时性强的特点,容易形成冗余结构,提高系统的可靠性和系统的灵活性。
vxworks系统下没有CAN总线组件,不提供CAN总线通信的驱动接口。对于DSP芯片类的板卡需要用户开发芯片类CAN模块与系统主机应用程序通信的接口程序,从而实现vxworks系统下板卡类CAN模块的驱动过程。目前成熟的CAN总线驱动技术有通过操作系统调用的方式,为应用层提供一套标准的文件操作接口函数;还有根据SPI接口设计扩展CAN模块,进行虚拟内存分配和虚拟地址映射从而实现CAN驱动。但是上述方法没有提供数据缓冲机制,且直接操作CAN芯片模块无法进行故障定位。
为了解决vxworks系统下的CAN总线模块驱动问题,在主机应用程序与DSP板卡底层程序之间提供交互接口,需要提出一种CAN总线驱动设计方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种vxworks系统下的CAN总线驱动设计方法。
(二)技术方案
为解决上述技术问题,本发明提供一种vxworks系统下基于双口RAM通信的CAN总线驱动设计方法,所述方法包括:
步骤1:划分双口RAM地址空间;
步骤2:提供CAN总线驱动接口函数;
通过以上步骤,实现vxworks系统下的CAN总线驱动功能。
其中,所述步骤1包括:
步骤11:将内存地址空间划分为6个区间,分别为板卡基本信息区、CAN通道的发送和接收缓存起始地址存放区、CAN通道的命令更新标志区、CAN通道的命令区、CAN通道的反馈状态区、CAN通道的错误标志区;
步骤12:根据驱动中实际使用的CAN通道数,选用信号灯基地址个数;对共享的内存空间采用信号灯保护机制,防止对数据读写失败。
其中,所述步骤11中,将内存地址空间划分为6个区间为:
①板卡基本信息区:用于存储板卡名称,板号,内存大小,双口RAM大小长度,软件版本号、本板自检结果信息、板卡运行状态、自检结果、工作模式;
②CAN通道的发送和接收缓存起始地址存放区:用于存储CAN各个通道的发送缓存区的起始地址和发送缓存区的起始地址;
③CAN通道的命令更新标志区:用于存储上层应用软件给CAN各个通道的下达的命令是否已更新的标志;
④CAN通道的命令区:用于存储上层应用软件给CAN各个通道的下达的命令;
⑤CAN通道的反馈状态区:用于存储CAN各个通道的CAN端口开关状态,接收指针在接收缓冲区的位置,接收指针位置取反后的值,数据发送结束标志;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010657375.0/2.html,转载请声明来源钻瓜专利网。