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屏)
●像素频率
手册上显示时钟是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屏
这个屏是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卡插入板卡中,启动板卡,完成更新。
标签:lvds,LVDS,screen,TQT507,时序,设置,开发板,sd From: https://blog.51cto.com/u_16059068/6493990