基于LUA脚本的参数标定方法及装置与流程

文档序号:11250751阅读:860来源:国知局

本发明涉及液晶模组的显示和测试领域,具体地指一种基于lua脚本的参数标定方法及装置。



背景技术:

随着社会信息化的发展,液晶模组越来越多的被使用在各种设备上,以满足人们对信息视觉化的需求。随着液晶模组的需求量日益增大,人们对模组显示的视觉效果要求更高,生产商通过标定出厂的一些参数来满足人们对视觉效果的需求和保证模组本身出厂的一致性,市场上有多种方式来实现对这些参数的标定,比如专门用于标定工作的标定器,针对不同信号类型的ic都得重新进行不同标定流程的处理,所以出现新的标定流程时,又得修改标定器的代码,目前市场上缺乏一种快速、灵活、便利的设备来对不同信号类型的液晶模组进行统一兼容处理标定的方法。



技术实现要素:

针对现有技术的不足,本发明的目的是提供一种基于lua脚本的参数标定方法及装置,能够根据参数配置和lua脚本的编辑实现将多种不同流程、不同信号类型的液晶模组的标定工作进行兼容整合,实现降低开发成本和开发使用灵活方便的目的。

为实现上述目的,本发明所设计的一种基于lua脚本的参数标定方法,包括参数调节和参数标定步骤;其特殊之处在于,

所述参数调节步骤包括:

10)对lua脚本进行解析,得到脚本流程和调节参数,并根据所述脚本流程调用调节驱动函数

11)根据所述调节驱动函数和调节参数向显示模组发送调节信号,对显示模组的寄存器参数进行调节;

所述参数标定步骤包括:

20)对lua脚本进行解析,得到脚本流程和烧录参数,并根据所述脚本流程调用烧录驱动函数;

21)根据所述烧录驱动函数和烧录参数向显示模组发送烧录信号,将烧录参数写入显示模组的驱动ic中。

进一步地,所述参数调节步骤、参数标定步骤用于vcom调节或者gamma调节。

更进一步地,还包括点屏步骤:读取点屏参数配置信息,并根据所述点屏参数配置信息向显示模组提供电压信号,所述显示模组的屏被点亮,所述点屏参数配置信息包括时钟频率配置参数、点屏timing时序配置参数、点屏initcode配置参数和电源配置参数。

更进一步地,所述调节驱动函数和烧录驱动函数为根据mipi通讯协议或者lvds通讯协议或者dp通讯协议实现指令数据组包,基于spi、i2c等物理层硬件接口操作驱动实现封装的驱动函数。

一种用于上述基于lua脚本的参数标定方法的装置,其特殊之处在于,包括存储模块、按键开关、嵌入式处理器arm模块、信号转换模块、电源输出模块,

所述存储模块:用于存放点屏参数配置信息、显示图像和lua脚本和调节参数;

所述按键开关:用于采集用户指令;

所述嵌入式处理器arm模块:用于检测按键开关的操作,并根据用户指令对存储模块中的lua脚本进行解析,得到脚本流程和烧录参数,并根据所述脚本流程调用调节驱动函数、烧录驱动函数;

所述信号转换模块:用于根据嵌入式处理器arm模块发送的命令执行物理层操作,将调节参数转换为调节信号、烧录参数转换为烧录信号发送至显示模组;

所述电源输出模块:用于根据所述点屏参数配置信息向显示模组提供电压信号。

所述嵌入式处理器arm模块通过lua解析器对lua脚本进行解析,所述lua解析器为移植到嵌入式处理器arm模块中的lua静态库。

所述信号转换模块为mipi信号转换模块或/和lvds信号转换模块或/和dp信号转换模块。

所述装置还包括pc/crt客户端,所述pc/crt客户端用于编辑存储模块中的lua脚本。

所述信号转换模块与嵌入式处理器arm模块之间通过spi接口或者dp接口通讯。

所述存储模块为sd卡、u盘、固定硬盘或移动硬盘。

本发明的有益效果在于:本发明用于液晶出厂标定的处理。一台设备可以处理多种不同流程、不同类型的液晶模组,操作简单、使用灵活,针对mipi、lvds、dp和其他类型的液晶模组,只需修改配置文件和lua脚本的调节和烧录流程,这样能较好的便于设备维护、开发,降低开发成本。操作人员只需按照lua脚本的编辑方法就可以自行处理标定功能。

