基于MCU的汽车方向盘按键控制器系统设计
IN总线的方式同样能达到节省线束成本、减轻重量和便于功能的升级和裁剪的效果。LIN作为一种低成本、高可靠性的汽车总线系统,在车身电子系统中得到广泛的应用,虽然LIN控制器可以使用普通的串行口控制器UART实现,但是MC9S08SC4上的串行口控制器SCI模块不仅能实现UART的功能,而且还集成了和LIN通信相关的某些硬件特性,例如对于LIN通信中非常特殊的Break域的产生和检测过程,这种硬件集成的LIN通信的功能,相比使用普通UART控制器可帮助用户降低LIN通信软件设计复杂度,加快产品研发周期和上市时间。
图3所示是LIN通信数据帧结构图,其中位于最左边的Break域是由LIN总线系统中的Master节点发送,用于表明一帧数据开始的标志,相应的LIN总线系统的Slave任务需要正确识别Break域之后才能完成相应的LIN通信过程。在每一次LIN总线通信开始阶段,都必须由Master节点来产生一个Break域,才能发起一次LIN的通讯,如果这个过程可以通过硬件来完成,那么将大大降低CPU的工作负荷;反之,Slave任务对于Break域判别过程也同样存在这种差别。
根据LIN通信协议规定,Break域由至少连续13位的显性电平信号组成,它也是在整个LIN的数据帧结构中唯一不遵循如图4所示的字节结构形式的域。因此,对于标准的串行通信控制器UART产生和识别Break域,必须借助于软件和其他的硬件手段才能完成,这是软件设计的一大挑战。例如,当Master产生Break信号时,需要UART借助一个定时器通道,产生一段至少13个比特长度的时间,然后通过软件控制相应的Tx端口在这段定时时间内输出显性电平,才能完成一个Break域的产生。与之相对应,如果普通串行通信控制器UART作为Slave节点,当它需要检测Break域时,完成这个过程同样需要借助额外的硬件和软件手段完成。
但是,对于MC9S08SC4微控制器上的串行口控制器SCI,如果MC9S08SC4作为Master节点产生Break域的过程,只需要通过操作SCI中的相应控制寄存器中的SBK位便能产生;反之,当它作为Slave节点时,既可以通过查询状态寄存器中的LBKDIF标志的方式,也可以通过中断的方式自动识别LIN总线上是否有Break域。LIN通信的Break域的产生和识别在MC9S08SC4中,对于用户而言只需通过操作相关的寄存器实现,然后实际的操作过程则是通过SCI控制器的硬件在后台完成,相对于不具备这些硬件特性的普通串行通信控制器,MC9S08SC4在实现LIN通信的软件和硬件上都为用户带来了很多优势。
在汽车方向盘按键控制系统中,某些数据例如系统掉电之前最后的音量信息或者定速巡航的速度信息,都需要在下一次上电之后恢复,这个问题的常用解决方法是在控制系统中增加一片EEPROM来保存相应的数据,但是这种方案带来了增加PCB面积和成本的双重压力,因此目前嵌入式系统中对于存储量在几十个字节范围之内的掉电数据保存,都是通过微控制器系统中片上的Flash模拟EEPROM的方式来实现的。
但并非所有微控制器中的Flash都能够用于模拟EEPROM的操作,因为Flash模拟EEPROM的操作和Flash存储器的内部结构以及参数特性都有密切的关系。利用Flash存储器模拟EEPROM的操作,要求Flash存储器必须具备以下几个特性:对于Flash存储器的编程和擦除操作不需要外部的高电压支持,即微控制器内部能直接产生高压以支持编程和擦除的操作过程。Flash存储器需要支持较高的重复编程和擦除操作周期。当然这个参数和整个系统的需求密切相关,即在整个方向盘按键控制器的生命周期中所需要保存的参数数量和保存的次数密切相关。系统运行的过程中动态地保存参数到Flash,要求Flash控制器本身能够提供相应的寄存器接口,以便用户能通过软件的方式完成编程和擦除操作。
对于上述三个要求,MC9S08SC4的Flash存储器都能满足,在MC9S08SC4的Flash控制器内部自带高压泵以支持编程和擦除操作所需要的电压;对于Flash编程和擦除的周期问题,例如假设在方向盘按键控制器系统中需要对32个字节的数据做掉电保存,若利用4k字节Flash中的1k用于EEPROM模拟,那么在最差的情况下可以支持320,000次掉电保存,通常情况下可以支持高达3,200,000次的掉电保存。当然,根据不同的应用估算的结果不同,这需要客户根据具体应用合理地选择保存策略来达到尽可能多的掉电保存次数。表1给出了MC9S08SC4微控制器中Flash存储器的主要性能参数。
本文小结
本文通过介绍汽车方向盘按键控制器的应用,揭示在系统设计中可能面临的主要挑战,并阐述MC9S08SC4作为主控制器通过发挥芯片本身的优势,如何克服面临的设计挑战。因此,在汽车电子系统中,类似于方向盘按键控
- 基于MC9S12XS128的汽车BCM的设计与实现(03-07)
- 基于单片机MC9S12XS128的车身控制模块设计(03-29)
- 电子技术的革新先锋(11-21)
- 现代汽车电子技术综述(06-24)
- 新技术、新应用让传感器深入汽车电子设备的各个角落(05-11)
- RFID技术在商用汽车生产及使用中的应用(05-11)