基于CAN总线的汽车智能系统研究

2013-03-30 09:34罗浚溢陈二阳
关键词:寄存器总线单片机

罗浚溢,雷 霖,陈二阳

(成都大学电子信息工程学院,四川 成都 610106)

基于CAN总线的汽车智能系统研究

罗浚溢,雷 霖,陈二阳

(成都大学电子信息工程学院,四川 成都 610106)

提出了一种基于CAN现场总线的分布式汽车智能系统的设计方法,详细讨论了系统的设计方案、硬件搭建,通过CPLD控制外围硬件,把采集到的数据通过CAN总线传输到MCU进行处理,并通过软件仿真验证了该方案的可行性.

数据采集;CAN总线;CPLD;MCU

0 引 言

随着汽车动力性能的提高和人们对汽车舒适度要求的增加,汽车的电子控制单元和汽车电子装置也在不断增加.目前,汽车上通常采用点对点的方式将电子控制单元和电子装置进行连接,这种传统通讯方式已经满足不了汽车上分布式系统实时控制的需要[1].同时,由于汽车中电子设备不断增加而导致导线数量的几何式的增长,也使得在车内有限空间里布线越来越困难,限制了汽车内部控制功能的扩展,此也使汽车内部电子单元的维修变得复杂[1-2].如何使这些众多的独立功能协调统一工作,亦即如何对整个车身进行控制,已经成为整个汽车电子研究领域中非常重要的课题[3].而科技的发展使得采用现场总线技术实现汽车的分布式网络化控制进而对汽车各部分的实时控制成为可能[4].由于控制器局域网络CAN总线具有多主方式传输、良好的检错纠错能力、非破坏性仲裁技术、实时性强等特点,使得CAN总线在各种汽车控制总线中独占鳌头.本研究利用CPLD控制外围器件,把采集到的数据通过CAN总线传输到MCU中进行处理,大大提高了汽车智能系统的数据处理能力及抗干扰性能.

1 系统设计方案

本研究的汽车智能系统的控制对象包括防盗、倒车雷达、智能天窗、车灯控制及车门控制等模块,其结构如图1所示.

图1 汽车智能系统结构示意图

智能系统的工作原理是,主控单元接收信号之后,先进行分析处理,然后通过CAN总线把控制指令发送给各受控端,各受控端响应后做出相应的动作.汽车智能系统的外部状态数据的获取是通过各种传感器件,例如摄像头、位移传感器、压力传感器等,由CPLD控制ADC对模拟信号进行采样,并把采样到的数据自动向FIFO存储器中存储,通过CAN节点最终将数据发送到中央控制模块,其结构如图2所示.

图2 汽车智能系统数据采集方案示意图

2 系统硬件设计

2.1 A/D转换

外部模拟量的采样由高速模数转换器TLC5510芯片实现.TLC5510是一种采用CMOS工艺制造的8位高阻抗并行A/D芯片,能提供的最小采样率为20 MSPS.由于TLC5510采用了半闪速结构及CMOS工艺,因而大大减少了器件中比较器的数量,而且在高速转换的同时能够保持较低的功耗,其还带有内部采样保持电路,从而大大简化了外围电路的设计.TLC5510的工作时序如图3所示.

图3 TLC5510工作时序

在图3所示的工作时序控制下,当第一个时钟周期的下降沿到来时,模拟输入电压将被采样到高比较器块和低比较器块.高比较器块在第二个时钟周期的上升沿最后确定高位数据,同时,低基准电压产生与高位数据相应的电压;低比较块在第三个时钟周期的上升沿的最后确定低位数据.高位数据和低位数据在第四个时钟周期的上升沿进行组合,这样,第N次采集的数据经过2.5个时钟周期的延迟之后,便可送到内部数据总线上.

图4为TLC5510硬件电路图,电源芯片AD584为TLC5510提供5 V稳压电源,以防止模拟量输入模块电压不稳而影响转换精度.

图4 TLC5510硬件电路

2.2 CAN总线节点

CAN总线节点的主要作用是把从FIFO存储器中的数据通过CAN总线传输到中央控制模块中.CAN总线节点硬件部分由CAN控制器、CAN收发器和单片机组成,其接口电路图如图5所示.

图5 CAN总线节点硬件电路

CAN控制器选用SIA1000,该芯片新增了一种PeliCAN工作模式,支持CAN2.0B协议.CAN收发器选用TJA1050,该芯片是CAN协议控制器和物理介质之间的接口.TJAl050可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能,而且它与IS011898标准完全兼容.单片机选用的是AT89S51,该单片机的引脚和功能与8051兼容,并且内部含有 4 KB的FLASHROM,支持在系统编程(ISP).

