Windows系统下基于双口RAM通信的CAN总线通信模块设计方法技术方案

技术编号:26170697 阅读:26 留言:0更新日期:2020-10-31 13:39
本发明专利技术属于Windows系统技术领域,具体涉及一种Windows系统下基于双口RAM通信的CAN总线通信模块设计方法,首先,划分双口RAM地址空间;其次,初始化CAN总线板卡;然后,进入CAN通信主流程:定时查询命令更新标志,根据应用程序设置的模式进行不同工作流程。查询发送数据,中断接收数据。对双口RAM共享区域进行信号灯保护,防止数据读写冲突。本发明专利技术可以实现Windows系统下CAN总线板卡通信功能,该方案采用双口RAM通信机制,极大的缩短了应用软件与底层板卡的交互时间。同时,双口RAM作为数据交互的中间介质,为上层应用和底层板卡程序提供了故障定位的数据依据,更方便程序调试。

Design method of CAN bus communication module based on dual port RAM communication in Windows system

【技术实现步骤摘要】
Windows系统下基于双口RAM通信的CAN总线通信模块设计方法
本专利技术属于Windows系统
,具体涉及一种Windows系统下基于双口RAM通信的CAN总线通信模块设计方法。
技术介绍
CAN总线作为实时控制的串行通信网络,具有网络各节点之间数据通信实时性强的特点,容易形成冗余结构,提高系统的可靠性和系统的灵活性。TMS320F28335作为TI高性能的32位浮点DSP处理器,具备精度高、成本低功耗小、性能高、外设集成度高的特点,在实际应用常被选为CAN总线通信模块节点。TMS320F28335没有自带的通信程序,需要用户自行根据其寄存器特点进行设计,同行还需要满足其主机端驱动的设计要求。目前成熟的CAN总线通信方法有通过将协议帧分为帧信息区、节点信息区、动态翻转区。通过让主节点平等的接收各个从节点所发送的信息,避免一个从节点发送超长信息,堵塞整个节点通讯问题;还有通过在发送端和接收端进行滚动计数,达到冗余的目的,避免接收端产生新旧数据的震荡。但是上述方法没有提供数据缓冲机制,无法解决主机端和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

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

1