浦江一水 发表于 2024-11-10 16:28:42

基于AI8051U_V1.2实验箱_学习实验之驱动TFT彩屏显示全屏图片(QSPI_DMA_P2P)(已优化)


基于Ai8051U实验箱,TFT彩屏-240*320, 显示全屏图片
=== QSPI - DMA - i8080并行接口/TFT, P2P
=== QSPI直接读外部串行Flash的图片文字,W25Q128, 16M
         直接DMA送 i8080并行接口/TFT彩屏 显示
         外设直接送外设,解放 CPU 去做其他更重要的事
新增【屏幕菜单命令】显示,【外部机械按键】选择菜单命令执行
===若选用冲哥的触摸屏,即可实验触摸选单功能,可实现机械按键触摸屏双用
按键定义
实验箱配置了2.4”_320*240彩屏,而一幅满屏图片(16位色)
数据量是320*240*2=153600字节,无论是存储或建立缓存,
MCU片内都无法实现,更无可能实现多幅图片的显示了。
好在实验箱配置了W25Q128存储芯片,为本实验提供的条件。

近日学习官方例程,实验了一下用QSPI_DMA_P2P方式显示全屏图片。
在原例程的基础上,稍作了改编。
先要把图片文件下载到实验箱的外部Flash存储器(W25Q128)中去
学习了一下ISP软件中的Flash编辑器的使用。
然后实验程序用QSPI_DMA_P2P方式读取图片数据直接送TFT彩屏显示,
以达到高效显示效果,体现了AI8051U的强劲能力。

/****实验说明    *****************************

本实验基于AI8051U_V1.2实验箱。

本实验是在官方例程"72.4-QSPI-TFT_DMA_P2P外设到外设_显示
视频级动画效果程序-ILI9341"的基础上改变而来:

1,建立下拉菜单,启用键盘操作;(上下键选项,OK键执行各功能);
2,实现浏览翻阅静态图片功能,(上下键切后翻阅全屏图片显示,OK键退出,返回主菜单);
3,保留原例程功能:动态图片循环显示,类似动画视频;(用OK键退出,返回主菜单);
    下载新图片后,无需重启,即可播放动画;
4,不必重启即可进入下载刷新Flash存储器图片;(选择“刷新图片”项,OK进入,OK退出)。
5,必须使用USB数据通讯线连接电脑供电运行(有待进一步学习研究...完善)。

下载图片文件时,上位机使用Ver6.94U(以上)版软件-串口Flash编辑器-执行“打开多文件”操作。

关于W25Q128存储器读写,以及下载刷新图片操作(为配合上位机通讯协议),完全使用官方例程代码。

显示图片时,QSPI读取Flash图片数据,通过DMA_P2P 直接发送数据到LCM显示。
QSPI一次读取Flash与LCM显示DMA的数据长度设置51200字节,一幅全屏图片需要DMA三次传输完成。

程序下载时, 建议选择时钟 35MHz (较40MHz显示动画稳定些)
**********************************************************/

实验视频:


工程文件包:供有兴趣的爱好者下载参考和指正。

(已经优化)









神农鼎 发表于 2024-11-10 17:47:41

Ai8051U-LQFP48比普通 M0/M3,如 32F103C8T6 强太多的地方:
1,Ai8051U有TFPU@120MHz, 算力比他强, uS级硬件三角函数/浮点运算器;
2,Ai8051U的抗干扰比他强;
3,Ai8051U的内部复位是专业级的复位电路,彻底省外部复位;
4,Ai8051U的内部时钟完全满足串口通信要求,4组串口;
5,Ai8051U-LQFP48有 QSPI, i8080/M6800-TFT 接口,32F103C8T6没有;
6,Ai8051U的PWM支持硬件移相@120MHz
7,Ai8051U是 34K SRAM
8,Ai8051U是 自带硬件USB, 1个芯片就能直接USB连接电脑仿真/下载,全球唯一

Ai8051U-LQFP48, RMB2.3含税

浦江一水 发表于 2024-11-10 21:07:57

补充说明几句:
1, 定义使用了实验箱上四个独立键。
      上、下、右、OK(确认),本实验在浏览图片时, 仅用到了上、下、OK三个键。右键保留。
   原设想是可利用此四键,配合屏幕显示,实现数据和字符串的对话输入。
   比如: 在浏览前,可用于图号输入,在范围内跳转显示图片。(右上显示图号)
                在下载图片时,可输入图号或地址,指定刷新区域。
                在播放动画前,可输入图号区间,指定播放范围。
                目前暂无上述功能。
2,下拉菜单,可增减项目,目前[系统维护]项,仅抽象保留,暂无功能分配,以备扩充功能。
3,进入[刷新图片]功能后,底部显示字符串 “USB_CDC_Flash_QSPI_W25Q128...”,
   表示已经进入与上位机通讯阶段了。(随时可按OK键退出,返回主菜单)
   此时,就是用AIapp-ISP-V6.94X软件, 工具菜单 中的【串行Flash编程器】来对实验箱的W25Q128存储器操作了。
    (可执行查询ID、查空、读取数据、编程数据...等等操作)。


         

ercircle 发表于 2024-11-11 19:29:15

请问这个触摸屏在哪买?{:5_284:}

浦江一水 发表于 2024-11-11 21:45:11

ercircle 发表于 2024-11-11 19:29
请问这个触摸屏在哪买?

谢谢您的浏览和留言。
本实验还没有涉及的触摸屏功能。
这个屏是以前在“轩特佳电子”买的,不完全适用于这个AI8051U实验箱。
为什么呢?正在研究中....

ercircle 发表于 2024-11-11 21:51:30

浦江一水 发表于 2024-11-11 21:45
谢谢您的浏览和留言。
本实验还没有涉及的触摸屏功能。
这个屏是以前在“轩特佳电子”买的,不完全适用于 ...

{:5_284:}好的,加油~

胡嘉鑫 发表于 2024-11-13 22:07:52

确实好玩

电子创客 发表于 2025-1-7 12:35:23

楼主,你好。 感谢你提供的资料。
我现在用你提供的例程运行了一下,发现了一个问题。 只要当浏览一次图片后,就无法正常使用刷新外部FLASH的功能了,通信也无法连接,按键也无效,感觉直接死机了。   如果开机不打开浏览图片,则可以进行外部FLASH的操作。
应该是QSPI-2-LCM的配置冲突了,目前有找到解决办法吗。

浦江一水 发表于 2025-1-7 21:34:20

电子创客 发表于 2025-1-7 12:35
楼主,你好。 感谢你提供的资料。
我现在用你提供的例程运行了一下,发现了一个问题。 只要当浏览一次图 ...
谢谢这位坛友的浏览和留言.
本实验确实存在这样的问题,并不完美,如果将这种方案用于实际产品,肯定的是不行的.
初步感觉是Flash模式(使用USB-CDC)和QSPI读写模式之间在某个环节存在冲突.
回顾官方例程72.4, 是在启动时利用P33按键,来区分两种模式,两者必取其一,
可能也是为了避免这种冲突. 本实验的初衷是想突破这种局限,更趋于实用性.
看来,并不成功.
还有待再学习和研究了....

电子创客 发表于 2025-2-5 16:52:09

浦江一水 发表于 2025-1-7 21:34
谢谢这位坛友的浏览和留言.
本实验确实存在这样的问题,并不完美,如果将这种方案用于实际产品,肯定的是不 ...
楼主这个问题有解决吗?
目前我这边只要使用QSPI-DMA-TFT刷屏后,
连25q128里面的字库都读不出来了。
只要不进行图片刷屏字库才能正常显示,
不知道哪里出现了冲突

页: [1] 2 3
查看完整版本: 基于AI8051U_V1.2实验箱_学习实验之驱动TFT彩屏显示全屏图片(QSPI_DMA_P2P)(已优化)