0
点赞
收藏
分享

微信扫一扫

如何调试lvds屏-基于TQT507开发板

1.1.更换不同的屏  

TQT507可以通过修改指定启动配置文件(Embedsky.ini)方便地支持不同分辨率的屏。用户可以显示参数写入配置文件中,并放到sd卡内。插入sd卡启动板卡,板卡会读取配置文件内容,并进行相应的设置。

1.2.显示屏接线说明  

TQT507 Android支持LVDS和HDMI输出。LVDS和HDMI同时输出。HDMI为副屏,两个同时接入时,实际LVDS的输出分辨率。

1.2.1.HDMI接口 

hdmi为标准接口,直接接上即可,不再做详细介绍,支持热插拔。另外本系统中hdmi只支持图像输出,声音仍然通过喇叭输出。

1.2.2.LVDS接口 

为通用的LVDS接口定义,支持单/双,六/八位LVDS屏,测试最高支持分辨率为1920x1080。屏电压可以通过以下跳线帽选择,可选择支持3.3V/5V/12V屏电源供电。

注意事项:为了避免损坏屏和电路板,上电前请确认显示屏需要的供电电压,板子相对应电源是否可以满足屏最大工作电流

1.2.3.LCD接口  

Lcd与lvds使用相关的引脚不同的配置,所以它们不可以同时使用。而且为了互不干扰,默认要通过电阻来切换显示,详细见《硬件手册》在测试之前请先务必先确认板子的lcd接口是否有接通。并行lcd接口抗干扰能力不强,排线最好不要超过20cm。

1.3.显示分辨率设置  

TQT507可以通过u-boot菜单设置分辨率,也可通过embedsky.ini文件设置分辨率,前者设置过程简单,但只可针对几款我司默认出货的屏。后者设置比较复杂,同时适配性好,理论上可适配大部分的常用的屏。

1.3.1.使用菜单设置  

在u-boot启动倒数结束前(2秒)前按下ctrl+c,进行u-boot设置菜单,根据实际情况选择分辨率,当前预设的参数与对应的屏为:

接口

分辨率

设置项

7寸普清

FPC

800x480

[2] LCD A70" screen

5寸高清

FPC

800x480

[4] LCD H50" screen

7寸高清

FPC

1024x600

[5] LCD H70" screen

10.1寸屏

单路lvds

1280x800

[a] LVDS 10.1 inch screen

NA

HDMI

1280x720

[e] HDMI 720P" screen

NA

HDMI

1920x1080

[f] HDMI 1080P" screen

其中 HDMI只在linux系统下生效。

说明:设置后要保存,然后重启板子才会生效。


partno erro : can't find partition private
[01.409]drv_disp_init
[01.447]drv_disp_init finish
[01.450]boot_gui_init:start
partno erro : can't find partition Reserve0
[01.459]Get Reserve0 partition number fail!
[01.463]set disp.dev2_output_type fail. using defval=0
[01.473]boot_gui_init:finish
[01.476]bmp_name=bootlogo.bmp
partno erro : can't find partition bootloader
344744 bytes read in 3 ms (109.6 MiB/s)
[01.497]update part info
[01.504]update bootcmd
[01.506]No ethernet found.
Press (ctrl+c) to stop autoboot:  0         # 倒计时,在0之前的按 ctrl+c 中断自启动。进行设置菜单
          


#####     U-boot MENU         #####
          [Boot for Main Menu]
##########################################
          


[X] SD update images
[X] TFTP update images
[X] USB update images
[8] Boot the system
[9] erase uboot env
[0] Set the boot parameters
[s] save setting
[q] exit to command mode
Please press a key to continue :0
          


#####     U-boot MENU         #####
          [EmbedSky Setting Args]
##########################################
          


[1] setting NFS args
[2] setting default boot
[5] kernel ip dhcp
[0] setting network env
[c] Choice lcd type
[s] save setting
[q] Return main Menu
Please press a key to continue :c
          


#####     U-boot MENU         #####
          [EmbedSky display type]
##########################################
          


