amobbs.com 阿莫电子技术论坛

标题: LCD刷新SPI+DMA和16bit并口哪种快 [打印本页]

作者: qqTOTORO    时间: 2024-4-2 21:59
标题: LCD刷新SPI+DMA和16bit并口哪种快
        LCD驱动芯片是ST7365P,分辨率480*320, 主控芯片是160M主频,支持4线SPI半双工通讯,如果同样的芯片跟16bit 并口方式刷屏幕相比,哪种方式理论上可以达到更高的刷新频率呢
作者: ibmx311    时间: 2024-4-2 22:50
同样的时钟下,并口当然比串口快虽然spi是同步的串行协议但也不能和并口比啊。但往往并口的时钟上不去,那再慢的串口也比极慢时钟的并口快。阿波罗飞船登月单片机和现在比慢多了,主要就是用了并口
作者: czzhouyun    时间: 2024-4-2 23:21
何必纠结呢,测试过esp32 spi刷新480320屏,速度能达到75M,stm32刷新320240并口16bit刷新也略有卡顿,这个因素很多,合适即可,没有谁更优秀
作者: tomzbj    时间: 2024-4-3 09:40
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
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
这个除了看每次传输的位数外,还要看SPI和并口的频率,刷新频率是可以大概计算出来的。
作者: qqTOTORO    时间: 2024-4-3 11:17
Elex 发表于 2024-4-3 11:02
做过产品你就知,并口比SPI好使多了,特别是做全幅动画的时候
即使你的SPI速度能达到75M,但综合算下来屏 ...
(引用自5楼)

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

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

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

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

看具体什么MCU,不带外部FSMC+DMA的话可能要分析具体代码,修改底层:减少内存搬运;不用HAL之类的库,直接写IO的寄存器;调整IO的连接使得图像数据不需额外处理就可以直接送到IO接口。
作者: 1a2b3c    时间: 2024-4-16 13:17
spi的速度自己设置的肯定知道,并口的总线速度也是可以设置那些延迟啊什么的,这样就大致可以计算了
如果觉得算不出来,示波器看一下串口/并口的信号知道了,spi就看clk,并口就看那些写脉冲,




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4