前题:由于公司某些方面的需要,于是就开始尝试了来通过VGA输出--因为不可能每个地方都是高清电视,这是其一;如果要买一个HDMI转VGA的话,成本上就有所上升:反正吧,各种理由,都觉得直接通过VGA输出是必须有的。当然,cubieboard本身也支持VGA输出,只是需要自己动手搞搞罢了。
--------------------------
硬件方面的准备:
VGA的相关资料:
1,首先VGA分为公头和母头,一般电脑屏幕是公头,那么就得自己准备母头,公母一配对,才会有下文。那么下面是VGA的线序图:
VGA一共15个引脚,从宽到窄。每个引脚定义如下图:
我们这里需要的是图形的输出,和图形的颜色的输出。这包括两方面的内容:
a,图形的输出--图形的横坐标和纵坐标的输出,然后才会组成一幅图:于是这里需要行同步和场同步,当然也有叫帧同步的。
b,图形的颜色输出--RGB三原色,然后三原色进行混杂就可以组成各种颜色了。
由上面两点可以知道,我们需要VGA的1、2、3、13、14这几个引脚;同时,因为接地的原因,VGA上的所有的地引脚都要接上,于是6、7、8、10都需要接上地。当然,论坛上有的图中把5和11也接上的,这个不知道基于什么理由。
--------------
cubieboard板子上的接法:
VGA是接到板子上的引出引脚上的,也就是那两排48根引脚,它们似乎都是直接从A10的芯片上引出来的,具体可参考如下链接的说明:
http://linux-sunxi.org/Cubieboard
这两排插针引脚的定义,上面都已经说了,在网口和USB之间的是U15,在SATA口旁边的是U14。而VGA的行和场的接线是接到U14的27号脚和30号脚上的;RGB和RGB的地线等都是接到U15上的,参看下面截图<来自官网>:
那么接下来就开始连接,这个连接成功的过程我花了两天的时间,因为开始不知道是什么原因,到底是软件的原因还是硬件的原因。
开始我是直接按上面的资料连接,使用的是杜邦线,直接插上去就算了,然后把软件修改好以后,用tf卡启动,屏幕不亮。于是怀疑是我的系统某些参数设置的不对,于是修改,还是不行。最后拿了另外一块扩展板来试,这个系统是可以从VGA输出的,那就确定了系统参数没问题,是接线可能有问题。于是按照论坛上提供的资料来做,在U14和VGA之间加了一个74hc04的芯片,然后在RGB和地之间各自加上R75的电阻,再然后怕插线不稳,索性就把它们直接焊接起来,这下可不能怪线的接触不良了。
但是事情还是挺纠结的,VGA依然不可以输出。因为论坛上,网上已经有成功的案例了,他们有的是加了一些芯片,有的是直接连接的,不管怎么样,都已经成功输出了,最后犹豫了两个小时候,果断的拿掉74hc04芯片然后VGA和U14直接连接,保留RGB下面的电阻,接上一试,成功了,能通过VGA输出了。
--------------
接线图如下,是别人的:
这个图上的VGA母头的13 和14是接到了U14的27和30两个引脚了,当然,这里它是加了芯片的,也成功了。这个图的来源可参考下面链接:
http://www.cubieforums.com/index.php/topic,104.0.html
------------------------------------
下面是系统参数需要修改的部分:<默认是HDMI输出>
方法一,如果是lubuntu的话,直接把tf卡插到电脑上,会弹出第一分区的67M,在这67M里有一个uEnvt.txt的文件,用记事本打开这个文件,在其中添上这么一行代码:
disp.screen0_output_type=
那么修改后的uEnvt.txt文件可能就像下面这个格式了:
extraargs=console=ttyS0, console=tty0 disp.screen0_output_mode=1440x900p60 disp.screen0_output_type= hdmi.audio=EDID: mmc0_led= mac_addr=ca::f0::3e:7d rootfstype=ext4 bootdelay=
方法二,也可以直接修改script.bin文件,先把script.bin 转换成script.fex文件,在[disp_init]下面修改成如下的格式:
[disp_init]
disp_init_enable =
disp_mode = screen0_output_type =
screen0_output_mode = screen1_output_type =
screen1_output_mode = fb0_framebuffer_num =
fb0_format =
fb0_pixel_sequence =
fb0_scaler_mode_enable = fb1_framebuffer_num =
fb1_format =
fb1_pixel_sequence =
fb1_scaler_mode_enable =
上面参数的意思,在linux-sunxi.org上是有解释的,详情可参看下面链接:
http://linux-sunxi.org/Fex_Guide#.5Bdisp_init.5D
而将script.bin转换成script.fex的方法,可参考下面的帖子,写的已经非常详细了:
http://forum.cubietech.com/forum.php?mod=viewthread&tid=141&highlight=script
当然,修改完整后,别忘记了将script.fex再转换成script.bin并放入tf卡的第一分区,然后插到CB上,上电开机,可以运行了。如果怀疑内核驱动没有VGA的话,可以自己选择编译一遍驱动,编译的方法都是一样的,网络资源较多,给一个链接作为参考:
http://onefishum.blog.163.com/blog/static/5184730520131151385937/
最后,感谢论坛中已经成功VGA输出并分享了资料的童鞋们,笔记中引用了很多他们的东西,当然这里我就不一一的给出链接了。
2013/06/22