基于MCX系列MCU的EBike仪表解决方案

描述

二十一世纪是电气化的时代。相比于化石燃料驱动的车辆,电能驱动车辆具有显著减少污染物排放、效率高、静谧平顺、行驶稳定、加速快的优点,并随着充电设施的不断完善,电能驱动车辆的应用已经越来越普及。电动自行车(EBike)也已成为现代城市出行的重要工具。

EBike仪表作为骑行者获取车辆状态信息的窗口,其性能和可靠性至关重要。一款出色的电动自行车仪表能够提供的行驶信息包括:工作模式、档位设定、实时速度、平均速度、续航里程、单次里程、总里程、骑行时间、瞬时功率、平均功率等。MCX系列MCU(微控制器)凭借其高性能、低功耗和丰富的外设接口,成为EBike仪表解决方案的理想选择。

本解决方案将详细介绍如何基于MCX系列MCU设计一款功能全面、性能稳定、操作便捷的EBike仪表。通过合理的硬件设计和优化的软件编程,实现仪表的精准显示、智能报警和远程通信等功能,为EBike用户提供更加安全、舒适的骑行体验。

MCX系列MCU不仅支持高速数据处理和多种通讯协议,还具备强大的电机控制和模拟性能,能够精准读取和显示EBike的电量、速度、里程等关键信息。此外,其低功耗特性有助于延长电池续航时间,提升用户体验。

案例分析

随着电动自行车/电动摩托车的广泛普及,市场上出现了一批优秀的EBike仪表解决方案。来自博世公司的电动自行车控制系统-Purion2001;来自纳恩博公司的高端电动摩托车-E300P系列;来自雅迪公司的高端电动摩托车-飞跃FD93系列。这三个案例都具有炫酷的人机交互界面。从而表明,炫酷且信息丰富的界面,可以极大提高产品的档次,从而吸引更多的用户。

主控制器

NXP电动车仪表解决方案采用MCX N系列MCU – MCXN947。MCX N是NXP最新的高性能、低功耗微控制器系列。它具有如下特性:

150MHz主频

Flash 2MB, SRAM 512 KB

双Cortex-M33核,主CPU核包含浮点运算单元FPU、内存保护单元MPU、数字信号处理单元

PowerQuad数字信号协处理器和加速器

CoolFlux BSP32数字信号处理器

FlexIO,通过编程可以实现LCD控制

SmartDMA控制器,通过编程可以实现摄像头驱动、数字键盘、颜色格式转换

满足多样性需求的定时器,如标准定时/计数器CTimer、支持硬件状态机的SCTimer、增强型脉冲宽度调制定时器FlexPWM、实时时钟RTC、正交解码器

功能丰富的通信接口,如高速USB、全速USB、支持SPI、I2C、UART通信协议的低功耗灵活通信接口LP_Flexcomm、CAN通信控制器FlexCAN、I3C、以太网

同步音频接口SAI

触摸感应输入TSI

超安全数字主机控制器uSDHC,可以为图片、字体提供大容量存储介质

开发套件

NXP针对MCX N系列MCU提供了完整的图形界面解决方案,包括:

FRDM-MCXN947评估板

mcu

LCD-PAR-S035显示屏,分辨率为480x320

硬件环境设置

为了评估本文所述的电动车仪表应用,请按如下步骤进行配置:

根据下图,将LCD显示屏与FRDM-MCXN947评估板进行连接

mcu

使用USB-Type C线将FRDM-MCXN947评估板的板载调试器接口J17与PC机的USB接口进行连接

如果连接成功,可以在PC机的设备管理器窗口中看到MCU-Link板载调试器虚拟串口: 

mcu

软件开发环境

本文中的EBike仪表设计的软件开发环境:

免费开源嵌入式图形库LVGL

NXP图形界面开发工具GUI Guider

设计实现

基于NXP图形设计工具GUI Guider的图形界面设计流程可分为:工程创建、资源导入、控件布局、仿真验证、目标板部署。

1. 工程创建

GUI Guider创建一个新工程的步骤如下:

1.1 启动GUI Guider, 点击Create a new project创建工程,进入Select LVGL Version窗口:

mcu

1.2 在Select LVGL Version窗口中,选择LVGL版本。GUI Guider支持LVGLv7和LVGL v8, 这里选择LVGL v8, 即v8.3.10。点击Next, 进入Selecta Board Template窗口:

mcu

1.3 在Select a Board Template窗口,先选择处理器系列,这里是MCX,然后选择评估板,这里选择FRDM-MCXN947。选择评估板之后,点击Next,进入Select an Application Template窗口:

mcu

1.4 在Select an Application Template窗口中,选择应用模板,这里选择EmptyUI, 以创建一个空工程。选择应用模板之后,点击Next,进入Project Settings窗口:

mcu

1.5 在Project Settings窗口中,正确设置工程名、工程路径、颜色深度、屏幕类型,然后点击Create开始创建:

mcu

1.6 创建完成的工程如下图所示:

mcu

2. 资源导入

一个炫酷的图形界面离不开精美的图片和字体。因此,在开始设计之前,需要导入图片资源和字体资源。本文中的EBike仪表设计采用GUI Guider内置字体-montserratMedium。对于想使用自定义字体的用户,可以通过GUI Guider的字体导入功能实现:

mcu

对于图片资源,请在开始界面设计之前,将所有要用到的图片存放于工程目录的import子目录下。

3. 控件布局

在GUI Guider的界面编辑区,在选中某个控件之后,可以通过拖拽改变控件的大小和位置。如果想进行更精细的调整,可以通过设置控件的位置和大小属性来实现:

mcu

除了可以设置单个控件的位置和大小,对于多个控件,GUI Guider支持丰富的对齐选项,如顶端对齐、底端对齐、左对齐、右对齐、水平均匀分布、垂直均匀分布、水平中心对齐和垂直中心对齐。

例如,在EBike仪表界面的底部,需要三个等间隔排列的圆角矩形指示当前正在操作的界面。然而,这三个圆角矩形的初始排列杂乱无章,需要经过底端对齐和水平均匀分布对齐处理后才能变得规整。调整前的效果和调整后的效果:

mcu

经过调整之后的EBike仪表界面:

mcu

mcu

mcu

4. 仿真验证

当界面设计完成后,通过执行Simulator->C操作可以启动仿真:

mcu

5. 目标板部署

当仿真结束且满足设计预期的时候,可以执行Target->MCUXpresso操作实现代码生成、IDE工程创建、编译链接、可执行程序下载到目标板并启动运行,极其方便:

mcu

6. 运行

部署完成后,EBike仪表盘解决方案的运行效果如下图所示:

mcu

7. 代码获取

本文所述EBike仪表解决方案的源代码可以通过NXP Application Code Hub获取。Application CodeHub的链接如下:

https://mcux‍presso.nxp.com/appcodehub

您可以在Application Code Hub检索到本文所述EBike仪表解决方案的源代码工程。

mcu

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分