seasung 发表于 2013-7-7 18:17:10

fpga如何点亮1080*1920手机屏

各位大牛,小弟最近遇到一个问题,手中有个1080*1920分辨率60Hz的手机屏,手机屏的扫描格式是一行1080个点,扫描1920行,要通过fpga给数据给手机屏显示,但是给fpga的数据格式是CEA标准的1920*1080 60hz的数据,直接将1920*1080的数据给手机屏好像有问题,不显示。这里我是不是要写个转换模块将1920*1080的标准CEA时序转换成手机屏的1080*1920显示格式才行啊,但考虑到是全高清,扫描频率很快,这个转换模块又不知道从何入手。不知各位大牛有什么建议可以指点指点我啊,小弟刚毕业,经验很缺乏啊。刚注册,莫元不多啊,还请大家不要介意,意思意思。

wye11083 发表于 2013-7-7 19:13:28

首先,找屏的资料,看是否能设置起始点位置。其次,考虑SDRAM缓冲。需要2MB-4MB空间。

seasung 发表于 2013-7-7 22:03:17

wye11083 发表于 2013-7-7 19:13 static/image/common/back.gif
首先,找屏的资料,看是否能设置起始点位置。其次,考虑SDRAM缓冲。需要2MB-4MB空间。 ...

你好,这个设置起点位置可不可以这样理解,首先假定手机屏是竖着放的,从左上角点开始,从左向右,从上向下,这样是不是表示此事手机屏需要的数据格式是1080*1920的;如果从右上角开始,从上向下,从右向左,这样是不是表示此时手机屏需要的数据格式是1920*1080的。如果手机屏不可以设置起始点和扫描方式,这样是不是就必须先将1920*1080的标准格式转换成1080*1920的,我手中的手机屏起始点是左上角,扫描时从左向右,从上向下。格式转换有什么好的方法么,FHD的扫描速度很快,一直没想到方法来解决这个问题,{:cry:}

Nuker 发表于 2013-7-7 22:28:06

如果1920*1080*60*3(rgb)只读刷屏,带大约等于360M字节/秒,再加上30FPS的写,最少需要540MB/S的带宽,133M的SDRAM至少需要32bit以上,考虑余量,SDRAM至少要166M*32bit

1ongquan 发表于 2013-7-7 22:57:52

这个屏的接口一般会是LVDS,先看看屏的手册再说

seasung 发表于 2013-7-7 23:28:58

屏的接口是mipi的,我这问题是数据源是1920*1080p的,而屏的刷新格式是1080*1920的,用的是ssd2828这款rgb转mipi芯片,我是不是要写个格式转换模块,将1920*1080格式转成1080*1920格式的,这个转换模块大家有什么建议。

chenguanglu 发表于 2013-7-7 23:47:42

缓冲的时候要变一下地址 用移位寄存器容量应该不够

chenguanglu 发表于 2013-7-7 23:49:59

缓冲的时候要做一个地址转换 用移位寄存器容量应该不够

Rapido 发表于 2013-7-8 00:19:38

果然知道的人不多,比较偏门。我一直没有找到资料,起码免费的是没有,关于SSD系列芯片的驱动方面的资料。手机开发论坛这个话题讨论的得相对多,不过也只是相对多些罢了。

hys0401 发表于 2013-7-8 07:55:06

不能直接将数据出来的时候就改成1080*1920的?写转换模块的工作量可能不比直接改分辨率小。
SSD芯片驱动代码比较简单,利用封装好的函数,大约十几行就行。关键在于封装好函数,不然很麻烦。

wye11083 发表于 2013-7-8 08:42:23

本帖最后由 wye11083 于 2013-7-8 08:44 编辑

seasung 发表于 2013-7-7 22:03 static/image/common/back.gif
你好,这个设置起点位置可不可以这样理解,首先假定手机屏是竖着放的,从左上角点开始,从左向右,从上向 ...

你看不懂?带I2C的屏是可以设置左上角位置的!即,你可以指定它为右上角,左下角,这样不就变成1920*1080了?
如果屏不支持这个功能,那也好办,RGB565即可,毕竟小屏你肉眼是看不出来RGB666和RGB565的差别的。实际60Hz刷屏,FPGA的IO频率用LVDS到1GHz就行了(基本C3,S3系列的FPGA通过一点小技巧,都能跑到1Gbps),用BPI则143MHz就够了。带宽最大250MB/s,没有300+MB那么夸张。

seasung 发表于 2013-7-8 16:40:55

wye11083 发表于 2013-7-8 08:42 static/image/common/back.gif
你看不懂?带I2C的屏是可以设置左上角位置的!即,你可以指定它为右上角,左下角,这样不就变成1920*1080 ...

手机屏的驱动IC是NT35596,支持1080*1920格式,没法设置左上角位置,只有设置扫描方向,X和Y方向都可以双向扫描,这样是不是就必须先将1920*1080的数据转换成1080*1920的数据格式才能在NT35596的屏上面显示视频。这个格式转换程序不知各位大牛有什么建议,数据率很高,还要实时显示,有难度啊

wye11083 发表于 2013-7-7 18:17:11

seasung 发表于 2013-7-8 16:40 static/image/common/back.gif
手机屏的驱动IC是NT35596,支持1080*1920格式,没法设置左上角位置,只有设置扫描方向,X和Y方向都可以双 ...

你看看能不能设置为列优先。能的话就可以省很多功夫,否则内存带宽消耗非常大,因为SDRAM或者DDR==,都是优化按行操作的,所以你按列写,就不得不一直对SDR充电,带宽自然就上不去。除非你写屏数据很少。记住一点:1080P的屏幕,正常刷屏都是一次读DRAM的一行,这样能使DRAM带宽最大化。即,刷屏如果你用了超过一半时间,那说明你的算法有问题。刷屏万万不可一次读一个像素,那样非常浪费。剩下的带宽就是你写屏的带宽。为防止写屏时花屏,你需要至少4MB的SDRAM,做好地址映射,刷新完一帧再把数据从另一半搬过来,即双缓冲。

flyaudio 发表于 2014-9-2 19:20:32

wye11083 发表于 2013-7-8 08:42
你看不懂?带I2C的屏是可以设置左上角位置的!即,你可以指定它为右上角,左下角,这样不就变成1920*1080 ...

能透露下是什么小技巧么?   
欺骗quaruts软件么?
页: [1]
查看完整版本: fpga如何点亮1080*1920手机屏