附图说明

图1为实现本发明的标定系统的框图。

图中:存储模块1,按键开关2,嵌入式处理器arm模块3,信号转换模块4,电源输出模块5,显示模组6,pc/crt客户端7。

具体实施方式

以下结合附图和具体实施例对本发明作进一步的详细描述。

如图1所示,本发明所提供的一种基于lua脚本的参数标定方法的装置包括存储模块1、按键开关2、嵌入式处理器arm模块3、信号转换模块4、电源输出模块5和pc/crt客户端7。

其中,存储模块1:用于存放点屏参数配置信息、显示图像和lua脚本和调节参数;

按键开关2:用于采集用户指令;

嵌入式处理器arm模块3:用于检测按键开关2的操作,并根据用户指令对存储模块1中的lua脚本进行解析,得到脚本流程和烧录参数,并根据脚本流程调用调节驱动函数、烧录驱动函数。

信号转换模块4:用于根据嵌入式处理器arm模块3发送的命令执行物理层操作,将调节参数转换为调节信号、烧录参数转换为烧录信号发送至显示模组6。信号转换模块4包括mipi信号转换模块4-1、lvds信号转换模块4-2、dp信号转换模块4-3,分别用于将调节参数、烧录参数转换为mipi调节信号、mipi烧录信号、lvds调节信号、lvds烧录信号、dp调节信号、dp烧录信号。

电源输出模块5:用于根据点屏参数配置信息向显示模组6提供电压信号。

工作时,嵌入式处理器arm模块3接收按键开关2发出的指令,从存储模块1中读取点屏参数配置信息、显示图像以及lua脚本文件,并根据pc/crt客户端7的输入修改存储模块1中的lua脚本文件,然后向信号转换模块4和电源输出模块5发出控制信号。

本发明适用于mipi、lvds、dp或者其他类型的显示模组6,本实施例以mipi显示模组6为例说明,lvds、dp或者其他类型的显示模组的实施流程与mipi显示模组6相同,具体步骤包括:

1、将需要进行初始化参数固化和处理的显示模组6接入标定系统。

2、标定系统正常开电后,嵌入式处理器arm模块3读取按键开关2的状态,判断是否给接入的显示模组6供电,供电后才可进行以下操作,否则一直等待开电。显示模组6为mipi、dp、lvds液晶模组或者其他视频信号的显示装置。

按键开关2包含5个按键(此处可根据实际不同需求进行扩充按键个数),5个按键开关分别控制:开关电、点屏、标定调节+、标定调节-、标定烧录。按键开关2选择的是点击式的,按下压合,放开弹起方式的开关,按下不放开只认为按下一次。

3、开电后,嵌入式处理器arm模块3以循环扫描方式读取按键开关2的状态,当点屏按键按下,嵌入式处理器arm模块3接收到开电指令,读取点屏参数配置信息中关于电压部分参数后,降参数通过i2c接口发送给电源输出模块5,进而控制电源输出模块5输出对应要求电压给显示模组6,显示模组6的屏背光被点亮,同时给显示模组ic等其他部分正常供电。

点屏参数配置信息、显示图像和lua脚本均存放于存储模块1中,存储模块1为sd卡、u盘、固定硬盘、移动硬盘或者其他存储介质。点屏参数配置信息包括时钟频率配置参数、点屏timing时序配置参数、点屏initcode配置参数和电源配置参数;其中时钟频率配置参数用于设置信号转换模块4与显示模组6之间的通讯时钟和频率,点屏timing时序配置参数用于配置点屏显示图片的方式,包括前肩、后肩、同步位宽、液晶屏的分辨率大小;点屏initcode配置参数用于设置ic初始寄存器值;电源配置参数用于为显示模组6正常供电。

显示图像包括嵌入式处理器arm模块3支持常用的图片格式(bmp\jpg\ptn等),有些参数固化后需要在特定的图片看效果。例如标定vcom时,需要在flick类型的图片才能看出闪烁程度是否满足要求;而gamma调节时在灰阶效果图片看调节效果比较好。

