当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]在小规模图形液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动和控制系统,是当今低成本,低功耗,高集成化设计的最好选择,SED1520是当前最常用的一种液晶显示驱动控

在小规模图形液晶显示模块上使用液晶显示驱动控制器组成液晶显示驱动和控制系统,是当今低成本,低功耗,高集成化设计的最好选择,SED1520是当前最常用的一种液晶显示驱动控制器,这类图形液晶显示模块的规模为32行,本文用到的液晶模块CM12232即是内置SED1520的液晶显示模块,该模块的驱动控制系统由两片SED1520组成。

FPGA即现场可编程门阵列器件,这是一种超大规模集成电路,具有在电路可重配置的能力(in circuit reconfigurable,ICR)。设计者设计的逻辑可在编译、适配后变成网络表下载到FPGA芯片上之后,FPGA即可执行设计的逻辑功能。因此,FPGA在芯片控制、接口逻辑设计等各个方面的应用越来越广泛。

系统硬件设计

本方案采用的FPGA为Alter公司的ACEX1K30芯片,它可提供系统的时钟及读写控制,ACEX系列的FPGA由逻辑阵列块LAB(Logic array block)、嵌入式阵列块EAB(embedded array block)、快速互联以及IO单元构成,每个逻辑阵列块包含8个逻辑单元LE(logic element)和一个局部互联[1]。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接。EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入端口和输出端口都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双端口RAM等。在本液晶显示接口电路中,EAB主要用宏功能模块实现片上ROM。它通过调用FPGA上的EAB资源来实现汉字的显示和字符的存储,并根据控制信号产生的地址值从ROM中读取字符值,然后送LCD显示器进行显示。

由于所用的图形点阵液晶块内置有SED1520控制器,所以,其电路特性实际上就是SED1520的电路特性。SED1520的主要特性如下[2]:

具有液晶显示行驱动器,具有16路行驱动输出,并可级联实现32行驱动。

具有液晶显示列驱动器,共有61路列驱动输出。

内置时序发生器,其占空比可设置为1/16和1/32两种。

内藏显示存储器,显示存储器内的数据可直接显示,"1"为显示,"0"为不显示。

接口总线时序可适配8080系列或M6800系列,并可直接与计算机接口。

操作简单,有13条控制指令。

采用CMOS工艺,可在电压低至2.4-7.0V时正常工作,功耗仅30μW。

本设计所用的字符液晶模块CM12232由两块SED1520级连驱动,其中一个工作在主工作方式下,另一个工作在从方式下,主工作方式SED1520负责上半屏16行的驱动和左半屏的61列驱动,从工作方式的SED1520则负责下半屏16行的驱动和右半屏的61列驱动,使能信号E1、E2用来区分具体控制的是那一片SED1520,其系统的硬件连接图如图1所示。

由图1可见,该系统的硬件部分连接十分简单,其中FPGA部分没画出,而液晶与FPGA的接口则可直接以网表的形式给出,将它们直接与FPGA的普通I/O引脚相连即可。

系统的软件接口实现

具体实现的重点是如何从存放有字符的ROM块中读出数据,并按照液晶的时序正确的写入,在介绍具体实现方法前,首先要熟悉SED1520的指令。

SED1520的控制指令表

SED1520的几种主要的控制指令格式如下:

(1)复位格式(Reset)

 

该指令用于实现SED1520的软件复位。该指令执行时,显示起始行寄存器清零,接着列地址指针清零,之后页地址寄存器置为"3"。

(2)休闲状态设置(Statis drive ON/OFF)

 

该指令是休闲状态的软件开关,当S=1时,SED1520进入休闲状态;当S=0时,SED1520将中止或退出休闲状态。

(3)占空比设置(Slect duty)

 

该指令用于设置SED1520的占空比,Du=0时为1/16占空比,Du为1时为1/32占空比。

(4)ADC选择指令(Selet ADC)

 

该指令用于设置显示存储器中单元的地址所对应的显示驱动输出的顺序。A=0时,顺时针显示;A=1时,逆时针显示。

(5)显示起始行设置(Display start line)

 

该指令可用于设置显示屏上第一行(行驱动输出COMO所对应的显示行)所对应的显示存储器的行号,由此行顺序下延可得到对应显示屏上的显示效果,L=0-31(1FH),对应表示显示存储器的第1-32行。

(6)显示开/关设置(Display ON/OFF)

 

该指令控制着显示驱动器的输出。当Di=0时,显示关,当Di=1时,显示开。

(7)页面显示存储的设置

 

SED1520将显示存储器分为4个页面(0-3页)。每个页面都有80个字节。页面管理可由2位页地址寄存器控制,该指令就是设置页地址寄存器的内容,以选择相应的显示寄存器的页面。P=0-3,对应代表0-3页。

