CAN总线模拟监控方法技术

技术编号:23897993 阅读:56 留言:0更新日期:2020-04-22 09:26
本发明专利技术属于CAN总线通信工程技术领域,具体涉及一种CAN总线模拟监控方法。与现有技术相比,本发明专利技术设计的CAN总线模拟监控方案利用硬件方案和逻辑架构的优势,提高了数据传输的实时性;另外,增加了触发控制数据收发、设置定时时间完成数据发送和可设置的数据屏蔽接收等功能。提高了CAN总线在不同的行业应用中的适应性,满足各类使用需求。

【技术实现步骤摘要】
CAN总线模拟监控方法
本专利技术属于CAN总线通信工程
,具体涉及一种CAN总线模拟监控方法。
技术介绍
随着信息技术的快速发展,用户对基于CAN总线通信的实时性需求越来越高。与此同时,对定时收发数据、触发控制收发数据等功能也有了更多的使用要求,尤其是在可靠性和安全性要求较高的行业。但是当前大多数成熟的CAN通信模块或板卡实时性在ms级,不具备定时收发数据或通过触发控制数据收发等功能,对部分应用CAN总线通信行业的产品性能造成了限制。市面上主流的CAN通信模块或板卡存在以下不足:1)实时性差。CAN通信模块或CAN卡工作频率低,协议解析、数据处理步骤复杂,在收到发送指令后,无法在10us时间内将数据发送至CAN总线,容易造成同一CAN总线网络中各个CAN节点相应不同步,产生不确定的延时,影响整个网络中基于CAN总线的逻辑判断和控制。2)触发控制数据收发功能不足。目前多数CAN通信模块或CAN卡触发源只有一个、触发条件单一,面向对象简单,通过外部中断触发,导致不具备触发发送功能,或通过触发控制数据发送的功能单一,只能通过触发信号决定数据是否发送,不能通过触发信号有选择的控制发送某一类或某几类数据。3)不具备定时发送功能。目前多数CAN通信模块或CAN卡只有最基本的数据接收或数据发送功能,未考虑复杂工业控制场景,不具备定时发送功能,无法设定将来的某个时间点,即当时间点到时,无法完成数据自动发送。4)数据屏蔽接收功能不足。现有的多数CAN通信模块或CAN卡的数据屏蔽接收功能不足,只能根据帧类型、帧ID进行屏蔽接收,对帧格式或帧内容不具备是否进行屏蔽接收的选择功能。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:解决当前CAN通信模块或CAN卡实时性差、触发控制数据收发功能不足、不具备定时发送功能、数据屏蔽接收功能不足等问题,完善其功能,提高CAN总线在不同的行业应用中的适应性,满足各类使用需求。(二)技术方案为解决上述技术问题,本专利技术提供一种CAN总线模拟监控方法,所述CAN总线模拟监控方法基于CAN总线模拟监控系统来实施,所述CAN总线模拟监控系统包括:CAN总线收发器、复位计时器、复位模块、设置模块、校准时钟模块、计时器清零模块、缓存模块、提取模块、待发送数据存储模块、解析模块、时间点更新模块、监测模块;其中,所述待发送数据存储模块包括第一发送缓冲区、第二发送缓冲区、第三发送缓冲区;具体而言,所述CAN总线模拟监控方法包括如下步骤:步骤1:CAN总线模拟监控系统上电;步骤2:复位模块进行复位;从第一个有效时钟开始,启动复位计时器,复位计时时间结束后,复位模块结束复位;此过程CAN总线模拟监控系统中各个模块恢复到初始状态;步骤3:设置模块设置CAN总线收发器的工作模式、本地ID号、目的ID号、需屏蔽的ID号、波特率;步骤4:校准时钟模块发出校准时钟脉冲,计时器清零模块以此脉冲为基准,脉冲到达时刻为零时刻,清零计时器1、清零计时器2、清零计时器3,三个计时器重新计时;步骤5:CAN总线收发器接收上位机数据和指令,边接收边存储,将数据和指令分别存储到缓存模块指定地址的缓存中;步骤6:提取模块从缓存模块缓存中取出第一帧数据,存储到待发送数据存储模块的第一发送缓冲区;步骤7:提取模块从缓存模块缓存中读取第一帧指令;步骤8:解析模块解析第一帧指令;步骤9:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器1中;步骤10:提取模块从缓存模块缓存中取出第二帧数据,存储到待发送数据存储模块的第二发送缓冲区;步骤1:提取模块从缓存模块缓存中读取第二帧指令;步骤12:解析模块解析第二帧指令;步骤13:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器2中;步骤14:提取模块从缓存模块缓存中取出第三帧数据,存储到待发送数据存储模块的第三发送缓冲区;步骤15:提取模块从缓存模块缓存中读取第三帧指令;步骤16:解析模块解析第三帧指令;步骤17:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器3中;步骤18:CAN总线收发器等待计时器1计时时间结束;步骤19:CAN总线收发器等到计时器1时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、第一缓冲区数据;步骤20:具体包括:步骤201、CAN总线收发器等待计时器2计时时间结束;步骤202、监测模块监测第一缓冲区数据发送是否完成;如果第一缓冲区数据发送完成,提取模块从缓存模块缓存读取第四帧数据,写入第一缓冲区,否则监测模块继续监测;步骤21:具体包括:步骤211、CAN总线收发器等到计时器2时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、发送第二缓冲区数据;步骤212、提取模块从缓存模块缓存读取第四帧指令,解析模块解析指令,解析出第四帧数据发送时间点,时间点更新模块将时间点更新到计时器1中;步骤22:具体包括:步骤221、CAN总线收发器等待计时器3计时时间结束;步骤222、监测模块监测第二缓冲区数据发送是否完成;如果第二缓冲区数据发送完成,提取模块从缓存模块缓存读取第五帧数据,写入第二缓冲区,否则监测模块继续监测;步骤23:具体包括:步骤231、CAN总线收发器等到计时器3时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、发送第三缓冲区数据;步骤232、提取模块从缓存模块缓存读取第五帧指令,解析模块解析指令,解析出第五帧数据发送时间点,时间点更新模块将时间点更新到计时器2中;步骤24:具体包括:步骤241、监测模块监测第三缓冲区数据发送是否完成;如果第三缓冲区数据发送完成,提取模块从缓存模块缓存读取第六帧数据,写入第三缓冲区,否则监测模块继续监测;步骤242、CAN总线收发器等待计时器2计时时间到;步骤25:跳转至步骤18,直至数据全部发送完成。(三)有益效果本专利技术技术方案通过采取上述技术措施,可有效解决目前现有CAN通信模块或板卡功能单一、性能不足、适应性差等问题。具体来说:(1)该技术方案采用新的硬件方案和逻辑架构设计,提高了数据收发的实时性,保证在收到发送指令后的10us内将数据发送至CAN总线上,保证了当前CAN节点所在的整个网络的时间同步,降低了延时误差,提高了基于当前CAN总线控制的准确性。(2)该技术方案增加了触发控制数据收发的功能,以满足各类测控行业通过触发信号发送各类指令,控制单系统或整个系统执行、完成某些动作。(3)该技术方案增加了定时发送功能,通过设置定时时间,可以在将来某一时刻发送数据指令,控制执行器完成动作。(4)该技术方本文档来自技高网
...