嵌入式处理器arm模块3读取存储模块1中的点屏参数配置文件和图片,然后将获取到的点屏参数配置信息和图像数据发给信号转换模块4,信号转换模块4会输出对应的点屏信号,点屏成功后,才可进行相关标定动作,此处嵌入式处理器arm模块3通过软件进行了限制处理。

4、显示模组6的屏被正常点亮后,嵌入式处理器arm模块3检测到标定调节的按键开关2操作,接收到调节指令,读取存储模块1中的lua脚本,通过spi接口与信号转换模块4通信,并根据lua脚本中的脚本流程调用调节驱动函数,调节驱动函数将lua脚本中的调节参数一并输出至信号转换模块4,信号转换模块4根据驱动函数发送过来的命令执行物理层操作,将调节信号发送至显示模组6,显示模组6根据调节信号显示对应效果的图像,用户根据显示效果修改所述lua脚本中的调节参数后重复本步骤直至调节结束。

信号转换模块4市场上有多种,比如东芝的tc358768xbg,所罗门2828,还有fpga根据mipi协议实现的桥片核等;本实施例选择东芝的tc358768桥片,此桥片支持标准的mipi协议规则;支持12c和spi两种通讯硬件接口,本发明选择spi、dp接口实现嵌入式处理器arm模块3与信号转换模块4实现硬件相连通讯。

信号转换模块4的驱动函数是按照mipi协议命令来实现的,举例如下:

04:04开头命令发给mipi模组代表generic短读,没有参数;

14:14开头命令发给mipi模组代表generic短读,读取一个参数;

24:24开头命令发给mipi模组代表generic短读,读取二个参数;

05:05开头命令发给mipi模组代表dcs写,没有参数;

15:15开头命令发给mipi模组代表dcs写,写入一个参数;

39:39开头命令发给mipi模组代表dcs多字节写,可写入多个参数。

嵌入式处理器arm模块3与信号转换模块4之间的mipi通讯格式如下:

format

cmdaddrdatacomment

commandexplanation

mainsmainroutinestart(mains“mainroutinename“)

mainemainroutineend

subssubroutinestart(subs“subroutinename“)

subesubroutineend

endendmarkforformatconversiontool

subsubroutineexecute(sub“subroutinename)

remremark(commentline)(rem“remark/comment“)

remndremark(commentline).afterconversion,thislineisdeleted.

delaydelaycommand.delayunitisus.(dealy“delayvalue“)

wrwritecommand(wr“address““data“)

rdreadcommand(rd“address“)

每一个驱动函数都需要选择按照mipi协议的一种命令格式下发数据给显示模组6的ic,只有按照mipi协议格式和命令下发参数,显示模组6的ic才能正常识别对应的命令和参数。为了满足这样的需求,就需要在参数配置时将对应的需求命令编辑好,然后信号转换模块4的驱动函数根据lua脚本解析器解析的结果选择对应的函数来执行需要下发的参数;如下是编辑lua脚本到最终下发给显示模组6的过程:

嵌入式处理器arm模块3获取上述文件内容,enable代表是否是mipi类型,如果为0,则嵌入式处理器arm模块3不会获取剩下的内容,如果enable为1,则会获取剩下内容,然后按照编辑的command选择对应的读写函数将实现发送或读取。嵌入式处理器arm模块3与信号转换模块4是通过spi的通讯方式来实现的,所以上述发送的命令是通过spi接口发送给信号转换模块4,然后转换为mipi信号发送给显示模组6。

嵌入式处理器arm模块3读取lua脚本中的脚本流程和调节参数后,将读取的参数保存在全局变量数组initcode[]里面,判断文件记录是按照那种类型进行下发参数数据给显示模组6,则调用对应的驱动函数操作信号转换模块实现通讯。

根据mipi协议封装的常用函数驱动函数,即上述的信号模块4的转换驱动函数如下所示;函数是基于spi通讯方式来实现嵌入式处理器arm模块3与tc358768桥片进行通讯处理。

voidmipiwritebytep0(uint8_taddress,uint8_tvalue_1,uint8_tvalue_2,uint8_tvalue_3,uint8_tvalue_4);

