聚豐項目 > 基于AB32VG1開發板的電子閱讀器
本閱讀器使用中科藍訊RISC-V內核MCU AB32VG1作為主控芯片實現對SD卡里的txt格式的文件的讀取并顯示。主要特點如下: 1、 采用一塊2.8寸的TFT作為人機交互,利用觸摸屏實現電子圖書的導入,顯示,上翻頁,下翻頁等功能。其中,為了減少IO資源的占用,本設計沒有采用傳統的8080并口TFT方案,而是采用了四線SPI接口顯示方案,缺點是刷新率太低,軟件模擬的SPI方案更加凸顯了這種缺點(前期該芯片的硬件SPI并沒有對外開放)。 2、 為了能夠顯示中文漢字,本設計中加入了GBK中文字庫,使得本系統能夠顯示幾乎所有的中文漢字。GBK中文字庫文件的大小為幾百k,顯然直接存放在mcu內部flash并不可能實現,然而,AB32VG1開發板并沒有外擴flash,那如何才能實現字庫文件的存放呢?最終,我們使用的方法是,將字庫文件存放在SD卡里面,需要顯示中文漢字的時候,從SD卡里面讀取對應漢字的中文碼就可以了。通過這種巧妙的方法實現中文漢字的友好顯示。 3、 本設計使用RT-Thread實時操作系統作為載體,提高了MCU的資源利用率,使開發更簡單。
vala
分享vala
團隊成員
vala 嵌入式軟件
1. 主控采用中科藍訊開發板AB32VG1,AB32VG1是基于RISC-V內核的MCU,最高120MHz系統主頻,8Mbit的flash和192KB的RAM,對于這樣一個配置,跑rt-thread和一些簡單的GUI庫都毫無壓力。
2. 對于LCD的顯示,為了節省IO引腳資源,本方案采用SPI方式進行通訊。
3. LCD屏已經集成了觸摸芯片,也是通過SPI的方式與MCU通訊。
4. LED則使用板載的LED燈,主要功能是指示程序的運行狀態。
模塊 | 名稱 | 功能 | MCU引腳 | 備注 |
LCD | CLK | SPI時鐘信號 | PE6 | |
MOSI | SPI主機輸出引腳 | PE1 | ||
RESET | LCD復位引腳 | PA1 | ||
DC | 數據/命令控制信號 | PE7 | ||
MISO | SPI主機輸入引腳 | PA0 | ||
CS1 | LCD片選 | PE0 | ||
觸摸 | CS2 | 觸摸芯片片選 | PE3 | |
PEN | 觸摸中斷信號 | PE2 | ||
LED | LED | 指示燈 | PE4 | |
PC | TX | PC發送 | PA7 | USART1 |
RX | PC接收 | PA6 |
軟件部分主要分為4個TASK,分別為main,sd_mount,task_display,task_touch_scan。功能如下:
Main :功能初始化,郵箱初始化
sd_mount:實現SD卡的掛載
task_display:實現LCD的顯示
task_touch_scan:實現觸摸屏的檢測
上電首先進行相關外設的初始化,然后是sd卡的掛載,掛載成功后進行LCD的顯示和觸摸屏掃描,顯示和觸摸是在不同的任務里進行的,任務之間通過郵箱進行通訊。
源代碼如下: