【《汽车CAN总线测试平台硬件设计案例分析》2100字】_第1页
【《汽车CAN总线测试平台硬件设计案例分析》2100字】_第2页
【《汽车CAN总线测试平台硬件设计案例分析》2100字】_第3页
【《汽车CAN总线测试平台硬件设计案例分析》2100字】_第4页
【《汽车CAN总线测试平台硬件设计案例分析》2100字】_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汽车CAN总线测试平台硬件设计案例分析目录TOC\o"1-3"\h\u7105汽车CAN总线测试平台硬件设计案例分析 1311.1CAN总线测试平台的组成 1193171.2CAN总线测试平台的硬件设计 137291.2.1MCU控制模块 2272861.2.2CAN总线接口模块 2267361.2.3按键及开关模块 2295271.2.4一键下载/串口通信模块 2221921.2.5SWD调试模块 3113041.3CAN总线测试平台的软件设计 3189831.3.1KeiluVision5介绍 3322891.3.2波特率设置模块 3155531.3.3CAN数据封装模块 491931.3.4串口/CAN转发模块 4115891.3.5数据反射模块 473971.3.6灯光信号处理模块 51.1CAN总线测试平台的组成该平台可以对不同的CAN节点进行测试,当发现CAN总线上的节点存在故障时,能够通过发出警报来使得检测人员了解到该节点发生故障。在进行本次设计的时候,主要进行了硬件和软件的设计。其中我们在进行硬件设计的时候,使用的软件是立创EDA,在进行软件的设计的时候使用的是keil软件。1.2CAN总线测试平台的硬件设计该平台主要由5个模块组成,分别是负责控制的MCU,以及对于各个元器件进行连接的接口模块,还有对于该平台进行控制的开关和按键控制模块,以及负责对平台进行调试和测试的串口通信模块和SWD模块。硬件设计如下图1.1.图1.1平台的硬件设计结构框图1.2.1MCU控制模块其MCU使用的是采用STM32系列下的RCT6芯片。该芯片拥有强大的存储功能,具有51个IO口。所以它在实际的使用过程之中,具有较低的功耗,而且其价格也比较合适,它在内部是直接自带了CAN控制器的。这样就可以简化整体的电路,从而降低整体的成本。1.2.2CAN总线接口模块在实现CAN的通信的时候,需要特定的收发芯片来进行通讯。对于该平台的接口硬件设计如下图1.2.图1.2CAN总线接口模块1.2.3按键及开关模块本平台的设计过程之中,为了满足实际的使用需求,需要拥有两种不同功能的按键和开关,主要是当平台发生错误的时候进行复位和进行数据的发送。本次使用采用了6×6×8的轻触开关,使用本开关可以实现精准的操控。而对于选择不同的功能和模式时,采用的是八位贴片开关。1.2.4一键下载/串口通信模块在进行串口通讯模块设计的时候,使用了两个三级管、4个电阻和一个二极管来对串口通讯模块进行搭建。该通讯模块不仅仅可以进行程序的下载,还能够实现该平台的测试和通信功能。该模块的硬件设计如下图1.3。图1.3一键下载/串口通信模块1.2.5SWD调试模块该CAN总线测试平台为了实现良好的便携性能,因此要尽量缩小整体的体积,所以没有使用JTAG接口,进而选择了体积更小的SWD接口,其设计如下图1.1.图1.4SWD调试模块1.3CAN总线测试平台的软件设计为了保证在软件编写的过程之中,能够更加有效和快速的编写,而且编写出来的软件能够移植到其他的类似系统之上。我们采用了C语言进行模块化的设计,利用keil软件来进行编译,然后利用上述设计的也是SWD模块来进行实时的仿真和调试。1.3.1KeiluVision5介绍KeiluVision5是可以对C语言进行编译和开发使用,在单片机上面的开发系统,,C语言的编译更加的简单,而且还能够更好的维护。由于keil软件有着良好的编译环境,因此,我们在使用该软件的时候,能够使我们的软件编译过程更加的方便,也能够更好的对该平台进行软件的仿真和测试。CAN总线设计平台主要是要与汽车的CAN总线进行通讯,中国在通信的过程之中,找出先组建中各个零部件存在的问题并进行输出。因此,首先就要使得我们设计的这个平台能够接入汽车的CAN总线之中,需要设置相对应的波特率来连接CAN总线。当平台开始工作的时候,就能够对新人发出的各种信号进行接收,从而通过串口在上位机可以直接观测到实时的数据,也可以通过串口模块对CAN总线发送数据以执行某种功能。当CAN主页设置平台发送一帧数据的时候,该测试平台模块的运行灯会被点亮。当CAN总线中那某个节点,或者其本身出现问题时,就会收到错误信号,并将此信号发送到测试平台之中,这样设置平台就会已经收到相应的数据来传输到显示屏之上,让检测人员查看。1.3.2波特率设置模块在对STM32单片机的波动率进行设置的时候,其主要由四个不同的参数影响。在实际的使用过程之中,每个操作人员都希望能够直接通过该检测平台进行操作,以避免那些繁琐的设计。所以就需要该平台能够脱离计算机,直接对波特率进行控制,所以在本次设计过程之中,采用了一个八位的贴片拨码开关来对波特率进行设置,当改变该平台的波动率时,可以直接按照说明书来波动特定位置的拨码开关,从而调整到相应对应的波特率来进行连接。1.3.3CAN数据封装模块在对于库函数进行研究的时候,STM32单片机提供了两种不同的结构来对CAN总线的消息进行接收和发送。这两种结构体是CanTxMsg和CanRxMsg,下文列出了CanTxMsg结构体的程序。typedefstruct{uint32_tStdId;uint32_tExtId;uint8_tIDE;uint8_tRTR;uint8_tDLC;uint8_tData[8];}CanTxMsg;1.3.4串口/CAN转发模块该平台下接入CAN之后,串口模块会将数据发送至CAN程序,CAN也会将程序传送到串口。下面主要说明以下CAN将程序转发到串口。当CAN将程序转发到串口之后,该程序段主要由三个不同的部分组成,第一个部分就是转发帧的信息,这个部分详细的说明了该信息是标准数据帧扩展数据帧,这二者之间的哪一个格式。第二个部分就是将该ID的四个字节的进行了描述,第三个部分就是将该数据进行转发。1.3.5数据反射模块本次设计的数据反射模块可以将已经收到的数据按照原来的形式发回到CAN总线之上。我们通过判断imode参数的值进行选择转发的方式,当该参数的值为零时,数据反射模块不会进行开启,当参数为1时,就会转化为串口转发模式。if(imode==1){TxMessage_J.DLC=cankey;TxMessage_J.IDE=RxMessage_J.IDE;TxMessage_J.RTR=RxMessage_J.RTR;TxMessage_J.StdId=RxMessage_J.StdId;TxMessage_J.ExtId=RxMessage_J.ExtId;cr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论