【技术保护点】
1.一种CAN总线模拟监控方法,其特征在于,所述CAN总线模拟监控方法基于CAN总线模拟监控系统来实施,所述CAN总线模拟监控系统包括:CAN总线收发器、复位计时器、复位模块、设置模块、校准时钟模块、计时器清零模块、缓存模块、提取模块、待发送数据存储模块、解析模块、时间点更新模块、监测模块;其中,所述待发送数据存储模块包括第一发送缓冲区、第二发送缓冲区、第三发送缓冲区;/n具体而言,所述CAN总线模拟监控方法包括如下步骤:/n步骤1:CAN总线模拟监控系统上电;/n步骤2:复位模块进行复位;从第一个有效时钟开始,启动复位计时器,复位计时时间结束后,复位模块结束复位;此过程CAN总线模拟监控系统中各个模块恢复到初始状态;/n步骤3:设置模块设置CAN总线收发器的工作模式、本地ID号、目的ID号、需屏蔽的ID号、波特率;/n步骤4:校准时钟模块发出校准时钟脉冲,计时器清零模块以此脉冲为基准,脉冲到达时刻为零时刻,清零计时器1、清零计时器2、清零计时器3,三个计时器重新计时;/n步骤5:CAN总线收发器接收上位机数据和指令,边接收边存储,将数据和指令分别存储到缓存模块指定地址的缓存中;/n步骤6:提取模块从缓存模块缓存中取出第一帧数据,存储到待发送数据存储模块的第一发送缓冲区;/n步骤7:提取模块从缓存模块缓存中读取第一帧指令;/n步骤8:解析模块解析第一帧指令;/n步骤9:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器1中;/n步骤10:提取模块从缓存模块缓存中取出第二帧数据,存储到待发送数据存储模块的第二发送缓冲区;/n步骤1:提取模块从缓存模块缓存中读取第二帧指令;/n步骤12:解析模块解析第二帧指令;/n步骤13:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器2中;/n步骤14:提取模块从缓存模块缓存中取出第三帧数据,存储到待发送数据存储模块的第三发送缓冲区;/n步骤15:提取模块从缓存模块缓存中读取第三帧指令;/n步骤16:解析模块解析第三帧指令;/n步骤17:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器3中;/n步骤18:CAN总线收发器等待计时器1计时时间结束;/n步骤19:CAN总线收发器等到计时器1时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、第一缓冲区数据;/n步骤20:具体包括:/n步骤201、CAN总线收发器等待计时器2计时时间结束;/n步骤202、监测模块监测第一缓冲区数据发送是否完成;如果第一缓冲区数据发送完成,提取模块从缓存模块缓存读取第四帧数据,写入第一缓冲区,否则监测模块继续监测;/n步骤21:具体包括:/n步骤211、CAN总线收发器等到计时器2时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、发送第二缓冲区数据;/n步骤212、提取模块从缓存模块缓存读取第四帧指令,解析模块解析指令,解析出第四帧数据发送时间点,时间点更新模块将时间点更新到计时器1中;/n步骤22:具体包括:/n步骤221、CAN总线收发器等待计时器3计时时间结束;/n步骤222、监测模块监测第二缓冲区数据发送是否完成;如果第二缓冲区数据发送完成,提取模块从缓存模块缓存读取第五帧数据,写入第二缓冲区,否则监测模块继续监测;/n步骤23:具体包括:/n步骤231、CAN总线收发器等到计时器3时间到,按照设置好的工作模式、波特率,发送本地ID号、目的ID号、发送第三缓冲区数据;/n步骤232、提取模块从缓存模块缓存读取第五帧指令,解析模块解析指令,解析出第五帧数据发送时间点,时间点更新模块将时间点更新到计时器2中;/n步骤24:具体包括:/n步骤241、监测模块监测第三缓冲区数据发送是否完成;如果第三缓冲区数据发送完成,提取模块从缓存模块缓存读取第六帧数据,写入第三缓冲区,否则监测模块继续监测;/n步骤242、CAN总线收发器等待计时器2计时时间到;/n步骤25:跳转至步骤18,直至数据全部发送完成。/n...

