Profile - CN423


CN423

基于Nios ll的视讯广告系统

河南工业大学
信息科学与工程学院






Advisor

Name: 张庆辉

Members

No. Name English Name
1 王育兵 wang yu bing
2 骆威 luo wei
3 赵志艳 zhao zhi yan

Project Paper

1. 设计概述 (Preliminary Paper)

一、设计概述

1、 设计意图
 
  广告是当今企业与消费者交流,展示自我形象的一个平台,传统形式的广告业务制作成本高,周期长,内容模式固化僵硬,相对于市场变化有很大滞后性。电子屏的出现,不仅可以使企业更全面的展示企业产品,推广企业文化,而且可以满足不同读者的需求,改善城市环境,提升人民生活质量。更重要的是广告主能够更及时、更准确、更全面的展示自己的新产品,第一时间与消费者进行沟通,赢得市场获取利润,以及根据市场动态更及时更全面的做出市场决策。
        基于以上原因,我们采用NiosⅡ软核设计一能及时发布户外广告、电子公告等视讯信息的广告系统。
 
2、 适用范围和针对用户
 
  本设计产品主要针对于户外广告商、政府、公司、学校、超市及各类公共场所,用于各场所的商业广告、股市信息、行政通知、公共服务咨询等各类视讯信息的发布。
 
3、选用本款Altera 器件的原因
        
        FPGA具有功能强大、开发工程投资小、可反复编程修改等特点,新一代的FPGA内部硬件功能模块越来越丰富,可以很方便的在一片FPGA上进行软硬件协调设计,这为实现SOPC提供了强大的硬件支持。
        利用NiosⅡ软核处理器可以很方便的完成系统的开发,NiosⅡ是一个可灵活配置的软内核处理器,用户可以根据自己设计的性能或成本要求,灵活地增加或裁剪一些系统特性和外设。对用户自己定制指令的支持,可使一些耗时资源的操作在用户指令中实现,从而提高系统性能。
        QuartusⅡ中NiosⅡ硬件系统开发工具SOPC Builder提供了良好的图形界面。用户可以很方便的定制NiosⅡ处理器系统,根据需要添加设备组件,用SOPC Builder生成NiosⅡ系统,即完成了NiosⅡ系统的硬件开发。可以把生成的系统文件配置到FPGA中,实现用户要求的NiosⅡ硬件系统,然后针对该NiosⅡ系统进行软件开发。
(Revision: 3 / 2008-06-14 12:07:12)

2. 功能描述 (Final Project Paper)

二、功能描述        

        基于Nios II的视讯广告系统是嵌入式系统在广告领域的一个全新的应用,在充分调研了视讯广告投放的现场环境后,了解了市场现有的主要视讯广告运营设备,我们利用SOPC技术在DE1平台上实现了基于Nios II 的视讯广告系统。

 本设计硬件板块主要包括DE1开发平台、PHILIP 14.1寸的液晶显示屏一块、液晶屏与DE1的借口板一块、液晶屏高压板一块。该系统主要具有以下几个方面的功能:
 
 1. 在显示端可通过我们设计的算法实现图像分割显示。
 
 2. 对不同大小的图像,系统可以根据输出屏的大小自动调整图片大小并改善图像质量,当选择分屏显示时,可自动匹配每片屏的大小。
 
 3. 可通过接口实现视讯信息的同步发布,也可对接收信号进行存储,然后进行异步显示。为适应不同场合的需求及节约成本,下位机显示器可以是LCD 或 LED。
 
 4.通过拨动不同的开关,选择合适的显示方式。从而提高画面的吸引力。
 
 5.硬件上提供USB接口,供后续系统更新升级,可以不断增加系统的显示方式,以及加载新的需要投放的广告。

        反复阅读Nios II的开发手册,利用sopc将系统搭建起来,不断地优化算法,完善设计,最终实现了以上功能。

(Revision: 2 / 2008-09-07 16:23:15)

3. 性能参数 (Final Project Paper)

 三、性能参数

1.下图是系统工程在Quartus II 7.0 中编译之后各种资源的占用情况:
 

 

