《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于FPGA的LCD&VGA控制器設計

基于FPGA的LCD&VGA控制器設計

2008-11-05
作者:朱耀東 經亞枝 張煥春

??? 摘? 要: 介紹了基于FPGA的圖形式LCD&VGA控制器的設計,詳細討論了用VHDL設計行場掃描時序的方法,這種設計方法" title="設計方法">設計方法稍作改動便可產生任意行場掃描時序,具有很好的可重用性。該控制器已成功地在某型飛機座艙圖形顯示系統" title="顯示系統">顯示系統中使用。?

????關鍵詞: 儀表裝置? LCD? VHDL? FPGA? VGA

?

??? 飛機座艙圖形顯示系統已發展到第六代,即采用有源矩陣彩色液晶顯示器AMLCD(Active Matrix Liquid Crystal Display)。當前高分辨率的軍用AMLCD顯示模塊" title="顯示模塊">顯示模塊還只能依靠進口,且控制電路板須安裝在該顯示模塊提供的機箱內。這種安裝方式對AMLCD控制電路板的尺寸要求高,要求盡可能減少所設計電路板的尺寸。在筆者設計的新一代飛機座艙圖形顯示系統中使用了大規模現場可編程門陣列FPGA(Field Programmable Gate Array),這種設計方式可以將以前需要多塊集成芯片的電路設計到一塊大規模可編程邏輯器件中,大大減少了電路板的尺寸,增強了系統的可靠性和設計的靈活性。本文詳細介紹了已在實際項目中應用的基于FPGA的圖形式AMLCD控制器設計,這種設計方法稍作修改即可應用于常見VGA視頻接口電路的設計。?

1 圖形顯示系統簡介

??? 圖1是飛機座艙圖形顯示系統結構框圖。圖中處理器采用AD公司的ADSP21061芯片,AMLCD采用Korry公司的KDM710全彩色液晶顯示模塊,該模塊為5×5英寸、600×600分辨率彩色液晶顯示模塊,24位數字RGB輸入。兩個幀存A和B采用IDT公司的71V424高速異步靜態RAM,系統采用兩個幀存輪流操作的方法:當DSP向其中一個幀存寫象素時,由FPGA構成的幀存控制器將另一個幀存中的象素順序讀出送給AMLCD,反之亦然。圖形顯示系統通過IDT公司的71V04雙口RAM接收主機的顯示信息。圖1中的幀存控制器和視頻控制器由Xilinx公司的SpartanII芯片XC2S50實現。?

?

?

2 KMD710顯示模塊?

??? 如圖1所示,美國Korry公司提供的KDM710全彩色液晶顯示模塊接口信號主要有如下幾組:3個8位RGB數字信號、同步信號" title="同步信號">同步信號數據使能信號DATA_EN和點時鐘輸入DCLK。根據AMLCD數據手冊所要求的時序,確定掃描時序和相應的時序參數如圖2所示。一般,圖形終端顯示器掃描制式與廣播電視的標準有點不同,須根據顯示模塊所提供的時間要求來確定掃描時序,其中的行場同步的前后肩,可以根據需要進行微調,一般為了防止每行的第一個象素丟失,要求行同步的后肩C與行同步脈沖寬B盡量相等。圖2中的點時鐘為20MHz,行周期為650個時鐘周期,場周期為615個行周期(場頻為50Hz)。?

?

?

3 LCD&VGA控制器設計?

??? 設計行場掃描時序,一般有兩種方式:查找表" title="查找表">查找表方式和編程邏輯方式。查找表方式主要由存儲芯片構成,如SRAM、EPROM、PORM等。使用時,先根據所要產生的時序在存儲單元寫入相應的數值,查表時再從表內讀出對應存儲單元的數值,以形成掃描時序。掃描時序查找表分為行掃描時序查找表和場掃描時序查找表。場掃描時序查找表的輸入時鐘由行同步脈沖提供。用查找表形成時序的方法存在體積大、計算煩瑣的缺點。隨著大規模邏輯芯片的出現,利用編程邏輯方法產生行場掃描時序是一個發展方向。這種方法具有電路簡單、功能強、修改方便、可靠性高等優點。圖3為LCD控制器的框圖。

