引言
在汽车电子系统中,CAN总线通信技术不仅减少了线束减轻了汽车重量从而提高了效率,更重要的是它实现了汽车电子网络的信息共享和数据传输,利用它可以把某项应用按照功能分拆在不同的组件中实现,这样在实现各个功能子系统时非常灵活,系统中组件的使用更广泛更充分,单个组件可以在多个功能系统中被应用。可以说CAN总线的出现更好地体现了网络复用的特点。蓝牙技术在消费电子领域中的成功运用经验推广到汽车电子领域后,其开发与测试遇到了一定的挑战,笔者结合为某整车厂商开发的一款基于CAN总线及蓝牙技术的车载信息娱乐设备,介绍基于CAN总线及蓝牙技术的汽车电子产品开发及测试中的关键技术。
产品开发
该产品是一个集成USB音频播放、蓝牙免提、蓝牙音频流播放等功能于一体的汽车电控单元(以下以USB-BOX来表示),通过CAN总线与车内音响系统组合为一体,实现播放普通U盘内音乐文件(MP3、WAV、WMA等),同时可以通过蓝牙功能实现免提接听、拨打电话及播放流媒体音乐等[1]。音响系统包括液晶屏、收音机、方向盘和USB-BOX,其中液晶屏用于实现歌曲文件信息、电话相关信息以及电话本的显示等功能,收音机实现CD音乐播放及控制等功能,收音机和方向盘上带有按键控制接口,实现对USB-BOX的音乐控制和免提操作,系统结构如图1所示。
在这个CAN网络汽车音响系统中,收音机和方向盘CAN节点提供人机操作接口控制USB-BOX,而USB音乐播放和蓝牙免提功能相关的液晶屏显示页面则由USB-BOX来控制。USB-BOX的程序设计采用基于有限状态自动机的软件架构,将整个控制流按照功能分解为若干并发的子状态机,每个状态机被实现为一个任务,在子状态机中将该功能实现的过程节点做为子状态,以过程的推进作为状态机的跳转,这样使得整个系统构架清晰,简化了实现,便于系统调试和后续功能扩展[2]。
在状态机的实现中,关键跳转条件是CAN帧和蓝牙信号,CAN帧方面主要是标识符的管理,标识符是指当前液晶屏应该显示什么样的页面,提供什么样的显示信息和导航选择,在该页面下收音机和方向盘按键操作对应哪些控制命令,可以实现哪些选择性的操作(选择、退出、向上向下导航、向前向后导航)[3],由USB-BOX和收音机共同管理。而蓝牙信号涉及到不同手机在同一功能上的不同差异,信息组合不完整,次序不固定,这就会带来一定的兼容性问题[5]。下面以电管理为例描述一下状态机的设计。