针对CAN总线通讯质量、测验和验证的需求,以及传统CAN剖析仪的杂乱性,且有必要挑选PC机作为显现终端的缺乏,证明了一种依据ARM单片机和智能手机的CAN总线剖析仪规划。该剖析仪选用以ARM单片机为中心的硬件电路完结对CAN网络的实时数据搜集和监控;选用蓝牙通讯办法完结剖析仪与智能手机的通讯并以智能手机为终端完结数据剖析。文章对剖析仪硬件、软件和智能手机页面进行了详细规划,提出了一种新的波特率主动检测办法,终究给出了所规划的 CAN总线剖析仪的实践试验成果,可完结CAN总线波特率主动检测、正常监测以及CAN总线状况剖析的功用。
CAN(controller area network)操控器局域网络是一种实时性强、灵活性好、规范化程度高的串行数据总线,广泛应用于轿车电子、工业主动化、船只、医疗设备、工业设备等范畴。其测验设备CAN网络剖析仪成为开发者的必备设备。凭借运用便当的CAN总线剖析仪,能够快速找到CAN总线体系在运用中呈现的规划不周或反常搅扰问题,并将毛病和问题扫除。
传统CAN剖析仪需求将电脑经过USB连接到CAN剖析仪上,再经过DB9接口将被测总线连接到 CAN剖析仪上。因为CAN总线是一种流行于车辆职业的现场总线,这样的调试办法关于需求路测的车辆就会显得不太便当,很难确保能够正常作业。相同,在工业操控范畴,传统的CAN剖析仪因为两段都有连线,在线束较多的工业现场可能会形成必定的紊乱。此外,当今运用CAN总线的设备为了确保安全性,有时不止 1根总线,传统的剖析仪至多有2个接口,也就意味着想要一起测验2个以上CAN总线时就需求2个USB接口,假如这2条CAN总线相距较远则需求较长的 USB连接线。为此,这儿介绍一种本钱低、体积小、结构简略、完结无线调试和对环境要求低的蓝牙CAN总线剖析仪。
1 硬件规划
1.1 总体规划
针对传统CAN剖析仪的各种缺陷,本文提出了以智能手机代替PC机作为显现终端,运用蓝牙无线传输代替USB电缆传输,而且自带锂电池的新式CAN剖析仪。总体规划结构如图1所示。
图1 蓝牙CAN剖析仪总体规划框图
因为CAN剖析仪是一种波特率较高的通讯协议,且对通讯质量剖析和毛病定位需求杂乱的运算处理,所以本文提出的蓝牙CAN剖析仪在全体规划中包括3个部分:一部分是以ARM为处理中心的处理主板,担任CAN总线波特率检测、数据收集以及蓝牙通讯信号发射;第二部分是锂电池,担任给主板供给电源,锂电池电压为 5V,容量为3 000mAh,尺度为11.6mm X42mm×69ram,可确保体系作业lOh以上;第三部分为智能手机,担任接纳CAN总线数据以及对数据的处理。
1.2 主板规划
主板上有4个模块,分别为阻隔CAN接口模块、ARM处理器模块、蓝牙串口模块、电源电路模块。规划框图如图2所示,实物图如图3所示。
阻隔CAN接口模块担任将ARM的数据发送到CAN总线上,并将CAN总线上的数据发送给ARM处理器。
图2 主板体系规划框图
图3 主板买物图
ARM 处理器模块是本剖析仪的中心,选用NXP公司的LPC2119处理器。LPC2119是依据一个支撑实时仿真和盯梢的16/32位ARM7TDMI- STM CPU,带有128KB嵌入高速Flash存储器,并内部集成2个CAN操控器。其首要特色是:单个总线上的数据传输速率高达1MB/s;32位寄存器和 RAM拜访;兼容CAN2.0B,IS011898.1规范;大局检验滤波器能够辨认一切的11位和29位标识符;检验滤波器为挑选的规范标识符供给 Full CAN-style主动接纳。它首要担任将CAN总线上的数据进行处理,然后经过蓝牙串口发送到手机,此外,ARM模块还担任检测不知道CAN总线上的波特率,并发送给手机端。
蓝牙串口模块担任ARM与手机交流数据,其串口的通讯速率到达1 382 400bps。电源模块担任为各个模块供电。
2 软件规划
软件是蓝牙CAN剖析仪的要害。依据硬件体系结构,软件包括两个部分,即运转于ARM处理器的波特率检测以及数据传输软件;运转在智能手机上的CAN剖析仪操作界面。关于运转在ARM处理中的软件,本文侧重介绍一种新式的波特率主动检测办法。
2.1 波特率主动检测软件规划
完结CAN总线和CAN剖析仪之间的通讯,需有相同的波特率,因而波特率的检测十分重要。当下干流的波特率检测办法是使用应对机制树立的波特率检测办法。其开始时经过试听一些引荐的CAN总线优选波特率,即1Mbit/s,800kbit/s,500kbit/s,250kbit/s,125kbit/s, (100kbit/s),50kbit/s,20kbit/s,10kbit/sHl:若能无毛病地接受到完好的CAN音讯,阐明波特率检测成功;假如 CAN总线的波特率不是优选波特率,则能够经过主机和CAN总线的应对来测定波特率。此种检测办法速度慢,存在必定差错且对被测网络有必定影响。
针对选用应对机制设定的波特率检测办法的缺陷,本文提出了一种新的主动波特率检测办法。本主动波特率检测体系奇妙地使用了ARM处理器的中止端口,将CAN 总线上的波形记录到ARM处理器内,然后对取得的波形进行剖析,得出体系的波特率。其检测速度快(小于200ms),检测精确(得出的波特率为一个精确值,而非规模值),不向被测网络发送数据,而且本钱很低,无须添加任何芯片。
详细完结办法是:硬件方面,将阻隔CAN接口的 RX引脚接到ARM的定时器捕获端口。在软件方面,首先将RX引脚相邻两个上跳变和下跳变的距离周期都记录下来;其次将周期数据排序,数据应呈阶梯状;然后将数据按阶梯分段并求出每个阶梯的中位数,第一个阶梯为1位数据的持续时间,第二个阶梯为2位数据的持续时间……以此类推。因为CAN总线不会接连6位呈现相同电平,因而阶梯只需5阶,且第二个数据等于第一个数据的2倍,第三个数据等于第一个数据的3倍,以此类推。依据这个特性能够校验数据并调整终究取得的1位数据的持续时间。终究的波特率即为1位持续时间的倒数。流程图如图4所示。
图4 波特率检测流程图
2.2 智能手机界面规划
智能手机界面的规划选用Eclipse。Eclipse是一个开放源代码的、依据Java的可扩展开发渠道,它仅仅一个结构和一组服务,用于经过插件组件构建开发环境,并附带了一个规范的插件集,包括Java开发工具。手机运转界面如图5、图6所示。
图5 软件运转界面
3 试验验证
为了验证本蓝牙CAN剖析仪的规划作用,构建了1个包括以ARM为中心的主板、锂电池、智能手机(安装了安卓体系)、模仿被测体系的USB-CAN的测验体系,然后进行实践测验。测验流程图如图7所示。
图7 实践测验流程图
实践测验体系如图8所示。实践测验显现,在模仿CAN总线上只需有数据的流转,针对不同的CAN总线的波特率设置,本文规划的蓝牙CAN剖析仪能够精确、快速地主动检测波特率且能完结数据的接纳和发送。
图8 实践测验体系图
4 结束语
经过构建以NXP公司LPC2119为中心的处理器、智能手机为根底的硬件体系、蓝牙作为信息传递办法以及相应软件规划,能够完结CAN总线的波特率主动检测以及数据接纳与发送,验证了蓝牙CAN剖析仪的正确性。蓝牙CAN剖析仪的完结,其操作简略、带着简单、抗震性能好等特色将为CAN总线开发工程师供给极大的便当;一起能够发现,进一步加强软件的规划与优化,该剖析仪还能供给对CAN总线更多更有价值的信息。