[1] LCD T43" screen
[2] LCD A70" screen
[3] LCD A104" screen
[4] LCD H50" screen
[5] LCD H70" screen
[6] VGA 1280*768" screen
[7] VGA 1920*1080" screen
[a] LVDS 10.1 inch screen      # 根据实际情况选择自己的屏
[b] LVDS    7 inch screen
[c] LVDS 1366*768" screen
[d] LVDS 1360*768" screen
[e] HDMI 720P" screen
[f] HDMI 1080P" screen
[0] Other" screen
[s] Save the parameters to Flash
[q] Return main Menu
Please press a key to continue : a
#####     U-boot MENU         #####
          [EmbedSky display type]
##########################################
....
[d] LVDS 1360*768" screen
[e] HDMI 720P" screen
[f] HDMI 1080P" screen
[0] Other" screen
[s] Save the parameters to Flash   #设置后记得保存
[q] Return main Menu
Please press a key to continue :s
Saving Environment to SUNXI_FLASH... Writing to env...
OK


1.3.2.使用embedsky.ini设置  

TQT507添加了通过sd卡更新LVDS/LCD显示屏参数的功能,以方便用户使用各种规格的lvds、lcd显示屏。

更新的方法是将参数配置写入文件“EmbedSky.ini”中,拷贝“EmbedSky.ini”到sd卡中,将sd卡插入板卡,板卡启动过程中会读取sd卡中的EmbedSky.ini配置脚本中的参数进行更新。EmbedSky.ini文件在images文件夹下。

(1).预设分辨率设置。 

在embedsky.ini文件里只需要设置 [display] 段中的mxcfb0字段即可完成对分辨率的设置。


......
[display]
mxcfb0 = lcd_7pd  #设置成7寸普清屏
......


不同的字段对应的不同的屏:

对应字段

7寸普清lcd屏  (800x480)

lcd_7pd

7寸高清lcd屏  (1024x600)

lcd_7hd

5寸普清lcd屏  (800x480)

lcd_7pd

10.1寸高清lvds屏(1280x800)

lvds_1280_800

(2).自定义分辨率设置   

EmbedSky.ini文件在images文件夹下,以下为文件内容(适用于TQT507):


[common]
; format_memory 表示烧写前是否格式化磁盘
;     0 不擦除, 1 擦除
format_memory = 1
; erase_env表示烧写时是否擦除环境变量
erase_env   = 1
; system_type表示烧写的系统类型,可使用的值:
;    android (当设置时,镜像文件见[android_upgrade]栏)
;   linux(当设置时,镜像文件见[linux_upgrade]栏)
system_type = android
          


[display]




mxcfb0 = panel_lvds
          


; pass_lvds = [ dual ] 双路lvds输出 或者 [ spilt ]单路lvds输出
; mode_lvds = [ ns ] ns模式 或者 [ jeida ] jeida模式
[panel_lvds]
x_lvds=1920             //lvds中x的的像素
y_lvds=1080              //lvds中y的像素
pix_clk_lvds=148000    //lvds的时钟频率,单位是KHz
hbp_lvds=100               //时序的行前肩
hfp_lvds=80            //时序中的行后肩
hsw_lvds=20            //时序中的水平同步信号的低电平(非有效电平)持续时间
vbp_lvds=20        //时序的列前肩
vfp_lvds=15      //时序中的列后肩
vsw_lvds=5       //时序中的列同步信号的低电平(非有效电平)持续时间
bit_lvds=8      //6 表示6位,8表示8位,其它无效,默认8位
pass_lvds=dual     // [ dual ] 双路lvds输出 或者 [ spilt ]单路lvds输出
mode_lvds=ns      // [ ns ] ns模式 或者 [ jeida ] jeida模式
          


[backlight]
invert=0
def_brightness=50
min_brightness=5
max_brightness=100
freq=1000
          


;idx = pid:vid
[usb_tp]
id0=0x0038:0x0045
id1=0x0038:0x0a46


其中具体的参数意义见上例子中的注释。

例子1:双路lvds屏:(只在单版支持双路lvds屏)  

如何调试lvds屏-基于TQT507开发板_android

●像素频率

手册上显示时钟是74MHz,因为是双路lvds屏,行参数与时钟需要翻倍,为148MHz,pclk单位为KHz故有pix_clk_lvds=148000

