之前折腾的安卓车载中控框架(https://blog.csdn.net/babyshan1/article/details/81327853),液晶屏显示部分一直觉得不完美(通过HDMI转LVDS),最近终于下定决心直接用主板的MIPI DSI来驱动MIPI屏,总体架构算是比较符合自己的预期了。接下来把近期的一些工作进行梳理。
一、硬件总体架构
分三大部分:
(一)主板
BPI-M64,双核64位CPU,2G DDR3内存。
(二)MIPI液晶屏
480x1280分辨率的MIPI屏,显示效果不错,不带触摸屏。目前也还没做触屏功能,所有控制通过方向盘按键和浏览器来实现。
(三)DIY扩展板
主要有以下几个模块:
1.12V转5V供电电路,将汽车12V直流转为5V直流,为整个硬件系统供电;
2.MIPI液晶屏背光驱动电路及MIPI信号转接电路;
2.MCP2515+TJA1050 CAN控制、收发电路;
3.串口GPS模块接口,和现成的GPS模块对接;
由于使用了MIPI屏,整个硬件系统体积较之前的版本减少了很多。
二、软件总体架构
分三大部分:
(一)底层boot及驱动
1.boot0:由于厂家提供的boot0会有10秒的按键延时等待,实际应用中不需要这个等待,要修改编译自己的boot0;
2.驱动:要实现spi-gpio驱动、串口gps和MCP2515驱动;
(二)安卓系统定制
1.横屏显示
2.launcher导航按钮布局修改
3.禁止锁屏
4.去掉搜索栏
5.修改默认语言
(三)应用层APP
1.集成高德导航
2.显示车辆信息(车速、转速、剩余油量、车外温度、里程、车门状态、倒车雷达等等)
3.倒车视频。用的是带红外夜视功能的USB摄像头。从CAN总线中检测到倒车信息后就显示倒车视频。
4.行车记录仪。开机即开始录像。
5.音乐播放。通过方向盘和手机控制切歌、音量。
6.web服务器。手机通过wifi连接web服务器,实现对车机的导航路线目的地设定、控制音乐播放、查看车况、查看行车记录视频等。
下图是红外倒车摄像头的效果:
下面的动图是上路效果: