服務(wù)熱線
0755-83044319
發(fā)布時(shí)間:2024-11-15作者來源:薩科微瀏覽:626
歷經(jīng)四個(gè)月的Fastbond第三季活動(dòng)現(xiàn)已圓滿結(jié)束,項(xiàng)目審核結(jié)果已郵件告知大家,感謝硬禾小伙伴們的踴躍參與,帶來了超多精彩項(xiàng)目,期待接下來的獎(jiǎng)勵(lì)返還。
今年FastBond3活動(dòng)小伙伴們又提供了不少新創(chuàng)意,硬件上不止有強(qiáng)大的功能,還有精美的外觀,妥妥的產(chǎn)品級設(shè)計(jì)。這個(gè)由【pomin】帶來的一線通高刷監(jiān)控副屏設(shè)計(jì)便讓人眼前一亮,是一款高刷新率、高自由度、具有觸摸功能、低成本、易操作的監(jiān)控小屏。
完整項(xiàng)目報(bào)告已經(jīng)上傳至電子森林:
https://www.eetree.cn/project/3544
背景介紹
如今電腦配件廠商都在推出一些帶屏外設(shè),主要面向給極客玩家、DIY 玩家,裝扮自己的電腦主機(jī)和桌面,置于顯示屏下方的小監(jiān)控屏就是其中很受歡迎的一類產(chǎn)品。如今市場上的“監(jiān)控小屏”類外設(shè)當(dāng)前主要有以下三種方案:
經(jīng)過比較不難發(fā)現(xiàn)以上三種方案均有一定缺點(diǎn),針對上述問題,本創(chuàng)意首次提出了如下方案:
使用 USB HS 轉(zhuǎn) SPI、I2C、UART專用芯片搭配 IO 拓展芯片實(shí)現(xiàn)高速驅(qū)屏、電容觸摸。
使用 I2C 環(huán)境傳感器獲取當(dāng)前室內(nèi)溫濕度,可拓展工作臺溫濕度監(jiān)控等功能。
直接使用電腦運(yùn)行 LVGL,無 Flash 限制!無 RAM 限制!搭配 LVGL 設(shè)計(jì)器實(shí)現(xiàn)炫酷界面!
通過 WMI 等方式直接讀取電腦狀態(tài),無需反復(fù)配網(wǎng)、配置,直接運(yùn)行 exe 完成操作。
依靠上述方案實(shí)現(xiàn)了一個(gè)低成本、高性能、易操作的監(jiān)控小屏項(xiàng)。項(xiàng)目具體實(shí)現(xiàn)過程請大家接著往下看。
硬件設(shè)計(jì)
首先一起來看看該項(xiàng)目實(shí)現(xiàn)的框圖設(shè)計(jì)吧!
方案介紹如下:
通過 USB 轉(zhuǎn)高速 SPI(60Mbps)驅(qū)動(dòng) SPI 小屏幕顯示,實(shí)現(xiàn)高刷新率
通過 USB 轉(zhuǎn) I2C 讀取 TOUCH 芯片、溫濕度芯片實(shí)現(xiàn)觸摸、監(jiān)測環(huán)境溫濕度的功能
通過 USB 轉(zhuǎn)高速 UART(6Mbps)和STM32通訊,實(shí)現(xiàn)IO、PWM拓展功能
器件列表
IO 拓展器硬件設(shè)計(jì)
對于 STM32 端的 IO 分配使用 CubeMX 來完成分配,如下所示:
PA13、PA14 作 SWD 燒錄引腳
PA0、PA1、PA4、PA5 作為 GPIO 輸出引腳、PA6、PA7、PA11、PA12 作為 GPIO 輸入引腳
PB1 作為 PWM 輸出引腳、頻率為 10KHz
PA2、PA3 作為 USART1 通信引腳與 CH347T 通訊
原理圖設(shè)計(jì)
原理圖采用 KiCAD 進(jìn)行設(shè)計(jì),CH347T、FPC 等部分封裝為手動(dòng)創(chuàng)建,非系統(tǒng)原理圖庫。硬件設(shè)計(jì)相關(guān)文件可查看項(xiàng)目報(bào)告原文附件。
原理圖介紹:
Type-C 及供電電路
CH347T 與 STM32 通過 UART 連接
CH347T 與 HS3001 通過 I2C 連接
觸摸屏通過 SPI、I2C、GPIO、PWM 與 CH347T 和 STM32 連接
PMOS 控制 STM32 電源電路——當(dāng) CH347T 建立 USB 連接后 ACT 拉低,STM32 工作;斷開連接(但不斷電)后 ACT 拉高,STM32 不工作,LCD_BL 拉低,實(shí)現(xiàn)了電腦休眠時(shí)自動(dòng)熄滅屏幕的功能
PCB設(shè)計(jì)采用了雙層布局(設(shè)計(jì)文件可)。此外本項(xiàng)目還設(shè)計(jì)了一個(gè)簡潔的外殼,為HS3001溫濕度傳感器預(yù)留了通風(fēng)縫隙以確??諝饬魍ǎ鈿づc屏幕緊密貼并留有 Type-C 的接口槽孔。
軟件設(shè)計(jì)
IO拓展器
IO 拓展器采用 modbus 協(xié)議與 PC 端軟件通訊,來完成對 MCU 的 IO 輸入輸出、PWM 占空比進(jìn)行讀寫操作,本項(xiàng)目是在 STM32G030F6P6 端移植了 FreeModbus 的協(xié)議棧以實(shí)現(xiàn) PC 和 STM32 的通訊。
modbus 是工業(yè)中常用的一種標(biāo)準(zhǔn)的通信協(xié)議,有二進(jìn)制變量(線圈、離散量)和雙字節(jié)變量(輸入寄存器、保持寄存器)四種類型,在工業(yè)中廣泛用于 IO 控制、數(shù)據(jù)同步等許多應(yīng)用,在本項(xiàng)目中的 IO 操作、PWM 占空比設(shè)置十分合適,上下位機(jī)的代碼也可以利用開源庫,易于實(shí)現(xiàn)。
PC端
IO 拓展器通訊 API
與 IO 拓展器的通訊使用 libmodbus 來實(shí)現(xiàn),對于讀 IO 輸入對應(yīng)為 modbus 讀輸入寄存器操作,寫 IO 輸出和 PWM 占空比對應(yīng)寫保持寄存器操作。
SPI、I2C 通訊 API
對于 SPI、I2C 的通訊,沁恒已經(jīng)封裝成了 DLL 庫,只需調(diào)用即可,但仍較為復(fù)雜,本項(xiàng)目對其進(jìn)行了一些簡化封裝,具體代碼比較繁多,在此不做過多展示。
驅(qū)動(dòng)封裝
對于觸摸屏的驅(qū)動(dòng)芯片,也就是 ST7789,采用四線 SPI 通訊方式,其中 D/CX 引腳為 IO 拓展器的 IO 輸出腳,用前文的 libmodbus 進(jìn)行操作,其他的 SCL、SDA、CSX 為 SPI 標(biāo)準(zhǔn)信號線,使用 CH347T 庫進(jìn)行操作,搭配操作實(shí)現(xiàn)高速刷屏。
對于觸摸屏的 FT6236 觸摸芯片和 HS3001 溫濕度傳感器,都采用 I2C 的通訊方式,使用 CH34T 庫進(jìn)行操作。
對于 PC 的狀態(tài)信息讀取采用 Windows 給出的一些 API 和開源的一些庫代碼來完成,目前支持了 CPU 溫度/占用率、GPU 溫度/占用率、主板溫度、內(nèi)存占用率這幾個(gè)信息的讀取。
LVGL 界面設(shè)計(jì)
完成硬件信息的讀取之后,接下來就要將其展示出來并且可供用戶操作。本項(xiàng)目采用了現(xiàn)在[敏感詞]的 LVGL 來作為界面庫使用,主要包含有顯示驅(qū)動(dòng)接口和輸入驅(qū)動(dòng)(在此為觸摸)接口。
界面設(shè)計(jì)是使用的 GUI Guider 進(jìn)行的設(shè)計(jì),圖標(biāo)來自 iconfont,整體設(shè)計(jì)界面如下:
由于篇幅原因,軟件設(shè)計(jì)部分代碼細(xì)節(jié)不在此做過多展示,詳情可點(diǎn)擊“閱讀原文”查看。
實(shí)物展示
PCB和2.4 寸的觸摸屏鐵框完美契合,裝上外殼,完美貼合。
通電效果展示(小米溫濕度計(jì)合影)
功能實(shí)現(xiàn):支持時(shí)間、電腦CPU、GPU溫度&占用率、環(huán)境溫濕度數(shù)據(jù)監(jiān)測及顯示,還能一鍵觸屏快速啟動(dòng)Keil / VScode,具體演示可詳見項(xiàng)目視頻。
設(shè)計(jì)文件獲取
本項(xiàng)目對本項(xiàng)目感興趣的小伙伴可前往電子森林查看完整項(xiàng)目報(bào)告,附件中可獲取項(xiàng)目設(shè)計(jì)相關(guān)文件。(還可以在評論區(qū)和原作者交流哦~)
免責(zé)聲明:本文采摘自“硬禾學(xué)堂”,本文僅代表作者個(gè)人觀點(diǎn),不代表薩科微及行業(yè)觀點(diǎn),只為轉(zhuǎn)載與分享,支持保護(hù)知識產(chǎn)權(quán),轉(zhuǎn)載請注明原出處及作者,如有侵權(quán)請聯(lián)系我們刪除。
友情鏈接:站點(diǎn)地圖 薩科微官方微博 立創(chuàng)商城-薩科微專賣 金航標(biāo)官網(wǎng) 金航標(biāo)英文站
Copyright ?2015-2024 深圳薩科微半導(dǎo)體有限公司 版權(quán)所有 粵ICP備20017602號-1