一种can错误帧检测与显示的装置及方法

文档序号:7953022阅读:120来源:国知局
专利名称:一种can错误帧检测与显示的装置及方法
技术领域
本发明涉及CAN错误帧检测与显示装置和方法的技术领域背景技术现场总线技术已经越来越多地应用于工业现场。CAN总线更是以其高效率、低价位、高可靠性等独特优点而获得了越来越广泛的应用。CAN通信协议规定了4种不同的帧类型,即数据帧、远程帧、错误帧和超载帧。在这几种帧类型中,人们往往关心的是与数据发送和接收密切相关的数据帧和远程帧,却忽略了错误帧的存在及其重要性。错误帧是CAN技术的一大难点,它直接关系到整个装置通信的质量。目前国内外针对CAN错误帧的研究和分析比较少,而且没有一个有效手段对CAN错误帧进行检测和显示。

发明内容
本发明针对现有技术无法对CAN错误帧进行有效检测与显示的问题,而提供一种CAN错误帧检测与显示的装置及方法。本发明所述CAN错误帧检测与显示装置由第一节点1、第二节点2、第三节点3、第四节点4组成第一节点1由第一处理器1-1、第一键盘1-2、第一显示单元1-3、第一通信单元1-4、第一启动按钮1-5和停止按钮1-6组成;第一处理器1-1的数据输入输出总线端连接在第一通信单元1-4的数据输入输出总线端,第一键盘1-2的控制输出总线端连接在第一处理器1-1控制输入总线端,第一处理器1-1的显示数据输出端连接在第一显示单元1-3的显示数据输入端,第一启动按钮1-5的启动信号输出端连接在第一处理器1-1的启动信号输入端,停止按钮1-6的停止信号输出端连接在第一处理器1-1的停止信号输入端;第二节点2由第二处理器2-1、第二键盘2-2、第二显示单元2-3、第二通信单元2-4、和第二启动按钮2-5组成;第二处理器2-1的数据输入输出总线端连接在第二通信单元2-4的数据输入输出总线端,第二键盘2-2的控制输出总线端连接在第二处理器2-1控制输入总线端,第二处理器2-1的显示数据输出端连接在第二显示单元2-3的显示数据输入端,第二启动按钮2-5的启动信号输出端连接在第二处理器2-1的启动信号输入端;第三节点3由第三处理器3-1、第三键盘3-2、第三显示单元3-3、第三通信单元3-4、和第三启动按钮3-5组成;第三处理器3-1的数据输入输出总线端连接在第三通信单元3-4的数据输入输出总线端,第三键盘3-2的控制输出总线端连接在第三处理器3-1控制输入总线端,第三处理器3-1的显示数据输出端连接在第三显示单元3-3的显示数据输入端,第三启动按钮3-5的启动信号输出端连接在第三处理器3-1的启动信号输入端;第四节点4由第四处理器4-1、第四键盘4-2、第四显示单元4-3、第四通信单元4-4和检测单元4-5组成;第四处理器4-1的数据输入输出总线端连接在第四通信单元4-4的数据输入输出总线端,第四键盘4-2的控制输出总线端连接在第四处理器4-1控制输入总线端,第四处理器4-1的显示数据输出端连接在第四显示单元4-3的显示数据输入端,检测单元4-5的检测数据输入端连接在第四通信单元4-4的检测数据输出端,检测单元4-5的检测数据输出端连接在第四处理器4-1的检测数据输入端;第一节点1的第一通信单元1-4的CAN总线数据传输端、第二节点2的第二通信单元2-4的CAN总线数据传输端、第三节点3的第三通信单元3-4的CAN总线数据传输端和第四节点4的第四通信单元4-4的CAN总线数据传输端,都依次连接在CAN数据总线上。
本发明所述方法步骤如下启动整个检测显示装置101;初始化第一节点1(通过第一键盘1-2对第一处理器1-1中的CAN控制器各个寄存器初始化和对第一显示单元1-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置按下第一启动按钮1-5或停止按钮1-6时,所发送的报文优先级都为高102;初始化第二节点2(通过第二键盘2-2对第二处理器2-1中的CAN控制器各个寄存器初始化和对第二显示单元2-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低103;初始化第三节点3(通过第三键盘3-2对第三处理器3-1中的CAN控制器各个寄存器初始化和对第三显示单元3-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低、其标识符场与第二节点2标识符场相同,设置其数据场与第二节点2数据场不同104;初始化第四节点4(通过第四键盘4-2对第四处理器4-1中的CAN控制器各个寄存器初始化和对第四显示单元4-3初始化),通过设置第四处理器4-1中的CAN控制器的相关寄存器,以保证第四节点4不接收按下第一节点1的第一启动按钮1-5时所发送的高优先级报文(SEND_ID_11),但能接收其他报文105;按下第一节点1的第一启动按钮1-5后,第一节点1连续发送高优先级报文(SEND_ID_11),使CAN总线处于忙状态106;按下第二节点2的第二启动按钮2-5后,第二节点2发送低优先级报文(SEND_ID_2)107;按下第三节点3的第三启动按钮3-5后,第三节点3发送低优先级报文(SEND_ID_3)108;按下第一节点1的停止按钮1-6后,第一节点1停止连续发送高优先级报文(SEND_ID_11),同时再发送一个高优先级报文(SEND_ID_12),第四节点4接收到这个高优先级报文(SEND_ID_12)后检测CAN总线电平(由于第二节点2的报文SEND_ID_2和第三节点3的报文SEND_ID_3同时竞争总线且具有相同的标识符场和不同的数据场,而产生错误;报文优先级顺序SEND_ID_3=SEND_ID_2<SEND_ID_12、SEND_ID_3=SEND_ID_2<SEND_ID_11),亦对CAN总线MAC(媒体访问控制)帧进行检测109;第四节点4检测到连续11个1,即11个隐性电平时停止检测,将检测到的含有CAN错误帧的MAC帧送第四显示单元4-3中,进而将CAN错误帧显示出来110。
本发明实现了对CAN错误帧的检测和显示;对深入理解CAN总线的错误帧、错误类型及其相关技术内容具有重要作用;同时本发明创造错误帧产生的条件有利于CAN总线教学实验和培训的开展。


图1是本发明装置的整体电路结构图;图2是本发明控制和显示方法流程图。
具体实施例方式
具体实施方式
一结合图1、图2具体说明本实施方式。
本实施方式的装置由第一节点1、第二节点2、第三节点3、第四节点4组成第一节点1由第一处理器1-1、第一键盘1-2、第一显示单元1-3、第一通信单元1-4、第一启动按钮1-5和停止按钮1-6组成;第一处理器1-1的数据输入输出总线端连接在第一通信单元1-4的数据输入输出总线端,第一键盘1-2的控制输出总线端连接在第一处理器1-1控制输入总线端,第一处理器1-1的显示数据输出端连接在第一显示单元1-3的显示数据输入端,第一启动按钮1-5的启动信号输出端连接在第一处理器1-1的启动信号输入端,停止按钮1-6的停止信号输出端连接在第一处理器1-1的停止信号输入端;第二节点2由第二处理器2-1、第二键盘2-2、第二显示单元2-3、第二通信单元2-4、和第二启动按钮2-5组成;第二处理器2-1的数据输入输出总线端连接在第二通信单元2-4的数据输入输出总线端,第二键盘2-2的控制输出总线端连接在第二处理器2-1控制输入总线端,第二处理器2-1的显示数据输出端连接在第二显示单元2-3的显示数据输入端,第二启动按钮2-5的启动信号输出端连接在第二处理器2-1的启动信号输入端;第三节点3由第三处理器3-1、第三键盘3-2、第三显示单元3-3、第三通信单元3-4、和第三启动按钮3-5组成;第三处理器3-1的数据输入输出总线端连接在第三通信单元3-4的数据输入输出总线端,第三键盘3-2的控制输出总线端连接在第三处理器3-1控制输入总线端,第三处理器3-1的显示数据输出端连接在第三显示单元3-3的显示数据输入端,第三启动按钮3-5的启动信号输出端连接在第三处理器3-1的启动信号输入端;第四节点4由第四处理器4-1、第四键盘4-2、第四显示单元4-3、第四通信单元4-4和检测单元4-5组成;第四处理器4-1的数据输入输出总线端连接在第四通信单元4-4的数据输入输出总线端,第四键盘4-2的控制输出总线端连接在第四处理器4-1控制输入总线端,第四处理器4-1的显示数据输出端连接在第四显示单元4-3的显示数据输入端,检测单元4-5的检测数据输入端连接在第四通信单元4-4的检测数据输出端,检测单元4-5的检测数据输出端连接在第四处理器4-1的检测数据输入端;第一节点1的第一通信单元1-4的CAN总线数据传输端、第二节点2的第二通信单元2-4的CAN总线数据传输端、第三节点3的第三通信单元3-4的CAN总线数据传输端和第四节点4的第四通信单元4-4的CAN总线数据传输端,都依次连接在CAN数据总线上。
本装置所述第一处理器1-1、第二处理器2-1、第三处理器3-1、第四处理器4-1都选用的是8051系列、C8051F系列、8096系列的芯片;第一键盘1-2、第二键盘2-2、第三键盘3-2、第四键盘4-2都选用的是OMRON;第一显示单元1-3、第二显示单元2-3、第三显示单元3-3、第四显示单元4-3都选用的是12864-2W;第一通信单元1-4、第二通信单元2-4、第三通信单元3-4、第四通信单元4-4都选用的是SJA1000、82C250、6N137;第一启动按钮1-5、第二启动按钮2-5、第三启动按钮3-5、停止按钮1-6都选用的是OMRON。
本实施方式的步骤如下启动整个检测显示装置101;初始化第一节点1(通过第一键盘1-2对第一处理器1-1中的CAN控制器各个寄存器初始化和对第一显示单元1-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置按下第一启动按钮1-5或停止按钮1-6时,所发送的报文优先级都为高102;初始化第二节点2(通过第二键盘2-2对第二处理器2-1中的CAN控制器各个寄存器初始化和对第二显示单元2-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低103;初始化第三节点3(通过第三键盘3-2对第三处理器3-1中的CAN控制器各个寄存器初始化和对第三显示单元3-3初始化),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低、其标识符场与第二节点2标识符场相同,设置其数据场与第二节点2数据场不同104;初始化第四节点4(通过第四键盘4-2对第四处理器4-1中的CAN控制器各个寄存器初始化和对第四显示单元4-3初始化),通过设置第四处理器4-1中的CAN控制器的相关寄存器,以保证第四节点4不接收按下第一节点1的第一启动按钮1-5时所发送的高优先级报文(SEND_ID_11),但能接收其他报文105;按下第一节点1的第一启动按钮1-5后,第一节点1连续发送高优先级报文(SEND_ID_11),使CAN总线处于忙状态106;按下第二节点2的第二启动按钮2-5后,第二节点2发送低优先级报文(SEND_ID_2)107;按下第三节点3的第三启动按钮3-5后,第三节点3发送低优先级报文(SEND_ID_3)108;按下第一节点1的停止按钮1-6后,第一节点1停止连续发送高优先级报文(SEND_ID_11),同时再发送一个高优先级报文(SEND_ID_12),第四节点4接收到这个高优先级报文(SEND_ID_12)后检测CAN总线电平(由于第二节点2的报文SEND_ID_2和第三节点3的报文SEND_ID_3同时竞争总线且具有相同的标识符场和不同的数据场,而产生错误;报文优先级顺序SEND_ID_3=SEND_ID_2<SEND_ID_12、SEND_ID_3=SEND_ID_2<SEND_ID_11),亦对CAN总线MAC(媒体访问控制)帧进行检测109;第四节点4检测到连续11个1,即11个隐性电平时停止检测,将检测到的含有CAN错误帧的MAC帧送第四显示单元4-3中,进而将CAN错误帧显示出来110。
权利要求
1.一种CAN错误帧检测与显示的装置,其特征在于它由第一节点(1)、第二节点(2)、第三节点(3)、第四节点(4)组成第一节点(1)由第一处理器(1-1)、第一键盘(1-2)、第一显示单元(1-3)、第一通信单元(1-4)、第一启动按钮(1-5)和停止按钮(1-6)组成;第一处理器(1-1)的数据输入输出总线端连接在第一通信单元(1-4)的数据输入输出总线端,第一键盘(1-2)的控制输出总线端连接在第一处理器(1-1)控制输入总线端,第一处理器(1-1)的显示数据输出端连接在第一显示单元(1-3)的显示数据输入端,第一启动按钮(1-5)的启动信号输出端连接在第一处理器(1-1)的启动信号输入端,停止按钮(1-6)的停止信号输出端连接在第一处理器(1-1)的停止信号输入端;第二节点(2)由第二处理器(2-1)、第二键盘(2-2)、第二显示单元(2-3)、第二通信单元(2-4)、和第二启动按钮(2-5)组成;第二处理器(2-1)的数据输入输出总线端连接在第二通信单元(2-4)的数据输入输出总线端,第二键盘(2-2)的控制输出总线端连接在第二处理器(2-1)控制输入总线端,第二处理器(2-1)的显示数据输出端连接在第二显示单元(2-3)的显示数据输入端,第二启动按钮(2-5)的启动信号输出端连接在第二处理器(2-1)的启动信号输入端;第三节点(3)由第三处理器(3-1)、第三键盘(3-2)、第三显示单元(3-3)、第三通信单元(3-4)、和第三启动按钮(3-5)组成;第三处理器(3-1)的数据输入输出总线端连接在第三通信单元(3-4)的数据输入输出总线端,第三键盘(3-2)的控制输出总线端连接在第三处理器(3-1)控制输入总线端,第三处理器(3-1)的显示数据输出端连接在第三显示单元(3-3)的显示数据输入端,第三启动按钮3-5的启动信号输出端连接在第三处理器(3-1)的启动信号输入端;第四节点(4)由第四处理器(4-1)、第四键盘(4-2)、第四显示单元(4-3)、第四通信单元(4-4)和检测单元(4-5)组成;第四处理器(4-1)的数据输入输出总线端连接在第四通信单元(4-4)的数据输入输出总线端,第四键盘(4-2)的控制输出总线端连接在第四处理器(4-1)控制输入总线端,第四处理器(4-1)的显示数据输出端连接在第四显示单元(4-3)的显示数据输入端,检测单元(4-5)的检测数据输入端连接在第四通信单元(4-4)的检测数据输出端,检测单元(4-5)的检测数据输出端连接在第四处理器(4-1)的检测数据输入端;第一节点(1)的第一通信单元(1-4)的CAN总线数据传输端、第二节点(2)的第二通信单元(2-4)的CAN总线数据传输端、第三节点(3)的第三通信单元(3-4)的CAN总线数据传输端和第四节点(4)的第四通信单元(4-4)的CAN总线数据传输端,都依次连接在CAN数据总线上。
2.一种CAN错误帧检测与显示的方法,其特征在于它的检测和显示步骤为启动整个检测显示装置(101);初始化第一节点(1),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置按下第一启动按钮(1-5)或停止按钮(1-6)时,所发送的报文优先级都为高(102);初始化第二节点(2),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低(103);初始化第三节点(3),并设置标识符场、控制场和数据场,标识符场表示报文的优先级,设置其报文优先级为低、其标识符场与第二节点(2)标识符场相同,设置其数据场与第二节点(2)数据场不同(104);初始化第四节点(4),通过设置第四处理器(4-1)中的CAN控制器的相关寄存器,以保证第四节点(4)不接收按下第一节点(1)的第一启动按钮(1-5)时所发送的高优先级报文,但能接收其他报文(105);按下第一节点(1)的第一启动按钮(1-5)后,第一节点(1)连续发送高优先级报文,使CAN总线处于忙状态(106);按下第二节点(2)的第二启动按钮(2-5)后,第二节点(2)发送低优先级报文(107);按下第三节点(3)的第三启动按钮(3-5)后,第三节点(3)发送低优先级报文(108);按下第一节点(1)的停止按钮(1-6)后,第一节点(1)停止连续发送高优先级报文,同时再发送一个高优先级报文,第四节点(4)接收到这个高优先级报文后检测CAN总线电平,亦对CAN总线MAC帧进行检测(109);第四节点(4)检测到连续11个1,即11个低电平时停止检测,将检测到的含有CAN错误帧的MAC帧送第四显示单元(4-3)中,进而将CAN错误帧显示出来(110)。
全文摘要
一种CAN错误帧检测与显示的装置及方法,它涉及CAN错误帧检测与显示装置和方法的技术领域,它是为了克服现有技术无法对CAN总线的错误帧进行检测和显示的问题。本装置中每个节点各自的显示单元和键盘均连接在各自的处理器上;各启动按钮均连接在其各自的处理器上;停止按钮(1-6)连接在第一处理器(1-1)上;检测单元(4-5)连接在第四处理器(4-1)和第四通信单元(4-4)中间;每个节点各自的处理器通过其各自的通信单元分别连接在CAN总线上。它的方法步骤(一)启动系统;(二)初始化各个节点,设置各节点的标识符场;(三)依次按下各节点的启动按钮;(四)按下停止按钮(1-6);(五)第四节点(4)进行检测CAN错误帧和显示。本发明实现了对CAN错误帧检测和显示。
文档编号H04L12/40GK1913459SQ20061001042
公开日2007年2月14日 申请日期2006年8月22日 优先权日2006年8月22日
发明者佟为明, 李凤阁, 林景波, 刘勇, 金显吉, 高洪伟 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1