CN100576310C - 一种自动配置lcd驱动程序的方法及装置 - Google Patents
一种自动配置lcd驱动程序的方法及装置 Download PDFInfo
- Publication number
- CN100576310C CN100576310C CN200810066423A CN200810066423A CN100576310C CN 100576310 C CN100576310 C CN 100576310C CN 200810066423 A CN200810066423 A CN 200810066423A CN 200810066423 A CN200810066423 A CN 200810066423A CN 100576310 C CN100576310 C CN 100576310C
- Authority
- CN
- China
- Prior art keywords
- lcd
- drive
- driver
- automatic
- collocating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Liquid Crystal Display Device Control (AREA)
Abstract
本发明适用于移动通信及微电子领域,提供了一种自动配置LCD驱动程序的方法,所述方法包括下述步骤:获取LCD的ID号;根据LCD的ID号,获取与其对应的驱动程序的入口地址;以及将LCD驱动程序的入口地址映射至系统显示输出的结构体。本发明的有益效果在于:避免了针对每一家LCD编译一套相应的软件和此种情形下人工配置LCD驱动程序的错误,节省了下载软件后还需要手动配置LCD驱动程序的人力和物力成本,完全实现LCD驱动程序的自动配置。
Description
技术领域
本发明属于移动通信及微电子领域,尤其涉及一种自动配置LCD驱动程序的方法及装置。
背景技术
随着电子通信技术的迅速发展和电子通信产品需求量的急速上升,产品原料的补给成为终端设备厂商竞争成败的重要因素之一。基于上述原因,大部分终端设备厂商在产品研发阶段都会为其关键部件或模块开拓多款可兼容使用的资源,由几个原料供应商同时供货,以确保产品量产阶段的供货稳定。
对于大部分移动通信终端及微电子设备必备的显示输出设备——液晶显示屏(Liquid Crystal Display,LCD),移动通信终端及微电子设备的生产厂家的策略更是如此。即使不同供应商的LCD可以要求被定制一致的硬件接口,也无法保证其内部使用的驱动集成电路(Integrated Circuit,IC)一样,而且不同厂家的LCD材质不同,参数也就不同,因此,移动通信终端或微电子设备生产厂商必须针对每一款LCD提供一套不同的驱动程序。
对于上述问题,现有技术的一种解决方案是:移动通信终端或微电子设备生产厂商为每一家LCD的产品都提供一套软件。这样,一个产品有几家的显示模块就有几套软件,非常烦琐;而且,这种做法增加生产线下载软件的工作量,在软件和LCD配对出错时,会造成更大的人力物力损失。
现有技术的另一种解决方案是:为一款产品统一一套软件,软件下载到移动通信终端或微电子设备之后,再通过研发人员自行编写的一个上位机软件与该移动通信终端或微电子设备利用通信的方式来设定属于哪一家的LCD,但这种方式依然增加产品量产时的工作量,在上位机或通信出现问题时会影响生产进度。
发明内容
本发明实施例的目的在于提供一种自动配置LCD驱动程序的方法及装置,旨在解决现有技术在“一机多屏”的情况下,需要提供多套不同的软件来配置LCD驱动程序,从而带来工作量增加的问题。
本发明实施例是这样实现的,一种自动配置LCD驱动程序的方法,所述方法包括下述步骤:
获取LCD的ID号;
根据LCD的ID号,获取与其对应的驱动程序的入口地址,所述驱动程序的入口地址以结构体数组形式存在,结构体数组的每一个元素为每一款LCD驱动程序的结构体的首地址;以及
将LCD驱动程序的入口地址映射至系统显示输出的结构体。
所述获取LCD的ID号具体包括:
读取LCD驱动IC的ID;
区分受所述LCD驱动IC驱动的不同款式的LCD;
获取受所述LCD驱动IC驱动的LCD的ID号。
本发明实施例的另一目的在于提供一种自动配置LCD驱动程序的装置,所述装置至少包括下述模块:
LCD的ID号判断模块,用于判断使用LCD驱动IC的LCD的ID号;
LCD驱动程序入口地址获取模块,用于根据所述LCD的ID号,获取所述LCD的驱动程序入口地址,所述驱动程序的入口地址以结构体数组形式存在,结构体数组的每一个元素为每一款LCD驱动程序的结构体的首地址。
所述装置进一步包括:
驱动IC的ID读取模块,用于读取LCD驱动IC的ID号并输送至所述LCD的ID号判断模块;
LCD驱动程序入口地址模块,用于集合所有LCD驱动程序的入口地址。
地址映射模块,用于将所述LCD驱动程序的入口地址映射至系统显示输出结构体。
本发明的有益效果在于:避免了针对每一家LCD编译一套相应的软件和此种情形下人工配置LCD驱动程序的错误,节省了下载软件后还需要手动配置LCD驱动程序的人力物力成本,完全实现LCD驱动程序的自动配置。
附图说明
图1是本发明实施例提供的一种自动配置LCD驱动程序的方法流程图;
图2是本发明实施例提供的获取LCD的ID号方法流程图;
图3是本发明提供的一个自动配置LCD驱动程序的实施例示意图;
图4是本发明实施例提供的一种自动配置LCD驱动程序的装置示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的实施例在系统启动后,读取LCD的标识(IDentification,ID)号,查询集合了所有LCD驱动程序的结构体数组,获取相应的LCD的驱动程序入口地址,再将此地址映射到系统显示输出的结构体上,实现LCD驱动程序的自动配置。
参阅图1,本发明实施例提供的一种自动配置LCD驱动程序的方法流程,详述如下:
步骤S101,获取LCD唯一的ID号。
在本发明提供的实施例中,一款LCD的ID号与一款LCD对应,即,LCD的ID号唯一确定了一款LCD产品。为了节约成本,LCD生产厂商往往使用同一型号的驱动IC来驱动多款不同的LCD,或者,不同生产厂商使用同一型号的驱动IC来驱动各自的LCD,即在实际应用中,存在多款LCD对应同一型号的LCD的驱动IC。
图2是在上述情况下,本发明实施例提供的获取LCD的ID号方法流程。
步骤S201,读取LCD驱动IC的ID。
在本发明提供的实施例中,LCD主控制器可以通过LCD的命令/数据总线读取LCD驱动IC的ID号。
步骤S202,判断是否只是一款LCD使用该驱动IC。
若只有一款LCD使用该驱动IC,则表明可以直接获取LCD的ID,否则,进一步通过其他方式获取LCD的ID。
步骤S203,判断是否只有两款LCD使用该驱动IC。
步骤S204,读取LCD的ID引脚电平,以区分两款不同的LCD。
如果存在两款LCD使用同一型号的驱动IC,在本发明提供的实施例中,LCD主控制器通过与其普通I/O口连接的LCD的ID引脚,读取ID引脚上的电平来区分两款不同的LCD,例如,可以规定,若读取到ID引脚的电平值为高,则使用该LCD驱动IC的是甲LCD;若读取到ID引脚的电平值为低,则使用该LCD驱动IC的是乙LCD。
步骤S205,读取LCD的ID引脚上的模拟电压值,以区分三款或三款以上不同的LCD。
如果存在三款或三款以上不同的LCD使用同一型号的驱动IC,则以LCD的ID引脚上的电平值高低显然无法区分不同的LCD。在本发明提供的实施例中,以LCD的ID引脚上的模拟电压值区分不同的LCD。在具体的实施过程中,可以将LCD主控制器的一个模/数转换接口与LCD的ID引脚连接,然后读取引脚上的模拟电压值。由于模拟电压可以连续取值,而不是二值逻辑,因此,这种方法可以区分三款或三款以上不同的LCD。
步骤S206,获取LCD唯一的ID号。
由于LCD的ID号才唯一对应一款LCD的驱动程序的入口地址,因此,在获取LCD唯一的ID号后,可以得到其对应的驱动程序的入口地址,参阅图1。
步骤S102,根据LCD的ID号,获取与其对应的驱动程序的入口地址。
在本发明提供的实施例中,所有LCD驱动程序的入口地址集合在如下所示的结构体数组中:
const LCD Driver_Struct*LcdDriver[LCM_DRV_TOTAL]=
{
(LCD_Driver_Struct*)&LCD1_Driver,
(LCD_Driver_Struct*)&LCD2_Driver,
(LCD_Driver_Struct*)&LCD3_Driver
};
由于上述结构体数组的每一个元素为每一款LCD驱动程序的结构体的首地址,因此,当获取了LCD唯一的ID号以后,通过查询结构体数组,获取与此LCD相对应的驱动程序的入口地址。
步骤S103,将LCD驱动程序的入口地址映射至系统显示输出的结构体。
本发明需要为装备LCD的系统寻找系统显示输出处理的入口地址,在LCD驱动程序的入口地址映射至系统显示输出的结构体后,可以将LCD驱动程序的入口地址作为系统显示输出处理的入口地址,在本发明提供的实施例中,其相关软件代码如下:
LCD_Driver_Struct*SystemLCDDriver;
SystemLCDDriver=(LCD_Driver_Struct*)LcdDriver[LCDType];
通过系统显示输出处理的入口地址,调用对应LCD初始化程序,相关代码如下:
SystemLCDDriver->initialize();
此后,系统进一步进行其他部分的初始化动作。
为了更加清楚地理解本发明,图3给出了自动配置LCD驱动程序的实施例。
假设存在四家LCD厂商生产的4款不同的LCD,其驱动IC、驱动IC的ID号、厂商对各自LCD的ID引脚定义和LCD的ID号如表1所示。
在系统完成底层的初始化动作后,LCD主控制器通过LCD的命令/数据总线读取LCD驱动IC的ID号(步骤S301)。
若LCD控制器读取的LCD驱动IC的ID号为0x1505(步骤S302),则
表1
由表1可知,只有一款比亚迪厂商生产的LCD(BYD_R61505)使用该种型号的LCD驱动IC,即获取其LCD的ID号为BYD_R61505(步骤S305)。
若LCD控制器读取的LCD驱动IC的ID号不为0x1505,例如,为0x1503(步骤S303),同样,由于仅有一款LG厂商生产的LCD(LG_R61503)使用型号为0x1505的LCD驱动IC,因此,可以直接获取其LCD的ID号为LG_R61503(步骤S306)。
若LCD控制器读取的LCD驱动IC的ID号既不为0x1503,也不为0x1505,即LCD驱动IC的ID号为HX8346。由表1可知,存在两款不同的LCD(TRULY_HX8346和BAOYI_HX8346)使用ID号为HX8346的驱动IC。如前所述,只能以与LCD主控制器普通I/O口连接的生产厂商的LCD的ID引脚上的电平高低来区分两款不同的LCD(步骤S304)。如果LCD的ID引脚上电平值为高,则获取的是宝易厂商生产的一款LCD的ID号BAOYI_HX8346(步骤S307),否则,获取的就是信利厂商生产的一款LCD的ID号TRULY_HX8346(步骤S308)。
在获取唯一的LCD的ID号后,根据LCD的ID号,获取与其对应的驱动程序的入口地址(步骤S309),并将该LCD驱动程序的入口地址映射至系统显示输出的结构体(步骤S310),此过程已在前文说明,具体软件代码如下。
Const LCD_Driver_Struct *LcdDriver[LCM_DRV_TOTAL]=
{
(LCD_Driver_Struct*)&TRULY_HX8346_Driver,
(LCD_Driver_Struct*)&LG_R61503_Driver,
(LCD_Driver_Struct*)&BYD_R61505_Driver,
(LCD Driver_Struct*)&BAOYI_HX8346_Driver
};
上述代码表示集合了四家生产厂商的LCD驱动程序的入口地址结构体数组。
LCD_Driver_Struct *SystemLCDDriver;
SystemLCDDriver=(LCD_Driver_Struct*)LcdDriver[TRULY_HX8346];
SystemLCDDriver->initialize();
上述代码表示LCD驱动IC的ID号为0x0025,LCD的ID引脚电平为低,ID号为TRULY_HX8346的LCD驱动程序的入口地址映射至系统显示输出的结构体的同时,完成LCD初始化函数的调用。
参阅图4,本发明实施例提供的自动配置LCD驱动程序装置图,为了便于说明,仅示出了与本发明相关的部分。所述装置包括驱动IC的ID读取模块401、LCD的ID号判断模块402、LCD驱动程序入口地址获取模块403、LCD驱动程序入口地址模块404和地址映射模块405。
驱动IC的ID读取模块401用于通过数据/总线读取LCD驱动IC的ID号;
LCD的ID号判断模块402用于根据驱动IC的ID读取模块401读取的LCD驱动IC的ID号,判断究竟是哪一款LCD使用该LCD的驱动IC;
LCD驱动程序入口地址获取模块403用于根据所述LCD的ID号,获取所述LCD的驱动程序入口地址;
LCD驱动程序入口地址模块404用于集合所有LCD驱动程序的入口地址;
地址映射模块405用于将LCD驱动程序的入口地址映射至系统显示输出结构体。
所述装置的工作原理如下:
驱动IC的ID读取模块401通过LCD主控制器的命令/数据总线,读取连接至LCD主控制器的LCD驱动IC的ID号。
由于在实际的应用中,为了节约成本,LCD生产厂商往往使用同一型号的驱动IC来驱动多款不同的LCD,或者,由于某一LCD驱动IC的性价比较好,不同LCD生产厂商使用同一型号的驱动IC来驱动各自的LCD,因此,驱动IC的ID读取模块401读取了LCD驱动IC的ID号后,LCD的ID号判断模块402根据该LCD驱动IC的ID号,判断究竟是哪一款LCD在使用该LCD驱动IC。在本发明实施例中,若存在两款不同的LCD同时使用同一型号的LCD驱动IC,则可以通过读取连接至主控制器一普通I/O口的LCD的ID引脚的电平高低来判断是哪一款LCD;若存在三款或三款以上不同的LCD同时使用同一型号的LCD驱动IC,则可以通过读取连接至主控制器模/数转换接口的LCD的ID引脚的模拟电压值来判断是哪一款LCD。
确定是哪一款LCD在使用LCD驱动IC,即,获取了LCD的唯一ID号之后,LCD驱动程序入口地址获取模块403通过查询集合了所有LCD驱动程序入口地址的LCD驱动程序入口地址模块404,获取该LCD驱动程序的入口地址。地址映射模块405根据该LCD驱动程序的入口地址,将其映射至系统显示输出结构体。至此,LCD驱动程序配置完成。
本发明实施例通过读取LCD驱动IC的ID号以确定是哪一款LCD使用该驱动IC后,获取唯一的LCD的ID号。根据所述LCD的ID号,查询集合了所有LCD驱动程序的结构体数组,获取相应的LCD的驱动程序入口地址,再将此地址映射到系统显示输出的结构体上。本发明避免了针对每一家LCD编译一套相应的软件和此种情形下人工配置LCD驱动程序的错误,节省了下载软件后还需要手动配置LCD驱动程序的人力物力成本,完全实现LCD驱动程序的自动配置。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1、一种自动配置LCD驱动程序的方法,其特征在于,所述方法包括下述步骤:
获取LCD的ID号;
根据LCD的ID号,获取与其对应的驱动程序的入口地址,所述驱动程序的入口地址以结构体数组形式存在,结构体数组的每一个元素为每一款LCD驱动程序的结构体的首地址;以及
将LCD驱动程序的入口地址映射至系统显示输出的结构体。
2、如权利要求1所述的自动配置LCD驱动程序的方法,其特征在于,所述获取LCD的ID号具体包括:
读取LCD驱动IC的ID号;
区分受所述LCD驱动IC驱动的不同款式的LCD;以及
获取受所述LCD驱动IC驱动的LCD的ID号。
3、如权利要求2所述的自动配置LCD驱动程序的方法,其特征在于,所述区分受所述LCD驱动IC驱动的不同款式的LCD具体包括:
若存在两款不同LCD使用同一型号的驱动IC,则以所述LCD的ID引脚上电平高低区分。
4、如权利要求3所述的自动配置LCD驱动程序的方法,其特征在于,所述LCD的ID引脚连接至LCD主控制器的一I/O口。
5、如权利要求2所述的自动配置LCD驱动程序的方法,其特征在于,所述区分受所述LCD驱动IC驱动的不同款式的LCD具体包括:
若存在三款或三款以上不同LCD使用同一型号的驱动IC,则以所述LCD的ID引脚上的模拟电压值区分。
6、如权利要求5所述的自动配置LCD驱动程序的方法,其特征在于,所述LCD的ID引脚连接至LCD主控制器的模/数转换接口。
7、如权利要求1所述的自动配置LCD驱动程序的方法,其特征在于,所述方法进一步包括:
根据系统显示输出处理的结构体,调用LCD的初始化程序。
8、一种自动配置LCD驱动程序的装置,其特征在于,所述装置至少包括下述模块:
LCD的ID号判断模块,用于判断使用LCD驱动IC的LCD的ID号;
LCD驱动程序入口地址获取模块,用于根据所述LCD的ID号,获取所述LCD的驱动程序入口地址,所述驱动程序的入口地址以结构体数组形式存在,结构体数组的每一个元素为每一款LCD驱动程序的结构体的首地址。
9、如权利要求8所述自动配置LCD驱动程序的装置,其特征在于,所述装置进一步包括:
驱动IC的ID读取模块,用于读取LCD驱动IC的ID号并输送至所述LCD的ID号判断模块;
LCD驱动程序入口地址模块,用于集合所有LCD驱动程序的入口地址。
地址映射模块,用于将所述LCD驱动程序的入口地址映射至系统显示输出结构体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810066423A CN100576310C (zh) | 2008-03-31 | 2008-03-31 | 一种自动配置lcd驱动程序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810066423A CN100576310C (zh) | 2008-03-31 | 2008-03-31 | 一种自动配置lcd驱动程序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101256752A CN101256752A (zh) | 2008-09-03 |
CN100576310C true CN100576310C (zh) | 2009-12-30 |
Family
ID=39891516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810066423A Expired - Fee Related CN100576310C (zh) | 2008-03-31 | 2008-03-31 | 一种自动配置lcd驱动程序的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100576310C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129373A (zh) * | 2011-03-09 | 2011-07-20 | 湖南超视物联智能网络科技有限公司 | 一种基于物联网终端设备驱动程序软件设计框架的方法 |
CN103428346A (zh) * | 2012-05-17 | 2013-12-04 | 上海艾特维通信科技有限公司 | Lcd自适应的移动固话及lcd自适应装置 |
CN102970601A (zh) * | 2012-11-27 | 2013-03-13 | 康佳集团股份有限公司 | 一种基于电视机的驱动自动加载处理方法和电视机 |
CN105529003B (zh) * | 2014-09-30 | 2018-11-23 | 施耐德电气工业公司 | 液晶显示系统、液晶显示方法及主控单元 |
CN105513548A (zh) * | 2015-07-09 | 2016-04-20 | 上海盛善电气有限公司 | 一种嵌入式设备的自动选择显示方式的方法 |
CN107610626A (zh) * | 2017-08-31 | 2018-01-19 | 深圳市国显科技有限公司 | 一种lcm的id检测治具的检测方法 |
CN109147701B (zh) * | 2018-09-21 | 2022-01-28 | 京东方科技集团股份有限公司 | 显示控制结构、显示控制方法、显示基板和显示装置 |
-
2008
- 2008-03-31 CN CN200810066423A patent/CN100576310C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101256752A (zh) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100576310C (zh) | 一种自动配置lcd驱动程序的方法及装置 | |
CN104991872A (zh) | 一种实现智能设备驱动外围设备的方法及装置 | |
EP0992000B1 (en) | Bus interface system and method | |
CN105529003B (zh) | 液晶显示系统、液晶显示方法及主控单元 | |
CN101695088A (zh) | 模组识别方法和终端 | |
CN101702299A (zh) | Lcd模组识别系统及方法 | |
CN102393848B (zh) | 获取数据终端设备识别信息的方法和系统 | |
CN102646044A (zh) | 一种多触摸屏加载程序的系统和方法 | |
CN106933754A (zh) | 一种usb驱动识别方法及装置 | |
CN104318949A (zh) | 一种烧录装置、烧录系统和烧录方法 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN101169724B (zh) | 跨平台免驱动程序的外围装置驱动方法 | |
CN102194351A (zh) | 一种基于8051或avr的多核心单片机教学实验平台 | |
CN100489807C (zh) | 计算机系统状态监示电路 | |
CN206301322U (zh) | 硬件标识号的实现装置 | |
CN102654838A (zh) | 一种用于舞台灯的软件升级装置和方法 | |
CN1521664B (zh) | 简化的CardBus控制器 | |
CN101436137A (zh) | 支持多种闪存芯片的驱动方法 | |
CN207148816U (zh) | 一种程序烧写系统及电子设备 | |
CN205194301U (zh) | 一种lcm驱动液晶显示系统 | |
US20120278509A1 (en) | Updating device and method through a baseboard management controller thereof | |
CN107636632A (zh) | 一种识别不同厂家液晶的方法及系统 | |
CN107977322A (zh) | 基板管理控制器外接卡、主机系统及管理主机周边构件方法 | |
CN202600683U (zh) | Freescale系列微控制器嵌入式系统开发平台 | |
CN209625033U (zh) | 咖啡机标准化电源功率板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091230 Termination date: 20150331 |
|
EXPY | Termination of patent right or utility model |