找回密码
 立即注册
查看: 1555|回复: 11

慢速的串行SPI-TFT彩屏,如何发挥STC32G12K128/STC32G8K64/STC8H8K64U的刷屏极限速度

[复制链接]
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 91 天

    [LV.6]常住居民II

    68

    主题

    599

    回帖

    1870

    积分

    超级版主

    积分
    1870
    QQ
    发表于 2023-8-11 09:21:40 | 显示全部楼层 |阅读模式
    慢速的串行SPI-TFT彩屏,没用16位并口屏,客人问如何发挥
    STC32G12K128/STC32G8K64/STC8H8K64U的刷屏极限速度



    备份(1).zip (12.85 MB, 下载次数: 51) Schematic_串口显示_2023-08-06.pdf (165.87 KB, 下载次数: 60)

    STC32G12K128刷屏速度慢,如何改善-1.png


    热线19952583534
    www.STCAI.com
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 00:44
  • 签到天数: 132 天

    [LV.7]常住居民III

    13

    主题

    52

    回帖

    1368

    积分

    金牌会员

    积分
    1368
    发表于 2023-8-11 09:30:33 | 显示全部楼层
    程序中,使用的是硬件SPI传输数据,但是每个字节都会等待SPI传输完成标志位置1。
    这种写法跟软件模拟SPI速度差距不大。如果能一次传输1组数据就会快很多。
    也就是要改用DMA SPI方式进行传输。

    HSCLKDIV = 3;               //HSPWM/HSSPI时钟源4分频
    SPCTL = (SPCTL & ~3) | 3;   //SPI 时钟频率选择, 0: 4T, 1: 8T,  2: 16T,  3: 2T
    HSSPI_CFG2 |= 0x20;         //使能SPI高速模式

    这里的IO口、SPI时钟都是没设置到最大。而且使能了SPI高速模式。


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9410

    回帖

    1万

    积分

    管理员

    积分
    13962
    发表于 2023-8-11 11:12:10 | 显示全部楼层
    寄给梁工帮忙实际测试下
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 91 天

    [LV.6]常住居民II

    68

    主题

    599

    回帖

    1870

    积分

    超级版主

    积分
    1870
    QQ
     楼主| 发表于 2023-8-11 11:22:40 | 显示全部楼层
    请梁工帮忙修改,挑战刷屏极限
    热线19952583534
    www.STCAI.com
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2997

    回帖

    6757

    积分

    超级版主

    积分
    6757
    发表于 2023-8-11 11:23:28 | 显示全部楼层
    客人用的是SPI串口屏,480*320的屏。
    刷一屏需要写入的数据字节:480*320*2=307200。

    MCU跑32MHz,SPI用2T,则SPI速度为16MHz,
    加上传送数据、函数调用、装载数据、触发SPI、等待完成、函数返回,
    每个字节超过了1us,所以刷新一屏需要500ms以上了,
    就像客人的视频显示的速度,这个是正常的。

    使用DMA传输,可以提速到200ms左右。
    使用高速SPI+DMA,可以提速到100ms,这个要验证。

    其实想速度快,必须使用16位数据的并口屏,可以刷出视频级的,

    可以参考我写的“老梁示波器”的显示波形,就是用480*320 TFT屏的,
    视频级的波形显示。

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9410

    回帖

    1万

    积分

    管理员

    积分
    13962
    发表于 2023-8-11 11:28:48 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 91 天

    [LV.6]常住居民II

    68

    主题

    599

    回帖

    1870

    积分

    超级版主

    积分
    1870
    QQ
     楼主| 发表于 2023-8-11 12:07:56 | 显示全部楼层
    第一版 非DMA模式传输  速度快一点,下午继续,要加DMA
    热线19952583534
    www.STCAI.com
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9410

    回帖

    1万

    积分

    管理员

    积分
    13962
    发表于 2023-8-12 10:03:51 | 显示全部楼层
    DMA-SPI FLASH
    DMA-SPI TFT

    STC32G12K128-35MHz
    1,DMA-SPI-Flash, 到 DMA-SPIx-TFT, 几乎不占CPU时间;
    2,STC32G12K128-35MHz: SPI-FLASH-17.5M bps, SPI-TFT-17.5M bps;
    3, SPI 速度相同的情况下,不管哪种 MCU 速度就是一样的快

    STC32G8K64-42MHz
    1,DMA-SPI-Flash, 到 DMA-SPIx-TFT, 几乎不占CPU时间;
    2,STC32G8K64-42MHz: SPI-FLASH-21M bps, SPI-TFT-21M bps;
    3, SPI 速度相同的情况下,不管哪种 MCU 速度就是一样的快
    ==========================================
    刷 SPI-TFT 只比较 SPI的速度就行了,其他比较都南辕北辙了,
    SPI的TFT屏用320*240比480*320数据量少 50%,用并行 8位/16位为好

    用 SPI-TFT/480*320外行了,用DMA提高主频改成 SPI-TFT/320*240

    ==========================================
    SPI 的速度是极限,不是其他那



    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9410

    回帖

    1万

    积分

    管理员

    积分
    13962
    发表于 2023-8-12 10:33:31 | 显示全部楼层
    STC32G的独立SPI的速度控制
    1.png

    1.png

    STC32G的 USART1 / USART2 支持的 SPI 速度控制
    2.png

    3.png



    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 91 天

    [LV.6]常住居民II

    68

    主题

    599

    回帖

    1870

    积分

    超级版主

    积分
    1870
    QQ
     楼主| 发表于 2023-8-12 10:37:58 | 显示全部楼层
    1.png
    热线19952583534
    www.STCAI.com
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-13 09:46 , Processed in 0.074947 second(s), 73 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表