(8)列地址设置(Set column(segment)address)

 

[!--empirenews.page--]

SED1520的显示存储器的每个页面上都有80个字节,每个字节中的8位数据对应着显示屏上同一列的8点行,列地址指针就是管理这80个字节单元的,列地址指针是一个7位加一计数器,由它和页地址寄存器组合,可唯一指定显示存储器的某一个单元,列地址指针在计算机对显示存储器的每次操后都将自动加一。该指令就是设置列地址指针内容的。当CY=0-4FH,分别对应于1-80单元的地址。

顶层设计大批量

本设计具体实现的顶层设计原理图如图2所示。

图2中lpm_rom模块是利用FPGA的宏功能模块产生的片上ROM块[3],用以存放要显示的字符数据。ctrl模块则为控制从ROM中取出数据后液晶上显示的核心控制模块,其功能包括控制数据的读写时序、液晶屏的分屏显示控制、分页显示控制等。

控制模块程序代码

ctrl模块的程序核心代码如下:

architecture Behavioral of ctrl is

signal divcnt:std_logic_vector(11 downto 0);--系数计数

signal data:std_logic_vecdor(9 downto 0);--地址输出

Signal clk1,clk2,a01,cs11,cs21,flag,csflag:std_logic;

data<=divcnt(11 downto 2);--最高10位为地址

process3(clk2)

begin

if clk2‘event and clk2=`1‘then case conv_integer (data)is

when 0|2|4|6|8|10|12|13|138|139|264|265|390|391=>A01<=`0‘;cs11<=`0‘;cs21<=`1‘;

when 1|3|5|7|9|11|75|76|201|202|327|328|453|454=>A01<=`0‘;cs11<=`1‘;cs21<=`0‘;

when 14 to 74=>A01<=`1‘;cs11<=`0‘;cs21<=`1‘;

when 140 to 200=>A01<=`1‘;cs11<=`0‘;cs21<=1‘;

when 266 to 326=>A01<=`1‘;cs11<=`0‘;cs21<=`1‘;

when 392 to 452=>A01<=`1‘;cs11<=`0‘;cs21<=`1‘;

when 77 to 137=>A01<=`1‘;cs11<=`1‘;cs21<=`0‘;

when 203 to 263=>A01<=`1‘;cs11>=`1‘;cs21<=`0‘;

when 329 to 389=>A01<=`1‘;cs11<=`1‘;cs21<=`0‘;

when 455 to 515=>A01<=`1‘;cs11<=`1‘;cs21<=`0‘;

when others=>A01<=`0‘;cs11<=`1‘;cs21<=`1‘;

end case;

end if;

end process3;

a0<=a01;

cs1<=cs11 or csflag;

cs2<=cs21 or csflag;

ad<=data;

end Behavioral;

其中的关键程序为Process3;在该过程中,A01负责该数据写到液晶数据线上显示还是写到液晶的控制寄存器进行控制,A01为0时为写命令,A01为1时为写数据。

程序中,ROM地址的前13个单元均为写命令,根据SED1520的控制命令字,ROM表中的0、2、4、6、8、10单元依次是E2、A4、A9、A0、C0、AF,主要用于实现对CSI主工作的SED1520复位、退出休闲状态、设置占空比为1/32、顺时针显示数据RAM中的内容、显示起始对应显示存储器的0行、显示开这一系列的初始化工作;而1,3,5,7,9,11单元则写入到CS2(即从工作的SED1520)实现其初始化[4]。第13单元放的是B8(即页地址设置为0),从14-74单元,A01=1为写数据,此时片选CS1有效,ROM表中连续放入"武汉理工"4个汉字的上半部分字模(本方案共显示16个汉字"武汉理工大学自动化学院重点实验室"分两行,每行8个字显示);之后,75、76单元为写命令,ROM中的数据为B8,00表示设置显示页为0页,该页的列地址从0开始[5]。从77-137单元地址向CS2(即从动工作方式的SED1520)写数据即"大学自动"的前半部分字模,接下来的138、139单元为写命令,ROM中的数据为B9,00即表示页地址设置为1列,地址为0,140-200单元放入"武汉理工"的下半部分字模,201、202单元为写命令,ROM中的数据为B9、00表示页地址设置为1列,地址为0,203-263中为"大学自动"的下半部分字模,之后,8个字的写入过程与前8个字的写入过程相同,写命令单元用于控制要写的页。

结束语

本方案以FPGA为控制核心实现了对字符点阵液晶的控制,该方案硬件电路简单,软件程序简洁,对液晶的控制简单而且稳定,且可灵活改动,若要改变液晶显示的汉字,只需改变ROM表中的字模即可,实践证明,该设计是对液晶应用的一种行之有效的方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