Realtek scalle的相关基础性知识汇编
1、目前市场上的屏的分类
目前数字panel按接口类型可分为TTL,LVDS,RSDS接口,TTL分为带TCON信号与不带TCON的接口
按接口数量分,分为signel port + 6bit/8bit,double port + 6bit/8bit 的panel
TTL:
LVDS:
RSDS:
TCON:
2、 Realtek的芯片类型
在我们公司目前主要用Realtek的芯片做TV板,主要有RTD2011,RTD2012,RTD2023,RTD2011主要用于接TTL及和TCON的屏,RTD2012主要是接LVDS的屏,RTD2023原则上可以接所有接口的屏。
3、配屏
a. 配PC
在我们的程序中,有几个程序对配屏是相当重要的,分别是以下几个文件:
main_def.h—可以选择panel所用的头文件,即Pnl_xxx.h
c onfig.h---其中的cap_win[][]是根据VESA标准定义图像输入的数据
mode_def.h—根据VESA标准定义所有显示模式的顺序
d isp_xx.h(pnl_xxx.h)—有关VGA显示模式各种模式的数据,及TV,A V图像的数据。
下面以点一个15“ sharp的屏为例说明如何把一块屏点亮。
例如,现在我们手头有一块LQ13x023的sharp的屏,接口是LVDS+double port + 6bit,现在我们一个RTD2012的标准程序出来,按以下步骤来配屏。
1)、打开main_def.件,首先有几个重要的关键字得先解释下:
key_type:用来定义按键板是多少个按键,程序中可以从5个定义到9个按键,其程序是按矩阵来做的
ISPACK:其值有0与1,取1时是用来打开工具调试用的。
FULL_LINE_BUFFER:是打开scaller的buffer,一般情况下不要使用都可配好屏,只有遇到sharp屏的时候,因为sharp这类特殊屏不管用什么办法都不能把画面调成满屏的时候才打开这个
IR_CONTERL:定义红外线IC型号
IR_XXX_KEY:定义红外线按键的编码
PANEL_TYPE:定义所使用的panel的头文件
AUDIO_TYPE:定义Audio的类型
TV_SYSTEM:定义TV的缺省模式
TV_CHIP:定义高频头的类型
SECAM_L_DISABLE:是否Disable secam_l 制式
现在选择panel_type为PANEL_L141X1,在Config.h头文件中知道是程序是选用的PNL_L141x1.h头文件,下一步我们所要做的工作就是修改Pnl_L141x1.件中的内容,以便符合屏的需要。
2)、打开pnl_l141x1.件,一样,首先先解释下本头文件中的一些重要关键字DISPLAY_PORT:用
来定义Panel是单口还是双口。如本例就用的是双口,所以定义Display_port为DOUBLE_PORT。
DISP_SIZE:定义屏的分辨率,如本屏是1024x768,那就定义1024x768,这点主要是用在后面OSD的位置上面,因为各种分辨率的OSD的位置在本程序中都已定义好。
LVDS_MAP:定义RGB输出线的组合情况,这点详细的情况可以在RTD2012的SPEC中查。
DISP_BIT:定义屏的RGB的输出位,本例是6BIT的,DISP_18BIT就是6bit的定义,因为每个点有RGB三种,所以输出的话就是有6*3=18BIT
DCLK_DELAY:用于像素时钟上升时间delay的定义,一般情况不用修改即可用。
MAX_RATE:定义最高输入的VSYNC,如此例,我们把最在值设为73,即值在VSYNC>73的就不能显示,OSD则会提示显示超出范围。
DH_ACT_STA_POS:定义影像的行方向的抓取起始位置,对此例,我们取0x40即可。
DH_ACT_END_POS:定义影像结束的行方向的位置,因为我们屏的分辨率1024X768,行方向总共须抓满1024根线,取0X400,所以DH_ACT_END_POS –DH_ACT_STA_POS =DISP_WID=0x400即可,所以取0X440。
DV_ACT_STA_POS与DV_ACT_END_PO S与DH的同理,这里我这定义DV_ACT_STA_POS为0x0e
STD_DH_TOTAL:输入的DHTOTAL的总数,此数字很关键,有时屏不能显示或者显示白屏就是因为此值未定义的太小.
STD_DV_TOTAL:与上面的一致。
修改了以上的定义后,这块SHARP的屏在VGA模式下就可以显示了,但会发现画面不能满屏显示,那么得接着下一步了。
3)、打开我们的调试工具ISPACK,选择panel这一项目,可以通过修改IPV_ACT_STA 的大小或者选择register项来修改0A-0b的值来来上下移动画面,但对这款sharp的屏我们
最多只能移到0x23,超过这个数的话,就不会显示。所以我们对DV_ACT_STA_POS的值最后定为何0x23。不过这时画面底部还有几条线不能显示。这是和SHARP的屏特殊性有关的。因为SHARP屏的DHTOTAL不大,而且抓取影像的起始位置在列方向上又不能太大,太大了就会出错。所以得用软件的方法来补线。第四步的方法就是如何把所差的几条线补上了。
4)、现在我们打开Config.件,到CAP_WIN[ ],到数组的第五个数IPV_LEN,把IPV_LEN的数值加上2试下,然后在DISP_XXX.h头文件中到Mode_Preset[ ]数组,在DV_ACT_LEN这列值也加2,这
样输入和输出的值可以相互抵消,不会出现满屏后画面不全的情况。有兴趣的话可以试下加其中一种数值的情况。
这样,SHARP屏的VGA模式已基本配好。接着应配A V了。
b.配A V
目前由于我们有了ISPACK的工具,对于调A V画面还是比较容易的了。
打开ISPACK,点击PANEL此按钮,会发现界面上有许多寄存器的值,现在一一解释。
IPH_ACT_STA(06-07):是抓取输入的影像的H方向的位置的值,07是其高位的值,06是低位的值,以下其他如是,不再一一解释。作用是可以通过个性这两个寄存器的值来移到画面的左右位置,其最小值不能小于DH_ACT_STA的值。
IPV_ACT_STA(0A-0B):是抓取输入影像的V方向的位置的值,与IPH_ACT_STA 的功能相似,但其最小值不能小于DV_ACT_STA的值,不然画面会乱。
IPH_ACT_WID:是输入影像的宽度,IPV_ACT_LEN是输入影像的长度。
DH_ACT_STA:是输出影像的H起始位置。DV_ACT_STA是输出影像的V起始位置。
DH_TOTAL:输出影像的DH _TOTAL数,用于调整画面的高度。
DV_TOTAL:输出影像的DV_TOTAL数。
Panel width:是指定屏的宽度,如此例是1024X768,宽度就设定为0X400。Panel Height设定为0X300。
Hor_SCA:是H方向的比例系数,用于调整H方向上不正常的情况,比如画面显示太宽,大窄等。
VER_SCA:是V方向的比例系数,比如画面重叠,波纹等。
N code /M code用于调整画面整体情况。如一块屏出现没有画面白屏的情况时,就可以先通过修改整流器N/M的值把画面调出来。然后再进行其他数据的修改直到画面正常为止。
另外,可以通过与register界面中的寄存器来更方便的调整panel中的数值。这样就可以把A V下pal/NTSC各制式的画面配好。
C、配TV
各国的TV的制式分为PAL制,NTSC制,SECAM制,以东南亚来说中国大部分是PAL I 制式,小部分分
N制,中国香港是PAL B/G,是NTSC制,苏联为SECAM 制,韩国为NTSC制等,所以我们对高频头的选择也一一不同。
现在我们所用的高频头主要有成都旭光及新发公司的,其中新发的型号为TDQ_6BS_DI,支持全PAL制。而旭光的分为JS-6B1/111,及JS-6B2/121及JS-6AM,JS-6B1支持PAL制及NTSC制主要用于东南亚,JS-6B2支持NTSC制及SECAM制,可出口欧洲,而JS-6AM是只支持美国的NTSC制,因为其中频开关为47.95MHz与东南亚的NTSC中频不同。
目前我们程序中可支持的高频头已包含了上述所用两家公司的。打开Main_def.h 文件,下列是有关TV方面的关键字
TV_SYSTEM:缺省的TV制式。
TV_CHIP:设定高频头类型,这里我们选择TV_JS_6B2_121,即高频头是用JS_6B2的。
ADDR_TUNER、ADDR_TUNER_R:高频头的地址。
ADDR_9886:9886地址,详细的描述大家可以参看成都旭光的SPEC。
4、 OSD的位置修改
在本程序的TV下,OSD的位置是不能由OSD来调的,所以有时配好屏后,
会发现OSD的位置不能让让客户满意。所以这时就得修改OSD位置。
在TV下,有四种OSD的位置得修改,一个是右上头的TV CHANNE的数字及PAL制N制显示位置。一个是OSD主菜单,一个是OSD搜索菜单,最后一个就是OSD 音量位置。
打开OSD.h,到OSD_CHANNEL[ ],这个数组是用来确定TV channel的数字位置及P制N制的字体起始位置,注意其中有#if(DISP_1024x768 == DISP_SIZE)的字样,主要是与main_def.h中的定义一致,如此例是1024x768,接着就修改 5, N_INC, OSD_DATA_92, 0x10,0x16, //V & H Delay中V和H的值,第一个是V方向上起始位置的值,第二个值是H方向的起始位置的值。
SD_PageVOL[ ],这个数组是用来确定TV下volme的起始位置的,修改方法同上。
OSD_PageTV_W_Atb[ ],这个数组是用来确定TV下主菜单的英文的OSD起始位置,修改方法同上。
OSD_PageTV_E_Atb[ ],这个数组是用来确定TV下主菜单的中文的OSD起始位置,修改方法同上。
OSD_TV_SEARCH_W_Atb[ ],这个数组是用来确定TV下搜索的英文的OSD 起始位置,修改方法同上。
OSD_TV_SEARCH_E_Atb[ ],这个数组是用来确定TV下搜索的中文的OSD 起始位置,修改方法同上。
以上是基于最基础的一些情况做了一些的描述。希望能对大家尽快熟悉REALTEK的程序有所帮助,当然如果还要更深一步了解Realtek的程序的话,那还得去大家去熟悉程程序及REALTEK的SPEC及相关资料,才能做得更好。
在配屏过程中出现的一些常见的现象及一些相关解决方法
1、水波纹现象
水波纹现象分正常显示模式下的水波纹及关机模式下的水波纹两种现象,正常模式下的水波纹要分是硬件上电源的干扰及软件,软件主要是能过调DHTOTAL
及PHASE,关机画面是因为关机的显示是50%的灰阶,在软件中抓取的模式和正
常模式下的数据是不同的。
2、在PC下识别模式错误
主要是由于mode_def.h,Cap_Win[],mode_prose[],VGA_mode[]这几个表不能一一对应,比如mode_def.h中1024x768的序号定义在35,而cap_win[]相对应的是
36的数值。所以会出现抓取模式不对的情况,另外还可能由于cap_win[]数组中的
数据不对。
3、 AUTO后画面显示整齐,但不满屏
这点主要是和影像的抓取的起始位置有关,可以通过修改DH_ACT_STA及DV_ACT_STA的值来调整
4、重影
其原因可能是EVEN/ODD相反或者DCLK不准确,一般情况下是由于奇偶不相反导致的,可以通过调整6D中相关寄存器值来把画面设定正常。
5、红与篮相反
可以通过调整6D中相关寄存器调整画面。
6、高低位互换
在灰阶测试画面下原先的从左到右的由深到浅的正常情况变成相反的了,也可以通过调6D中相关的寄存器数值来设定。
7、显卡兼容性不好
system的头文件就是在某张显卡上显示正常,而在其他显卡上显示不正常,可以通过修改LAST_LINE的值来做到兼容。
8、彩斑驳
就是画面的彩光怪陆离的感觉,这时可能是2022系列的IC输出的RGB的彩顺序相反的结果导致,当然也有可能是panel接错,如果是软件只要修改LVDS_MAP的定义即可。
9、 OSD乱码
OSD乱码的情况比较复杂,只能靠分板程序来修改了。
10、有信号时显示白屏
11、有信号时显示花屏
12、有信号时画面显示不正常
这三项都可通过调DHTOTAL的值来使画面正常。
13、画面显示竖线
这时可能和屏有关,可以试着捏下屏在竖线附近的地方,有时都会消失。14、无信号时显示白屏
和10,11,12的情况类似。
15、屏幕显示燥点
一般情况下是和DCLK有关,但在TTL类的屏中,也有可能是线材的关系。
16、显示隔行
隔行的原因是由于放大比例不一致导致的,如input mode:1280x960经SCALAR IC后假设就成1280x1024后,其中input mode 1280 out mode 1280=1:1,input mode:960 output mode:1024,放大比例为15/16,若以16point 为其准,则每15点在IC内部须差1point。
17、AUTO后不能存储数值
在正常情况下出现这种情况,可以断定是E2PROM出现了问题。
18、横线干扰
横线的干扰应是软件上的phase问题。看下通过调OSD中的phase可否调好画面。
19、TCON类的屏在烤机运行时出现白屏
由于scaller IC产生的TCON时钟信号有可能在运行一段时间后会出错,这样就可能导致白屏。
20、灰阶不正常
灰阶画面有小燥点等情况灰阶不正常可以先通过调phase及亮度等来看下是否能改进,还有通过换更好的panel线看下能否改进。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论