uint16_tmipireadbytep0(uint8_taddress,uint8_tvalue_1,uint8_tvalue_2);

voiddcsshortwritenopara(uint8_tcommand);

voiddisplayonnopara(uint8_tcommand);

voiddcsshortwriteonepara(uint8_tcommand,uint8_tpara);

voidgeneralshortwritetwopara(uint8_tcommand,uint8_tpara);

voiddcslongwritewithpara(uint8_tregaddr,constuint8_t*para,uint8_tcount);

voidgernerallongwritewithpara(uint8_tregaddr,constuint8_t*para,uint8_tcount);

voidgerneraltxlongwritewithpara(uint8_tcommand,uint8_t*para,uint16_tcount);

voiddcstxlongwritewithpara(uint8_tcommand,uint8_t*para,uint16_tcount);

shorttc358768_read_reg(charchannel,shortaddress);

voidtc358768_write_reg(charchannel,shortaddress,shortvalue);

unsignedshortreadpanelreg(unsignedcharreq,int*result);

intgeneralreadpannelreg(unsignedcharreg,unsignedchar*para,intpara_cnt,iht*result);

voidselectspidevice(uint8_tspideviceid);

参数调节过程的具体步骤包括:

41)嵌入式处理器arm模块3接收调节指令,读取存储模块1中的lua脚本;

42)嵌入式处理器arm模块3根据arm代码里面移植进去的lua解析器解析出lua脚本要进行的标定流程,得到脚本流程和调节参数。

lua解析器可以通过网上下载库,然后嵌入式处理器arm模块3移植静态库到操作系统中,从而实现解析lua脚本,进而根据解析的结果,调用信号转换模块4的驱动函数,实现lua脚本流程转换为实际通过spi接口操作信号转换模块4的流程,进而实现操作显示模组6的流程。

43)嵌入式处理器arm模块3根据脚本流程调用调节驱动函数。

驱动函数是实现lua脚本读取、调节、烧录流程的常用函数,根据lua解析器解析后的结果来调用对应的函数,对应的函数通过spi与信号转换模块实现物理通讯,最终实现将lua脚本流程转换为实际的物理操作。

44)嵌入式处理器arm模块3按照脚本流程执行调节驱动函数,通过spi接口将调节参数发送至信号转换模块4,实现将标定流程信号通过信号转换模块4发送给显示模组6;

45)信号转换模块4根据调节驱动函数发送过来的命令和调节参数向显示模组6驱动ic的寄存器参数进行调节,

46)显示模组6根据调节信号显示对应效果的图像,用户通过视觉效果或者测量仪器判断调节效果,如果参数需要调整,通过pc/crt客户端7进入linux操作系统里面修改lua脚本的调节参数,设置合适的值,保存后,返回步骤41),进行新一轮调节,如果效果仍不符合要求,再次返回步骤41),直至用户根据显示图像效果判定调节结束,调节结束进入烧录流程。

5、嵌入式处理器arm模块3接收烧录指令后,读取lua脚本,通过spi接口与信号转换模块4通信,并根据lua脚本中的脚本流程调用烧录驱动函数,将lua脚本中的烧录参数一并输出至信号转换模块4,信号转换模块4根据驱动函数执行物理层操作,将烧录信号发送至显示模组6,显示模组6根据接收的命令实现将对应的数值烧录到ic的掉电保存区域,实现标定烧录。

参数烧录过程的具体步骤包括:

51)嵌入式处理器arm模块3接收烧录指令后,读取存储模块1中的lua脚本。

52)嵌入式处理器arm模块3对lua脚本进行解析,得到脚本流程和烧录参数;

53)嵌入式处理器arm模块3根据脚本流程调用烧录驱动函数;

54)嵌入式处理器arm模块3根据烧录驱动函数调用spi接口将烧录参数发送至信号转换模块4;

55)信号转换模块4根据烧录驱动函数和烧录参数向显示模组6发送烧录信号;

56)显示模组6接收烧录信号,信号转换模块4将烧录参数写入显示模组6驱动ic的掉电保存区域里面,标定完成。

