为了提高汽车的使用性能,汽车的电子控制程度越来越高。随着现代电子技术的发展,多功能、高精度、高灵敏度、读数直观的电子数字显示及图像显示的仪表已广泛应用于汽车领域。电子控制装置必须能迅速、准确处理各种复杂的信息,并通过汽车仪表板以数字、图形或文字等形式显示。这就对控制汽车仪表板的微控制器提出了更高的要求。
德国Micronas公司开发的CDC3207G是一款32位ARM内核高性能低功耗的微控制器。这是专门针对汽车仪表板而设计的微控制器。目前已经应用于德国大众,中国东风等中高档汽车。CDC3207G采用ARM7TDMI内核,内部具有512KFlash以及32KSRAM,为了满足汽车仪表设计的需要,该微控制器还提供16路10位A/D转换模块、音频驱动模块、液晶显示驱动模块、7路步进电机驱动模块等。而且内部集成了CAN通信模块,可以很方便地与车内的其他电子装置进行通信。
2硬件设计
2.1硬件总体结构图
整个仪表板使用一个CDC3207G微控制器进行控制。输入信号可以分为数字开关信号和模拟电压信号两种类型。对数字开关信号,可以根据其高低电平直接读取其状态。而对模拟信号,如转速,速度等,用微控制器内部的lO位精度A/D转换器进行A/D转换,将模拟信号转换为数字信号。设计的仪表板用6个步进电机来驱动6个指针,分别用来显示转速、发动机温度、油量、速度、油压和电池电压。左右转向时发出的提示音和故障报警声等可以用音频输出驱动一个扬声器来发出,除了可以产生简单的单音警报外,还可产生振幅逐渐衰减的锣声信号。在LCD上可以显示当前的档位、车内外的温度以及一些报警信息和时间等。LED指示灯可以用微控制器的H端口直接驱动。CAN总线可以与车内的其他控制模块通信。
2.2步进电机模块
步进电机在汽车仪表领域的应用是新一代汽车仪表最显著的特点。控制器CDC3207G内部集成了7个步进电机驱动模块,每个步进电机模块通过控制器内部连接了H桥的4个高电流输出端口,直接驱动两相步进电机,大大简化了硬件电路的设计。通过软件便可产生步进电机定位需要的各种脉冲。CDC3207G微控制器的步进电机模块可提供多通道的PWM输出,输出信号频率通过硬件设置可以选择,并且不同步进电机模块输出信号时序上具有偏移,可以提高电磁兼容性能(EMC)。根据控制两相步进电机的需要,CDC3207G内部提供了3个8位的寄存器,用于通过软件产生控制步进电机需要的脉冲信号。其中2个寄存器通过每一模块中的比较器与模块计时器比较,用于产生驱动电机的PWM信号,另外一个寄存器用来选中相应步进电机模块,输出驱动信号,以及选择4个输出引脚的极性。这样,通过软件对3个寄存器的操作就能方便地控制每一路步进电机。此外,CDC3207G还具有零位检测功能,即检测电机运转时的感应电流,得到电机运行的位置信息,就可以据此判断电机是否达到初始位置(即汽车仪表的零位)。
2.3音频控制模块
CDC3207G音频模块的输出信号可以直接驱动蜂鸣器或其他音频设备,硬件设计比较简单。图3给出音频模块驱动电路。从图中可知,在微控制器音频模块的输出端口U1.4处直接接人三极管VT5、低通滤波器电路和扬声器,即可实现整个音频电路的设计。音频模块用于由脉宽调制单元(PWM)、3个计数器和1个累加器组成。该模块能产生类似于锣声的声音信号,是频率可调的方波信号,输出信号的脉宽由方波信号的脉宽决定,无需CPU就能实现信号振幅的指数变化。