等风等雨等着你,终于 2019 恩智浦 MCU 挑战赛的第一名闪亮登场!他的作品到底有哪些风采?广受专家评委团的青睐!
项目简介
作品《基于 LPC55S69 平台的多媒体触控系统》,基于 LPC55S69 主控,使用 3.2 寸触摸彩屏做为人机交互,旨在让用户通过简单的触摸即可实现对设备的控制,如控制室内的灯光、音乐、空调等设备。该系统充分发挥了 LPC55S69 的性能,在 FreeRTOS 系统中,150M 主频的双核 M33 通过主核和协核的相互配合完成系统任务:主核 Core0 用于处理主逻辑,包括显示图形处理、触摸数据处理、功能逻辑控制等,在图形处理中同时引入 PowerQuad 加速计算速度;协核 Core1 用于刷新彩屏,其通过 MCU 的高速 SPI(50M)+DMA 方式驱动 3.2 寸彩屏,240*320 的彩屏刷新频率可高达 60Hz 以上。
下面跟着设计者 Jace 来看看项目是如何实现的吧!
本系统在发挥 LPC55S69 高性能的同时,也使用了它的 POWER 管理功能,以达到性能功耗的平衡。主核在没有事情处理时就会进入睡眠低功耗模式,此时通过中断(FreeRTOS 的系统 TICK)唤醒。协核在没有事情处理时也进入低功耗模式,其通过主核的通知中断来唤醒。
项目硬件方案说明
本项目主要以 LPC55S69 开发板为主控 MCU,外加电阻触目屏及红外发射管。
项目硬件清单
MCU 模块
本模块可以作为最小系统单独使用,主控 MCU 为大赛主办方 NXP 提供的 LPC55S69。
设置参数
显示模块
本模块采用 3.2 寸 SPI 触摸显示屏,板载锂电池充电电路,USB 供电和电池切换电路,BLE 模组,使用 2.5mm 音频接口与其他模块连接并通过 I2C 协议进行通信;同时使用板对板连接器与 MCU 模块连接;还有一个功能按键。
红外模块:
项目所使用到的资源
项目资源分配
MCU 自带 640KB 的 Flash 和 320KB 的 RAM。MCU 上电后先启动的 Core0,Core0 将 Core1 的代码从 Flash 中复制到 RAM 中,将 Core1 从 RAM 启动。将 RAM 分为 3 个区域,Ram0 198KB 给 0 使用,Ram1 68KB 给 Core1 使用,rpmsg_sh_mem 6KB 预留给双核共享内存。FLASH 一共 640KB,现在只使用了前 608KB。Flash 最前面存放 .isr_vector,随后是编译到 Ram1 中的 Core1 代码,再后面是 Core0 的代码。
资源分配图
项目软件框架
本机为全触摸机器,所有功能操作都只能通过触摸实现。机器支持左右滑动切换界面,单点打开应用,右滑能出应用,而应用中的操作可以是各式各样的。
软件框图
Core0 通过触摸输入、系统事件触发调用 GUI 实现界面图形的处理,处理完成发送信号给 Core1,Core1 进入刷屏。
双核通信
双核之间的通信(叫通知可能更贴切)每次只能传输 4 字节,如 Core0 通过把 uint32_t 类型的数据给 IRQ1SET 寄存器,Core1 就会产生中断,在中断里面通过读取 IRQ1 寄存器就可以获取到 Core0 传过来的 4 字节数据。所以如果要更好的使用双核,MailBox 要配合共享内存空间使用,才能实现更多功能。
双核通信分配
组装实物图
项目效果展示
专家点评
该作品完成度高,充分利用了双核和 PowerQuad DSP 的优势,增强了整个设计的计算力以实现 HMI 的控制,LCD 刷屏非常流畅,整个作品易于展示,代码全部开源分享,且创意良好,具有广泛的市场前景。
彩蛋
同时恩智浦社区开发小课堂邀请作者为大家详细讲解该项目的全部内容,想要了解如此炫酷的灯光触控系统,请扫描下方二维码哦!此外,小课堂还有恩智浦半导体各型号产品的实战经验,手把手教学,让你尽快上手恩智浦半导体各系列产品,敬请关注!
链接如下:http://www.nxpic.org/module/forum/forum-1340-1.html
扫码关注更多小课堂精彩内容:
6 月 29 日:基于 LPC55S69 平台的多媒体控制系统
7 月 2 日:基于 CNN 的智能垃圾分类及远程监控系统
7 月 7 日:TARM 机械臂下位机控制卡