英飞凌
直播中

孔维源

7年用户 167经验值
私信 关注
[经验]

基于英飞凌XMC4500的车载仪表开发

一.设计主题
基于英飞凌XMC4500车载仪表产品的开发

二.设计项目介绍
基于XMC4500的车载仪表产品开发,由Minikit外扩一个TFT彩色液晶显示屏,通过RS232总线采集数据发送到液晶面板上显示,特别说明,本来是采用CAN总线的方式,由于Minikit未预留CAN接口,所以本方案采用RS232串口的方式模拟,PC通过串口发送测试数据到Minikit开发板,然后在液晶屏上显示发动机相关信息。本设计只作为demo演示用,与真正的车载仪表还是有差距的,特此说明。
增加备用方案,考虑到如果直接用并口的方式驱动LCD,会有大量的连接线,增加一个串口驱动方案,XMC4500跟另外一个板子通信,通过UART发送相关数据和命令给TFT驱动板子,来操作LCD显示。

先贴个方框图,规划下相关资源的分配

最终决定应用备选方案,也就是通过串口的方式跟另外一块板子通信,控制LCD的显示,硬件连接现对简单,程序量比较大。通过本次设计,主要展示XMC的模拟量采集,键盘扫描,UART通信,LED指示灯的相关操作。

TFT驱动芯片我选的是SSD963(SSD963数据手册),它有1215KB的显存,最大可支持864x480 24bit真彩色的液晶屏,可以通过并口的方式直接操作显存,控制界面的显示,所有的底层驱动都需要自己开发。

下图是简单的示意图

三、设计难点分析:
1. 对ARM系统不熟悉,需要补充很多知识
2.TFT驱动设计,全部需要自己来设计,工作量大
3.UART通信协议的设定,如何满足灵活性和高效性的平衡
针对难点1,我首先先熟悉开发板的相关资源,跑几个示例代码,先把系统跑起来,后面的工作慢慢来,多啃数据手册,从网络获取相关知识等来补足。
针对难点2,没别的办法,只有自己啃数据手册,先保证初始化成功,然后设计画点的驱动,成功后就可以扩展为画线,显示图片,文字等,循序渐进。
针对难点3,参考现有成熟的通信协议,根据需求来进行更改和完善,一句话,站在巨人的肩膀上。

四、功能介绍

显示界面效果图

1.时间日期显示
2.时速表,方框内实时显示当前车速,单位km/h
3.燃油油量,方框内显示当前油量信息,以百分比表示
4.发动机转速信息,单位rmp
5.冷却水温度,单位摄氏度
6.燃油油量,同3(另一种表达方式)
7.机油压力,单位mpa
8~12是快捷功能按键的定义
本方案外挂一个薄膜按键,有上,下,左,右,ENT,ESC键
8.ENT键,主界面按下则进入系统设置界面,可以设置系统时钟,液晶背光调节,也可查看系统帮助信息
9.向上键,快捷进入时钟设置界面
10.向下键,快捷设置背光亮度
11.向左键,蜂鸣器报警开关键,可以设置为静音或打开
12.向右键,系统帮助信息

五、结果展示
系统运行界面拍照

1.启动界面

2.主界面

3.时钟调整界面

4.背光调节界面

5.系统帮助界面

6. 系统信息界面


视频展示
终于抽出时间来录制视频了,最近公司比较忙,一直没空,视频带有解说,又臭又长,大家忍耐一点吧,还望大家不要见笑,请多多支持指教,谢谢

(点击进入原帖子观看视频)

六、总结
从开始报名参赛到现在,1月有余,现在把设计过程中的一些心得和遇到的问题及解决方法写出来,与大家一起分享,也请大家多多帮助指导。由于内容比较多,就不在文章里详述了,请参看附件里的 <设计总结及学习心得.pdf>文档,另外上传基于Dave3的完整的工程源代码和简单的流程图,也请大家多多指导。


点击进入原帖子底部下载:
设计总结及学习心得.pdf
车载仪表演示系统简易使用手册
基于Dave3的完整的工程源代码和简单的流程图

与作者直接交流:基于英飞凌XMC4500的车载仪表开发

更多回帖

发帖
×
20
完善资料,
赚取积分