<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于FPGA的液晶顯示接口設計

基于FPGA的液晶顯示接口設計

——
作者:張紅娜,胡榮強,胡合松 武漢理工大學(xué)自動(dòng)化學(xué)院 時(shí)間:2007-01-26 來(lái)源:《電子元器件應用》 收藏

引言

在小規模圖形模塊上使用驅動(dòng)控制器組成驅動(dòng)和控制系統,是當今低成本,低功耗,高集成化設計的最好選擇,sed1520是當前最常用的一種液晶顯示驅動(dòng)控制器,這類(lèi)圖形液晶顯示模塊的規模為32行,本文用到的液晶模塊cm12232即是內置sed1520的液晶顯示模塊,該模塊的驅動(dòng)控制系統由兩片sed1520組成。

fpga即現場(chǎng)可編程門(mén)陣列器件,這是一種超大規模集成電路,具有在電路可重配置的能力(in circuit reconfigurable,icr)。設計者設計的邏輯可在編譯、適配后變成網(wǎng)絡(luò )表下載到fpga芯片上之后,fpga即可執行設計的邏輯功能。因此,fpga在芯片控制、接口邏輯設計等各個(gè)方面的應用越來(lái)越廣泛。

系統硬件設計

本方案采用的fpga為alter公司的acex1k30芯片,它可提供系統的時(shí)鐘及讀寫(xiě)控制,acex系列的fpga由邏輯陣列塊lab(logic array block)、嵌入式陣列塊eab(embedded array block)、快速互聯(lián)以及io單元構成,每個(gè)邏輯陣列塊包含8個(gè)邏輯單元le(logic element)和一個(gè)局部互聯(lián)[1]。每個(gè)邏輯單元則由一個(gè)4輸入查找表(lut)、一個(gè)可編程觸發(fā)器、快速進(jìn)位鏈、級連鏈組成,多個(gè)lab和多個(gè)eab則可通過(guò)快速通道互相連接。eab是acex系列器件在結構設計上的一個(gè)重要部件,他是輸入端口和輸出端口都帶有觸發(fā)器的一種靈活的ram塊,其主要功能是實(shí)現一些規模不太大的fifo、rom、ram和雙端口ram等。在本液晶顯示接口電路中,eab主要用宏功能模塊實(shí)現片上rom。它通過(guò)調用fpga上的eab資源來(lái)實(shí)現漢字的顯示和字符的存儲,并根據控制信號產(chǎn)生的地址值從rom中讀取字符值,然后送lcd顯示器進(jìn)行顯示。

由于所用的圖形點(diǎn)陣液晶塊內置有sed1520控制器,所以,其電路特性實(shí)際上就是sed1520的電路特性。sed1520的主要特性如下[2]:

本文引用地址:http://dyxdggzs.com/article/21362.htm

具有液晶顯示行驅動(dòng)器,具有16路行驅動(dòng)輸出,并可級聯(lián)實(shí)現32行驅動(dòng)。

具有液晶顯示列驅動(dòng)器,共有61路列驅動(dòng)輸出。

內置時(shí)序發(fā)生器,其占空比可設置為1/16和1/32兩種。

內藏顯示存儲器,顯示存儲器內的數據可直接顯示,"1"為顯示,"0"為不顯示。

接口總線(xiàn)時(shí)序可適配8080系列或m6800系列,并可直接與計算機接口。

操作簡(jiǎn)單,有13條控制指令。

采用cmos工藝,可在電壓低至2.4-7.0v時(shí)正常工作,功耗僅30μw。

本設計所用的字符液晶模塊cm12232由兩塊sed1520級連驅動(dòng),其中一個(gè)工作在主工作方式下,另一個(gè)工作在從方式下,主工作方式sed1520負責上半屏16行的驅動(dòng)和左半屏的61列驅動(dòng),從工作方式的sed1520則負責下半屏16行的驅動(dòng)和右半屏的61列驅動(dòng),使能信號e1、e2用來(lái)區分具體控制的是那一片sed1520,其系統的硬件連接圖如圖1所示。

由圖1可見(jiàn),該系統的硬件部分連接十分簡(jiǎn)單,其中fpga部分沒(méi)畫(huà)出,而液晶與fpga的接口則可直接以網(wǎng)表的形式給出,將它們直接與fpga的普通i/o引腳相連即可。

系統的軟件接口實(shí)現

具體實(shí)現的重點(diǎn)是如何從存放有字符的rom塊中讀出數據,并按照液晶的時(shí)序正確的寫(xiě)入,在介紹具體實(shí)現方法前,首先要熟悉sed1520的指令。

sed1520的控制指令表

sed1520的幾種主要的控制指令格式如下:

(1)復位格式(reset)

該指令用于實(shí)現sed1520的軟件復位。該指令執行時(shí),顯示起始行寄存器清零,接著(zhù)列地址指針清零,之后頁(yè)地址寄存器置為"3"。

(2)休閑狀態(tài)設置(statis drive on/off)

該指令是休閑狀態(tài)的軟件開(kāi)關(guān),當s=1時(shí),sed1520進(jìn)入休閑狀態(tài);當s=0時(shí),sed1520將中止或退出休閑狀態(tài)。

(3)占空比設置(slect duty)

