找回密码
 立即注册
搜索
热搜: RA8889 RA8876 RA8875
查看: 71|回复: 1

RA8889芯片咨询

[复制链接]

1

主题

0

回帖

15

积分

新手上路

积分
15
发表于 2024-9-9 09:41:07 | 显示全部楼层 |阅读模式
你好,

我们有一个工控项目需要高质量的UI显示和交互,屏幕分辨率为640x480,色深为24bit,刷新率为60FPS。目前考虑使用RA8889芯片,现在有一些问题想咨询:

1. MCU端口速率

我们使用的主芯片有高速16位MCU 8080接口,速率能到大约60MByte/每秒(单位是字节,换算成比特是480Mbps)。请问RA8889能否按照这个端口速率接收由主芯片传输过来的像素数据?

2. 2D图形处理速度
比如说,我有一个640x480 ARGB8888的材质图存放在RA8889的不可见内存区域,现在我要将它进行ROP操作后显示在屏幕的可见区域内。请问该操作的最大耗时是多少?是否会导致可见的屏幕撕裂?

3. 多缓冲模式
由于RA8889有128Mbit(16MB)的显存,而我们的屏幕分辨率只有640x480,按照ARGB8888像素格式来存储,一屏只有1.2288MB的数据量。能否设置多个屏幕区域,由RA8889依次显示在屏幕上?要求是每一帧切换一个buffer,至少能在两个buffer间切换,中间不能有停顿或者造成屏幕撕裂。

4. 色彩空间转换
我们的屏幕会工作在24bit色深模式下(RGB888),RA8889的内置像素格式应该会设置为ARGB8888。此时RA8889能否将主芯片上传的非ARGB8888像素格式的材质(如:RGB565,YUV420)转换成ARGB8888后显示?如果可以,该操作的最大耗时是多少?


非常感谢。


45

主题

3

回帖

490

积分

管理员

积分
490
QQ
发表于 2024-9-14 10:27:58 | 显示全部楼层
RA8889的写入速度并非是固定的,因为会取决於Function动作消化资料的时间,所以需要checkBusy.

若8080并列传输单纯只考虑写入资料的速度,可以简单计算如下(SystemClock=120MHz为例,最高为133MHz):
每个WriteCycle的间距时间=5*(1/SystemClock)=5*(1/120MHz)=约41.67ns
WriteCycle频率=1/41.67ns=约24MHz
每秒的资料量=24MHz*2Bytes=48MBytes
48MBytes是RA8889最快写入速度理论值,实际上会少於这速度,另外,还要加上不定时的checkbusy时间,速度又会慢更多。

MCU写资料没有中断功能,RA8889的中断功能在Page0寄存器0Bh、0Ch有列出,这些Function有支持中断,
若要写完一个画面产生中断,建议可以使用BTE MPU Write的功能,BTE完成后会产生中断,
在应用时,若要使用two buffer切换功能,还要再check VSYNC信号,在VSYNC运行到non-display区再进行buffer显示切换,这样避免画面产生破碎现象。

以往使用STM32F407点640x480 16bpp的Camera应用为例,极限每秒大概25张(FPS:25).
若使用24bpp(RGB:888)或32bpp(ARGB:8888)资料格式,除了传输资料时间比较久,BTE处理的时间也比较久,FPS可能会低到个位数,
这方面经验较少,仅从理论上进行分析,有待实际测量看看。

进行资料写读比对,建议使用下面的步骤测试:
一开始先不要使用XnWAIT功能,先断开MPU与RA8889XnWAIT信号,并放慢速度,先以Check Busy的方式确定写与读的程序是正确的,
资料也能比对正确,再将XnWAIT接上,将Check Busy的方式取消,再看资料比对是否正常,若不正常,建议
量XnWAIT与8080相关信号(CS、WR、RD、DATA),看看8080相关信号是否有随着XnWAIT的动作进行等待延展,
另外寄存器PAGE0 REG[01h]的bit6有XnWAIT的相关设定,通常是设定0:Nomask
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Lcdvision Technology ( 苏ICP备10203891号 )

GMT+8, 2024-10-7 03:27 , Processed in 0.074434 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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