基于车载CAN总线故障诊断仪设计方案
时间:12-01
来源:互联网
点击:
本文提出了一种基于车载CAN总线故障诊断仪设计方案。本方案成本低廉,携带方便,具有很强的灵活性与适应性。
1 方案设计
系统总体设计框图如图l所示。系统分为发射端和接收端两部分。
由于采用射频技术,使汽车CAN总线数据采集部分和CAN总线数据诊断部分得以分离,无需连线,不受空间场地限制,安装携带方便。按照ISO有关标准, CAN总线传输速率最高可达1 Mbps;但由于汽车内部特殊环境,车载CAN总线速率一般在250 kbps。本系统中射频速率最高可达l Mbps,可以很好地满足数据传输要求。
发射端采用USB作为接收模块和PC接口。USB与RS232或PCI接口相比,具有用户使用方便,设备自动识别,自动安装驱动程序和配置,支持动态接入和动态配置等优点;其传输速率可达几十Mbps,并且支持同步和异步传输方式,保证带宽,传输失真小。
PC端应用层软件整合KWP2000的应用层协议。KWP2000是由瑞典制定的一种车载故障诊断协议,已在微机控制的自动变速器、防抱死制动系统、安全气囊、巡航系统中得到广泛应用。它基于OSI七层协议,符合IS07498标准。其中第1"6层实现通信服务的功能,第7层实现诊断服务的功能。其应用层提出了一套完整和标准化的诊断代码,本系统利用KWP2000的应用层协议,对采集到的CAN总线数据进行分析,以实现故障诊断的功能。
2 硬件实现
2.1 系统所用芯片简介
2.1.1 nRF2401芯片
nRF240l 是单片射频收发芯片,工作在2.4~2.5GHz ISM频段;内置频率合成器、功率放大器、晶体振荡器、调制器和标准SPI等功能模块;输出功率和通信频道可通过软件进行配置,共有125个频道可使用,而且最高速率可达l Mbps。芯片具有1.9~3.6 V宽工作电压,工作能耗非常低。当以一5 dBm的功率发射时,工作电流只有10.5 mA;接收时,工作电流只有18 mA。
nRF240l有4种工作模式:收发模式、配置模式、空闲模式、关机模式。其工作模式由PWR_UP、CE、CS三个引脚和配置字节最低位TX_EN来决定。
收发模式分为DirectMode和ShockBurst。前者在片内对信号不加任何处理,与其他射频收发器相同。后者使用片内FIFO堆栈,数据从 MCU低速送入,但高速发射,而且与射频协议相关的所有高速信号处理都在片内进行。例如,nRF240l在ShockBurst收发模式下自动处理字头和 CRC校验码,在接收时自动把包头和CRC校验码移去;在发送数据时自动加上字头和CRC校验码。
2.1.2 TMU3100芯片
TMU3100是台湾Tenx公司2005年推出的RISC内核的单片机。它嵌入了完全兼容USBl.1协议的USB控制器,并且提供了低速USB接口和3个端点,其中1个控制输入/输出端点和2个中断输入端点。
TMU3100可以配置为标准的HID类,可以使用Windows操作系统自带的HID类驱动程序。这样可以省去开发设备驱动程序的工作,缩短开发周期。TMU3100芯片结构框罔如图2所示。
2.1.3 PICl8F2682芯片
PICl8F2682是Microchip公司新推出的8位低功耗CAN微控制器,主要资源有:内置标准CAN模组、80KB闪存程序存储器、1 KB数据E2PROM、3.3 KBRAM存储器、8通道ADC、1个8位和3个16位T1MER、1个SPI和I2C串行通信端口和可编程欠压复位功能及低电压检测电路。
PIC18F2682内置增强型的CAN总线模块,该模块包含CAN协议引擎、信息缓冲和信息控制。CAN协议引擎自动处理CAN总线上所有接收和发送的消息,它可以在接收或发送信息时对数据帧进行解析。只需要首先设置适当的寄存器就可以发送信息,通过相关的寄存器即可得到信息传输的状态。
2.2 硬件电路
2.2.1 发射端电路原理
图3是系统发射端电路原理。CAN总线接口使用Microchip公司内置CAN模块的PIC18F2682单片机,并由光耦6N137进行总线隔离;CAN总线收发器采用MCP2551。
PIC18F2682与射频芯片nRF2401之间通过标准SPI接口SCK、SDI、SDO来完成 ,这样可以大大提高发送速率。对nRF2401配置控制使能CS和接收、发送使能CE分别由RB4和RB5进行控制。当nRF240l接收到数据包时,DRl将被置高电平,因此PICl8F2682通过查询 INT0的状态可以判断是否接收到数据。
2.2.2 接收端电路原理
图4是系统接收端电路原理。由于TMU3100由PC供电,而PC机USB接口所提供的电压VDD干扰较大,故对VDD进行了π滤波。
由于TMU3100没有SPI模块,故可以通过PB、PB[0]按照SPI协议与nRF2401的SPI口来进行通信。对nRF2401配置控制使能CS和接收、发送使能CE分别由KSO和KSO[13]控制。nRF2401接收到数据包后,DRl将被置高电平,因此TMU3100可以通过查询KSl6的状态判断足否接收到数据。
3 软件设计
系统的软件设计包括发射端软件设计、接收端软件设计和PC端软件设计。
1 方案设计
系统总体设计框图如图l所示。系统分为发射端和接收端两部分。
由于采用射频技术,使汽车CAN总线数据采集部分和CAN总线数据诊断部分得以分离,无需连线,不受空间场地限制,安装携带方便。按照ISO有关标准, CAN总线传输速率最高可达1 Mbps;但由于汽车内部特殊环境,车载CAN总线速率一般在250 kbps。本系统中射频速率最高可达l Mbps,可以很好地满足数据传输要求。
发射端采用USB作为接收模块和PC接口。USB与RS232或PCI接口相比,具有用户使用方便,设备自动识别,自动安装驱动程序和配置,支持动态接入和动态配置等优点;其传输速率可达几十Mbps,并且支持同步和异步传输方式,保证带宽,传输失真小。
PC端应用层软件整合KWP2000的应用层协议。KWP2000是由瑞典制定的一种车载故障诊断协议,已在微机控制的自动变速器、防抱死制动系统、安全气囊、巡航系统中得到广泛应用。它基于OSI七层协议,符合IS07498标准。其中第1"6层实现通信服务的功能,第7层实现诊断服务的功能。其应用层提出了一套完整和标准化的诊断代码,本系统利用KWP2000的应用层协议,对采集到的CAN总线数据进行分析,以实现故障诊断的功能。
2 硬件实现
2.1 系统所用芯片简介
2.1.1 nRF2401芯片
nRF240l 是单片射频收发芯片,工作在2.4~2.5GHz ISM频段;内置频率合成器、功率放大器、晶体振荡器、调制器和标准SPI等功能模块;输出功率和通信频道可通过软件进行配置,共有125个频道可使用,而且最高速率可达l Mbps。芯片具有1.9~3.6 V宽工作电压,工作能耗非常低。当以一5 dBm的功率发射时,工作电流只有10.5 mA;接收时,工作电流只有18 mA。
nRF240l有4种工作模式:收发模式、配置模式、空闲模式、关机模式。其工作模式由PWR_UP、CE、CS三个引脚和配置字节最低位TX_EN来决定。
收发模式分为DirectMode和ShockBurst。前者在片内对信号不加任何处理,与其他射频收发器相同。后者使用片内FIFO堆栈,数据从 MCU低速送入,但高速发射,而且与射频协议相关的所有高速信号处理都在片内进行。例如,nRF240l在ShockBurst收发模式下自动处理字头和 CRC校验码,在接收时自动把包头和CRC校验码移去;在发送数据时自动加上字头和CRC校验码。
2.1.2 TMU3100芯片
TMU3100是台湾Tenx公司2005年推出的RISC内核的单片机。它嵌入了完全兼容USBl.1协议的USB控制器,并且提供了低速USB接口和3个端点,其中1个控制输入/输出端点和2个中断输入端点。
TMU3100可以配置为标准的HID类,可以使用Windows操作系统自带的HID类驱动程序。这样可以省去开发设备驱动程序的工作,缩短开发周期。TMU3100芯片结构框罔如图2所示。
2.1.3 PICl8F2682芯片
PICl8F2682是Microchip公司新推出的8位低功耗CAN微控制器,主要资源有:内置标准CAN模组、80KB闪存程序存储器、1 KB数据E2PROM、3.3 KBRAM存储器、8通道ADC、1个8位和3个16位T1MER、1个SPI和I2C串行通信端口和可编程欠压复位功能及低电压检测电路。
PIC18F2682内置增强型的CAN总线模块,该模块包含CAN协议引擎、信息缓冲和信息控制。CAN协议引擎自动处理CAN总线上所有接收和发送的消息,它可以在接收或发送信息时对数据帧进行解析。只需要首先设置适当的寄存器就可以发送信息,通过相关的寄存器即可得到信息传输的状态。
2.2 硬件电路
2.2.1 发射端电路原理
图3是系统发射端电路原理。CAN总线接口使用Microchip公司内置CAN模块的PIC18F2682单片机,并由光耦6N137进行总线隔离;CAN总线收发器采用MCP2551。
PIC18F2682与射频芯片nRF2401之间通过标准SPI接口SCK、SDI、SDO来完成 ,这样可以大大提高发送速率。对nRF2401配置控制使能CS和接收、发送使能CE分别由RB4和RB5进行控制。当nRF240l接收到数据包时,DRl将被置高电平,因此PICl8F2682通过查询 INT0的状态可以判断是否接收到数据。
2.2.2 接收端电路原理
图4是系统接收端电路原理。由于TMU3100由PC供电,而PC机USB接口所提供的电压VDD干扰较大,故对VDD进行了π滤波。
由于TMU3100没有SPI模块,故可以通过PB、PB[0]按照SPI协议与nRF2401的SPI口来进行通信。对nRF2401配置控制使能CS和接收、发送使能CE分别由KSO和KSO[13]控制。nRF2401接收到数据包后,DRl将被置高电平,因此TMU3100可以通过查询KSl6的状态判断足否接收到数据。
3 软件设计
系统的软件设计包括发射端软件设计、接收端软件设计和PC端软件设计。
总线 射频 CAN总线 USB 放大器 振荡器 电压 电流 收发器 MCU 单片机 PIC Microchip ADC 电路 相关文章:
- 以灯光控制为例说明LIN总线在车身控制中的应用(05-24)
- 现代电动车辆中电控技术应用(03-01)
- CAN总线混合动力汽车电控系统的设计与实现(08-29)
- 利用CAN总线的进行汽车轮速传感器系统设计(09-22)
- CAN总线在CFA6470混合动力汽车中的应用(09-25)
- 基于CAN总线的汽车发动机智能电子控制器研究(10-20)