該指令用于設置sed1520的占空比,du=0時(shí)為1/16占空比,du為1時(shí)為1/32占空比。

(4)adc選擇指令(selet adc)

該指令用于設置顯示存儲器中單元的地址所對應的顯示驅動(dòng)輸出的順序。a=0時(shí),順時(shí)針顯示;a=1時(shí),逆時(shí)針顯示。

(5)顯示起始行設置(display start line)

該指令可用于設置顯示屏上第一行(行驅動(dòng)輸出como所對應的顯示行)所對應的顯示存儲器的行號,由此行順序下延可得到對應顯示屏上的顯示效果,l=0-31(1fh),對應表示顯示存儲器的第1-32行。

(6)顯示開(kāi)/關(guān)設置(display on/off)

該指令控制著(zhù)顯示驅動(dòng)器的輸出。當di=0時(shí),顯示關(guān),當di=1時(shí),顯示開(kāi)。

(7)頁(yè)面顯示存儲的設置

sed1520將顯示存儲器分為4個(gè)頁(yè)面(0-3頁(yè))。每個(gè)頁(yè)面都有80個(gè)字節。頁(yè)面管理可由2位頁(yè)地址寄存器控制,該指令就是設置頁(yè)地址寄存器的內容,以選擇相應的顯示寄存器的頁(yè)面。p=0-3,對應代表0-3頁(yè)。

(8)列地址設置(set column(segment)address)

sed1520的顯示存儲器的每個(gè)頁(yè)面上都有80個(gè)字節,每個(gè)字節中的8位數據對應著(zhù)顯示屏上同一列的8點(diǎn)行,列地址指針就是管理這80個(gè)字節單元的,列地址指針是一個(gè)7位加一計數器,由它和頁(yè)地址寄存器組合,可唯一指定顯示存儲器的某一個(gè)單元,列地址指針在計算機對顯示存儲器的每次操后都將自動(dòng)加一。該指令就是設置列地址指針內容的。當cy=0-4fh,分別對應于1-80單元的地址。

頂層設計大批量

本設計具體實(shí)現的頂層設計原理圖如圖2所示。

圖2中lpm_rom模塊是利用fpga的宏功能模塊產(chǎn)生的片上rom塊[3],用以存放要顯示的字符數據。ctrl模塊則為控制從rom中取出數據后液晶上顯示的核心控制模塊,其功能包括控制數據的讀寫(xiě)時(shí)序、液晶屏的分屏顯示控制、分頁(yè)顯示控制等。

控制模塊程序代碼

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;

其中的關(guān)鍵程序為process3;在該過(guò)程中,a01負責該數據寫(xiě)到液晶數據線(xiàn)上顯示還是寫(xiě)到液晶的控制寄存器進(jìn)行控制,a01為0時(shí)為寫(xiě)命令,a01為1時(shí)為寫(xiě)數據。

程序中,rom地址的前13個(gè)單元均為寫(xiě)命令,根據sed1520的控制命令字,rom表中的0、2、4、6、8、10單元依次是e2、a4、a9、a0、c0、af,主要用于實(shí)現對csi主工作的sed1520復位、退出休閑狀態(tài)、設置占空比為1/32、順時(shí)針顯示數據ram中的內容、顯示起始對應顯示存儲器的0行、顯示開(kāi)這一系列的初始化工作;而1,3,5,7,9,11單元則寫(xiě)入到cs2(即從工作的sed1520)實(shí)現其初始化[4]。第13單元放的是b8(即頁(yè)地址設置為0),從14-74單元,a01=1為寫(xiě)數據,此時(shí)片選cs1有效,rom表中連續放入"武漢理工"4個(gè)漢字的上半部分字模(本方案共顯示16個(gè)漢字"武漢理工大學(xué)自動(dòng)化學(xué)院重點(diǎn)實(shí)驗室"分兩行,每行8個(gè)字顯示);之后,75、76單元為寫(xiě)命令,rom中的數據為b8,00表示設置顯示頁(yè)為0頁(yè),該頁(yè)的列地址從0開(kāi)始[5]。從77-137單元地址向cs2(即從動(dòng)工作方式的sed1520)寫(xiě)數據即"大學(xué)自動(dòng)"的前半部分字模,接下來(lái)的138、139單元為寫(xiě)命令,rom中的數據為b9,00即表示頁(yè)地址設置為1列,地址為0,140-200單元放入"武漢理工"的下半部分字模,201、202單元為寫(xiě)命令,rom中的數據為b9、00表示頁(yè)地址設置為1列,地址為0,203-263中為"大學(xué)自動(dòng)"的下半部分字模,之后,8個(gè)字的寫(xiě)入過(guò)程與前8個(gè)字的寫(xiě)入過(guò)程相同,寫(xiě)命令單元用于控制要寫(xiě)的頁(yè)。

結束語(yǔ)

本方案以fpga為控制核心實(shí)現了對字符點(diǎn)陣液晶的控制,該方案硬件電路簡(jiǎn)單,軟件程序簡(jiǎn)潔,對液晶的控制簡(jiǎn)單而且穩定,且可靈活改動(dòng),若要改變液晶顯示的漢字,只需改變r(jià)om表中的字模即可,實(shí)踐證明,該設計是對液晶應用的一種行之有效的方法。




關(guān)鍵詞: 液晶顯示 LCD

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>