微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 一种基于ARM和智能手机的蓝牙CAN分析仪设计

一种基于ARM和智能手机的蓝牙CAN分析仪设计

时间:08-23 来源:EDN 点击:

,则可以通过主机和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总线更多更有价值的信息。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top