新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 车身中央控制器的设计与实现

车身中央控制器的设计与实现

—— 该控制器经装车试验,有很高的实用价值
作者:时间:2010-11-13来源:电子产品世界收藏

  作为分布式车身控制系统的主节点,BCM与其它节点通过总线进行通讯,采用物理层收发器TJA1021和MCU片上外设UART完成接口电路的设计,如图5所示。TJA1021是Philips(编者注:现在是NXP公司)的LIN物理层芯片,波特率高达20kbit/s,实现总线波形整形和电平转换功能[3],具有很高的抗电磁干扰性和极低的电磁发射,可以满足汽车环境的苛刻要求。它内部集成从机端电阻,在从机节点应用中无须再外接电阻便可以实现LIN总线的阻抗匹配,BCM是LIN主节点,如图5所示,需要外接1k主机端电阻到VEE。

本文引用地址:http://www.eepw.com.cn/article/114479.htm

  LIN总线数据采取SCI格式,将TJA1021的TXD和RXD连接到MCU的UART发送和接收引脚上,便可以在UART上以软件的形式实现LIN的数据链路层。由于LIN在物理上为单线形式,发送和接收都是在LIN线上进行的,所以发送也会触发接收,这样便可以将其数据链路层的实现统一到UART的接收处理函数中来。该部分可以根据LIN帧的格式以状态机的形式实现[4]。

  BCM做为车身控制系统的LIN主节点,以时间片轮转的方式调度着LIN报文的传输,当时间片到达时,BCM发送包括间隔场、同步场和PID在内的帧头[5],然后由各个节点根据该PID决定接收数据场还是发送数据场。时间片的轮转是基于调度表实现的,定义如下形式的结构体实现对调度表条目的管理。

  typedef struct

  {

  uchar handle;

  uchar pid;

  uchar mode;

  uchar *data;

  uchar datalen;

  uchar ticks;

  }l_sch_table_item;

  其中handle为调度表条目索引,每次时间片轮转时加一,轮转到调度表表尾时切换到调度表表头继续轮转,pid为LIN报文的Protected ID,mode表示该帧数据场是由BCM发送还是由其他节点发送,data为数据场,datalen为数据场长度,ticks定义时间片长度即该帧和下一帧的时间间隔。

  LIN帧调度表为l_sch_table_item结构体数组,根据当前调度表条目的ticks决定时间片计时时间,超时发生时,切换当前时间片,同时切换调度表条目,这样便实现了LIN报文的轮转调度。

  结语

  本文针对某车型分析了其车身控制系统结构,从输入信号检测、输出控制和LIN通讯三个方面,描述了其车身中央控制器的设计实现,该控制器经装车试验,运行良好,功能稳定,有很高的实用价值。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