【技术实现步骤摘要】
Windows系统下基于双口RAM通信的CAN总线通信模块设计方法
本专利技术属于Windows系统
,具体涉及一种Windows系统下基于双口RAM通信的CAN总线通信模块设计方法。
技术介绍
CAN总线作为实时控制的串行通信网络,具有网络各节点之间数据通信实时性强的特点,容易形成冗余结构,提高系统的可靠性和系统的灵活性。TMS320F28335作为TI高性能的32位浮点DSP处理器,具备精度高、成本低功耗小、性能高、外设集成度高的特点,在实际应用常被选为CAN总线通信模块节点。TMS320F28335没有自带的通信程序,需要用户自行根据其寄存器特点进行设计,同行还需要满足其主机端驱动的设计要求。目前成熟的CAN总线通信方法有通过将协议帧分为帧信息区、节点信息区、动态翻转区。通过让主节点平等的接收各个从节点所发送的信息,避免一个从节点发送超长信息,堵塞整个节点通讯问题;还有通过在发送端和接收端进行滚动计数,达到冗余的目的,避免接收端产生新旧数据的震荡。但是上述方法没有提供数据缓冲机制,无法解决 ...
【技术保护点】
1.一种Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述方法包括:/n步骤1:划分双口RAM地址空间;/n步骤2:初始化CAN总线板卡;/n步骤3:进入通信模块主流程;/n通过以上步骤,实现F28335板卡在Windows系统下的CAN总线通信功能。/n
【技术特征摘要】
1.一种Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述方法包括:
步骤1:划分双口RAM地址空间;
步骤2:初始化CAN总线板卡;
步骤3:进入通信模块主流程;
通过以上步骤,实现F28335板卡在Windows系统下的CAN总线通信功能。
2.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述步骤1中,
首先,采取偶地址存数规则,将内存地址空间划分为6个区间,分别为板卡基本信息区、CAN通道的发送和接收缓存起始地址存放区、CAN通道的命令更新标志区、CAN通道的命令区、CAN通道的反馈状态区、CAN通道的错误标志区;
然后,根据驱动中实际使用的CAN通道数,选用信号灯基地址个数;对共享的内存空间采用信号灯保护机制,防止对数据读写失败。
3.如权利要求2所述的Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述步骤1中:
使用偶地址存储数据原则,内存地址划分的最小单位为双字节;
将内存地址空间划分为6个区间:
①板卡基本信息区:用于存储板卡名称、板号、内存大小、双口RAM大小长度、软件版本号、本板自检结果信息、板卡运行状态、自检结果、工作模式;
②CAN通道的发送和接收缓存起始地址存放区:用于存储CAN各个通道的发送缓存区的起始地址和发送缓存区的起始地址;
③CAN通道的命令更新标志区:用于存储上层应用软件给CAN各个通道的下达的命令是否已更新的标志;
④CAN通道的命令区:用于存储上层应用软件给CAN各个通道的下达的命令;
⑤CAN通道的反馈状态区:用于存储CAN各个通道的CAN端口开关状态,接收指针在接收缓冲区的位置,接收指针位置取反后的值,数据发送结束标志;
⑥CAN通道的错误标志区:用于存储CAN各个通道运行时出现的故障类型。
4.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述步骤2中,
首先,初始化系统控制;
其次,设置CAN模块的GPIO,然后禁止中断对PIE控制器进行设置、初始化XINF外设模块、设置板卡定时器周期、使能中断、清零全局变量。
5.如权利要求1所述的Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,其特征在于,所述步骤3中,包括:
步骤31:进入主循环;
步骤32:每隔1ms查询一次主机写入到双口RAM的模式值;
步骤33:判断模式值类型,根据类型进行三种工作模式的操作:
①工作模式:保存当前模式值,进入主流程:进行CAN数据收发和执行上层应用程序指令:
CAN数据发送:查询发送;
CAN数据接收:中断接收;
执行上层应用程序指令:对每路CAN通道循环判断命令更新标志是否置1,如果是则根据指令类型进行不同操作;
②复位模式:清零模式值,进行软件复位;
③自检模式:清零模式值,对CAN模块进行自检。
...
【专利技术属性】
技术研发人员:高娟,
申请(专利权)人:天津津航计算技术研究所,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。