【技术特征摘要】
1.一种CAN总线模拟监控方法,其特征在于,所述CAN总线模拟监控方法基于CAN总线模拟监控系统来实施,所述CAN总线模拟监控系统包括:CAN总线收发器、复位计时器、复位模块、设置模块、校准时钟模块、计时器清零模块、缓存模块、提取模块、待发送数据存储模块、解析模块、时间点更新模块、监测模块;其中,所述待发送数据存储模块包括第一发送缓冲区、第二发送缓冲区、第三发送缓冲区;
具体而言,所述CAN总线模拟监控方法包括如下步骤:
步骤1:CAN总线模拟监控系统上电;
步骤2:复位模块进行复位;从第一个有效时钟开始,启动复位计时器,复位计时时间结束后,复位模块结束复位;此过程CAN总线模拟监控系统中各个模块恢复到初始状态;
步骤3:设置模块设置CAN总线收发器的工作模式、本地ID号、目的ID号、需屏蔽的ID号、波特率;
步骤4:校准时钟模块发出校准时钟脉冲,计时器清零模块以此脉冲为基准,脉冲到达时刻为零时刻,清零计时器1、清零计时器2、清零计时器3,三个计时器重新计时;
步骤5:CAN总线收发器接收上位机数据和指令,边接收边存储,将数据和指令分别存储到缓存模块指定地址的缓存中;
步骤6:提取模块从缓存模块缓存中取出第一帧数据,存储到待发送数据存储模块的第一发送缓冲区;
步骤7:提取模块从缓存模块缓存中读取第一帧指令;
步骤8:解析模块解析第一帧指令;
步骤9:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器1中;
步骤10:提取模块从缓存模块缓存中取出第二帧数据,存储到待发送数据存储模块的第二发送缓冲区;
步骤1:提取模块从缓存模块缓存中读取第二帧指令;
步骤12:解析模块解析第二帧指令;
步骤13:时间点更新模块根据指令中含有数据的发送时间点,将解析出的时间点更新到步骤4的计时器2中;
步骤14:提取模块从缓存模块缓存中取出第三帧数据,存储到待发送数据存储模块的第三发送缓冲区;
步骤15:提取模块从缓存模块缓存中读取第三...

【专利技术属性】
技术研发人员:张榕孙笠森孟琪安鹏伟刘冬李世峰康建涛王欣吕方雷柴振达
申请(专利权)人:北京京航计算通讯研究所
类型:发明
国别省市:北京;11

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

1