法律状态公告日
法律状态信息
法律状态
2016-04-27
授权
授权
2014-01-22
实质审查的生效 IPC(主分类):H04L12/24 申请日:20130910
实质审查的生效
2013-12-25
公开
公开
技术领域
本发明涉及自动化技术和故障诊断技术领域,尤其涉及一种带总线错误解 析功能的CAN总线分析系统。
背景技术
现场总线技术,是计算机数字通信技术向工业自动化领域的延伸。控制器 局域网(Control Area Network,CAN)总线是国际上应用最广泛地现场总线之 一。它广泛地应用于车载电子微控制器通讯、工业网络自动化控制、重要电力 系统和安防监控等诸多领域。
随着分布式网络系统架构复杂性不断增加,实际的产业化网络通信过程中 出现的设备老化、关联点动作强度大以及作业环境的强电磁干扰等诸多因素, 更容易给正常总线通信和产品质量带来影响,严重地威胁着产业生产线的正常 运作和人身安全。
现有研究主要涉及总线网络可靠性参数的探索,和影响控制网、设备网、 以太网等网络的传输性能的因素的探索。然而,较少研究针对网络的故障作实 时监控和对故障进行实时错误解析。
如果总线存在网络故障,节点检测到错误时,会中断正在发送数据的节点, 往总线上发送错误帧。在轮询通信模式下,当错误节点处于数据发送状态时, 总线上所有的节点将一致对错误作出响应,所得的错误帧错误标志长度表现为6 位;当错误节点处于数据接收状态时,总线上节点将依次对错误作出响应,所 得的错误帧错误标志长度表现为6~12位。
发明内容
本发明的目的是克服现有技术的不足,提供一种带总线错误解析功能的CAN 总线分析系统。
带总线错误解析功能的CAN总线分析系统包括CAN收发器CTM1050、 Open3S500E FPGA开发板、9针的RS232串口;Open3S500E FPGA开发板的P115 输入/输出口与RS232的2引脚相连,Open3S500E FPGA开发板的P120输入/输 出口与第一CAN收发器CTM1050的3引脚相连,Open3S500E FPGA开发板的P127 输入/输出口与第二CAN收发器CTM1050的3引脚相连,第一CAN收发器CTM1050 与第二CAN收发器CTM1050的2引脚同时接地,1引脚同时接5V正电压,7引 脚用来连接CAN总线的CAN_L,6引脚用来连接CAN总线的CAN_H;RS232串口能 用USB模块和以太网模块代替,用来发送数据给后台计算机,并执行如下内容:
1)系统检测CAN总线信号,当检测到有帧起始的显性位后进行数据的监听, 并将数据存储在Open3S500E FPGA开发板的一个寄存器中,当检测到CAN总线 上连续的七个隐性位时说明帧结束,停止监听等待下一次的帧起始,同时记录 发送正常帧的时间戳,等待发送给后台计算机;
2)系统检测CAN总线信号并进行错误帧的识别和生成触发信号,假设CAN 总线通信速率V,则数据位的时间长度为设置采样周期为f ns,即每 数据位采样次,根据CAN总线错误界定协议,若检测到连续6位或6位 以上显性位,只要连续采样数大于等于个,说明CAN总线上有错误帧, 将会触发错误帧识别信号的产生,将用于识别和记录错误帧信息,同时,准确识 别错误帧的下降沿,在错误帧下降沿时复位错误帧识别信号;
3)不同的错误帧的错误标志长度代表错误帧的不同事件类型,这对CAN总 线错误定位和故障定位产生重要影响,错误触发后,记录错误帧错误标志长度 值和错误帧产生的时间戳,并对被错误帧中断的正常数据帧的信息进行分析, 获得被中断节点地址,将错误信息与被中断帧地址整合记录在寄存器中,等待 发送给后台计算机进行错误信息后期处理,数据帧标识符中含有帧源地址,在 获取被中断帧源地址时,要结合总线模拟波形进行分析,如果被中断帧的源地 址数据完整,直接获取;如果源地址损坏,结合模拟信号对被中断帧进行模式 识别,获得源地址;
4)记录的正常帧信息与错误帧信息通过RS232串口、USB或以太网发送给后 台计算机,以便对CAN总线错误进行进一步分析。
本发明不仅能够实时监测总线故障,记录正常帧和错误帧信息,而且具有 总线错误解析功能,能够结合总线模拟信号进行模式识别,获取被中断帧的源 地址,为定位故障节点提供初步分析,系统的结构也比较紧凑,所用的都是标 准芯片,容易实现。
附图说明
图1是带总线错误解析功能的CAN总线分析系统结构框图;
图2是带总线错误解析功能的CAN总线分析系统原理图;
图3是本发明的总线错误触发流程图;
图4是本发明的被中断帧源地址读取流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
带总线错误解析功能的CAN总线分析系统包括CAN收发器CTM1050、 Open3S500E FPGA开发板、9针的RS232串口;Open3S500E FPGA开发板的P115 输入/输出口与RS232的2引脚相连,Open3S500E FPGA开发板的P120输入/输 出口与第一CAN收发器CTM1050的3引脚相连,Open3S500E FPGA开发板的P127 输入/输出口与第二CAN收发器CTM1050的3引脚相连,第一CAN收发器CTM1050 与第二CAN收发器CTM1050的2引脚同时接地,1引脚同时接5V正电压,7引 脚用来连接CAN总线的CAN_L,6引脚用来连接CAN总线的CAN_H;RS232串口能 用USB模块和以太网模块代替,用来发送数据给后台计算机,并执行如下内容:
1)系统检测CAN总线信号,当检测到有帧起始的显性位后进行数据的监听, 并将数据存储在Open3S500E FPGA开发板的一个寄存器中,当检测到CAN总线 上连续的七个隐性位时说明帧结束,停止监听等待下一次的帧起始,同时记录 发送正常帧的时间戳,等待发送给后台计算机;
2)系统检测CAN总线信号并进行错误帧的识别和生成触发信号,假设CAN 总线通信速率V kbps,则数据位的时间长度为设置采样周期为f ns, 即每数据位采样次,根据CAN总线错误界定协议,若检测到连续6位或 6位以上显性位,只要连续采样数大于等于个,说明CAN总线上有错误 帧,将会触发错误帧识别信号的产生,将用于识别和记录错误帧信息,同时,准 确识别错误帧的下降沿,在错误帧下降沿时复位错误帧识别信号;
3)不同的错误帧的错误标志长度代表错误帧的不同事件类型,这对CAN总 线错误定位和故障定位产生重要影响,错误触发后,记录错误帧错误标志长度 值和错误帧产生的时间戳,并对被错误帧中断的正常数据帧的信息进行分析, 获得被中断节点地址,将错误信息与被中断帧地址整合记录在寄存器中,等待 发送给后台计算机进行错误信息后期处理,数据帧标识符中含有帧源地址,在 获取被中断帧源地址时,要结合总线模拟波形进行分析,如果被中断帧的源地 址数据完整,直接获取;如果源地址损坏,结合模拟信号对被中断帧进行模式 识别,获得源地址;
4)记录的正常帧信息与错误帧信息通过RS232串口、USB或以太网发送给后 台计算机,以便对CAN总线错误进行进一步分析。
实施例
带总线错误解析功能的CAN总线分析系统中Open3S500E FPGA开发板的工 作频率为50MHz;Open3S500E FPGA开发板的P115输入/输出口与RS232的2引 脚相连,Open3S500E FPGA开发板的P120输入/输出口与第一CAN收发器CTM1050 的3引脚相连,Open3S500E FPGA开发板的P127输入/输出口与第二CAN收发器 CTM1050的3引脚相连,Open3S500E FPGA开发板采用JTAG烧入程序,第一CAN 收发器CTM1050与第二CAN收发器CTM1050的2引脚同时接地,1引脚同时接 5V正电压,7引脚用来连接CAN总线的CAN_L,6引脚用来连接CAN总线的CAN_H, 所有接地都相同;RS232串口用来发送数据给后台计算机。
CAN总线两端的终端电阻阻值为120Ω,设置总线通讯速率为500kbps,采样 周期为100ns,串口波特率为115200bps,采用实验室中的CAN总线错误注入系 统将错误注入CAN总线来模拟工业现场CAN总线错误,错误的注入是随机发生 的。
将程序下载进Open3S500E FPGA开发板XC3S500E芯片内,开启系统。
Open3S500E FPGA开发板的P120输入/输出口和P127输入/输出口同时检测 CAN总线信号,当P127输入/输出口检测到有帧起始的显性位后进行数据的监听, 并存储在Open3S500E FPGA开发板的一个寄存器中,当检测到CAN总线上连续 的七个隐性位时说明帧结束,停止监听等待下一次的帧起始,同时记录发送正 常帧的时间戳;当P120输入/输出口检测到连续大于等于120个低电平(6位或 6位以上显性位),说明CAN总线上有错误帧,触发错误帧识别信号,开始记录 错误帧错误标志长度值和错误帧产生的时间戳,并对被错误帧中断的正常数据 帧的信息结合总线模拟波形进行分析,如果被中断帧的源地址数据完整,直接 获取源地址,如果源地址损坏,结合模拟信号对被中断帧进行模式识别,获得 源地址,当P120输入/输出口检测到错误帧下降沿时复位错误帧识别信号;当 正常帧与其发送的时间戳或错误帧标志长度、错误帧发送时间戳与被中断帧源 地址记录完成后,将数据通过P115输入/输出口发送给9针的RS232串口传输 给后台计算机,以进行后期数据处理。
本发明并不限于上述实施方式,采用与本发明上述实施例相同或近似的方 式,而得到的其他带总线错误解析功能的CAN总线分析系统,均在本发明的保 护范围之内。
机译: 从CAN总线提供数据分组的方法;带CAN总线的控制单元和系统
机译: 过程流控制方法,特别是与汽车CAN总线自动化系统一起使用的过程流控制方法,其中,如果功能单元出现故障,则通过禁用其总线驱动器来防止与总线通信
机译: 船舶推进控制系统与CAN总线配置功能的方法