hpm6750这个lcdc外设功能是比较完善丰富的,而且sdk的底层接口大多比较完整,基本可以无需接触寄存器直接看接口定义即可。
hpm6750的时钟源来源与PLL4CLK0,也就是594MHz,分频系数相当自由,范围为1~256分频。像素时钟范围是极其宽松的,这也大大扩大了不同的LCD所满足的相关时序参数,
先看效果:
本贴为了方便验证lcdc外设刷屏性能,刚好hopm6750evkmini有带了sd卡,直接就是读取sd卡的rgb数据文件,然后读取每帧RGB565数据推给lcdc的显存进行刷新。
那么怎么提取rgb数据呢,楼主比较喜欢用ffmpeg进行转换,可以使用mp4文件转换为指定分辨率的rgb数据文件。楼主使用的是800*480分辨率的RGB屏幕,转换命令如下:
然后在之前的移植工程中以及官方sdk相关驱动配合起来,分别在SD卡读取耗时,lcdc数据刷屏耗时,整体播放的耗时(sd卡读耗时+lcdc刷屏耗时)。得出以下数据:
从下图可知,sd卡读取速度一帧大概需要37ms,一帧数据为800*480*2字节,也就是750k,耗时37ms,速度大概20MB/S以上的速度,这个跟理论速度25MB/S已经差不多了。
lcdc刷屏一帧800*480分辨率图片耗时6到7ms,也就是可以达到166fps+
两者耗时加起来,总共刷屏23fps。
后续官方支持了100M时钟的SD外设,SD读取速度可以60MB/S也是没啥问题的,刷屏起来60fps+,甚至100fps是没什么压力。