[发明专利]一种基于PCI总线的CAN设备驱动装置及方法有效
申请号: | 201910363960.7 | 申请日: | 2019-04-30 |
公开(公告)号: | CN110109849B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 梁美红;卢联杰;王明博;查坤;陈辉;沈坤;王敏敏 | 申请(专利权)人: | 湖北三江航天万峰科技发展有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F13/24 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 李佑宏 |
地址: | 432000 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pci 总线 can 设备 驱动 装置 方法 | ||
1.一种基于PCI总线的CAN设备驱动装置,该装置包括依次连接的主控模块、FPGA模块和CAN链路模块,外接程序写入设备通过PCI总线与主控模块连接;CAN链路模块用于提供CAN接口连接待驱动设备;其特征在于,主控模块包括驱动模块、开关设备模块、控制模块和中断模块,其中,
所述驱动模块用于外部输入的第一阶段指令利用第一阶段初始化函数实现待驱动设备的创建和待驱动设备全局变量初始化,执行不成功则利用第一阶段删除函数清除第一阶段初始化变量;
所述驱动模块还用于依据外部输入的第二阶段指令利用第二阶段初始化函数实现记录待驱动设备对应的CAN接口基地址、注册中断服务程序、使能PCI中断、使能CAN中断和打开LocalBus中断,执行不成功利用第二阶段删除函数清除第二阶段初始化变量;
所述开关设备模块用于依据外部输入的开关指令打开或关闭CAN链路模块的信号量、任务、发送FIFO、接收FIFO和消息队列;
所述控制模块用于依据外部输入的控制指令实现对CAN链路模块的命令字功能、读功能和写功能操作;
所述中断模块用于依据外部输入的中断指令控制CAN链路模块实现对待驱动设备的中断操作。
2.根据权利要求1所述的一种基于PCI总线的CAN设备驱动装置,其特征在于,所述第一阶段指令还包括搜索PCI总线查找待驱动设备、读取待驱动设备的映射空间地址和设置待驱动设备的中断号。
3.根据权利要求1所述的一种基于PCI总线的CAN设备驱动装置,其特征在于,所述命令字功能具体为接收来自外部的命令码及相关参数实现对待驱动设备的命令操作,通过不同的控制码调用硬件抽象层提供的宏映射对应操作系统的内存地址进行操作实现。
4.根据权利要求1-3中任一项所述的一种基于PCI总线的CAN设备驱动装置,其特征在于,所述写功能具体为将需要发送的CAN总线帧数据放入CAN链路模块的发送FIFO并触发数据发送任务,通过数据发送任务对CAN链路模块的寄存器进行写操作实现CAN总线帧数据的发送。
5.根据权利要求1-3中任一项所述的一种基于PCI总线的CAN设备驱动装置,其特征在于,所述中断模块依据接收的中断指令通过中断服务程序和中断后处理程序实现对待驱动设备的中断操作,其中,中断服务程序用于判断中断源、屏蔽中断、触发中断以及后续操作;中断后处理程序用于将CAN链路模块的寄存器数据存入对应的接收FIFO中,并清空CAN链路模块的寄存器数据。
6.一种基于PCI总线的CAN设备驱动方法,其特征在于,具体步骤为:
S1.依据外部输入的第一阶段指令利用第一阶段初始化函数实现待驱动设备的创建和待驱动设备全局变量初始化,执行成功则进入步骤S2;否则,利用第一阶段删除函数清除第一阶段初始化变量;
S2.依据外部输入的第二阶段指令利用第二阶段初始化函数实现记录待驱动设备对应的CAN接口基地址、注册中断服务程序、使能PCI中断、使能CAN中断和打开LocalBus中断,执行成功则进入步骤S3;否则,利用第二阶段删除函数清除第二阶段初始化变量;
S3.依据外部输入的开关指令打开或关闭CAN链路模块的信号量、任务、发送FIFO、接收FIFO和消息队列;
S4.依据外部输入的控制指令实现对CAN链路模块的命令字功能、读功能和写功能操作;
S5.依据外部输入的中断指令控制CAN链路模块实现对待驱动设备的中断操作。
7.根据权利要求6所述的一种基于PCI总线的CAN设备驱动方法,其特征在于,所述第一阶段指令还包括搜索PCI总线查找待驱动设备、读取待驱动设备的映射空间地址和设置待驱动设备的中断号。
8.根据权利要求6所述的一种基于PCI总线的CAN设备驱动方法,其特征在于,所述命令字功能具体为接收来自外部的命令码及相关参数实现对待驱动设备的命令操作,通过不同的控制码调用硬件抽象层提供的宏映射对应操作系统的内存地址进行操作实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北三江航天万峰科技发展有限公司,未经湖北三江航天万峰科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910363960.7/1.html,转载请声明来源钻瓜专利网。