0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

蓝牙CAN总线分析仪的软硬件的设计与特点

电子设计 作者:电子设计 2018-11-15 08:02 次阅读

针对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所示。

蓝牙CAN总线分析仪的软硬件的设计与特点

图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处理器。

蓝牙CAN总线分析仪的软硬件的设计与特点

图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所示。

蓝牙CAN总线分析仪的软硬件的设计与特点

图4 波特率检测流程图

2.2 智能手机界面设计

智能手机界面的设计采用Eclipse.Eclipse是一个开放源代码的、基于Java的可扩展开发平台,它只是一个框架和一组服务,用于通过插件组件构建开发环境,并附带了一个标准的插件集,包括Java开发工具。手机运行界面如图5、图6所示。

蓝牙CAN总线分析仪的软硬件的设计与特点

图5 软件运行界面

3 实验验证

为了验证本蓝牙CAN分析仪的设计效果,构建了1个包含以ARM为核心的主板、锂电池、智能手机(安装了安卓系统)、模拟被测系统的USB-CAN的测试系统,然后进行实际测试。测试流程图如图7所示。

蓝牙CAN总线分析仪的软硬件的设计与特点

图7 实际测试流程图

实际测试系统如图8所示。实际测试显示,在模拟CAN总线上只要有数据的流通,针对不同的CAN总线的波特率设置,本文设计的蓝牙CAN分析仪能够准确、快速地自动检测波特率且能实现数据的接收和发送。

图8 实际测试系统图

4 结束语

通过构建以NXP公司LPC2119为核心的处理器、智能手机为基础的硬件系统、蓝牙作为信息传递方式以及相应软件设计,能够实现CAN总线的波特率自动检测以及数据接收与发送,验证了蓝牙CAN分析仪的正确性。蓝牙CAN分析仪的实现,其操作简单、携带容易、抗震性能好等特点将为CAN总线开发工程师提供极大的便利;同时可以发现,进一步加强软件的设计与优化,该分析仪还能提供对CAN总线更多更有价值的信息。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18261

    浏览量

    222116
  • 智能手机
    +关注

    关注

    66

    文章

    18055

    浏览量

    177051
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129588
  • 蓝牙
    +关注

    关注

    112

    文章

    5428

    浏览量

    165640
收藏 人收藏

    评论

    相关推荐

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

    针对CAN总线通信质量、测试和验证的需要,以及传统CAN分析仪的复杂性,且必须选择PC机作为显示终端的不足,论证了一种基于ARM单片机和智能手机的C
    发表于 09-23 11:16 1230次阅读
    一种基于ARM和智能手机的<b class='flag-5'>蓝牙</b><b class='flag-5'>CAN</b><b class='flag-5'>分析仪</b>设计

    CANalyst CAN-bus总线分析仪测试软件

    CANalyst CAN-bus总线分析仪测试软件 软件大小:1.13M
    发表于 10-27 09:09

    labview如何调用CAN总线分析仪的驱动 制作一个虚拟的汽车...

    小弟初学labview与CAN现在有个课题是用kvaer leaf CAN总线分析仪 来模拟CAN的信号想用labview来编写程序实现汽车
    发表于 01-20 17:38

    软硬件工程师合作伙伴

    1、精通OBD II软硬件开发、更新、升级2、精通OBD II车辆协议破解3、通过WIFI、蓝牙模块升级硬件端4、与手机移动端APP接口文件对接5、熟悉其它软硬件的开发合作方式及利润分
    发表于 07-25 13:38

    妙解:功率分析仪直连CAN网络

    ``今天给大家介绍一款可以把功率分析仪接入到CAN总线网络里的神器,WT-CAN通信适配器:iDAQ-WTCAN。就是下图这个小盒子。有了它,就可以直接将横河的WT5000或WT180
    发表于 12-11 17:18

    怎样去设计一种蓝牙CAN分析仪

    怎样去设计一种蓝牙CAN分析仪?怎样对蓝牙CAN分析仪进行验证?
    发表于 05-07 06:21

    请问怎样去设计一种蓝牙CAN总线分析仪

    蓝牙CAN总线分析仪硬件设计蓝牙CAN
    发表于 05-20 06:01

    CAN总线分析仪接收调试板发出的数据时接收不到怎么解决?

    CAN总线分析仪接收调试板发出的数据时接收不到怎么解决?
    发表于 02-07 06:43

    如何对基于STM32G0B1的CAN总线分析仪进行调试呢

    CAN和FDCAN的区别在哪呢?如何对基于STM32G0B1的CAN总线分析仪进行调试呢?
    发表于 03-01 06:39

    CAN-bus 总线分析仪手册

    CAN-bus 总线分析仪手册 CANalsyt-Ⅱ分析仪是用来安装、开发、测试、维护、管理CAN-bus 网络的专业
    发表于 03-22 15:30 24次下载

    基于STM32单片机的CAN总线分析仪的设计

    基于STM32单片机的CAN总线分析仪的设计
    发表于 01-24 16:54 41次下载

    基于FPGA的软硬件协同测试设计影响因素分析与设计实现

    ,不利于硬件的开发进度。面对这一难题,文章从FPGA 的软硬件协同测试角度出发,利用PC 机和测试硬件设备的特点,进行FPGA 的软硬件协同
    发表于 11-18 05:46 1648次阅读

    CAN总线协议是什么?CAN总线协议有哪些?CAN总线协议知识分析

    本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议。CAN
    的头像 发表于 10-03 19:53 7.4w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>协议是什么?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>协议有哪些?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>协议知识<b class='flag-5'>分析</b>

    为什么要从“软硬件协同”走向“软硬件融合”?

    软件和硬件需要定义好交互的“接口”,通过接口实现软硬件的“解耦”。例如,对CPU来说,软硬件的接口是指令集架构ISA:ISA之下的CPU处理器是硬件,指令集之上的各种程序、数据集、文件
    的头像 发表于 12-07 14:23 1918次阅读

    基于软件模拟的SPI端口CAN控制卡的软硬件设计

    电子发烧友网站提供《基于软件模拟的SPI端口CAN控制卡的软硬件设计.pdf》资料免费下载
    发表于 10-13 11:38 0次下载
    基于软件模拟的SPI端口<b class='flag-5'>CAN</b>控制卡的<b class='flag-5'>软硬件</b>设计