?

?

??? 在本設計中,點時鐘DCLK由處理器DSP的系統時鐘40MHz經數字鎖相環二分頻得到。點時鐘驅動行時序生成器,產生圖2所示的行同步信號和行消隱信號。為避免毛刺,控制器設計采用同步設計方法,如圖3所示,行同步信號通過一個微分電路,產生一個點時鐘周期寬的場時序生成器使能信號。在使能信號有效時,場時序生成器開始計數,并產生場同步信號和場消隱信號。行消隱信號和場消隱信號相與后即為數據使能信號DATA_EN。該數據使能信號作為產生幀存地址計數器的計數使能,以保證DATA_EN信號為高時,將象素送給AMLCD顯示。在DCLK的上升沿,幀存地址計數器加一,幀存SRAM經過一段延時后,象素數據出現在總線上。在DCLK的下降沿AMLCD將數據讀入。該LCD控制器的設計方法很容易用于VGA視頻接口。在VGA接口電路的設計中,不需點時鐘電路,只須將行同步信號與場同步信號輸出,將數據使能信號作為復合消隱信號輸入即可。產生行場掃描時序的VHDL描述如下:?

entity seq_gen is ?

port( clk_seq? : in std_logic;?

rst_seq?????? : in std_logic;?

lcd_hs_out??? : out std_logic;?

lcd_dataen??? : out std_logic;?

lcd_vs_out??? : out std_logic;?

pix_clk?????? : out std_logic? );?

end seq_gen;?

architecture rtl_seq_gen of seq_gen is ?

signal? lcd_hb : std_logic;?

signal? lcd_hs :? std_logic;?

signal? lcd_vb : std_logic;?

signal? lcd_vs :? std_logic;?

signal? clken_vcount : std_logic;?

begin? ?

hcount:? block?

signal hcountreg :std_logic_vector(9 downto 0);?

signal?? hz_temp??? : std_logic;?

signal?? lcd_hz : std_logic;?

begin?

process (clk_seq, lcd_hz )?

begin?

if (lcd_hz = ‘1’ )? then?

hcountreg <= (others => ‘0’);?

elsif clk_seq'event and clk_seq = ‘1’ then?

hcountreg <= hcountreg +1;?

end if;?

end process;?

lcd_hb <= ‘0’ when hcountreg >=600 and hcountreg < 650 else ‘1’;?

lcd_hs <= ‘0’ when hcountreg >=610 and hcountreg

hz_temp <= ‘1’ when hcountreg = 650 else ‘0’;?

lcd_hz <= hz_temp or rst_seq;?

end block hcount;?

diff :? block?

signal?? inputrega? :? std_logic;?

signal?? inputregb? :? std_logic;?

begin?

process(clk_seq)?

begin?

if clk_seq'event and clk_seq=‘1’ then?

inputregb <= inputrega;?

inputrega? <=? not lcd_hs; ?

end if;?

end process;?

clken_vcount <= not inputregb and inputrega;?

end block diff; ?

vcount : block?

signal?? vcountreg :??? std_logic_vector(9 downto 0);?

signal?? vz_temp :??? ? std_logic;?

signal?? lcd_vz :????? std_logic;?

begin?

process (clk_seq, lcd_vz)?

begin?

if (lcd_vz=‘1’)? then?

vcountreg <= (others => ‘0’);?

elsif clk_seq'event and clk_seq = ‘1’ then ?

if clken_vcount = ‘1’ then?

vcountreg <= vcountreg +1;?

end if;?

end if;?

end process;?

lcd_vb <= ‘0’ when vcountreg >=600 and vcountreg < 615 else ‘1’;?

lcd_vs <= ‘0’ when vcountreg >=607 and vcountreg

vz_temp <= ‘1’ when vcountreg = 615 else ‘0’;?

lcd_vz <= vz_temp or rst_seq;?

end block vcount;?

pix_clk <= clk_seq;?

