您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于FPGA的液晶表现接口计划

发布日期:2011-04-19

 
小序

    在小范围图形液晶表现模块上利用液晶表现驱动控制器构成液晶表现驱动和控制体系,是当今低本钱,低功耗,高集成化计划的最好选择,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)
 
    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表中的字模即可,实践证明,该计划是对液晶应用的一种行之有效的要领。