背景与目标:“项目旨在为电动两轮车提供一款高可靠、高兼容性的智能仪表解决方案。核心目标是通过一套高度可定制的软件系统,适配市场上主流的中控与控制器,满足不同整车厂客户对UI界面和通讯协议的多样化需求,缩短客户项目的开发周期。”
功能与模块:“软件核心功能包括:1)多协议通讯枢纽:稳定解析并处理来自中控的UART/CAN协议(如八方、锂电2号、km5s、苏州同盛、柯蒂斯、安乃达、英凡蒂、万佳等超10种),并可靠转发OTA数据至控制器;2)双屏UI显示引擎:适配TFT彩屏与数码管屏,实现车速、电量、档位、故障等信息的实时、流畅显示;设置菜单可设置各种协议参数(如轮径、限速、磁钢数等)和系统参数(如开机密码、自动关机时间等、tft屏多语言设置);3)客户定制化框架:通过配置化方式,快速响应客户对显示布局、主题、功能的定制需求。”
业务流程:“典型工作流程为:仪表上电初始化→与中控握手并持续接收数据→根据协议解析车速、电池状态等关键信息→调用UI渲染引擎更新屏幕显示。同时实时监听升级指令,一旦触发,则安全进入OTA流程,将固件包转发至下级控制器。”
架构设计:“采用 ‘硬件抽象层+协议服务层+应用显示层’ 的分层架构。硬件抽象层对接底层UART/CAN驱动,统一收发接口;协议服务层以模块化形式管理八方、万佳各厂商协议栈,实现热插拔式兼容;应用显示层基于状态机驱动UI更新。技术栈以C语言为主,在资源受限的MCU(如AT32系列)上运行,充分利用中断与DMA提升效率。”
我的贡献与量化结果:“我独立负责全部应用层及协议层开发。
通讯协议模块:成功集成并稳定维护超过10种私有UART/CAN协议,通讯平均无故障时间(MTBF)超过5000小时。
UI显示框架:设计的双屏渲染逻辑,使界面刷新率达到30fps,同时将CPU占用率降低约15%。
系统稳定性:主导完成整个仪表的软硬件联调与测试,累积客户50+个,累计定位并解决Bug 500+个,推动项目一次性通过客户验收并量产。”
难点与解决方案:
难点1:不同厂商协议时序冲突,在密集数据下出现解析错乱。
解决:设计了基于时间窗的动态调度算法,为各协议分配静默时段,彻底解决冲突。
难点2:早期UI刷新卡顿,尤其在数据快速变化时。
解决:引入双缓冲机制与差异化刷新策略(关键数据实时刷,静态区域按需刷),实现流畅显示。
难点3:OTA升级过程中,异常断电可能导致控制器“变砖”。
解决:在转发协议中增加ACK确认、断点续传和完整性校验三重保障,升级成功率提升至99.9%以上。”