lcd_dataen <= lcd_hb and lcd_vb;?

lcd_hs_out <= lcd_hs;?

lcd_vs_out <= lcd_vs;?

end rtl_seq_gen;?

??? 這種用VHDL產生掃描時序的方法簡單、易讀,并且易于修改。在代碼中只須修改一些時序參數就能產生任意時序的波形,具有很好的可重用性。用FPGA Express 3.5將VHDL代碼綜合后,通過Foundation 3.1i進行布局和布線,用Foundation提供的門級仿真工具產生的行掃描時序仿真圖如圖4所示。

?

?

??? 采用FPGA技術設計的AMLCD控制器,大大減少了電路板的尺寸,同時增加了系統可靠性和設計靈活性。這種用VHDL語言實現行場掃描時序生成器的方法,具有簡便。易讀和可重用性強的特點。該AMLCD控制器已用Xilinx公司的SpartanII系列器件XC2S50實現,并在飛機座艙圖形顯示系統中實際應用。?

參考文獻?

1 The programmable Logic Data Book 2000. USA:Xilinx?Corp,2000?

2 杜海濤.現代飛機座艙顯示系統研究. 南京航空航天大學博士論文,1999?

3 蘇光大.微機圖像處理系統. 北京:清華大學出版社,?2000:21~38?

