打印
[i.MX]

请教mx6的lvds以及rgb液晶的问题

[复制链接]
5628|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
下面是文档《Common Hardware Design for i.MX 6Dual/6Quad andi.MX 6Solo/6DualLite》里面的内容
• The i.MX 6Quad and i.MX 6Dual chips have two independent IPUs (image processing units), and
each IPU has two display ports. They can support up to four external ports at any given time.
• The i.MX 6DualLite and i.MX 6Solo chips have one IPU, so they can only support two display
ports at a time.
是否可以这样理解:
6q和6d可以在任何时候都可以支持多达4路输出,而且每路输出,可以显示不同内容;
6dl和6solo只能最多支持两路输出,而且这两路输出,可以显示不同内容

我的应用是solo,我引出了三路接口,一个rgb,一个lvds,一个hdmi,先不考虑hdmi,
请问:
1.如何配置,才能实现rgb和lvds显示相同的内容
2.如何配置,才能实现rgb和lvds显示不同的内容

谢谢!!

相关帖子

沙发
bigflower|  楼主 | 2015-2-27 23:03 | 只看该作者
看了一晚上资料,rgb接口和lvds同步显示不能实现,只有lvds0和lvds1可以实现同步显示。

使用特权

评论回复
板凳
bigflower|  楼主 | 2015-2-27 23:34 | 只看该作者
我现在lcd接口挂了一个7寸800*480的屏,可以正常显示
我再在lvds0接口接一个lvds的屏,现在我的配置如下:
static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
{//fb0
        .disp_dev = "lcd",
        .interface_pix_fmt = IPU_PIX_FMT_RGB565,
        .mode_str = "TN83-WVGA",
        .default_bpp = 16,
        .int_clk = false,
        .late_init = false,
        },
        {
        .disp_dev = "ldb",
        .interface_pix_fmt = IPU_PIX_FMT_RGB666,
        .mode_str = "LDB-XGA",
        .default_bpp = 16,
        .int_clk = false,
        .late_init = false,
        },

static struct fsl_mxc_lcd_platform_data lcdif_data = {
        .ipu_id = 0,
        .disp_id = 0,
        .default_ifmt = IPU_PIX_FMT_RGB565,
};

static struct fsl_mxc_ldb_platform_data ldb_data = {
        .ipu_id = 0,
        .disp_id = 1,
        .ext_ref = 1,       
        .mode = LDB_DUL_DI1,
        .sec_ipu_id = 0,
        .sec_disp_id = 0,
};

启动后,fb0是lcd,fb2是lvds,通过echo 0 > fb2/blank,可以点亮lvds屏的背光,但是没有显示内容,
lcd还是可以正常显示(如果设置.mode = LDB_SEP0,lcd就不能正常显示;而且如果设置.mode = LDB_SIN0,提示
mxc_ldb mxc_ldb: change IPU DI1 to IPU DI0 for LDB channel0.
mxc_sdc_fb mxc_sdc_fb.1: ipu0-di0 already in use
mxc_sdc_fb: probe of mxc_sdc_fb.1 failed with error -16,所以不能加载fb2)

分析现在lvds屏没有点亮的原因:
1.时序的问题,因为已经可以加载fb0和fb2,,对应lcd和lvds。看了屏的资料只支持de模式,不支持sync模式,但是不知道接了sync信号是否有影响,也没有找到只产生de信号,不产生sync信号的配置方法。
2.lvds的ipu参数设置还是有问题

我的板子是参考sdp,用的是solo处理器lcd使用16位接口,lcd16-23没有使用,lvds只使用了lvds0通道

请版主给帮忙看看,谢谢!!



使用特权

评论回复
地板
bigflower|  楼主 | 2015-2-27 23:43 | 只看该作者
lvds的屏是群创的EJ080NA-04C,1024*768,

时序图2.JPG (79.94 KB )

时序图2.JPG

时序图.JPG (45.64 KB )

时序图.JPG

使用特权

评论回复
5
bigflower|  楼主 | 2015-2-27 23:46 | 只看该作者
ldb.c里面的屏的时序数据,没有找到,vsync_len和hsync_len参数,自己写了个1,写0会出错
{
         "LDB-XGA", 60, 1024, 768, 15385,
         106, 106,
         12, 12,
         108, 14,
         1,1,
         0,
         FB_VMODE_NONINTERLACED,
         FB_MODE_IS_DETAILED,},

使用特权

评论回复
6
bigflower|  楼主 | 2015-2-27 23:57 | 只看该作者
当前配置下的启动信息:
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver lcd
Console: switching to colour frame buffer device 100x30
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver ldb
_regulator_get: get() with no identifier



[root@qhh /]#ls /dev/fb
fb0  fb1  fb2
[root@qhh /]#fbset -fb /dev/fb0

mode "800x480-58"
        # D: 33.300 MHz, H: 31.238 kHz, V: 58.389 Hz
        geometry 800 480 800 480 16
        timings 30030 46 210 23 22 10 10
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode

