多媒体设计论文

您当前的位置:学术堂 > 艺术论文 > 多媒体设计论文 >

多媒体系统的整合调试和功能验证分析

来源:学术堂 作者:陈老师
发布于:2016-10-24 共3597字
  本篇论文快速导航:

展开更多

  第 5 章 系统的整合调试和功能验证分析
  
  在第二、三和第四章中,文章介绍了整个多媒体平台总体的设计思路和各个功能模块的具体设计,在本章中将要把上文中设计的各种控制器、Nios II 软核处理器、自行设计的 IP 核以及 Avalon 总线都通过 SOPC Builder 和硬件描述语言都集成到 FPGA 芯片上,同时将硬件系统和软件程序都下载到 EP2C35 芯片中,使得本系统可以软硬件协同工作,实现多媒体系统平台的功能。
  
  5.1 多媒体系统的硬件调试
  
  首先,是要把第四章中各个功能模块的硬件整合在一起构成最终的多媒体系统硬件层。需要整合的硬件系统分为两部分,第一部分是利用 SOPC Builder构建的 Nios II 硬件系统,将多媒体各个模块需要的 IP 控制器集成到一起,包括Nios II 软核、SDRAM Controller IP、SPI IP、Audio 控制器等等,具体的在 SOPCBuilder 环境下整合好的硬件系统如图 5-1 所示。
  
  接下来对上面的 Nios II 硬件系统进行整体的分配基地址和中断号,然后生成最终的 Nios II 硬件系统,其编译结果如图 5-2 所示,前面部分是生成各个控制器成功的结果,每个控制器都会生成一个。v 文件存在于工程目录下。最后的SYSTEM GENERATION COMPLETED 说明没有编译错误,系统生成成功。相应的会生成一个 system_0.sopc 文件在工程目录下,我们可以利用此文件将硬件系统移植到其他工程中使用。
  
  第二部分的硬件,是利用硬件描述语言编写的硬体控制器,主要包括LCM_Controller、CCD_Capture_Controller、RAW2RGB 模块、4 端口 Sdram 控制器和 PLL 模块。我们要将第一部分的 Nios II 硬件系统同这一部分的硬件全部整合到一起,是通过在 Quartus II 中编写一个顶层文件 Muti_media.v,将各个模块例化在顶层文件中实现各个模块间接口的互联。这里,利用模块图的形式来展现,这样更加的清晰。由于整个系统过大,分别给出两部分的模块图。如图5-3 所示为硬件语言控制器部分的硬件顶层模块。
  
  Nios II 硬件系统的顶层模块如图 5-4 所示,这两部分硬件通过引脚例化形成互联,构成了一个完整的多媒体硬件系统。
  
  接下来导入引脚文件,成功导入后检查 Assignment 中的 pin 选项,如果每个引脚的表格被颜色全部填充,那么引脚全部被覆盖。
  
  其次,在工程中还要注意,综合和编译之前要对器件中个别参数进行设置,经过多次调试。如果这些参数不进行设置,虽然编译通过,但下载后运行中不能够完成功能,将没用到的引脚设置为三态,把 dual-purpose pins 中的 nCEO 的value 改成 use as regular I/O.
  
  硬件调试部分的最后一步就是编译和综合,图 5-5 为本系统逻辑编译结果图,从中可以看出,在经过 Quartus II 软件的综合调试、编译和优化之后,整个系统占用的逻辑资源仅仅占芯片的 19%.另外利用 Quartus II 软件进行提供的时序分析工具,发现此系统工作频率最高可以运行在 120Mhz,因此本嵌入式系统运行在 100MHz 是稳定工作的。
  
  至此系统硬件部分的调试就完成了,会成功生成一个。sof 文件和。ptf 文件在下面的调试和验证中会用到。
  
  5.2 多媒体系统的软件调试
  
  软件部分的调试是在 Nios II IDE 环境下进行的,首先是要创建一个基于μ C/OS II 操作系统的 Nios II 工程,因为μ C/OS II 已经被成功的移植到 Nios II中,就可以直接在顶层对其进行配置,如图 5-6 所示,这里要选择上一节中多媒体硬件系统生成的 system_0.ptf 文件,此文件包含了所有的硬件信息,另外配置系统的 CPU,最后选择 MiroC/OS-II 作为软件编写的模板。配置、编译成功后,Nios II IDE 软件就与 Quartus II 建立了联系,此软件平台就成功的建立在上一节整合的多媒体硬件平台上了。
  
  接下来就是基于多媒体硬件层,进行软件部分的整合。首先,在进行软件整合前要完成的是将第四章中各模块软件控制中需要调用的文件放入工程目录下以便主程序进行调用,这些文件主要包括:对 IO 口定义的 basic_io.h、图片软件解码用到的 jpegdec.c 和 jpegdec.h 的文件、控制 LCD1602 的 LCD.h、LCD.c文件、定义数据类型的 Int.h 文件以及用来进行文件系统移植的 fatfs 文件和 SD卡底层驱动代码 SD_Driver 文件等。第二步是主程序的设计,本系统是利用μ C/OS II 完成对各个多媒体任务的调度,主程序也是基于此框架进行设计的,如图 5-7 所示为主程序的整体结构图,通过操作系统对任务的堆栈和优先级进行分配,接着创建主任务,由主任务创建子任务,在此框架下将前面任务模块中的软件程序移植到此框架下就形成了多媒体平台的任务管理系统软件。本设计的软件框架易于对任务进行扩展和移植,添加新的任务只需考虑对任务的优先级和等待时间这些问题重新分配,至于具体的任务功能实现无需做过大改动,这也体现了,基于 FPGA 的多媒体系统灵活、可裁剪和减少开发周期的优越性。
  
  整个主程序编写成功后,还要对 system library 进行显示和存储等配置,程序的读写和存储都是在 SDRAM 里面进行,内存和堆栈存储都是用 SRAM,定时器的选择我们选的是在SOPC Builder中设置过的timer_0,stdout、stdin和stderr是对程序路径的选择,一般都是通过 jtag_uart,这里我们选择 lcd_1602 是为了进行 GPS 信息显示,能够通过 lcd 显示 GPS 的信息,配置的对话框如图 5-8 所示。
  
  软件调试的最后一步就是将程序编译成可运行的文件,图 5-9 为最终编译成功 Console 窗口,最后一行中显示 Build complete 表示编译成功。
  
  5.3 配置文件下载
  
  在前面两个小结的硬件和软件都测试成功的基础上,就可以实际下载到芯片进行板级测试了,首先是下载 5.1 中生成的。sof 文件,如图 5-10 所示为使用JTAG 配置方式下载到系统目标芯片,这样就完成了对 FPGA 的硬件配置,在FPGA 中生成了多媒体系统的硬件平台。
  
  接下来要将 IDE 中的系统软件下载到 SDRAM 中运行,在 Run as 选项中选择 Nios II Hardware,正常下载成功的界面如图 5-11 所示,nios2-terminal 显示已经连接上硬件,此时说明软件跟之前配置的 FPGA 硬件能够匹配系统能够正常运行。
  
  5.4 实验结果
  

  本文中搭建的多媒体平台,要实现的功能分别有:图像显示与采集、音乐播放和 GPS 信息接收显示。下面我们分别来给出这几项功能的实验结果。
  
  首先是音乐播放功能,这里涉及到的外部设备就是,音频输出端进行播放的器件,这里我们直接用耳机接出来,这样更利于对音质的检验。图 5-12 为软件程序下载到 SDRAM 后,在 console 窗口观察到的实验结果,通过 SD 卡文件系统对其文件目录进行遍历,搜索到。wav 格式的文件后进行播放。
  
  实验板的实际运行结果如图 5-13 所示,左图中数码管显示的是播放时间,LED 在音乐播放过程中进行闪烁。通过 SW1 控制音乐的暂停和开始,利用按键控制音乐的上一首和下一首播放,通过耳机检测播放的音乐音质较好。右图为从示波器上观察到的音频输出波形。
  
  第二是图像显示和采集功能,如图 5-14 所示,为任务运行在 console 窗口中观察到的实验结果,同样遍历 SD 卡文件成功后,就是对图片的格式进行检查,接着进行 JPEG 图片的解码,最后开始图片显示。
  
  如图 5-15 左图所示为通过 LCM 从 SD 卡显示图片,右图为通过摄像头采集到的图片。需要在下载程序前将外扩的一块 SDRAM 和 D5M 图像采集模块通过 GPIO 接入到系统,同时通过另一个 GPIO 外接 LCM 显示器。
  
  为了测试多媒体系统中文件读取的速率,利用系统中的定时器 IP 来记录实际运行时打开文件和读取文件成功两点的时间戳差为 1.8 μ S,系统时钟为100Mhz,时间戳差与系统时钟相除得到读取文件的时间为 18ms,读取的文件为320*240 大小为 34K 的 JPG 图像,由此可以得到,传输速率约为 1888.9K/s.第三是 GPS 信息接收显示功能,图 5-16 为 GPS 接收模块收到的信息,包括时间、经度和纬度等等。
  
  上图中显示的信息包括不同种类格式的信息,经过软件控制进行筛选后,实际的板级的信息显示,如图 5-17 所示,GPS 信息通过 LCD1602 进行显示,因为信息较多,所以通过翻屏进行显示,利用按键可以控制信息暂留。
  
  至此就完成了对多媒体平台的功能测试,测试结果表明在整个多媒体系统运行中,通过μ C/OS II 的调度,各多媒体任务之间能够很好的实现多线程的工作模式,通过文件系统的移植,加快了文件读取速度,同时有较好的移植性,音频播放的音质和图像显示的稳定性都达到了较好的水平,因为是基于 FPGA芯片的设计,从本章的硬件和软件整合中可以看出,此系统的软硬件能够很大程度上的协同工作,这一点在系统的响应速度和整体性能方面都有着很大的优势,同时本文的软硬件设计结构,都对系统的重构提供了很大的便利,对于系统功能的改变可以很方便的进行移植扩展,这一点也迎合了电子产品更新速度快的发展趋势,会大大缩短开发周期,减少开发成本。
  
  5.5 本章小结
  
  本章,首先介绍了基于 FPGA 的多媒体系统的硬件和软件的整合与实现,然后将编译好的硬件程序文件和在 IDE 软件中的系统软件程序都下载到目标芯片中运行,最后对整个多媒体平台进行系统测试并对系统的性能和优点做出了分析。实验证明了本系统达到了最初的设计目标并且具有一定的实用性和发展意义。
返回本篇论文导航
相关内容推荐
相关标签:多媒体论文
返回:多媒体设计论文