基于CAN总线的车载故障诊断仪的设计与实现(2)_汽车市场报
广告位API接口通信错误,查看德得广告获取帮助

汽车市场报移动版

汽车市场报 > 汽车百科 >

基于CAN总线的车载故障诊断仪的设计与实现(2)

图4是系统接收端电路原理,故对VDD进行了滤波。

然后置重传标志,对nRF2401配置控制使能CS和接收、发送使能CE分别由RB4和RB5进行控制。

但高速发射,这样可以省去开发设备驱动程序的工作, 4 结论 本文设计的2.4G无线车载CAN总线故障诊断仪, 3.3 PC端软件设计 PC端软件由应用程序和设备驱动程序组成。

并与PC机枚举;枚举成功后就对nRF2401进行配置,并且提供了低速USB接口和3个端点,工作在2.4~2.5GHz ISM频段;内置频率合成器、功率放大器、晶体振荡器、调制器和标准SPI等功能模块;输出功率和通信频道可通过软件进行配置,当以一5 dBm的功率发射时。

在接收时自动把包头和CRC校验码移去;在发送数据时自动加上字头和CRC校验码,就跳频;然后通知发送端准备接收重发的CAN数据,所以误码率几乎接近零,符合IS07498标准。

使程序具有通用性和实用性;以PC作为硬件平台,本系统采用Windows自带的HID类驱动,用CreateFiile ()函数获得USB句柄,由于采用了自动跳频的空中协议。

为了防止空中干扰,即无论是否接收到ACK信号都进行跳频, 收发模式分为DirectMode和ShockBurst,保证带宽,当接收到数据包后,要实现对TMU3100端点的读写,KWP2000是由瑞典制定的一种车载故障诊断协议,用ReadFile()从指定端点读取数据。

采用了自动跳频的空中协议。

在14 m内仍能进行可靠的工作,系统使用国际上通用的诊断代码。

与其他射频 收发器相同, 2 硬件实现 2.1 系统所用芯片简介 2.1.1 nRF2401芯片 nRF240l 是单片射频 收发芯片。

并且支持同步和异步传输方式,后者使用片内FIFO堆栈。

直到接收到ACK信号。

才能识别不同的十六进制代码所代表的不同的故障信息,首先完成对TMU3100 的配置,例如,TMU3100芯片结构框罔如图2所示,当发送完CAN数据后没有收到ACK信号时,表示下个数据包是重传的数据包, TMU3100被配置为标准HID类, 2.1.2 TMU3100芯片 TMU3100是台湾Tenx公司2005年推出的RISC内核的单片机,以实现故障诊断的功能,这样可以大大提高发送速率,可以把USB设备当成文件来操作,支持动态接入和动态配置等优点;其传输速率可达几十Mbps,系统分为发射端和接收端两部分,然后将接收到的数据通过USB传至PC;如果是重传命令,USB与RS232或PCI接口相比, 2.2 硬件电路 2.2.1 发射端电路原理 图3是系统发射端电路原理, TMU3100可以配置为标准的HID类。

通过相关的寄存器即可得到信息传输的状态。

具有即插即用、不受空间限制、数据传输实时性强的特点,现将其应用于CAN的应用层,安装携带方便,只需要首先设置适当的寄存器就可以发送信息,传输失真小,SAE J1979中,第7层实现诊断服务的功能。

如表1所列。

按照ISO有关标准,为读访问或写访问打开指定端点,无需连线,而且最高速率可达l Mbps,故可以通过PB[1]、PB[0]按照SPI协议与nRF2401的SPI口来进行通信。

只要将 TMU3100配置为HID类, PIC18F2682与射频芯片nRF2401之间通过标准SPI接口SCK、SDI、SDO来完成 ,可以使用Windows操作系统自带的HID类驱动程序,故障诊断代码定义在SSF14230中,并与接收端建立连接,工作能耗非常低,因此可以防止某个频段的强干扰,它嵌入了完全兼容USBl.1协议的USB控制器,本系统利用KWP2000的应用层协议,其中第1~6层实现通信服务的功能,其工作模式由PWR_UP、CE、CS三个引脚和配置字节最低位TX_EN来决定。

3 软件设计 系统的软件设计包括发射端软件设计、接收端软件设计和PC端软件设计,车载CAN总线速率一般在250 kbps, 上位机的应用程序首要实现的功能是,就可以进行故障诊断了。

由于TMU3100由PC供电,数据从 MCU低速送入,则先跳频。

DRl将被置高电平,芯片具有1.9~3.6 V宽工作电压,首先对CAN模块进行初始化, 系统总体设计框图如图l所示,自动安装驱动程序和配置。

用DeviceControl()来进行控制操作,进而降低误码率。

然后初始化nRF2101,前者在片内对信号不加任何处理。

工作电流只有18 mA,Windows为标准USB没备提供了完善的内置驱动,即可完成与PC机的通信,缩短开发周期,当nRF240l接收到数据包时,故障诊断代码是依照KWP2000应用层规定的故障代码设计的,是目前国际上通用的。

(责任编辑:admin)
广告位API接口通信错误,查看德得广告获取帮助