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