【技术实现步骤摘要】
Windows系统下基于双口RAM通信的CAN总线驱动设计方法
本专利技术属于Windows系统
,具体涉及一种Windows系统下基于双口RAM通信的CAN总线驱动设计方法。
技术介绍
CAN总线作为实时控制的串行通信网络,具有网络各节点之间数据通信实时性强的特点,容易形成冗余结构,提高系统的可靠性和系统的灵活性。Windows系统下没有CAN总线组件,不提供CAN总线通信的驱动接口。对于DSP芯片类的板卡需要用户开发芯片类CAN模块与系统主机应用程序通信的接口程序,从而实现Windows系统下板卡类CAN模块的驱动过程。目前成熟的CAN总线驱动技术有通过操作系统调用的方式,为应用层提供一套标准的文件操作接口函数;还有根据SPI接口设计扩展CAN模块,进行虚拟内存分配和虚拟地址映射从而实现CAN驱动。但是上述方法没有提供数据缓冲机制,且直接操作CAN芯片模块无法进行故障定位。为了解决Windows系统下的CAN总线模块驱动问题,在主机应用程序与DSP板卡底层程序之间提供交互接口,提出一种基于双口RAM ...
【技术保护点】
1.一种Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述方法包括:/n步骤1:查找双口RAM板卡;/n步骤2:获取双口RAM的地址映射空间;/n步骤3:划分双口RAM地址空间;/n步骤4:提供CAN总线驱动接口函数;/n通过以上步骤,可以实现Windows系统下的CAN总线驱动功能。/n
【技术特征摘要】
1.一种Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述方法包括:
步骤1:查找双口RAM板卡;
步骤2:获取双口RAM的地址映射空间;
步骤3:划分双口RAM地址空间;
步骤4:提供CAN总线驱动接口函数;
通过以上步骤,可以实现Windows系统下的CAN总线驱动功能。
2.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤1中,
首先,根据PCI板卡的槽位号,使用PLX动态库函数定位双口RAM板卡;
然后,根据板卡的DeviceID,VendorID,slotID以及plx芯片类型进行匹配并获取目标板卡的总线号、槽位号、功能号。
3.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤1中,
首先,根据双口RAM板卡在PCI机箱的位置信息,使用PLX动态库遍历所有PCI设备查找目标板卡;
然后,将目标板卡的VendorId、DeviceId、PlxChip、slot信息与第一步找到的PCI设备进行对比。如果匹配成功,则保存当前设备的bus、slot、function的信息。
4.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤2中,
根据索引号使用库函数进行双口RAM板卡的内存地址空间映射,同时根据映射规则计算信号灯基地址。
5.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤2中,
①使用库函数PlxPci_DeviceOpen打开目标板卡设备,并根据索引号使用库函数PlxPci_PciBarMap进行地址空间映射;
②获取目标板卡的内存地址空间和信号灯地址空间。
6.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤3中,
首先,采取偶地址存数规则,将内存地址空间划分为6个区间,分别为板卡基本信息区、CAN通道的发送和接收缓存起始地址存放区、CAN通道的命令更新标志区、CAN通道的命令区、CAN通道的反馈状态区、CAN通道的错误标志区;
然后,根据驱动中实际使用的CAN通道数,选用信号灯基地址个数;对共享的内存空间采用信号灯保护机制,防止对数据读写失败。
7.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线驱动设计方法,其特征在于,所述步骤3中,
1)使用偶地址存储数据原则,内存地址划分的最小单位为双字节;
2)将内存地址空间划分为6个区间:
①板卡基本信息区:用于存储板卡名称,板号,内存大小,双口RAM大小长度,软件版本号、本板自检结果信息、板卡运行状态、自检结果、工作模式;
②CAN通道的发送和接收缓存起始地址存放区:用于存储CAN各个通道的发送缓存区的起始地址和发送缓存区的起始地址;
③CAN通道的命令更新标志区:用于存储上层应用软件给CAN各个通道的下达的命令是否已更新的标志;
④CAN通道的命令区...
【专利技术属性】
技术研发人员:高娟,
申请(专利权)人:天津津航计算技术研究所,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。