聚丰项目 > 基于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的显示和触摸屏扫描,显示和触摸是在不同的任务里进行的,任务之间通过邮箱进行通讯。
源代码如下: