新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于NIOS II嵌入式处理器实现LCD的控制

基于NIOS II嵌入式处理器实现LCD的控制

作者: 时间:2011-11-07 来源:网络 收藏

ENTITY _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 _interface;
ARCHITECTURE trans OF _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;--行计数器模块
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;--场计数器模块
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;--产生水平同步脉冲
process(vcnt)begin
if((vcnt>=240+6+6)and(vcnt240+6+6+10)) then
VS=0;
else
vs=1;
end if;
end process;--产生场同步脉冲
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;--产生显示使能信号
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流程及实验结论

  3.1 DMA传输方式下的程序流程

  利用该方案LCD的显示已在某面阵CCD采集系统中得到验证。在实际的系统中,该部分主要所采集的面阵CCD图像传感器图像数据的动态显示。在实际的采集系统中选用了2个DMA,一个用于图像数据的采集,一个用于采集后图像的再现。在文中仅介绍了显示DMA传输控制方式下的相应模块。实际系统中,图像数据从面阵CCD图像传感器以DMA控制方式将图像数据采集到SDRAM,所采集后的图像数据从SDRAM到LCD显示。实际系统中的DMA控制流程如图3。

本文引用地址:https://www.eepw.com.cn/article/150072.htm


  3.2实验结论

  根据图3所采集到的面阵CCD的图像数据保存在SDRAM中,按一定比例抽取的图像数据在SDRAM中合成18位的RGB图像信号,而后在 以及显示DMA的控制下,将一帧完整的图像显示在LCD上,实际控制的显示结果如图4。

  4 结束语

  利用 作为FPGA控制LCD的解决方案,能较容易地图像数据的DMA传输与控制,系统中可根据实际需求有选择的定制相应模块,使系统具有较强的灵活性。同时由于采用“软”硬件实现LCD的控制,调试过程中通过不断更改“软件”就可达到改进硬件功能的目的。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