您的位置 首页 数字

嵌入式体系VGA显现接口的体系完成,软硬件解决方案

在许多嵌入式系统中,为了实现良好的人机界面,这就对系统的MCU和显示设备提出了更高的要求。若能用低速的MCU实现和PC机类似的显示效果,将会大幅度提高产品的附加值。

  • 规划摘要

在许多嵌入式体系中,为了完结杰出的人机界面,这就对体系的MCU和显现设备提出了更高的要求。若能用低速的MCU完结和PC机相似的显现作用,将会大幅度进步产品的附加值。现在,带有VGA接口和类VGA的显现设备随处可见,若能以此类设备作为各种嵌入式体系的显现器,也可进步各种嵌入式设备人机界面的通用性。本项目选用FPGA器材和带有VGA接口的显现器,完结适用于各种嵌入式体系显现接口,使得低速的MCU不需求添加过多开支即可选用VGA接口设备作为显现器。

  • 硬件结构图

体系硬件结构图如图1所示:

图1体系硬件结构图

三、软件介绍

体系软件分为两个部分:MCU软件模块和FPGA软件模块。MCU软件模块首要担任即将显现数据传送给FPGA,首要完结的功用是在VGA显现器上打点(在指定的行坐标、列坐标出以某一指定的色彩显现一个点),在此功用的根底之上完结划线、矩形填充、显现图片的功用。FPGA模块首要担任接纳MCU模块发送的数据,并将接纳到的数据经过内部的写FIFO单元存入外接的SDRAM存储器中,然后再经过内部的读FIFO单元从SDRAM中将数据取出送到VGA数模转化模块,一起FPGA模块还要供给VGA显现所需求的HS、VS、SYNC等扫描信号。

1、FPGA软件模块介绍

FPGA模块的软件首要有以下几部分组成。

  1. FPGA顶层模块:

FPGA顶层模块首要界说了FPGA与外围的MCU、SDRAM、VGA数模转化的接口。各引脚的详细界说如表1和图1所示。

表1

方向

称号

描绘

Input

clk 

输入时钟50M

Input

rst_n

异步复位,低有用

Input

a0

数据地址挑选,低表明地址

Input

we

写信号,上升沿有用

Input

re

RE,读信号,下降沿有用

Input

ce

片选,低有用

input

[15:0]data1616

时序接口,数据线

output

dclk

输出时钟40M,给VGA

output

hs_sig

列同步信号

output

vs_sig

行同步信号

output

red_sig[4:0]

红信号

output

green_sig[5:0]

绿信号

output

blue_sig[4:0]

蓝信号

output

sdram_clk

SDRAM时钟信号

output

sdram_cke

SDRAM时钟有用信号

output

sdram_cs_n

SDRAM片选信号

output

sdram_ras_n

SDRAM行地址选通脉冲

output

sdram_cas_n

SDRAM列地址选通脉冲

output

sdram_we_n

SDRAM写答应位

output

sdram_ba[1:0]

SDRAM的L-Bank地址线

output

sdram_addr[12:0]

SDRAM地址总线

inout

sdram_data[15:0]

SDRAM数据总线

output

sdram_udqm

SDRAM高字节屏蔽

output

sdram_ldqm

SDRAM低字节屏蔽

图1 FPGA软件顶层模块

  1. SDRAM读、写操控模块

SDRAM读、写操控模块首要完结FPGA对SDRAM存储器的读写操控,该模块首要完结SDRAM的上电初始化以及守时改写、读写操控等状况的变迁。该模块各引脚的详细界说如表2和图2所示。

表2

方向

称号

描绘

input

clk

体系时钟,100MHz

input

rst_n

复位信号,低电平有用

input

sdram_wr_req

体系写SDRAM恳求信号

input

sdram_rd_req

体系读SDRAM恳求信号

output

sdram_wr_ack

体系写SDRAM呼应信号

output

sdram_rd_ack

体系读SDRAM呼应信号

input

sys_addr[21:0]

读写SDRAM时地址暂存器

input

sys_data_in[15:0]

写SDRAM时数据暂存器

output

sys_data_out[15:0]

读SDRAM时数据暂存器

output

writing

SDRAM正写标志

output

sdram_clk

SDRAM时钟信号

output

sdram_cke

SDRAM时钟有用信号

output

sdram_cs_n

SDRAM片选信号

output

sdram_ras_n

SDRAM行地址选通脉冲

output

sdram_cas_n

SDRAM列地址选通脉冲

output

sdram_we_n

SDRAM写答应位

output

sdram_ba[1:0]

SDRAM的L-Bank地址线

output

sdram_addr[11:0]

SDRAM地址总线

inout

sdram_data[15:0]

SDRAM数据总线

图2 SDRAM顶层模块

  1. 读、写FIFO模块

读、写FIFO模块选用体系的IP核完结,FIFO的容量为1K字单元(16位)。Wrf FIFO单元在wrreq为1时将MCU的数据存入wrf

FIFO,数据存入后,立即被写入SDRAM中。Rdf FIFO单元在rdreq为1时将数据从SDRAM中取出送给VGA操控模块。

图3 写FIFO模块

图4 读FIFO模块

  1. PLL单元

PLL单元首要担任办理体系所需的各种时钟信号,其间首要有:inclk0为体系输入时钟(50MHZ)。c1、c2为SDRAM供给100MHZ的读、写时钟。c0、c3分别是为采样MCU数据和VGA时序扫描所供给的40MHZ时钟。

图5 PLL模块

  1. VGA操控模块

VGA操控模块首要担任将从MCU接纳到的数据送给wrf FIFO中,然后从rdf FIFO中取出要显现的数据,并发生VGA所需的行扫描、列扫描信号、同步信号、时钟信号,同时送给外围的VGA数模转化电路。该模块的各引脚的详细界说如表3和图6所示。

表3

方向

称号

描绘

input

clk_40m

输入时钟40M

input

clk_100m

输入时钟100M

input

rst_n

异步复位,低有用

input

a0

数据地址挑选,低表明地址

input

we

写信号,上升沿有用

input

re

读信号,下降沿有用

input

ce

片选,低有用

input

rdf_q[15:0]

rdf读数据

input

writing

正写SDRAM

input

sdram_rd_ack

读SDRAM应对

input

data1616[15:0]

数据线

output

wrf_din[15:0]

wrf写数据

output

wrf_wrreq

wrf写使能

output

wrf_aclr

wrf异步清零

output

[21:0]sys_addr

SDRAM地址

output

rdf_rdreq

rdf读使能

output

hs_sig

列同步信号

output

vs_sig

行同步信号

output

de

时序操控

output

red_sig[4:0]

红信号

output

green_sig[5:0]

绿信号

output

blue_sig[4:0]

蓝信号

图6 VGA模块

2、体系的RTL图

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/199650.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部