梁工 发表于 2024-8-26 15:43:37

SPI-DMA驱动1.3寸彩屏TFT240x240实验程序@Ai8051U-40MHz, 刷屏55ms, ST7789V3

本例程基于Ai8051U为主控芯片的实验箱V1.1版本进行编写测试。
SPI接口 TFT240x240彩屏的显示程序,
通过 SPI-DMA 将3200字节的图片数据送到彩屏,传送时不占用CPU时间。
显示图形,汉字,英文,数字.
TFT240x240彩屏 使用中景园的液晶屏,主控IC型号为ST7789V3。
其中图形显示发送命令使用SPI查询方式(11字节),
图片数据(40x40点3200字节)使用SPI DMA操作,本例运行于40MHz,
每次SPI DMA传输总时间1.52ms(40x40点3200字节),整屏刷新55ms。
将要显示的内容放在定义于xdata的显存中,启动DMA传输即可。
下载时, 选择时钟 40MHz (用户可自行修改频率后重新编译即可).
TFT240x240彩屏@Ai8051U, DMA-SPI 刷屏,40MHz














21cnsound 发表于 2024-8-26 16:28:39

本例运行于40MHz, 每次SPI DMA传输总时间3.12ms(40x40点3200字节).--------320fps,高刷视频级{:4_174:}

梁工 发表于 2024-8-26 16:36:49

21cnsound 发表于 2024-8-26 16:28
本例运行于40MHz, 每次SPI DMA传输总时间3.12ms(40x40点3200字节).--------320fps,高刷视频级 ...

这是刷40x40点的小图片的时间,一屏刷36个小图片,大约115ms,平均大约1us一个字节。

NTC 发表于 2024-8-26 16:42:45

抽空搬到屠龙刀试试

soma 发表于 2024-8-26 16:48:02

115ms也很快,1s可以刷9次

21cnsound 发表于 2024-8-26 17:12:56

梁工 发表于 2024-8-26 16:36
这是刷40x40点的小图片的时间,一屏刷36个小图片,大约115ms,平均大约1us一个字节。 ...

是我没看清楚你的描述,9fps对一般应用足够了。
要实现高刷还是要i8080/m6800并口+DMA专用接口。

梁工 发表于 2024-8-26 17:20:44

21cnsound 发表于 2024-8-26 17:12
是我没看清楚你的描述,9fps对一般应用足够了。
要实现高刷还是要i8080/m6800并口+DMA专用接口。 ...
单片机用的各种屏,常用接口有I2C、SPI、8位数据并口、16位数据并口,
要更快的并口驱动可以参考我的建议示波器的例子,
16位数据口TFT480x320,显示刷出视频级的效果。

梁工 发表于 2024-8-26 17:22:02

soma 发表于 2024-8-26 16:48
115ms也很快,1s可以刷9次
SPI屏好在引脚少,不需要快速刷屏的,就很好用,市场上用量也很大的。

zhangjsh 发表于 2024-9-2 15:38:54

请问梁工:如果采样16位RGB方式可以达到最短传输480X400的一帧图像大约多长时间?

梁工 发表于 2024-9-2 16:45:58

zhangjsh 发表于 2024-9-2 15:38
请问梁工:如果采样16位RGB方式可以达到最短传输480X400的一帧图像大约多长时间? ...

大数据量的,如果原始数据在外挂的FLASH,可以使用QSPI DMA访问FLASH,点对点DMA传输到TFT480X400,QSPI DMA访问FLASH,目前我们测试最快可以在40MHz、4分频下,得到10MHz的QSPI时钟,DMA时每8个QSPI时钟会增加一个QSPI时钟用于处理数据,即4字节9个QSPI时钟,或者说,4字节耗时0.9us,则数据率为4.44MB/S。
TFT480X400一幅图要384KB,耗时大约86.5ms。
页: [1] 2 3
查看完整版本: SPI-DMA驱动1.3寸彩屏TFT240x240实验程序@Ai8051U-40MHz, 刷屏55ms, ST7789V3