行时序

行时序中手册并没有给出前肩与后肩分别是多少,只给出了一个它们的总和为140*2(双lvds中行时序要*2)。

显示屏有分hync模式与de模式,在使用de模式时,不需要准确设置前后肩等,只要求它们的和与时序相符:hsw+hfp+hbp=bank_time。此处只要满足hsw+hfp+hvp=280,它们的值可以任意是非0值(建议所有值都不小于3)。此处我们设置hsw_lvds=20,hbp_lvds=100 ,hfp_lvds=180

场时序

场数据与行设置方式一样,只是它不用*2。从手册时序可知它的值应该为45,根据满足vsw+vfp+vbp=45,可以设置为vbp_lvds=20 ,vfp_lvds=20,vsw_lvds=5。所有的值不可以为0,也不建议各个值偏差太多

mode

因为此屏为双lvds,则pass_lvds=dual,8位,故bpp_lvds=8

故设置时序为:


mxcfb0 = panel_lvds
          


; pass_lvds = [ dual ] 双路lvds输出 或者 [ spilt ]单路lvds输出
; mode_lvds = [ ns ] ns模式 或者 [ jeida ] jeida模式
[panel_lvds]
x_lvds=1920
y_lvds=1080 
pix_clk_lvds=148000
hbp_lvds=100        
hfp_lvds=180     
hsw_lvds=20     
vbp_lvds=20   
vfp_lvds=20     
vsw_lvds=5      
bpp_lvds=8
pass_lvds=dual    
mode_lvds=ns

例子2:单路lvds屏  

如何调试lvds屏-基于TQT507开发板_android_02

这个屏是1024*600的单路lvds屏。从时序图可以看到它支持de模式也支持sync模式。此处我们以hync模式为例:

像素频率

手册显示为51.2MHz,为直接为pix_clk_lvds=51200

行时序:

手册显示Horizontal Pulse Width=20,故 hsw_lvds=20

同样,Horizontal Back Porch = 140,故 hbp_lvds=140

Horizontal FrontPorch = 160,故 hfp_lvds=160

场时序

手册显示Vertical Pulse Width = 3,故vsw_lvds=3

Vertical Back Porch = 20,故 vbp_lvds=20

Vertical Front Porch = 12,故 vfp_lvds=12.

mode

此屏为单路lvds屏,8位模式(时序表另外的地方有提及),故.pass_lvds=spilt , 模式为mode_lvds=ns  

故整体设置时序应该为:


mxcfb0 = panel_lvds
          


; pass_lvds = [ dual ] 双路lvds输出 或者 [ spilt ]单路lvds输出
; mode_lvds = [ ns ] ns模式 或者 [ jeida ] jeida模式
[panel_lvds]
x_lvds=1024
y_lvds=600 
pix_clk_lvds=51200
hbp_lvds=140        
hfp_lvds=160     
hsw_lvds=20     
vbp_lvds=20   
vfp_lvds=12     
vsw_lvds=3      
bpp_lvds=8    
pass_lvds=spilt   
mode_lvds=ns

同时可以看到按sync模式设置的时序同时也满足de模式。所以如果屏同时支持2种模式时建议按sync模式进行设置。

(3).更新显示参数操作流程: 

sd卡与卡里的内容有以下为相关要求

要求1:板卡能够启动并进入系统(可以从调试串口显示的信息判断板卡是否正常启动,一般能够进入命令行终端即为正常启动)

要求2:使用32G以下的sd卡, sd卡必须格式化为fat格式,并且只有一个分区。

要求3:必须按照EmbedSky.ini脚本里的格式填写,只需要修改对应项的值即可,不能做额外的删改。

要求4:Embedsky.ini文件入到卡的根目录下


按以下步骤完成SD卡的制作:

一、删除sd卡所有分区,并有分一个区。(第二点要求)

二、将sd卡格式化为fat32格式。

三、将显示参数写入EmbedSky.ini文件中并复制到sd卡根目录中。

四、将sd卡插入板卡中,启动板卡,完成更新。

举报

相关推荐

0 条评论