本智能系统中,CAN控制器SJA1000的中断引脚INT与单片机AT89S51的中断引脚直接相连,这样能够在数据发送、接收以及总线报错时及时产生中断,交由单片机进行处理.SIA1000的SOF信号需要被引出,接入单片机的中断引脚.这样,当SIA1000检测到一个帧起始信号时,在SOF引脚上就会产生一个脉冲,并在单片机一端产生一个中断请求.单片机响应SOF中断后,会判断报文是否为参考帧,如果是,则将本地计时器的值清零,并保存主节点分配给自己的时间片的起始值,当计时器运行到该值后,发送报文.如果收到的帧不是主节点的参照时间信息帧,系统继续.

为了增强CAN总线节点的抗干扰能力,TJAl050的TX0和RX0并不是直接与SIA1000相连接的,而是通过高速光耦6N137后与之相连,这样就很好地实现了电气隔离.

3 系统软件设计

3.1 A/D转换

本智能系统采用有限状态机完成A/D转换和FIFO中的数据存储(见图6).

图6 采样控制状态机示意图

如图6所示,在状态S0处,在时钟上升沿对信号采样;在状态S1处,把采样输出的同步信号作为FIFO的写入信号.CPLD接受到A/D芯片传输的8位二进制数,转换成电压数字量.A/D芯片的参考电压为5 V,而且8位A/D芯片的最大输出为255,这样A/D转换的最小输出单位大约为0.02 V,所以可近似地将A/D输出的8位二进制数乘以2,即得到所需要的3位电压值.图7所示为在MAX+PLUS II中的仿真结果.

图7 A/D仿真结果

3.2 CAN总线节点

CAN总线节点接口程序设计的实质就是实现对控制器SJA1000初始化和收发中断处理等操作.SJA1000的初始化就是对其通信参数的设置,需要初始化的CAN控制寄存器有模式寄存器(MOD)、验收代码寄存器(ACR)、验收屏蔽寄存器(AMR)、总线定时寄存器(RTR)、输出控制寄存器(OC)、中断寄存器(IR)和中断使能寄存器(IER)等.CAN总线节点部分接口程序如下:

4 结 论

本研究提出的基于CAN总线的汽车智能系统,其数据采集部分采用CPLD芯片,使用自动状态机实现数据采样与自动存储,采集到的数据通过CAN总线传输到中央控制模块进行处理.该技术解决方案显著提高了系统的反应速度和性能,具有较强的应用前景.

[1] 曲凤丽.汽车网络研究及CAN总线网络拓扑的优化[D].杭州:浙江大学,2011.

[2]李文君,高树新,谢伯元,等.汽车新型电气发展概述[J].汽车电器,2005,46(3):55-59.

[3] 李浩.基于现场总线的车身电子控制系统开发[D].长春:吉林大学,2005.

[4] 付亮,王星.基于CAN总线的汽车车身控制系统的研究与应用[J].北京汽车,2007,30(1):21-23.

[5] 罗浚溢,刘建新.分布式数据采集的SOC设计[J].机电一体化,2008,14(5):31-36.

[6] 曲震宇.基于CPLD的高速数据采集系统控制模块的设计与实现[J].哈尔滨理工大学学报,2006,28(3):30-33.

Study of Automotive Intelligent Instruments Based on CAN Bus

LUO Junyi,LEI Lin,CHEN Eryang
(School of Electronic and Information Engineering,Chengdu University,Chengdu,610106,China)

The design method of distributed automotive intelligent system based on CAN bus is discussed.This paper describes the system's scheme and hardware structure in detail.The method uses CPLD to control the peripheral chips to construct a kind of universal multi-channel data acquisition module,and then transports the acquired data to MCU by CAN bus.The method is verified to be feasible by software simulation.

data acquisition;CAN bus;CPLD;MCU

TP273+.5

A

1004-5422(2013)01-0047-04

2012-12-05.

四川省科技厅科技支撑计划(2011CZ0260)资助项目.

罗浚溢(1980—),男,博士,从事汽车电子技术研究.

猜你喜欢
寄存器总线单片机
STM32和51单片机寄存器映射原理异同分析
Lite寄存器模型的设计与实现
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
CAN总线并发通信时下位机应用软件设计
Microchip推出两个全新PIC单片机系列
多通道ARINC429总线检查仪