新闻中心

EEPW首页>汽车电子>设计应用> 2.4G射频的CAN总线汽车故障诊断仪设计

2.4G射频的CAN总线汽车故障诊断仪设计

作者: 时间:2010-06-11 来源:网络 收藏

PIC18F2682与射频芯片n RF 2401之间通过标准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[1]、PB[0]按照SPI协议与nRF2401的SPI口来进行通信。对nRF2401配置控制使能CS和接收、发送使能CE分别由KSO[3]和KSO[13]控制。nRF2401接收到数据包后,DRl将被置高电平,因此TMU3100可以通过查询KSl6的状态判断足否接收到数据。

3 软件设计

  系统的软件设计包括发射端软件设计、接收端软件设计和PC端软件设计。

  3.1 发射端软件设计

  发射端流程如图5所示。软件设计主要实现两项功能:第一是实现CAN总线上数据的采集;第二是实现将采集后的数据通过射频进行发射。

发射端软件设计

  上电后,首先对进行初始化。然后初始化nRF2101,并与接收端建立连接。当发送完CAN数据后没有收到ACK信号时,就跳频;然后通知发送端准备接收重发的CAN数据,直到接收到ACK信号。

  为了防止空中干扰,采用了自动跳频的空中协议,即无论是否接收到ACK信号都进行跳频,因此可以防止某个频段的强干扰,进而降低误码率。

  3.2 接收端软件设计

  接收端软件流程如图6所示。软件设计主要实现两项功能:第一是实现枚举;第二是实现将接收到的数据通过USB上传到PC。上电后,首先完成对TMU3100 的配置,并与PC机枚举;枚举成功后就对nRF2401进行配置,并与发射端建立连接。当接收到数据包后,首先判断是CAN数据还是重传数据命令。如果是 CAN数据包,则向发射端返回ACK信号并跳频,然后将接收到的数据通过USB传至PC;如果是重传命令,则先跳频,然后置重传标志,表示下个数据包是重传的数据包。

  TMU3100被配置为标准HID类,这样就不用为设备开发驱动程序,而是使用Windows提供的标准HID类驱动程序。

  3.3 PC端软件设计

  PC端软件由应用程序和设备驱动程序组成。Windows为标准USB没备提供了完善的内置驱动,本系统采用Windows自带的HID类驱动,只要将 TMU3100配置为HID类,即可完成与PC机的通信。这省去了开发设备的驱动程序,极大地简化了上位机软件的开发。



评论


相关推荐

技术专区

关闭