基于NIOS II嵌入式處理器實(shí)現(xiàn)LCD的控制
ENTITY LCD_interface IS
PORT(
reset :IN std_logic;
lcd_clk :IN std_logic;
Wrdata :IN std_logic_vector(17 downto 0);
hsync :OUT std_logic;
vsync :OUT std_logic;
enable :OUT std_logic;
lcd_R/L :OUT std_logic;
lcd_U/D :OUT std_logic;
sel_VGA_QVGA :OUT std_logic;
RGB :OUT std_logic_vector(17 downto 0);
end_of_picture :OUT std_logic);
END LCD_interface;
ARCHITECTURE trans OF LCD_interface IS
process(lcd_clk) begin
if(rising_edge(lcd_clk)) then
if(hcnt400) then
hcnt=hcnt+1;
else
hcnt=(others=>0);
end if;
end if;
end process;--行計(jì)數(shù)器模塊
process(lcd_clk) begin
if(rising_edge(lcd_clk)) then
if(hcnt=320) then
if(vcnt262) then
vcnt= vcnt+1;
else
vcnt=(others=>0);
end if;
end if;
end if;
end process;--場(chǎng)計(jì)數(shù)器模塊
process(lcd_clk) begin
if(rising_edge(lcd_clk)) then
if((hcnt>= 320+20+20 ) and (hcnt320+20+20+40)) then
hs=0;
else
hs=1;
end if;
end if;
end process;--產(chǎn)生水平同步脈沖
process(vcnt)begin
if((vcnt>=240+6+6)and(vcnt240+6+6+10)) then
VS=0;
else
vs=1;
end if;
end process;--產(chǎn)生場(chǎng)同步脈沖
process(lcd_clk) begin
if(rising_edge(lcd_clk)) then
if(hcnt320 and vcnt240)and(hcnt>20 and vcnt>6) then
en=1;
else
en=0;
end if;
end if;
end process;--產(chǎn)生顯示使能控制信號(hào)
process(led_clk)begin
if(rising_edge(lcd_clk))then
if(hcnt320 and vcnt240)then
RGB=Wdata;
else
RGB=(others=>0);
end if;
end if;
end process;--像素輸出及消隱
process(lcd_clk)begin
if(rising_edge(lcd_clk))then
if((vcnt=320+1)and(hcnt=0))then
end_of_picture=1;
else
end_of_picture=0;
end if;
end if;
end process;--一幀傳輸完畢
END ARCHITECTURE trans;
3 DMA控制流程及實(shí)驗(yàn)結(jié)論
3.1 DMA傳輸方式下的程序流程
利用該方案實(shí)現(xiàn)LCD的顯示已在某面陣CCD采集系統(tǒng)中得到驗(yàn)證。在實(shí)際的系統(tǒng)中,該部分主要實(shí)現(xiàn)所采集的面陣CCD圖像傳感器圖像數(shù)據(jù)的動(dòng)態(tài)顯示。在實(shí)際的采集控制系統(tǒng)中選用了2個(gè)DMA,一個(gè)用于圖像數(shù)據(jù)的采集,一個(gè)用于采集后圖像的再現(xiàn)。在文中僅介紹了顯示DMA傳輸控制方式下的相應(yīng)模塊。實(shí)際系統(tǒng)中,圖像數(shù)據(jù)從面陣CCD圖像傳感器以DMA控制方式將圖像數(shù)據(jù)采集到SDRAM,所采集后的圖像數(shù)據(jù)從SDRAM到LCD顯示。實(shí)際系統(tǒng)中的DMA控制流程如圖3。
本文引用地址:http://www.ex-cimer.com/article/150072.htm
3.2實(shí)驗(yàn)結(jié)論
根據(jù)圖3所采集到的面陣CCD的圖像數(shù)據(jù)保存在SDRAM中,按一定比例抽取的圖像數(shù)據(jù)在SDRAM中合成18位的RGB圖像信號(hào),而后在NIOS II處理器以及顯示DMA的控制下,將一幀完整的圖像顯示在LCD上,實(shí)際控制的顯示結(jié)果如圖4。
4 結(jié)束語(yǔ)
利用NIOS II作為FPGA嵌入式處理器控制LCD的解決方案,能較容易地實(shí)現(xiàn)圖像數(shù)據(jù)的DMA傳輸與控制,系統(tǒng)中可根據(jù)實(shí)際需求有選擇的定制相應(yīng)模塊,使系統(tǒng)具有較強(qiáng)的靈活性。同時(shí)由于采用“軟”硬件實(shí)現(xiàn)LCD的控制,調(diào)試過(guò)程中通過(guò)不斷更改“軟件”就可達(dá)到改進(jìn)硬件功能的目的。
評(píng)論