qqTOTORO 发表于 2024-4-2 21:59:39

LCD刷新SPI+DMA和16bit并口哪种快

        LCD驱动芯片是ST7365P,分辨率480*320, 主控芯片是160M主频,支持4线SPI半双工通讯,如果同样的芯片跟16bit 并口方式刷屏幕相比,哪种方式理论上可以达到更高的刷新频率呢

ibmx311 发表于 2024-4-2 22:50:02

同样的时钟下,并口当然比串口快虽然spi是同步的串行协议但也不能和并口比啊。但往往并口的时钟上不去,那再慢的串口也比极慢时钟的并口快。阿波罗飞船登月单片机和现在比慢多了,主要就是用了并口

czzhouyun 发表于 2024-4-2 23:21:34

何必纠结呢,测试过esp32 spi刷新480320屏,速度能达到75M,stm32刷新320240并口16bit刷新也略有卡顿,这个因素很多,合适即可,没有谁更优秀

tomzbj 发表于 2024-4-3 09:40:25

16位色, SPI+DMA理论最快可以做到33-34个时钟周期写一个像素(SPI时钟是主频一半,16个SPI时钟一个像素,加上协议消耗)

16位FSMC+DMA可以做到10-12个时钟周期写一个像素 (F103,F4xx也许可以更快点)

16位GPIO+达夫设备也可以做到10-12个时钟周期,但是没法DMA,实际上比FSMC+DMA慢多了。

Elex 发表于 2024-4-3 11:02:34

czzhouyun 发表于 2024-4-2 23:21
何必纠结呢,测试过esp32 spi刷新480320屏,速度能达到75M,stm32刷新320240并口16bit刷新也略有卡顿,这个 ...
(引用自3楼)

做过产品你就知,并口比SPI好使多了,特别是做全幅动画的时候
即使你的SPI速度能达到75M,但综合算下来屏幕刷新率基本达不到20fps以上的,如果使能TE检测就更慢了,全屏动画明显跳动不流畅

像ESP32内存小而它的底层要搬两三次图像缓存数据到SPI,官方驱动需要修改才能快一点,但显示480320全幅基本上要分割屏幕来刷新了

PPS 发表于 2024-4-3 11:10:29

这个除了看每次传输的位数外,还要看SPI和并口的频率,刷新频率是可以大概计算出来的。

qqTOTORO 发表于 2024-4-3 11:17:13

Elex 发表于 2024-4-3 11:02
做过产品你就知,并口比SPI好使多了,特别是做全幅动画的时候
即使你的SPI速度能达到75M,但综合算下来屏 ...
(引用自5楼)

感谢分享,液晶屏TE信号主要起做什么用,防止显示出现切割吗

Elex 发表于 2024-4-3 11:44:53

qqTOTORO 发表于 2024-4-3 11:17
感谢分享,液晶屏TE信号主要起做什么用,防止显示出现切割吗
(引用自7楼)

帧同步信号,检测到这个信号才发送显示内容数据。如果显示屏的内容正在刷新过程中被MCU中途写了不同的内容,显示屏可能会闪;如果是全屏显示就可能会出现切割现象

qqTOTORO 发表于 2024-4-15 14:01:18

Elex 发表于 2024-4-3 11:02
做过产品你就知,并口比SPI好使多了,特别是做全幅动画的时候
即使你的SPI速度能达到75M,但综合算下来屏 ...
(引用自5楼)

现在用160M的主控16bit并口跑起来了,实际测试帧率只有12帧{:2_29:} 。要提升刷新帧率,有什么好办法吗?

Elex 发表于 2024-4-16 12:46:02

qqTOTORO 发表于 2024-4-15 14:01
现在用160M的主控16bit并口跑起来了,实际测试帧率只有12帧 。要提升刷新帧率,有什么好办法吗? ...
(引用自9楼)

看具体什么MCU,不带外部FSMC+DMA的话可能要分析具体代码,修改底层:减少内存搬运;不用HAL之类的库,直接写IO的寄存器;调整IO的连接使得图像数据不需额外处理就可以直接送到IO接口。

1a2b3c 发表于 2024-4-16 13:17:20

spi的速度自己设置的肯定知道,并口的总线速度也是可以设置那些延迟啊什么的,这样就大致可以计算了
如果觉得算不出来,示波器看一下串口/并口的信号知道了,spi就看clk,并口就看那些写脉冲,
页: [1]
查看完整版本: LCD刷新SPI+DMA和16bit并口哪种快