4 候伯亭,顧 新.VHDL硬件描述語言與數字邏輯電路設計(修訂版).西安:西安電子科技大學出版社,1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费亚洲一区| 国产麻豆精品视频| 欧美专区福利在线| 欧美亚洲三区| 亚洲欧美日韩国产一区二区| 99这里有精品| 一区二区三区回区在观看免费视频| 亚洲片在线观看| 亚洲高清不卡| 亚洲国产一区二区精品专区| 在线成人av网站| 在线观看视频免费一区二区三区| 黄色日韩网站| 有码中文亚洲精品| 在线精品国产欧美| 在线观看精品一区| 亚洲国产精品成人综合| 亚洲高清免费视频| 亚洲激情欧美| 亚洲精选在线| 亚洲午夜成aⅴ人片| 亚洲一区二区三区免费视频| 亚洲欧美日韩综合aⅴ视频| 亚洲欧美国产77777| 香蕉国产精品偷在线观看不卡| 亚洲综合丁香| 亚洲欧美视频在线观看| 性欧美videos另类喷潮| 久久精品国产免费观看| 最近中文字幕mv在线一区二区三区四区 | 亚洲欧洲一区二区三区久久| 亚洲精品久久在线| 中文一区字幕| 欧美一区二区三区婷婷月色 | 久久不射网站| 亚洲第一精品夜夜躁人人躁| 91久久精品日日躁夜夜躁欧美 | 欧美一区二区在线免费观看| 久久精品一区二区三区中文字幕 | 久久精品视频亚洲| 免费美女久久99| 欧美色网一区二区| 国产午夜精品久久久久久久| 亚洲国产精品一区| 99精品国产高清一区二区| 亚洲欧美日韩综合aⅴ视频| 久久精品官网| 一本色道久久综合一区| 午夜精品视频在线观看| 裸体一区二区三区| 欧美视频一区二区三区…| 国产日韩欧美三级| 亚洲国产经典视频| 亚洲一区二区三区中文字幕在线| 久久精品国产77777蜜臀| 一区二区三区四区五区精品| 欧美在线观看一二区| 欧美成人一品| 国产精品久久一级| 影音先锋亚洲一区| 一区二区免费在线播放| 久久激情综合| 亚洲在线成人| 欧美成人首页| 国产精品自拍三区| 亚洲激情中文1区| 欧美一级二区| 亚洲视频每日更新| 久久深夜福利| 国产精品视频一| 亚洲人成小说网站色在线| 亚洲欧美综合国产精品一区| 日韩一二三区视频| 久久久久久久999精品视频| 欧美日韩精品免费| 在线观看日韩av先锋影音电影院| 亚洲视频在线观看| 亚洲精品久久久蜜桃| 久久精品盗摄| 国产精品久久久久久妇女6080| 在线免费观看一区二区三区| 亚洲一区二区三区三| 国内精品久久久久久久影视蜜臀| 久久国产色av| 欧美影院在线| 亚洲综合色视频| 欧美激情视频一区二区三区免费| 国产亚洲精品自拍| 亚洲网站在线观看| 一区二区三区蜜桃网| 蜜桃久久av| 国产一区二区在线观看免费播放| 亚洲视频欧美在线| 一本色道久久综合亚洲精品不卡 | 国产精品亚发布| 亚洲免费观看高清在线观看| 亚洲国产日韩精品| 久久久.com| 国产色综合久久| 亚洲性人人天天夜夜摸| 在线一区观看| 欧美日韩1区2区3区| 亚洲国产二区| 亚洲人体偷拍| 女人色偷偷aa久久天堂| 狠狠网亚洲精品| 欧美伊人久久久久久午夜久久久久| 午夜在线精品偷拍| 国产精品美女在线| 亚洲午夜一二三区视频| 宅男66日本亚洲欧美视频| 欧美韩国在线| 亚洲激情成人网| 亚洲日本成人| 免费短视频成人日韩| 激情av一区| 亚洲国产成人精品久久| 久久久噜噜噜久久人人看| 国产亚洲精品一区二区| 欧美在线免费一级片| 亚洲大片精品永久免费| 亚洲精品视频一区二区三区| 蜜桃av一区二区在线观看| 樱桃视频在线观看一区| 亚洲国产精品一区二区www| 久久一区激情| 亚洲国产一二三| 一本久道久久久| 欧美日韩国产首页| 9i看片成人免费高清| 亚洲一区二区在线免费观看| 欧美丝袜第一区| 亚洲一区免费| 久久动漫亚洲| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲黄一区二区三区| 欧美成人免费观看| 日韩一级免费观看| 午夜欧美精品久久久久久久| 国产精品一区一区| 欧美中文在线观看| 美日韩精品免费| 亚洲精品网址在线观看| 一区二区三区日韩精品| 国产精品国产三级国产aⅴ无密码| 亚洲淫性视频| 久久久噜噜噜久久中文字免| 亚洲国产欧美不卡在线观看| 一区二区三区.www| 国产精品揄拍500视频| 亚洲国产综合91精品麻豆| 欧美另类一区二区三区| 亚洲色图制服丝袜| 久久久av毛片精品| 亚洲国产精品va在线看黑人动漫 | 久热国产精品视频| 亚洲三级视频| 性欧美办公室18xxxxhd| 好吊妞这里只有精品| 日韩亚洲欧美在线观看| 国产精品三区www17con| 久久精品国产视频| 欧美日韩国产综合网 | 久久久久久久综合色一本| 亚洲午夜一区二区| 亚洲欧美日韩精品久久| 久久久国产精品一区| 亚洲国产视频一区| 亚洲欧美清纯在线制服| 激情综合网激情| 在线亚洲高清视频| 国产真实精品久久二三区| 亚洲另类自拍| 国产乱码精品一区二区三| 亚洲国产精品久久久久婷婷884 | 亚洲精品国产品国语在线app| 亚洲欧美日韩在线观看a三区| 国外视频精品毛片| 一区二区欧美亚洲| 很黄很黄激情成人| 亚洲欧美日韩国产成人精品影院| 国产在线观看精品一区二区三区 | 免费观看久久久4p| 亚洲无亚洲人成网站77777| 蜜臀av性久久久久蜜臀aⅴ| 一区二区欧美亚洲| 欧美不卡视频一区发布| 日韩视频在线一区二区三区| 亚洲国内精品| 国产精品一区二区三区久久久| 最新中文字幕亚洲| 国产精品一区二区黑丝| 亚洲精品国产拍免费91在线| 国产欧美日韩精品a在线观看| 亚洲精选视频免费看| 国产欧美综合一区二区三区| 一区二区精品在线| 尤物精品国产第一福利三区| 欧美一区二区啪啪| 日韩视频中文字幕|