2.广告图像参数:
输入图像分辨率:320*240
输出图像格式:RGB格式
输出图像分辨率:320*240、78*58、240*180
3.DE1开发板资源使用情况:
  •            FPGA:     Altera Cyclone II 2C20 FPGA
  •      动态存储器:8MB SDRAM
  •      静态存储器:512KB SRAM  
  •      闪存:      4MB FLASH
  •      50MHz、25MHz 晶振
  •      开关、按键、VGA、LED

        另外为了更好的展示我们的分屏显示及其它显示方式的效果,我们外接了PHILIP 14.1寸的液晶显示屏一块、液晶屏与DE1的借口板一块、液晶屏高压板一块。这样保证了良好的显示效果。

下图是拍摄的系统显示的效果图:
 
开机画面:

显示方式一:多幅图像分屏显示

 

 

 

显示方式二:单幅图像循环显示
 
 
 

 

 

(Revision: 2 / 2008-09-07 16:24:23)

4. 设计结构 (Preliminary Paper)

 四、设计结构

1、硬件结构图

 

2、软件流程图

(Revision: 2 / 2008-06-12 12:07:55)

5. 设计方法 (Final Project Paper)

系统设计方法

   

    本系统硬件设计包括的主要功能模块有:SD卡模块、VGA显示控制模块、FLASH访问控制模块。

    各系统模块在SOPC中可方便集成为一个系统。系统图如下:

 

    在Quartus II下搭建的系统如下:

 

设计方法与实现步骤

 

整个设计采用自顶向下的设计方法,在设计之初我们先描绘出整个设计所涉及的各个部件和功能模块,然后在SOPC Builder中搭建各硬件模块,各模块通过Avalon总线有序的连接在一起。SOPC Builder的图形可视化设计,大大的方便了系统硬件的设计,尤其是Avalon总线的引入可以让设计人员从繁琐的细节问题和代码编写上解放出来,将精力集中与系统框架的整体设计和用户程序的编写之上。

 

FLASH访问控制模块

 

Flash闪存已经成为目前最成功、流行的一种固态内存,与EEPROM相比具有读写速度快,而与 SRAM 相比具有非易失、以及价廉等优势。而基于 NOR NAND 结构的闪存是现在市场上两种主要的非易失闪存技术。

本设计中采用Flash作为程序存储器,同时也将显示图片存储到Flash的固定区域。对Flash的访问采用model 00方式,A0-A21为地址信号,CE为芯片选择信号,OE为输出使能信号,WE为写使能信号,DQ0-DQ7为数据线。其连接图如下:

    在SOPC中生成的common flash interface如下:

 

 

    读flash的访问控制时序如下:

系统复位之后程序从Flash首地址开始执行,在我们设计中从首地址起空出了500KB的空间供程序下载使用,并且编写了相应的擦除代码。程序执行后从Flash中搜索到图像数据存放的地址,将其有效数据送入到VGA显示控制模块,由VGA输出显示。

 

VGA显示控制模块

     

   VGA显示控制模块如下:

 

VGA显示控制模块时序包括水平(垂直)扫描信号,水平(垂直)帧同步信号。其显示颜色为16位色图像,在程序中我们将24位真彩图转换为16位图像。VGA核颜色位的设定为:高5位为红色,中间6位为绿色,低5位为蓝色。在24位图到16位图的转换中我们提取红蓝分量的高5位和绿色分量的高6位,因为这样既简便了算法转换也最大可能的保留了原始颜色的主要信息。

由于本设计主要针对视讯广告,数据量较大,在处理的过程中由外部SDRAM提供可靠的缓存。这既充分利用了外部SDRAM资源和访问速度较快的特点,同时也缓解了内部FPGA资源的消耗。试验采用LCD显示屏,由VGA输出16位位图图像,根据开发板上开关实现显示模式的切换。显示模式分为:全屏显示和分屏显示。全屏模式下图像分辨率为320×240,分屏模式下图像分辨率分别为80×60240×160。由于SDRAM能有效提供的缓存大小有限,所以我们在显示较大图像的时候都是采用分别读取几段数据分段显示来实现。在我们的设计中能有效的提供分辨率为80×60图像的缓存,在分辨率为240×160320×240下都采用了分段显示。在显示时,图片先由flash中读入到设定的缓存中,处理之后送入VGA的缓存SRAM中然后输出显示。