[root@qhh /]#fbset -fb /dev/fb1

mode "240x320-60"
        # D: 4.608 MHz, H: 19.200 kHz, V: 60.000 Hz
        geometry 240 320 240 960 16
        timings 217013 0 0 0 0 0 0
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode

[root@qhh /]#fbset -fb /dev/fb2

mode "1024x768-60"
        # D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz
        geometry 1024 768 1024 768 16
        timings 15385 106 106 12 12 108 14
        accel false
        rgba 5/11,6/5,5/0,0/0
endmode


[root@qhh /]#echo 0 > /sys/class/graphics/fb
fb0/    fb1/    fb2/    fbcon/
[root@qhh /]#echo 0 > /sys/class/graphics/fb2/blank
imx-ipuv3 imx-ipuv3.0: IPU DMFC DC HIGH RESOLUTION: 1(0~3), 5B(4,5), 5F(6,7)

使用特权

评论回复
7
bigflower|  楼主 | 2015-2-27 23:59 | 只看该作者
显示如下图:

显示.jpg (1.33 MB )

显示.jpg

使用特权

评论回复
8
ccw1986| | 2015-2-28 08:35 | 只看该作者
不太懂,帮顶

使用特权

评论回复
9
bigflower|  楼主 | 2015-2-28 09:34 | 只看该作者
今天我再查查硬件是否有问题

也请版主帮我看看软件配置这块怎么搞,对于这种不需要vsync和hsync的lvds屏

谢谢!!

使用特权

评论回复
10
bigflower|  楼主 | 2015-2-28 11:44 | 只看该作者
本帖最后由 bigflower 于 2015-2-28 11:46 编辑

测量了所有lvds引脚的电压,好像不对,都是1.2v,但是我的nvcc_lvds2p5是2.5v供电

echo 0 > /sys/class/graphics/fb2/blank后,所有信号电压时1.2v
echo 1 > /sys/class/graphics/fb2/blank后,所有信号电压都是0v
难道lvds的引脚也需要初始化吗??lvds的引脚是单独的,不是gpio,没有找到初始化的代码啊

使用特权

评论回复
11
bigflower|  楼主 | 2015-2-28 11:56 | 只看该作者
刚刚看了屏的手册,lvds信号的电压应该没有问题

电压.JPG (50.29 KB )

电压.JPG

使用特权

评论回复
12
bigflower|  楼主 | 2015-2-28 12:00 | 只看该作者
但是没有看到方波信号

使用特权

评论回复
13
FSL_TICS_Rita| | 2015-3-2 11:19 | 只看该作者
楼主你好,今天刚回来上班,帮你看一下哈,请耐心等待~~

使用特权

评论回复
14
FSL_TICS_Rita| | 2015-3-2 11:39 | 只看该作者
楼主你好,从你7楼的现象来看的话,应该是你屏的时钟频率没有设置正确,在你屏的datasheet中有关于clock的值。你这里使用的是60,建议你使用65试一下,看有什么现象。其他的我再帮你看一下哈~~

使用特权

评论回复
15
bigflower|  楼主 | 2015-3-2 16:06 | 只看该作者
版主终于来了,谢谢!!

不是时序的问题,我改成65了,还是一样。
我再焊接一块板子看看,是不是焊接的问题

使用特权

评论回复
16
604603487| | 2015-3-2 16:37 | 只看该作者
uboot 改了吗

使用特权

评论回复
17
bigflower|  楼主 | 2015-3-2 16:42 | 只看该作者
uboot应该不用改吧,所有的初始化在kernel里面都重新做了吧

使用特权

评论回复
18
bigflower|  楼主 | 2015-3-2 18:05 | 只看该作者
请问版主,有没有可能是vsync和hsync这两个信号的原因,屏的资料是只支持de模式,不支持sync模式,但是并未说明如果hs和vs有信号就会不正常。但是我曾确实碰到一款群创7寸的屏,说是要断开hs和vs,不然会不正常,当时我们测试的情况是屏幕有显示,但是显示会晃动,断开hs和vs后好了。

现在mx6处理器用的是lvds,没法禁止hs和vs的输出吧???

谢谢

使用特权

评论回复
19
bigflower|  楼主 | 2015-3-6 09:54 | 只看该作者
本帖最后由 bigflower 于 2015-3-6 09:56 编辑

结贴,lvds两个线同事给画反了,搞了我7天,但是这几天的调试到时彻底把lvds搞透了,如果要使用lcd和lvds尽量使用lvds1,lvds1对应di1,lvds0对应di0,只有在dul模式,才可以使用di1,不看手册害死人啊,但是还是建议fsl在移植手册里注释lvds0/lvds1与di0/di1的对应问题,就像RM手册里那样。

使用特权

评论回复
20
hpdell| | 2016-6-16 14:34 | 只看该作者
bigflower 发表于 2015-2-27 23:43
lvds的屏是群创的EJ080NA-04C,1024*768,

这个屏哪里可以买到啊 ??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

124

帖子

2

粉丝