本发明根据lua脚本的轻量、灵活、可扩展的特性,选择其作为给液晶模组进行参数固化标定的流程制定工具;lua自带一个小规模的类库,我们可以有选择地安装这些类库,这样就可以很好的根据需要节省空间。首先需要将lua解释器移植到操作系统里面,lua解释器包含类库,移植成功后,可以通过嵌入式系统直接调用lua解释器的接口,实现lua脚本编写的流程给予操作系统知道,同时操作系统也可以通过c语言接口与lua脚本发送数据,实现交互;编辑lua脚本可通过记事本来进行编辑或者直接基于linux操作系统基于crt界面进行编辑,编辑后拷贝到存储模块1里面,编辑脚本需要按照lua语言的语法结构来实现,由于lua语法结构是基于c语言来实现的,所以对于接触过c语言的人员来说是很容易上手进行编写lua脚本。

lua脚本编写完成后拷贝进存储模块1如sd卡中,开电后,嵌入式处理器arm模块3根据按键开关2的状态判断是否进入读取脚本流程,同时此处是按照命名为run.lua来调用对应名字的脚本,这样在存储模块1sd卡里面可以存放多个脚本,脚本使用时先备份后修改名字就可以被调用,然后调用移植的解析器来解析lua脚本,实现将lua脚本转换为嵌入式系统可以识别的c语言流程,这样解析后,lua脚本的流程相当于写入到嵌入式系统里面的一个c语言模块,然后可以根据lua脚本的流程实现解析后的嵌入式系统可识别的c语言流程,这样就实现了嵌入式操作系统来运行lua脚本编写的流程,同时嵌入式操作系统按照lua脚本流程读取获得的参数也可以基于lua脚本解析器的c语言接口发送给lua脚本,实现调节参数的交互和判断是否烧录参数成功等功能。

上述是单纯脚本流程与嵌入式系统直接的交互流程,实际对液晶模组进行参数的固化标定功能是通过嵌入式操作系统输出的各种信号与信号转换模块进行通讯,然后通过信号转换模块与液晶模组对应的信号ic电相连来实现的;嵌入式操作系统的各种信号包括spi、i2c等信号,然后与对应的mipi、lvds、dp等信号类型的信号转换模块电相连,然后通过spi、i2c等发送控制命令给予信号转换模块,信号转换模块将其转换为模组的ic可以识别的mipi、lvds、dp等信号,实现对液晶模组ic的控制。本发明中,mipi、dp的信号转换模块与嵌入式操作系统相通讯的是spi,lvds是i2c,此处是可以根据实际需要进行更改的。脚本里面编辑时是要区分信号类型,然后嵌入式操作系统解析后,会根据脚本的编辑参数来选择对应的信号方式进行通讯。

lua脚本的流程可以被嵌入式处理器arm模块3解析为c语言接口函数,同时嵌入式处理器arm模块3也可以通过函数给lua脚本传递参数,这个是lua脚本本身支持的功能。如下根据示例说明lua脚本:

读vcom函数:

调节vcom函数:

烧录vcom函数:

以上示例是针对vcom这个参数进行的读取、调节、烧录流程;gamma参数或者其它参数也是根据上述3个驱动函数来实现的;

当嵌入式处理器arm模块3将lua脚本读取后,将取得的文件指针传递给lua解析器后,lua解析器便开始加载lua脚本,当触发烧录按键时,则可以根据触发信号作为条件来选择执行lua脚本的烧录函数functionvcom_burn(tcarrier,vcomcfg,tretresp),lua解析器获取vcom_burn(tcarrier,vcomcfg,tretresp)函数里面的每一个函数,获取后,嵌入式处理器arm模块3便可知道当前函数的含义,然后嵌入式处理器arm模块3就开始调用信号转换模块4的驱动函数执行物理层的操作,这部分驱动函数与lua脚本编辑的函数需要对应,同时也可根据实际需要进行扩充。

由于每一款不同液晶模组的初始化参数固化标定流程需要根据液晶模组里面ic的固化流程来编写,然而每一款ic可能又会不一样,所以为了灵活处理,选择lua脚本来作为各种ic固化流程的兼容工具,这样减少了开发工作量,同时也使用方便。一台本设计设备几乎可以实现全部液晶模组的初始化参数固化流程。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以设计出若干改进,这些改进也应视为本发明的保护范围。

本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1