等風等雨等著你,終于 2019 恩智浦 MCU 挑戰(zhàn)賽的第一名閃亮登場!他的作品到底有哪些風采?廣受專家評委團的青睞!
項目簡介
作品《基于 LPC55S69 平臺的多媒體觸控系統(tǒng)》,基于 LPC55S69 主控,使用 3.2 寸觸摸彩屏做為人機交互,旨在讓用戶通過簡單的觸摸即可實現(xiàn)對設備的控制,如控制室內的燈光、音樂、空調等設備。該系統(tǒng)充分發(fā)揮了 LPC55S69 的性能,在 FreeRTOS 系統(tǒng)中,150M 主頻的雙核 M33 通過主核和協(xié)核的相互配合完成系統(tǒng)任務:主核 Core0 用于處理主邏輯,包括顯示圖形處理、觸摸數(shù)據(jù)處理、功能邏輯控制等,在圖形處理中同時引入 PowerQuad 加速計算速度;協(xié)核 Core1 用于刷新彩屏,其通過 MCU 的高速 SPI(50M)+DMA 方式驅動 3.2 寸彩屏,240*320 的彩屏刷新頻率可高達 60Hz 以上。
下面跟著設計者 Jace 來看看項目是如何實現(xiàn)的吧!
本系統(tǒng)在發(fā)揮 LPC55S69 高性能的同時,也使用了它的 POWER 管理功能,以達到性能功耗的平衡。主核在沒有事情處理時就會進入睡眠低功耗模式,此時通過中斷(FreeRTOS 的系統(tǒng) TICK)喚醒。協(xié)核在沒有事情處理時也進入低功耗模式,其通過主核的通知中斷來喚醒。
項目硬件方案說明
本項目主要以 LPC55S69 開發(fā)板為主控 MCU,外加電阻觸目屏及紅外發(fā)射管。
項目硬件清單
MCU 模塊
本模塊可以作為最小系統(tǒng)單獨使用,主控 MCU 為大賽主辦方 NXP 提供的 LPC55S69。
設置參數(shù)
顯示模塊
本模塊采用 3.2 寸 SPI 觸摸顯示屏,板載鋰電池充電電路,USB 供電和電池切換電路,BLE 模組,使用 2.5mm 音頻接口與其他模塊連接并通過 I2C 協(xié)議進行通信;同時使用板對板連接器與 MCU 模塊連接;還有一個功能按鍵。
紅外模塊:
項目所使用到的資源
項目資源分配
MCU 自帶 640KB 的 Flash 和 320KB 的 RAM。MCU 上電后先啟動的 Core0,Core0 將 Core1 的代碼從 Flash 中復制到 RAM 中,將 Core1 從 RAM 啟動。將 RAM 分為 3 個區(qū)域,Ram0 198KB 給 0 使用,Ram1 68KB 給 Core1 使用,rpmsg_sh_mem 6KB 預留給雙核共享內存。FLASH 一共 640KB,現(xiàn)在只使用了前 608KB。Flash 最前面存放 .isr_vector,隨后是編譯到 Ram1 中的 Core1 代碼,再后面是 Core0 的代碼。
資源分配圖
項目軟件框架
本機為全觸摸機器,所有功能操作都只能通過觸摸實現(xiàn)。機器支持左右滑動切換界面,單點打開應用,右滑能出應用,而應用中的操作可以是各式各樣的。
軟件框圖
Core0 通過觸摸輸入、系統(tǒng)事件觸發(fā)調用 GUI 實現(xiàn)界面圖形的處理,處理完成發(fā)送信號給 Core1,Core1 進入刷屏。
雙核通信
雙核之間的通信(叫通知可能更貼切)每次只能傳輸 4 字節(jié),如 Core0 通過把 uint32_t 類型的數(shù)據(jù)給 IRQ1SET 寄存器,Core1 就會產生中斷,在中斷里面通過讀取 IRQ1 寄存器就可以獲取到 Core0 傳過來的 4 字節(jié)數(shù)據(jù)。所以如果要更好的使用雙核,MailBox 要配合共享內存空間使用,才能實現(xiàn)更多功能。
雙核通信分配
組裝實物圖
項目效果展示
專家點評
該作品完成度高,充分利用了雙核和 PowerQuad DSP 的優(yōu)勢,增強了整個設計的計算力以實現(xiàn) HMI 的控制,LCD 刷屏非常流暢,整個作品易于展示,代碼全部開源分享,且創(chuàng)意良好,具有廣泛的市場前景。
彩蛋
同時恩智浦社區(qū)開發(fā)小課堂邀請作者為大家詳細講解該項目的全部內容,想要了解如此炫酷的燈光觸控系統(tǒng),請掃描下方二維碼哦!此外,小課堂還有恩智浦半導體各型號產品的實戰(zhàn)經驗,手把手教學,讓你盡快上手恩智浦半導體各系列產品,敬請關注!
鏈接如下:http://www.nxpic.org/module/forum/forum-1340-1.html
掃碼關注更多小課堂精彩內容:
6 月 29 日:基于 LPC55S69 平臺的多媒體控制系統(tǒng)
7 月 2 日:基于 CNN 的智能垃圾分類及遠程監(jiān)控系統(tǒng)
7 月 7 日:TARM 機械臂下位機控制卡