SOPC在本设计中的应用

 

本设计的硬件实现都是在SOPC Builder环境下完成的,SOPC Builder提供的图形化系统架构平台极为方便地给设计人员提供了系统构建的优越性。SOPC Build采用软件搭建硬件系统的方法,突破了硬件系统难裁剪,不易升级,开发周期长,维护困难等诸多缺陷。而且SOPC Build可根据搭建的硬件系统自动生成对应的代码,可使各部件通过Avalon总线有序的连接和工作,将设计人员解放到系统框架的总体设计和用户程序的设计,大大地促进了开发效率,缩短了开发流程。此外SOPC中也极为方便的为设计人员提供了加入自己设计的组建和自己定制的指令的功能,这样可使开发人员可以通过自己定制的指令更加高效的完成设计。

 

 

 

 

 

(Revision: 6 / 2008-09-07 16:25:57)

6. 设计特点 (Preliminary Paper)

六、设计特点

        本设计是完全基于Altera的FPGA/NiosⅡ的全新开发概念。充分采用了软核的开发思想以及Altera的DE1开发平台,使系统具有开发周期短、易于维护、功能模块化等特点。
 
        1、 为吸引消费者眼球,创造更高商业价值,在显示端可通过我们设计的算法实现画面分割显示。(具体可见附1-显示效果举例)
  2、 对不同大小的图像,系统可以根据输出屏的大小自动调整图片大小并改善图像质量,当选择分屏显示时,可自动匹配每片屏的大小。
   3、 本设计可通过自己开发的网络接口实现视讯信息的同步发布,也可对接收信号进行存储,然后进行异步显示。为适应不同场合的需求及节约成本,下位机显示器可以是LCD 或   LED。
   4、 在文本信息发布时可人性化的选择背景方案,提高人们对文本信息的关注度,以达到更好的广告影响效应。
 
  这款Altera提供了丰富的接口资源,使得我们的下位机输出能够适应多种显示设备。而且通过2个40-pin的输出接口能够有效的解决输出显示大小以及分屏显示的问题。
  这款Altera内嵌的硬的功能模块能大大提高运算速度,满足了对视频信号实时、快速处理的要求。
  DE1平台提供了SDRAM、SRAM、FLASH、SD卡四类存储器和易于存储扩展的I/O接口,能有效的实现大数据量视讯信号的处理。
 
附1:显示效果举例        
 

       

(Revision: 4 / 2008-06-15 11:32:25)

7. 总结 (Final Project Paper)

通过Altera公司提供的这次竞赛机会,使我们对FPGA有了更好的认识,锻炼了我们的动手能力。虽然之前我们都未接触过FPGA,但是通过这次机会,使我们对Altera的设计概念有了根本的认识:可裁剪的软核,SOPC硬件搭建系统,基于软核的NiosII开发环境等。

SOPC Builder硬件搭建系统采用图形化可编程的概念极大地方便了硬件系统的构建,而且能够自动生成各个模块对应的功能代码并能有序的连接起来,极大地缩减了开发周期。SOPC Builder能自动地对资源进行分配,争取以最少的资源,最合理的分配来完成系统硬件设计。SOPCQuartus IINios II IDE的高密度集成性,极为有利的促进了工程编译和调试。

通过这次竞赛,使我们认识到团队工作的重要性,正是因为我们一起努力才能从开始对FPGA的陌生走到现在的这一步。其中我们一起无奈、一起探讨、一起开心,这一切都将成为我们美好的回忆,也会为我们以后的团队工作提供宝贵的财富。虽然这次竞赛我们并未完全达到我们的既定目标,但却激起了我们对Altera FPGA的浓厚兴趣,如果有机会,我们会在之后的学习中接着完成我们的设计,继续关注FPGA的新发展。

非常感谢Altera向我们提供的这次机会。

(Draft / 2008-09-07 16:20:01)