T-BOX车载网联终端设计
2022-03-06吴纪铎刘爱松赵梦海
吴纪铎,刘爱松,赵梦海
(联创汽车电子有限公司,上海 201206)
0 引言
Telematics BOX(T-BOX)是车辆智能网联系统中重要的组成部件。T-BOX主要与控制器局域网(controller area network,CAN)总线、车机、车载信息服务提供商(telematics service provider,TSP)进行交互,实现车辆智能网联的关键功能:①与CAN总线交互。T-BOX通过CAN总线采集车辆控制器的报文并进行解析处理,提取出一些车辆的重要信号及参数信息;此外,T-BOX接收到的一些指令可被转成相应的CAN报文,这些报文通过CAN总线完成对车辆的控制。②与车机进行交互。T-BOX可为车机提供GPS服务、网络服务等帮助车机实现导航与上网功能。③与TSP进行交互。T-BOX将收集、解析的信号按照规定的传输协议组包、加密、压缩处理等,通过无线传输技术发送至TSP端,TSP端可解析车辆的数据并反馈至用户的手机APP端。另外,TSP端下发的一些车控指令可通过T-BOX转换成相应的报文完成对车辆的控制,如远程锁车、远程座椅加热、远程关闭发动机等。
文中基于瑞萨RH850微控制器、TI CC2640R2F蓝牙微控制器、高通MDM9628 4G模组微处理器设计了一款T-BOX车载终端,并对该终端的软、硬件进行了开发设计。实车试验验证表明,该T-BOX终端可准确采集、传输车辆信息至TSP,TSP也可通过下发远程指令至T-BOX终端对车辆进行有效、可靠控制。
1 T-BOX终端整体设计
文中设计的T-BOX车载终端主要包含MCU模块、MPU模块及蓝牙模块3个模块,T-BOX终端总体设计如图1所示。
图1 T-BOX终端总体设计
T-BOX车载终端MCU模块通过CAN总线技术与车辆建立通信,MCU CAN模块连接车辆的总线,将车辆控制器中的CAN报文采集至MCU,MCU再将收集到的车辆控制器报文解析、组包,通过UART(universal asynchronous receiver/transmitter)分发至MPU模块。MPU模块主要完成GPS定位、无线通信等功能,将采集到的GPS信息与MCU发送的车辆信息按协议组包后,利用数据编码、数据加密、数据压缩等技术通过LTE无线通信发送至TSP,TSP平台将收集到的车辆信息进行解密、解析后发送至用户的手机APP。MPU模块同样可以提供语音服务,当车辆发生故障时可以通过语音服务联系道路救援机构申请道路救援等。当用户想主动查询车辆状态以及实施远程车辆控制时,可以通过手机APP发送指令至TSP,TSP将指令按空中协议组包后发送至T-BOX终端,T-BOX的MPU模块解析指令并将指令通过UART发送至MCU模块,MCU模块最终将指令转成相应的CAN报文与车辆完成交互。T-BOX的蓝牙模块也可通过蓝牙无线通信技术与用户手机APP进行交互,可完成蓝牙钥匙管理、蓝牙设备鉴权、蓝牙车辆控制等功能。
2 T-BOX终端硬件设计
2.1 MCU硬件设计
MCU模块以瑞萨公司的RH850芯片作为核心芯片,该芯片具有功耗低、兼容性高等优势。RH850芯片集成了丰富的片上资源,Code Flash容量达到1 M,Data Flash容量达到32 kB,RAM达到128 kB,最高可配置6路CAN控制器;此外,包含13个外部中断,2路看门狗定时器等。T-BOX MCU模块硬件设计如图2所示。
图2 T-BOX MCU模块硬件设计
外部开关信号输入包含4路,分别代表icall信号、ecall信号、点火信号以及静音信号。其中,icall信号、ecall信号为低电平有效;点火信号为高电平有效。当车辆的点火钥匙旋入到ON时,点火开关闭合,输入高电平。
模拟/数字信号输入有15路,主要包含1路40 PIN连接器输入、2路充电电源输入、5路音频检测输入、3路MPU模块输入以及4路天线检测输入。
充电电池控制接口主要控制T-BOX电池的充电开、关,在车辆发动机启动时开始对电池充电,当电池温度过高(高于60 ℃)或者温度过低(低于-10 ℃)时停止对电池充电。
看门狗模块主要包括看门狗使能信号配置、喂狗信号配置、供电使能信号配置以及MCU复位信号配置。其中,看门狗使能信号为低电平有效;正常工作时,喂狗信号脉冲最小值为0.06 ms,看门狗使能后800 ms内需有脉冲信号,之后需在50~100 ms内有脉冲信号;供电使能信号在高电平时给看门狗进行供电;MCU复位信号在低电平时有效。
MCU通过I2C接口与三轴加速度传感器SMA131相连,传感器向MCU输入时钟信号、数据信号以及中断信号。
MCU共包含3路CAN收发,CAN收发器选择型号为TLE7251VSJ。
MCU通过GPIO口控制SKYA21003射频开关的切换,SKYA21003可以对T-BOX的内置天线和外置天线进行切换。
MCU通过GPIO口控制三极管开关来检测电路的使能,当需要检测时打开使能,不需要时关闭使能,以减小功耗。T-BOX进入低功耗模式时,需要关闭USB检测使能、BOOST使能、电平转换供电、电池充电电源、GPS天线供电。
2.2 MPU硬件设计
MPU模块以高通MDM9628芯片为核心,该模块支持LTE/WCDMA/TD-SCDMA/CDMA/GSM/CDMA多个频段无线通信,还可提供GNSS(Global Navigation Satellite System)服务以及语音通话功能。MPU模块存储资源与接口资源丰富,拥有256 M的RAM以及512 M的ROM;包含1路USB接口、3路UART接口、1路Audio接口、1路I2C接口等。T-BOX MPU模块硬件设计如图3所示。
图3 T-BOX MPU模块硬件设计
MPU模块采用UART接口与MCU连接,进行MCU与MPU的数据通信;通过WPI/WPO GPIO去支持整个T-BOX休眠与唤醒操作。
SIM卡接口支持移动、联通、电信运营商esim卡贴片,接口电路主要包括复位信号、数据信号、时钟信号。
USB接口设计主要包含USB差分信号以及USB接口芯片电源控制。其中通过高电平打开USB接口芯片电源,通过低电平关闭USB接口芯片电源。
MPU模块支持内置音频CODEC,输出音频通过Audio PA放大。音频输入、输出接口主要包含I2C时钟信号、I2C数据信号、PCM时钟、PCM数据输入输出等。
MPU模块天线接口主要包括主集天线、分集天线以及GNSS天线。
2.3 蓝牙硬件设计
蓝牙模块采用的是TI公司的CC2640R2F低功耗蓝牙微控制器芯片。该芯片的时钟频率可达到48 MHz,具有275 kB的非易失性存储器以及28 kB的RAM。蓝牙模块通过UART与MCU建立通信,T-BOX BLE硬件设计如图4所示。
图4 T-BOX BLE硬件设计
蓝牙模块通过UART与MCU进行消息的交互,MCU通过GIPO控制蓝牙模块的复位、休眠与唤醒。
T-BOX终端硬件实物设计如图5所示。
图5 T-BOX 终端硬件实物设计
3 T-BOX终端软件设计
3.1 MCU软件设计
如图6所示,MCU软件架构设计由下至上分为5层,分别为Bootloader层、Rtos和HardwareDriver层、Rte层、API/Callback Interface层及APP层。
图6 T-BOX MCU软件设计
Rte层为基础服务层,并为APP层提供API。Rte层和APP层中主要模块功能如下:
(1)OsSysInit:负责MCU系统初始化。
(2)SysMgrSrv:软件监控服务模块,主要负责监控MCU各模块软件是否正常运行。
(3)APPMgrSrv:APP Task管理服务模块。
(4)BleSrv:低功耗蓝牙服务模块。
(5)Auxiliary:辅助服务模块,如软件版本信息的管理等。
(6)GsenSrv:Gsensor管理服务模块,主要完成三轴加速度信号的采集与处理。
(7)WanSrv:网络无线通信管理服务模块,接收与管理MPU网络模块同步的一些网络状态及参数配置信息。
(8)DcpdSrv:MCU与MPU 之间的通信服务模块,主要负责MCU模块通信协议消息的纷发与处理。
(9)NVRAMSrv:Dflash管理服务模块。
(10)COM:网络通信相关功能处理模块,如网络报文的配置、收发、解析等。
(11)DIAG:诊断功能处理模块,包含故障码诊断、数据读取服务等。
(12)VCP:远程车控功能的服务模块。
(13)PM:电源管理模块,负责整个T-BOX的电源开关以及MPU模块、蓝牙模块进入低功耗模式等。
(14)ICT:车辆状态、大数据、BCALL功能的服务模块,主要负责车辆信号的收集与组包等。
(15)AC:激活配置功能的服务模块,主要包括T-BOX配置参数的获取、纷发以及激活T-BOX流程的发起。
(16)BTC:蓝牙车控功能处理模块,负责蓝牙车控消息的接收与转发等。
(17)RC:远程车控功能处理模块,接收MPU模块以及蓝牙模块的车控消息并进行解析。
3.2 MPU软件设计
如图7所示,MPU软件架构由下至上同样分为5层,分别为Linux Os层、Driver层、Service层、API/Callback Interface层以及APP层。
图7 T-BOX MPU软件设计
MPU Service层和APP层中主要模块功能如下:
(1)Security:提供Openssl等加密算法,负责通信报文的加密服务等。
(2)LogMgrSrv:管理日志文件打印、存储,控制日志文件大小。
(3)GnssSrv:提供GPS相关服务。
(4)AdbDemon:ADB守护进程,支持ADB调试功能。
(5)DcpdSrv:实现与MCU之间的数据通信,在MPU侧实现消息的接收与转发。
(6)SpmSrv:MPU模块的电源管理,接收MCU模块发送的开机、关机、休眠指令等。
(7)WanSrv:提供网络相关服务,如拨号、网络状态获取、语音、短信服务等功能。
(8)SysMgrSrv:系统管理进程,负责启动其他进程以及其他进程的监控,僵尸进程的重启等。
(9)API/Callback:封装SDK各个Service功能,为APP层提供统一的标准调用接口。
(10)AvnSrv:实现与车机的交互,为车机提供上网服务与定位服务等。
(11)OtaSrv:建立与TSP后台的通信,对接其他APP与TSP后台的交互。
(12)BigdataAPP:实现大数据功能,将车辆的数据收集、打包、压缩、加密统一发送至TSP。
(13)AuxSrv:与Mcu Auxiliary模块交互,进行版本信息等辅助功能管理。
(14)FotaAPP:负责远程刷新升级包下载、解析以及升级策略判断、远程诊断功能。
(15)FotaEAPP:升级引擎,执行刷新动作。
(16)RvmAPP:实现车辆远程状态监控和远程行程记录。
(17)AcAPP:负责接收Mcu Ac模块的配置信息并执行远程配置业务。
(18)bCallAPP:车辆发生故障时,提供电话服务申请远程救援等。
3.3 蓝牙软件设计
蓝牙软件模块由下到上主要包括Bootloader层、TI-Rtos/Hardware Driver层、BLE STACK层、ICALL层与APP层,如图8所示。
图8 T-BOX 蓝牙模块软件设计
主要模块功能如下:
(1)COM:APP层的通信模块,负责与MCU模块的通信。
(2)PM:APP层的电源模式管理模块,负责蓝牙模块的开机、关机以及进入低功耗模式。
(3)ICALL:APP层与蓝牙协议栈的标准接口。
(4)BLE STACK:蓝牙协议栈层。
4 试验验证与分析
为验证所设计的T-BOX终端的功能与可靠性,将T-BOX终端装上某款车型实车进行了试验验证。如图9所示,所设计的T-BOX终端安装在车辆的手套箱位置,通过40 PIN线束与实车相连。
图9 T-BOX与实车相连接
将试验车辆与该车型的用户手机APP进行绑定,并完成T-BOX的配置激活操作,这样可在APP端下发指令至车辆的T-BOX进行车辆的远程操作。试验验证的内容主要包括远程车辆状态查询与远程车控指令下发。
4.1 远程车辆状态查询试验验证
在手机APP端下发车辆状态查询指令,T-BOX收到远程查询指令后,将车辆的状态信息发送至TSP,TSP端再将车辆的状态信息同步至用户的手机APP。
如图10所示,实车中控显示屏与手机APP端显示的车辆可续航里程均为313 km,实车中控屏与手机APP端显示的车辆四门状态、引擎盖状态信息一致,说明T-BOX终端能够正确接收、解析手机APP端的车辆查询指令,并将车辆的状态信息准确反馈至手机APP。
图10 T-BOX车辆状态查询试验验证
4.2 远程车控试验验证
在手机APP端执行远程开启车辆空调、远程主副驾驶座椅加热指令,T-BOX端接收、解析车控指令并转成相应的CAN报文对车辆进行控制。
如图11所示,T-BOX成功执行车控指令后,将车控指令的执行情况反馈至手机APP端,在APP端显示出车辆空调已为开启状态,主、副驾驶座椅为加热状态。
图11 T-BOX远程车控试验验证
5 结论
文中以瑞萨RH850芯片、高通MDM9628芯片、TI CC2640R2F芯片为核心设计了一款T-BOX车载终端,该T-BOX终端总体上分为MCU模块、MPU模块以及蓝牙模块。针对各模块进行了硬件设计与软件开发,并将T-BOX终端接入实车进行功能验证。试验验证表明,设计的T-BOX终端能够有效、可靠地与车辆及TSP进行交互,能够准确接收、解析TSP端的指令并将车辆的信息按照传输协议准确发送至TSP。