版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、江西理工大學(xué)應(yīng)用科學(xué)學(xué)院SOPC/EDA綜合課程設(shè)計報告設(shè)計題目: 液晶顯示屏LCD顯示接口設(shè)計 設(shè) 計 者: 劉文志學(xué) 號: 14班 級: 測控071指導(dǎo)老師: 王忠鋒完成時間: 2010年1月23日 設(shè)計報告綜合測試總評格式(10)內(nèi)容(40)圖表(10)答辯(20)平時(20)目 錄目 錄1第1章 預(yù)習(xí)知識21.1液晶顯示屏原理21.2課程設(shè)計題目:液晶顯示屏LCD顯示接口設(shè)計21.3、設(shè)計要求3第2章 設(shè)計內(nèi)容提要及說明42.1 元件原理圖4第3章 系統(tǒng)硬件設(shè)計10第4章 設(shè)計過程13第5章 實習(xí)總結(jié)22參考文獻(xiàn)23致謝24 第1章 預(yù)習(xí)知識1.1 液晶顯示屏原理 液晶顯示屏的LCD的
2、使用原理和設(shè)置; 液晶顯示模塊設(shè)計方法。 查詢有關(guān)課程設(shè)計漢字的國標(biāo)碼 有關(guān)FPGA的知識 端口的設(shè)計方法 熟悉GW48系列SOPC/EDA實驗開發(fā)系統(tǒng)及現(xiàn)代DSP實驗開發(fā)系統(tǒng)的使用方法。1.2 課程設(shè)計題目:液晶顯示屏LCD顯示接口設(shè)計 課程設(shè)計目的及基本要求 液晶顯示屏已廣泛應(yīng)用于人們的日常生活中,在各種領(lǐng)域中起到越來越重要的位置。因此,掌握和控制液晶顯示屏是非常重要的技能。進(jìn)行課程設(shè)計是加 強(qiáng)實踐,提高動手能力的重要環(huán)節(jié),通過課程設(shè)計,同時在軟件編程,排錯調(diào)試,相關(guān)儀器設(shè)備的使用技術(shù)等方面得到全面的提高。掌握液晶顯示屏實現(xiàn)的相關(guān)方法,為將來的實際工作打下一定的基礎(chǔ)。本課程設(shè)計是以SED1
3、520控制器為基礎(chǔ),基本要求是: 1、掌握SED1520控制器基本結(jié)構(gòu)2、掌握液晶顯示屏的工作原理及使用方法3、掌握用VHDL語言編寫程序 4、掌握Quartus II的使用方法 5、掌握GW48系列SOPC/EDA實驗開發(fā)系統(tǒng):a:閑置不用GW48系統(tǒng)時,必須關(guān)閉電源,拔下電源插頭! b:在實驗中,當(dāng)選中某種模式后,要按一下右側(cè)的復(fù)位鍵,以使系統(tǒng)進(jìn)入該結(jié)構(gòu)模式工作。c:換目標(biāo)芯片時要特別注意,不要插反或插錯,也不要帶電插拔,確信插對后才能開電源。其它接口都可帶電插拔。請?zhí)貏e注意,盡可能不要隨意插拔適配板,及實驗系統(tǒng)上的其他芯片。d:并行口工作模式設(shè)置在“EPP”模式!e: 跳線座“SPS”
4、默認(rèn)向下短路(PIO48);右側(cè)開關(guān)默認(rèn)撥向“TO MCU”。f: 對于GW48-PK2系統(tǒng),左下角撥碼開關(guān)除第4檔“DS8使能”向下?lián)埽?數(shù)碼管顯示)外,其余皆默認(rèn)向上1.3、設(shè)計要求使用FPGA設(shè)計一個液晶顯示屏LCD顯示的控制器,使其能夠顯示文字、數(shù)字或圖形(根據(jù)需要選擇LCD屏),至少需要顯示“江西理工大學(xué)應(yīng)用科學(xué)學(xué)院課程設(shè)計”字樣,另外需要顯示班級姓名和日期。其它功能可自行增加! (型號GW48-PK2)第2章 設(shè)計內(nèi)容提要及說明2.1 元件原理圖圖1 下載/編程接口電路圖圖2 液晶顯示屏 模塊引腳說明表1 模塊引腳邏輯工作電壓(VDD):3.35.5V電源地(GND):0V工作溫度
5、(Ta):0+50(常溫)/ -2070(寬溫) 接口時序模塊有并行和串行兩種連接方法(時序如下):a) 8位并行連接時序圖圖3 MPU寫資料到模塊圖4 MPU從模塊讀出資料a) 串行連接時序圖圖5 串行時序圖表2 時鐘周期表串行數(shù)據(jù)傳送共分三個字節(jié)完成:第一字節(jié):串口控制格式 11111ABC A為數(shù)據(jù)傳送方向控制:H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD。 B為數(shù)據(jù)類型選擇: H表示數(shù)據(jù)室顯示數(shù)據(jù),L表示數(shù)據(jù)室控制指令 C固定為0第二字節(jié):(并行)8位數(shù)據(jù)的高4位格式DDDD0000第三字節(jié):(并行)8位數(shù)據(jù)的低4位格式DDDD0000串行接口時序參數(shù):(測試條件: T=25
6、 VDD=4.5V) 用戶指令集指令表1:(RE=0:基本指令集)表3 基本指令表指令表2:(RE=1:擴(kuò)充指令集)表4 擴(kuò)充指令表 FPGA與LCD連接方式FPGA與LCD連接方式:(僅PK2型含此)。由實驗電路結(jié)構(gòu)圖COM可知,默認(rèn)情況下,F(xiàn)PGA是通過89C51單片機(jī)控制LCD液晶顯示的,但若FPGA中有Nios嵌入式系統(tǒng),則能使FPGA直接控制LCD顯示。方法是拔去此單片機(jī)(在右下側(cè)),用連線將座JP22/JP21(LCD顯示器引腳信號)各信號分別與座JP19/JP20(FPGA引腳信號)相連接即可。圖6 實驗電路結(jié)構(gòu)圖COM 第3章 系統(tǒng)硬件設(shè)計本方案采用的FPGA為Alter公司的
7、ACEX1K30芯片,它可提供系統(tǒng)的時鐘及讀寫控制,ACEX系列的FPGA由邏輯數(shù)組塊LAB(Logic array block)、嵌入式數(shù)組塊EAB(embedded arr ay block)、快速互聯(lián)以及IO單元構(gòu)成,每個邏輯數(shù)組塊包含8個邏輯單元LE(logic element)和一個局部互聯(lián)1。每個邏輯單元則由一個4輸入查找表(LUT)、一個可編程觸發(fā)器、快速進(jìn)位鏈、級連鏈組成,多個LAB和多個EAB則可通過快速通道互相連接。EAB是ACEX系列器件在結(jié)構(gòu)設(shè)計上的一個重要部件,他是輸入埠和輸出埠都帶有觸發(fā)器的一種靈活的RAM塊,其主要功能是實現(xiàn)一些規(guī)模不太大的FIFO、ROM、RAM
8、和雙埠RAM等。在本液晶顯示接口電路中,EAB主要用宏功能模塊實現(xiàn)片上ROM。它通過調(diào)用FPGA上的EAB資源來實現(xiàn)漢字的顯示和字符的存儲,并根據(jù)控制信號產(chǎn)生的地址值從ROM中讀取字符值,然后送LCD顯示器進(jìn)行顯示。由于所用的圖形點(diǎn)陣液晶塊內(nèi)置有SED1520控制器,所以,其電路特性實際上就是SED1520的電路特性。SED1520的主要特性如下: (1)具有液晶顯示行驅(qū)動器,具有16路行驅(qū)動輸出,并可級聯(lián)實現(xiàn)32行驅(qū)動。(2)具有液晶顯示列驅(qū)動器,共有61路列驅(qū)動輸出。(3)內(nèi)置時序發(fā)生器,其占空比可設(shè)置為1/16和1/32兩種。(4)內(nèi)藏顯示內(nèi)存,顯示內(nèi)存內(nèi)的數(shù)據(jù)可直接顯示,"1
9、"為顯示,"0"為不顯示。(5)接口總線時序可適配8080系列或M6800系列,并可直接與計算機(jī)接口。(6)操作簡單,有13條控制指令。(7)采用CMOS工藝,可在電壓低至2.4-7.0V時正常工作,功耗僅30W。本設(shè)計所用的字符液晶模塊CM12232由兩塊SED1520級連驅(qū)動,其中一個工作在主工作方式下,另一個工作在從方式下,主工作方式SED1520負(fù)責(zé)上半屏16行的驅(qū)動和左半屏的61列驅(qū)動,從工作方式的SED1520則負(fù)責(zé)下半屏16行的驅(qū)動和右半屏的61列驅(qū)動,使能信號E1、E2用來區(qū)分具體控制的是那一片SED1520,其系統(tǒng)的硬件連接圖如圖1所示。由圖1可
10、見,該系統(tǒng)的硬件部分連接十分簡單,其中FPGA部分沒畫出,而液晶與FPGA的接口則可直接以網(wǎng)表的形式給出,將它們直接與FPGA的普通I/O引腳相連即可。系統(tǒng)的軟件接口實現(xiàn)具體實現(xiàn)的重點(diǎn)是如何從存放有字符的ROM塊中讀出數(shù)據(jù),并按照液晶的時序正確的寫入,在介紹具體實現(xiàn)方法前,首先要熟悉SED1520的指令。SED1520的控制指令表第四章 設(shè)計過程4.1 初始化部分的狀態(tài)機(jī)設(shè)計根據(jù)字符模塊初始化的流程圖:圖7 LCD初始化流程圖4.2 時鐘模塊的設(shè)計由于FPGA開發(fā)板上自帶的晶振頻率為50MHZ,而所需要的時鐘頻率則需要小于13.9K。因此需要一個分頻器對其進(jìn)行分頻。這里采用簡單的計數(shù)器對其進(jìn)行
11、分頻,通過分頻器將外部輸入的32 MHZ的信號分成頻率為153600HZ的信號。在分頻之后由于時鐘信號需要同時控制LCD模塊以及FPGA的模塊,因此需要編寫一個程序,使得兩者之間同步。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY baud IS port(clk,resetb:in std_logic; bclk:out std_logic);end baud;architecture Behavioral of baud
12、isbeginprocess(clk,resetb)variable cnt:integer;beginif resetb='1' thencnt:=0;bclk<='0'elsif rising_edge(clk)then if cnt>=208 then cnt:=0;bclk<='1'else cnt:=cnt+1;bclk<='0'end if;end if;end process;end behavioral;圖8 時鐘模塊圖9 系統(tǒng)的仿真圖形4.3 中文字符部分的數(shù)據(jù)模塊中文部分由于VHDL中無
13、法識別中文,使用時需要參照中文字符表,將需要的字符所對應(yīng)的數(shù)據(jù)輸入RAM,然后通過和英文模塊不重復(fù)的符號來實現(xiàn)對其的調(diào)用。如 “江”這個中文字符,所對應(yīng)國標(biāo)碼”bdad”,因此在函數(shù)部分應(yīng)為:constant data_buf : data_buffer := (x"bd",x"ad");本程序驅(qū)動液晶顯示“江西理工大學(xué)應(yīng)用科學(xué)學(xué)院課程設(shè)計” “班級”“姓名”“日期”Library IEEE;Use IEEE.STD_LOGIC_1164.ALL;Use IEEE.STD_LOGIC_ARITH.ALL;Use IEEE.STD_LOGIC_UNSIGN
14、ED.ALL;entity LCD isgeneric(divide_to_100k :integer:=1000);Port(clk, rst:in STD_LOGIC;Rw, rs, e, lcd_rst :out STD_LOGIC;Lcd_data:out STD_LOGIC_VECTOR(7 downto 0); end LCD;architecture Behavioral of LCD issignal clk_100k:std_logic;type state is(s0,s1,s2,s3,s4);signal current_s: state ;type data_buffe
15、r is array (0 to 43) of std_logic_vector ( 7 downto 0 ) ;constant data_buf : data_buffer := (x"bd",x"ad",x"ce",x"f7",x"c0",x"ed",x"b9",x"a4", x"b4",x"f3",x"d1",x"a7",x"d3"
16、;,x"a6",x"d3",x"c3",x"bf",x"c6",x"d1",x"a7", x"d1",x"a7",x"d4",x"ba",x"bf",x"ce",x"b3",x"cc",x"c9",x"e8",x"bc",x"c6
17、", x"b0",x"e0",x"bc",x"b6", x"d0",x"d5",x"c3",x"fb", x"c8",x"d5",x"c6",x"da"); beginprocess(clk)variable cnt:integer range 0 to divide_to_100k;beginif rising_edge(clk)then cnt
18、:=cnt+1;if cnt=divide_to_100k then cnt:=0;end if;if cnt<divide_to_100k/2 then clk_100k<= '0'else clk_100k <= '1'end if;end if;end process;process(clk_100k)variable cnt1:integer range 0 to 500;variable cnt1_1:integer range 0 to 100;variable code_cnt:integer range 0 to 13;vari
19、able data_cnt:integer range 0 to 48; beginif rising_edge(clk_100k)thenif rst = '1' then current_s <= s0 ; cnt1 := 0 ;cnt1_1 := 0;code_cnt := 0 ; data_cnt := 0 ; lcd_rst <= '0'else case current_s iswhen s0=> rw<= '1'rs <= '1'e <= '1'cnt1:=cnt1
20、+1;if cnt1 < 250 then lcd_rst <= '0'elsif cnt1 < 500 then lcd_rst <= '1'elsif cnt1=500 then lcd_rst <= '1'cnt1 := 0;current_s <= s1;end if;when s1=>cnt1_1:=cnt1_1+1; if cnt1_1 < 1*3 then e <= '1'rs <= '0'rw <= '0'elsif
21、cnt1_1<2*3 then lcd_data<=x"0c"elsif cnt1_1<10*3 then e<='0'elsif cnt1_1=10*3 then cnt1_1:=0;current_s<=s2;end if;when s2=>cnt1_1:=cnt1_1+1; if cnt1_1<1*3 then e<='1'rs<='0'rw<='0'elsif cnt1_1<2*3 then lcd_data<=x"80&
22、quot;elsif cnt1_1<10*3 then e<='0'elsif cnt1_1=10*3 then cnt1_1:=0;current_s<=s3;end if;when s3=> if cnt1_1<1*3 then e<='1'rs<='1'rw<='0'elsif cnt1_1<2*3 then lcd_data<=data_buf(data_cnt);elsif cnt1_1=2*3 then data_cnt:= data_cnt+1;elsif
23、cnt1_1<100 then e<='0'end if;cnt1_1:=cnt1+1;if cnt1_1=100 then cnt1_1:=0;if data_cnt=16 then current_s<=s4;data_cnt:=0;end if;end if;when others=>current_s<=s0;end case;end if;end if;end process;end Behavioral;圖10 顯示文字的模塊圖11 系統(tǒng)的仿真圖形4.4 圖形的數(shù)據(jù)模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_11
24、64.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY lcdlinehozi IS PORT( CLK,key3: IN STD_LOGIC; CK0,DISP,Hsync,Vsync:OUT STD_LOGIC; rgb:OUT STD_LOGIC_VECTOR(0 TO 23) ); END;ARCHITECTURE WX OF lcdlinehozi ISSIGNAL CLK_TEMP1,CLK_TEMP2,CK :STD_LOGIC ;SIGNAL CNT1,CNT2:STD_LOGIC_VECTOR(2 DOWNTO 0);signal cnt:
25、std_logic_vector(1 downto 0);SIGNAL HS_CNT,VS_CNT:INTEGER RANGE 0 TO 525;signal rgbx,rgby: STD_LOGIC_VECTOR(0 TO 23);CONSTANT THp:INTEGER :=41;CONSTANT THb:INTEGER :=2;CONSTANT THf:INTEGER :=2;CONSTANT TVp:INTEGER :=10;CONSTANT TVb:INTEGER :=2;CONSTANT TVF:INTEGER :=2;CONSTANT THd:INTEGER :=480;CONS
26、TANT TVd:INTEGER :=272;BEGINPROCESS(key3) BEGIN IF key3'event and key3='1' THEN IF cnt="10" THEN cnt<="00" else cnt<=cnt+1; end if; end if; end process; process(cnt) begin if if vs_cnt<43 then rgby<="000000000000000000000000" elsif vs_cnt<75 t
27、hen rgby<="000000000000000011111111" end process; CLOCK:PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1'THEN IF CNT1=2 THEN CNT1<="000" ELSE CNT1<=CNT1+1;END IF; END IF; END PROCESS; PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK='0' THEN IF CNT2=2 THEN CNT2
28、<="000" ELSE CNT2<=CNT2+1;END IF; END IF; END PROCESS; PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF CNT1=0 THEN CLK_TEMP1<='1' ELSIF CNT1=1 THEN CLK_TEMP1<='0' END IF; END IF; END PROCESS; PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK='0
29、9;THEN IF CNT2=0 THEN CLK_TEMP2<='1' ELSIF CNT2=1 THEN CLK_TEMP2<='0' END IF; END IF; END PROCESS; CK<=CLK_TEMP1 OR CLK_TEMP2; CK0<=CK; PROCESS(CK) BEGIN IF CK'EVENT AND CK='1' THEN IF HS_CNT=THp-1 THEN Hsync<='1' HS_CNT<=HS_CNT+1; ELSIF HS_CNT=THp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國大直徑鍛鋼法蘭盤數(shù)據(jù)監(jiān)測研究報告
- 2024年中國舞臺柱型噴泉煙花市場調(diào)查研究報告
- 2024年中國熱熔式塑料焊接機(jī)市場調(diào)查研究報告
- 2024年中國柔性凸面廣角鏡市場調(diào)查研究報告
- 2024年中國呋喃唑酮市場調(diào)查研究報告
- 2025至2031年中國箱體發(fā)熱器行業(yè)投資前景及策略咨詢研究報告
- 2024年08月境外2024年中國銀行卡塔爾金融中心分行校園招考筆試歷年參考題庫附帶答案詳解
- 安全員年終工作報告
- 2024年公務(wù)員考試臨汾市蒲縣《行政職業(yè)能力測驗》高分沖刺試卷含解析
- 2024年安徽財貿(mào)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 工作場所空氣中有害物質(zhì)監(jiān)測的采樣規(guī)范課件159-2004
- 設(shè)備安裝、調(diào)試及驗收質(zhì)量保證措施
- 火力發(fā)電廠生產(chǎn)技術(shù)管理導(dǎo)則
- 合同范本之采購合同誰保管
- 國家自然科學(xué)基金進(jìn)展報告
- 汽輪機(jī)葉片振動與分析
- 地質(zhì)工作個人述職報告三篇
- 相信自己歌詞(共1頁)
- 產(chǎn)品可追溯流程圖圖
- 《童年》讀書交流會
- 中國主要機(jī)場管制席位及頻率
評論
0/150
提交評論