基于NiosⅡ的VGA彩条信号显示的实现
3 硬件设计与实现
3. 1 Nios Ⅱ嵌入式软核处理器简介
Nios Ⅱ嵌入式处理器是Altera 公司于2004 年6 月推出的第二代用于可编程逻辑器件的可配置的软核处理器,在CycloneII 器件下,性能最高可达56 DMIPS。Nios Ⅱ是基于哈佛结构的RISC 通用嵌入式处理器软核,能与用户逻辑相结合, 编程至Altera 的FPGA 中。处理器具有32 位指令集,32 位数据通道和可配置的指令以及数据缓冲。他特别为可编程逻辑进行了优化设计,也为可编程单芯片系统(SOPC) 设计了一套综合解决方案。Nios Ⅱ处理器系列包括3 种内核:高性能的快速内核(Nios Ⅱ/ f ) ;低成本经济型内核(Nios Ⅱ/ e) ;性能/ 成本折中的标准内核(Nios Ⅱ/ s) ,是前2 种的平衡。本系统采用经济型内核。
3. 2 系统的硬件平台
系统的硬件结构如图2 所示。
图1 所示是计算机VGA(640 ×480 ,60 Hz) 图像格式的信号时序图, 其点时钟DCLK 为251175 MHz , 场频为59194 Hz。图中, Vsync 为场同步信号, 场周期TVsync 为161683 ms ,每场有525 行,其中480 行为有效显示行,45 行为场消隐期。场同步信号Vsync 每场有一个脉冲,该脉冲的低电平宽度twv为63μs (2 行) 。场消隐期包括场同步时间twv 、场消隐前肩tHV (13 行) 、场消隐后肩tVH (30 行) ,共45 行。
行周期THsync为31178μs ,每显示行包括800 点,其中640 点为有效显示区,160 点为行消隐期(非显示区) 。行同步信号Hsync 每行有一个脉冲,该脉冲的低电平宽度tWH为3181 μs (即96 个DCL K) ;行消隐期包括行同步时间tWH ,行消隐前肩tHC (19 个DCL K) 和行消隐后肩tCH(45 个DCL K) ,共160 个点时钟。复合消隐信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复合消隐信号为高电平,在非显示区域是低电平。
本系统的硬件平台主要是在terasic 公司的AlteraDE2 开发板上实现,选用Altera 的Cyclone Ⅱ版本的NiosⅡ开发套件,包括Nios Ⅱ处理器、标准外围设备库、集成了SOPC Builder 系统设计工具的Quartus Ⅱ开发软件等。
系统的主要组件有Nios Ⅱ的经济型内核、片内存储器、定时器、VGA 控制器、LCD 控制器等,都集成在一块Altera的Cyclone II FPGA 芯片上,使用SOPC Builder 来配置生成片上系统。SOPC Builder 自动产生每个模块的HDL 文件,同时自动产生一些必要的仲裁逻辑来协调系统中各部件的工作。
3. 3 V GA 时序信号的产生
系统中最重要的部分是VGA 时序的产生,是正常输出显示的关键,他包含在VGA 控制器中。VGA 控制器是用SOPC Builder 中的interface to user logic 生成的,首先用硬件描述语言定义一个时序输出和RGB 信号输出模块,点时钟251175 MHz 由开发板提供的27 MHz 的时钟经锁相环分频产生,锁相环是通过MegWizard 工具加入系统的。他实现了VGA 输出所需的点时钟、复合同步控制信号、复合消隐控制信号、行同步和场同步信号。同时,他完成了从寄存器内读取输出显示命令及彩条颜色值,并根据按键计数判断显示彩条的类型,包括横彩条、竖彩条及网格。其中点时钟、复合同步控制信号、复合消隐控制信号和RGB 数字信号输入给ADV7123 ,行同步、场同步和由ADV7123 转换输出的RGB 模拟信号输入给VGA显示器。另外,还要用硬件描述语言实现对寄存器的读写,以使VGA 控制器端口符合Avalon 接口规范。
VGA 时序信号产生模块包括行点数计数器HCont 、场点数计数器V Cont ,行点数计数器是800 进制计数器,场行数计数器是525 进制计数器,由图1 知行同步信号、场同步信号的电平只有2 种,分别在行同步时间和场同步时间为低电平,其余时间均为高电平,故可以忽略行/ 场消隐前肩、后肩状态而只考虑其输出电平的高低。
行计数器H Cont 对251175 MHz 的点时钟进行计数,当行计数器H Cont 的计数值小于96 时, 行同步信号Hsync 输出为低电平;当H Cont 的计数值达到96 后,行同步信号Hsync 输出为高电平;当H Cont 的计数值达到799 时,将H Cont 置0 ,同时使行同步信号Hsync 输出转换为高电平。场计数器V Cont 对H Cont 为0 值进行计数,当场计数器V Cont 的计数值小于2 时,场同步信号Vsync 输出为低电平;当场计数器V Cont 的计数值达到2 以后,场同步信号Vsync 输出为高电平; 当VCont 的计数值达到524 时,将V Cont 置0 ,同时使场同步信号Vsync 输出转换为低电平。
复合消隐控制信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复合消隐信号为高电平,在非显示区域是低电平;复合同步控制信号在此系统中始终为0 。
3. 4 RGB 信号的数模转换
本系统采用ADV7123 实现由VGA 控制器输出的RGB 信号的数模转换。ADV7123 是一个3 路高速的在一个芯片上实现的数模转换器。他包含3 路高速的10 位视频D/ A 补偿输出转换器,标准TTL 输入接口和高阻模拟电流输出。ADV7123 有3 路分开的宽度为10 位输入端口,30 位象素数据在每个时钟周期上升沿送到器件,然后转换成模拟信号输出。ADV7123 还有附加的视频控制信号,复合同步控制信号SYNC 和复合消隐控制信号BLAN K,他们在点时钟CLOCK 的上升沿有效以保证象素数据流的同步。
图3 为ADV7123 的视频数据输入/ 输出时序图。
评论