admin 管理员组

文章数量: 887031


2024年2月3日发(作者:学校wind数据库怎么用)

基于NiosⅡ的多功能数字相册

三等奖

基于NiosⅡ的多功能数字相册

大学院校:

参赛队员:

指导教师:

北京交通大学信息科学研究所

洪诚 邓锐 叶永鑫

丁晓明

一. 设计概述

设计意图:

1. 随着数码相机与高像素照相手机的日益普及,用各种存储器(电脑硬盘、半导体存储器及可刻录光盘)保存照片成为人们习惯的做法,即使打印照片,其来源也大多来自数码相机或照相手机。拍摄下来数码相片开始呈现出了几何级数的增长,要想再把这些相片都冲印出来回味、欣赏,不仅会浪费大量金钱,而且传统的相框、相册也无法再承担起保存的重任。

2. 对照片的编辑上,如果能脱离PC机,在我们的便携式硬件平台下直接完成,就可以给出门旅游带来很大的方便。

3. 目前市场上所推出的数码相框大多以图片的存储与回放为主要功能,这就有点浪费资源,如果能够把大部分功能模块都集成到一个系统中,充分利用处理器的处理能力,为用户实现更多的操作,满足更多的需求,就显得非常有意义,有价值。

4. 我们的设计还可作为数码相机的伴侣,将相机中所存储的照片直接编辑,然后通过网络接口把照片传回家中或者工作地点,缓解SD卡等存储设备的压力。

因此设计出一款具有数码照片的保存、回放和浏览、编辑、传输功能的数字相册就会满 1

Nios II 嵌入式处理器设计大赛2007—优秀作品足人们在信息化时代的特殊需求。

此设计给用户提供完全的“DIY空间”,可以对照片进行个性创建,将来完成此相册与手机的通信接口后,还可直接将DIY后的照片发送至朋友手机。

适用范围及针对用户群:

数码照片对任何人来说都不是一个陌生的概念,只要有数码相片的地方就会有我们设计的用武之地,同时加上我们设计的独有编辑与接收、发送功能,出门旅游的人不用担心是否能存下大容量的照片。本设计在家居或者旅游都可以携带在身边,时时刻刻给你的生活带来方便。本设计面向所有社会人群,应用范围广,贴近生活。

Nios® 软核处理器设计的优势:

1. Nios 软核处理器的可裁减特性:与传统的处理器相比,它的可裁减特性极大的方便了用户的设计,我们可以根据需要定制适合自己的系统,Atera公司为我们提供了丰富的IP核库,只需要很短的时间就可以把我们的设想实现,缩短开发周期,而且这种可复用技术会大量的节约成本,设计更灵活。

2. 集成的开发环境:Altera公司提供的从Quartus® 到SOPC Builder再到Nios EDS一条龙的集成开发环境,为我们的设计创造了从硬件到软件上的所有条件,结合该公司的FPGA平台就完成了系统的所有配置与实现。这样设计出的产品拥有更高性能、更强的稳定性。

3. Nios软核可以集成256条用户自定义指令,可以集成用户自定义外设,加速系统运行的速度,其软件开发环境提供了标准的程序接口,极大地方便程序的移植。

独有的C2H功能:自从C2H功能推出以后,在这短短的一年时间里,影响很大,我们现在已经不用担心在Nios EDS环境下的复杂算法会不会影响系统性能,我们只需要将算法的瓶颈采用C2H加速,就可以轻松的将系统的运行速度提升。

二. 功能描述

本设计采用DE1多媒体开发平台,设计实现一个带多种功能的数码产品——多功能数字相册,把目前市面上的产品的基本功能都实现在一个系统下,同时结合现今信息化时代的特点把包含一些特殊功能,以便满足各种大众需求。功能罗列如下:

1. 数码相片的存储功能:作为一个数字相册,不可或缺的就是要有一定容量的照片存储功能,DE1平台上为我们的设计提供了SD卡接口,我们只需在将SD卡的数据、命令、地址线挂载到Avalon总线上,Nios软核就可以控制实现SD卡数据的读写。

2. 数码相片的浏览播放功能:随时浏览您的相片是一个基本需求,我们通过实现的ucFS文件系统,可以很容易的告知Nios CPU,当前存储介质中有哪些相片文件,我们可以选择任意一幅相片进行浏览播放。

3. 音乐特效:多媒体对大家来说已经不再陌生,在Altera公司的FPGA系列平台上大多都可以实现多媒体播放效果。考虑到存储介质的压力,我们选择的音乐格式为压缩的G.729码流,将实验室的解码算法嵌入到我们的数字相册中,让大家在浏览照片的同时2

基于NiosⅡ的多功能数字相册

倾听美妙的音乐,即所谓的“有声相册”功能。

4. 数码相片文件与音频文件的管理功能:移植文件系统后,我们可以非常方便的对文件进行分类,归档,在操作时显得更加方便。

5. 数码相片的编辑与处理效果:在我们的PC机平台下可以很容易的利用软件例如PhotoShop实现相片的效果处理,而在嵌入式平台下同样也可以达到这种效果。

6. 图片格式的压缩与解压:照片大多以JPEG格式存储,我们的多功能数字相册也要满足这种格式要求,所以在Nios下嵌入了JPEG解码模块,利用解码后的RGB数据,就可以做各种处理,处理完毕后再将图片压缩成JPEG格式,便于后续的网络发送处理。

7. 数码相片的美化处理:传统的照片大多采用相框作为珍藏的方法,容易因为时间的流逝而渐渐丢失色彩,而在数码时代下我们可以给数码相片加上各种美丽的相框,处理后的效果非同一般。

8. 照片的网络传输:本设计中的数字相册既可以通过网络接收JPEG码流,转入FPGA进行处理,进而利用FPGA将图片数据进行压缩处理成JPEG码流,将码流通过网络传输,与别人共享照片的效果。该功能的实现需要在DE1平台上开发网络接口,因此我们自制了带网络功能的电路板,通过GPIO与FPGA相连。这样一来该作品就可以成为数码相机的伴侣,出门旅游的时候就可以将数码照片随时随地与朋友共享。

9. 数字相册的人机交互功能:在DE1平台上提供了我们PS2接口,我们可以将鼠标与键盘外设挂到Avalon总线上,为了能够同时响应鼠标与键盘的数据,我们对板上的电路做了改动,这样Nios软核就可以随时响应PS2外设,整个相册就完全处在管理之中。

10. 数码相机伴侣:提供了直接观看各种相机照片的功能,在此基础之上进行的各种图像处理的操作。

11. 数字水印的嵌入与提取:在对照片进行处理时,个人的相片往往不希望别人去修改,往多功能数字相册中嵌入数字水印功能,就可以作为对照片版权的一种管理手段。而不会影响到照片的效果。

在作品的功能模块的实现过程中,充分利用了Nios软核的特性,结合嵌入式操作系统uc/OS来完成调度各功能模块的任务。

三. 性能参数

多功能数字相册的硬件资源利用情况如下:

3

Nios II 嵌入式处理器设计大赛2007—优秀作品

图1 硬件资源利用情况

系统的软件结构:

4

基于NiosⅡ的多功能数字相册

图2、软件结构

1. 系统的性能指标参数:

图片参数:320*240 JPEG格式

LCD显示屏参数:分辨率320*240,5.7’

2. 系统资源利用情况:

详细如图1

FPGA:Altera Cyclone II 2C20F484C7;

程序运行空间:8M SDRAM;

静态存储器:512KB SRAM;

用户接口:按键开关、LED、七段数码管;

VGA接口;

立体声音频CODEC;

PS2鼠标与键盘接口;

GPIO接口外接网络模块控制板与LCD显示屏;

存储器:Kingston SD卡2.0G/1.0G;

3. 扩展资源:

SD卡四线SD模式;

网络控制器电路板;

PS2一拖二接口;

LCD 65000色屏幕;

四. 设计结构

系统硬件与整个流程如下:

5

Nios II 嵌入式处理器设计大赛2007—优秀作品

CRT SD Card

Button/LED

鼠标/键盘

SDRAM LCD

VGA SD Card

Controller

IO

PS2 IP核

SDRAM

Controller

LCD

Controller

Avalon BUS

网络控制器

JPEG

编解码器

Nios CPU

Avalon Tri-state

Bridge

Flash

以太网

SRAM

图3 硬件设计框图

6

基于NiosⅡ的多功能数字相册

图4

系统流程图

图4 系统流程图

五. 设计方法

系统设计方法

本系统设计包括的功能模块有:

SD卡文件系统模块、鼠标键盘输入模块、音频DA模块、DM9000A网络控制模块、TCB8000A LCD控制模块、VGA显示模块、JPEG编解码模块、图像处理模块、音频解码模块。

系统硬件设计部分:

整个系统通过SOPC Builder将各个功能模块集成到一个系统下如图5:

7

Nios II 嵌入式处理器设计大赛2007—优秀作品

图5、SOPC Builder下系统结构

设计方法与实现步骤:

整个设计采用自上而下的设计方法,在SOPC Builder中搭建系统硬件模块。将所需的各功能模块通过Avalon总线集成,这样系统的稳定性更高。尤其对于多功能数字相册中,执行多个功能任务时,需要有稳定的硬件系统来支撑。所以我们在硬件部分就尽量完全用SOPC

Builder来完成。

SOPC Builder所具有强大的系统集成特性,大大缩短了我们的设计周期,在很短的时间内就可以构建一个稳定的系统,进而基于硬件完成系统的软件设计,最后集合成一个完整的系统。

SD卡存储模块:

SD卡是Secure Digital Card卡的简称, SD存储卡是一个完全开放的标准(系统),多用于MP3、数码摄像机、数码相机、电子图书、AV器材等等,尤其是被广泛应用在超薄数码相机上。SD卡在外形上同MultiMedia Card卡保持一致,大小尺寸比MMC卡略厚,容量也大很多。并且兼容MMC卡接口规范。另外,SD卡为9引脚,目的是通过把传输方式由串行变成并行,以提高传输速度。它的读写速度比MMC卡要快一些,同时安全性也更高。

我们为了使系统更具有广泛的应用性、兼容性,我们决定使用SD卡作为设备的主要存储介质,用于存放我们的照片、音乐、素材等重要数据。DE1上的SD读卡装置为1线方式,其速度受到了很大限制。我们把装置改动为4线方式,使其更加符合我们系统的要求。

下面介绍下SD卡的时序,1线SPI模式与SD模式,4线的SD模式:

SPI模式的时序表1:

8

基于NiosⅡ的多功能数字相册

CS::

CLK::

DataIn::

DataOut:

4线SD模式的时序表2:

CLK: 主机到卡的时钟信号

CMD: 控制与应答信号

DAT0-DAT3: 4位数据线.

VDD,VSS1,VSS2 电源与接地信号

SPI模式读时序:

主机到卡的片选信号

主机到卡的时钟信号

主机到卡的数据信号

卡到主机的数据信号

SPI模式写时序:

4线SD模式读时序:

4线SD模式写时序:

9

Nios II 嵌入式处理器设计大赛2007—优秀作品PS2键盘、鼠标IP核模块:

PS2鼠标与键盘的协议都是一样的,PS/2 鼠标和键盘履行一种双向同步串行协议, 每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。键盘/鼠标可以发送数据到主机,而主机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘/鼠标的通讯,只要把时钟拉低即可。

标准的PS/2 鼠标支持下面的输入左右位移X,上下位移Y,左键中键和右键鼠标,以一个固定的频率读取这些输入并更新不同的计数器,然后标记出反映的移动和按键状态。标准的鼠标有两个计数器保持位移的跟踪,X位移计数器和Y位移计数器可存放9位的2进制补码,并且每个计数器都有相关的溢出标志,它们的内容连同三个鼠标按钮的状态一起以三字节移动数据包的形式发送给主机,位移计数器表示从最后一次位移数据包被送往主机后有位移量发生。

数据格式如下表3:

起始位 8个数据位 奇偶校验位 停止位应答位

逻辑0 低位在前 根据数据位中1的个数判断奇/偶校验逻辑1 用在主机对设备的通讯中

主机到设备的通讯如图6:

图6 主机到设备的通讯图

根据PS2标准协议,我们编写了鼠标与键盘的硬件模块,将其作为Avalon从端挂到SOPCBuilder下,完成系统人机交互的接口。

VGA图片显示模块:

在本设计中虽然有LCD的显示屏,但我们也设计开发了VGA接口。VGA的时序包括水平时序和垂直时序,两者都包含的时序参数有:水平(垂直)同步脉冲、水平(垂直)同步脉冲结束到有效显示数据区开始之间的宽度(后沿)、有效显示区宽度、有效数据显示区结束到水平(垂直)同步脉冲宽度开始之间的宽度(前沿)。水平有效显示区宽度与垂直有效显示区宽度逻辑与的区域为可视区域,其他区域为消隐区。

一行或一场的时序信息如图7:

10

基于NiosⅡ的多功能数字相册

行/场时序图7

根据图7的时序,我们将行或者场信号各个阶段的时间罗列如表4:

行频/场频

一行/场扫描scanline time

水平/垂直同步脉冲hsync/vsync

行/场前沿frontporch

行/场后沿backporch

有效视频区video

VGA(640×480)

31.469KHz/59.94Hz

31.77us/16.68 ms

3.77 us/0.06 ms

0.94 us/0.35 ms

1.89 us/1.02 ms

25.17 us/15.25 ms

根据时序要求我们编写了VGA控制模块来显示图片,在设计中以SRAM为图片数据的显存,显示解压缩完毕与图象处理后的图象。

VGA_ControllerSRAM_DQ[15..0]READY

iCLOCK

iCLK

iRST_NSRAM_ADDR[17..0]SRAM_CS_N

SRAM_OE_N

SRAM_WE_N

SRAM_BHE_N

SRAM_BLE_N

VGA_R[3..0]VGA_G[3..0]VGA_B[3..0]oVGA_H_SYNC

oVGA_V_SYNC

inst5

VGA 控制器模块图8

LCD显示屏与TCB8000A控制器模块:

显示屏采用5.7”65000色的TFT,控制器选用TCB8000A, 在系统设计过程中,我们只需要在SOPC Builder中集成关于该控制器与CPU的接口,包括数据线8位,写传输信号,地址信号、复位信号以及片选信号,将该摸块作为从外设挂载到Avalon总线下,就可以实现图片数 11

Nios II 嵌入式处理器设计大赛2007—优秀作品据的显示。

系统软件设计部分:

µc/os-II操作系统:

µc/os-II,是免费且公开源码的嵌入式操作系统。在世界范围内得到广泛的应用,包括诸多领域,如手机,路由器,集线器、飞行器、 医疗设备等等。uC/OS适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。本系统的软件开发均在NIOSII集成的µc/os-II操作系统上面完成。

在多功能数字相册系统中我们建立了Task_Main(主控任务)、Task_Gui(GUI图形化人机交互界面显示任务),Task_Music(音乐播放控制任务)等三个任务。利用消息邮箱机制,µc/os-II对这三个任务进行调度管理。

JPEG编解码模块:

该模块在系统中的作用主要在于对图片格式的转化,对于数码相机而言,其内部也嵌入了JPEG图片的编解码器,对于我们的多功能数字相册,这个模块必不可少。

JPEG编码和解码的大体流程图如下:

图9

图10

其核心的算法是离散余弦变换,量化及反量化,使用霍夫曼可变字长编码器对量化系数编码解码。当然,还涉及色彩模型的转换,量化系数的“之”字排列,对直流系数的差分脉冲编码调制,对交流系数的行程长度编码等技术。

12

基于NiosⅡ的多功能数字相册

具体的程序的流程如下图:

1) 编码程序流程图11

2) 解码程序流程如图12

利用该流程,可以实时实现查看数码相机的照片,包括多种不同编码方式的JPEG,使本相册成为真正意义上的数码相机伴侣,用于对旅游途中相片的处理。

网络发送与接收模块:

由于移植了uc/OS操作系统,在硬件底层我们自制网络扩展板,我们的网络模块在系统中,通过在Nios下调用底层的收发包程序,创建自己的数据传输方式,在Nios发送端与网络接收端再进行组包、拆包处理。

下图显示了多功能数字相册PC机端的接收界面:

13

Nios II 嵌入式处理器设计大赛2007—优秀作品

图13 发送与接收端界面

网络功能的接入,使得系统成为可在线编辑、欣赏照片,大大提高系统的应用范围,在该环境下,系统可以接收远程的图片数据,不再依赖本地的SD卡数据源,同时外出旅游的相片也可通过该系统直接发送至亲朋好友处,与别人共享照片。

Uc/FS文件系统:

在Nios II软件开发集成环境下,包含了uc/OS,可以使用户方便的应用到自己的软件工程里,我们为了更合理使各任务共同执行、共享CPU,我们使用了uc/OS操作系统,并为其加挂文件系统。一开始我们选用了zlg文件系统,在成功移植后,我们测试了他的速度,速度不尽人意。在向SD卡读写1M数据分别需要用时37sec和57sec。我们分析了它的耗时所在,一方面SD卡读写模式限制,在标准的DE1开发板上,SD卡使用的是1线读写模式,其数据线只有1根,速度受到了很大的限制,我们通过修改其模式,增加数据线的方式,使SD卡的读写模式改变为4线的SD模式,经过测试,速度有了提高,分别为17sec和27sec,但是速度并不是我们假想的快到原来的四倍,这是因为另一方面的影响—文件系统,经过上网查询,发现zlg/fs的性能不高,浪费了很多时间,我们决定使用Micrium 公司的uc/FS,他和uc/OS有着很好的兼容性,在性能上也是得到了大众的好评。经过几周的努力我们成功移植了uc/FS

1.34版本到DE1平台上,为四线模式的SD卡架起了文件系统。经过比较测试,读写速度有了很大提高,1M数据读写分别只用时3.6s和11s。这样基本满足了我们存取数据文件的速度要求。但是仍存在着写较慢的问题,原因在于在写数据到SD卡的时候每一个block都需要计算16位的CRC校验,占用了很大部分发送的时间,我们使用自定义用户指令对这部分进行了加速处理,另外如果CPU的运行频率再提高的话,速度也会再提高。

下面简单介绍下uc/FS的文件结构:

在uc/FS软件包里面有文件夹如下表5

14

基于NiosⅡ的多功能数字相册

API

CLIB

CONFIG

DEVICE

FSL

LBL

对外的一些接口

一些基本的标准C库函数的实现,主要是字符串,内存的处理。

针对各个target的一些配置项,包括各个类型的配置

设备层的封装,当前有硬盘,ram,smc,windows(IO接口)等;主要实现FS__device_type的接口

文件系统层(对各种文件系统的支持)当前有FAT文件系统

逻辑块层(对os,device层的封装)OS系统级的一些操作(信号量)

图14 uc/FS结构框图

文件系统下的部分函数:

File system control functions

FS_Exit() Stop file system

FS_Init() Start file system

File access functions

FS_FClose() Close a file

FS_FOpen() Open a File

Direct input/output functions

FS_FRead() Read data from file

FS_FWrite() Write data to file

Directory functions

FS_CloseDir() Close a directory

FS_MkDir() Create a directory

FS_OpenDir() Open a directory

FS_ReadDir() Read from a directory

FS_RewindDir() Reset position in directory stream

FS_RmDir() Remove a directory

μC/GUI图形用户界面:

1) µc/GUI简介:

μC/GUI是一款针对嵌入式系统的优秀图形软件,它具有源码公开、可移植、可裁减、稳定性和可靠性高的特点。μC/GUI提供了丰富的界面元素,例如按钮、编辑框、 15

Nios II 嵌入式处理器设计大赛2007—优秀作品滑动条等控件,同时支持高效的窗口回调机制,为界面与应用函数之间提供了良好的接口机制。多功能数字相册系统的人机交互界面正是利用这个工具进行开发的。

2) μC/GUI结构:

图15 μC/GUI的软件体系结构

μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、园、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。

μC/GUI函数库可以通过GUIConf.h文件进行配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏,以及配置动态内存的大小等。

在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把μC/GUI的各种函数解释成LCDConf.h文件中定义的液晶接口函数,这个文件与具体的硬件连接无关。

μC/GUI与LCD的硬件接口通过驱动文件把硬件接口函数转化为LCDConf.h中定义的LCD读写函数。

3) μC/GUI移植

配置文件的移植

移植工作首先需要完成的是对配置文件的GUIConf.h, LCDConf.h移植,根据数字相册系统的显示模块的要求,对配置文件的相关的参数进行配置。

LCD驱动的移植

μC/GUI针对不同的液晶控制器提供了多种驱动程序,如KS0713、SEDl335、T6963等控制器都有对应的液晶驱动程序。但是由于在本系统中,采用的显示模块为TOPWAY TCB8000A LCD控制器和TFT、 65000色、LCD屏。而μC/GUI没有提供相关控制器的驱动,并且与μC/GUI提供驱动支持的LCD控制器相比较,TCB8000A16

基于NiosⅡ的多功能数字相册

控制器拥有自己独立的屏幕控制指令体系,这给μC/GUI在TCB8000A控制器的移植工作带来了很大的难度。

在移植的过程中,我们首先运用TCB8000A的指令体系,实现了μC/GUI为上层应用函数提供的大部分API函数,接着对于TCB8000A控制器不能在硬件支持的API函数,我们采用软件实现的方法对驱动进行了修补,最后通过对大量控件显示测试实验,调整了在LCD驱动中运用的TCB8000A显示指令中的参数,使得LCD驱动的性能达到最优。最终实现了μC/GUI在TCB8000A控制器上的无缝移植。

鼠标、键盘移植:

在GUI下提供了鼠标与键盘的驱动,但是对于我们这个系统而言,我们实现了鼠标与键盘的IP模块,在与GUI结合过程中需要考虑驱动问题,我们在Nios下编写了键盘数据接收函数,GUI的键盘输入驱动处调用此函数, 将得到的硬件键盘值传送给μC/GUI, 即完成一次键盘事件, μC/GUI就会在消息处理LOOP当中处理按键, 将其发到μC/GUI中的当前焦点窗体。该模块在系统中我们可以将输入的任何信息传递给μC/GUI,有了该模块我们可以实现文本的输入,方便实现系统编辑任务。

对于鼠标的驱动则是更加复杂一点,好在ucGUI对鼠标驱动很好的支持,GUI下窗体管理及消息处理机制使得鼠标的信息被实时的更新处理。

基于以上部分的设计,我们在Nios下实现了多功能数字相册,包括ucFS文件系统告知μC/GUI当前SD卡所存储的照片数据,经过JPEG解码流程输出RGB数据,进而作图象处理、显示输出以及其他各种模式的编辑与处理效果。

相册浏览模式下的图示:

17

Nios II 嵌入式处理器设计大赛2007—优秀作品数字水印的嵌入:18

相册菜单编辑模式下的图示:

基于NiosⅡ的多功能数字相册

该模块也作为一个子模块嵌入到菜单的管理之中,我们可以为自己的相片添加数字水印,保护个人的材料不受破坏。由于时间以及系统资源所限,最终没有将该模块集成至系统中去。

SOPC概念在本设计中的应用

在本次设计中,我们的硬件结构完全在SOPC下集成,该系统具有的好处在于硬件的可重构与可重配置,这是FPGA在硬件开发过程中独一无二的特点,从上而下的设计流程使得系统设计周期大大缩短。在设计的一开始,我们就考虑到了这一点,就是要利用SOPC的设计理念来设计我们的系统,嵌入式的系统最大的特点并不在于您的设计成果是多么的完美,而在于您是如何利用最少的资源来完成您的所有设计,让您的设计在功耗,集成性方面达到最优。此外作为系统,必须要考虑到其将来的发展空间,如果当前的设计已经把以后发展、扩展的道路堵住了,那么就是一个比较失败的设计方案,在此次设计中,我们为将来的系统扩展预留了很多操作,可以随时将您的想法嵌入到系统中去,进而完成更多更好的功能。

六. 设计特点

系统设计特点

1. uc/OS实时操作系统成为本系统各功能模块有序运作的一个重要因素,本设计从系统的角度首次将数字相册与图像处理、压缩解压缩、发送接收集成到一个系统下,利用Nios

CPU与Avalon总线的仲裁机制对系统的实现很关键,要实现多功能相册各个功能模块的集成与运作,引入操作系统,直接使用嵌入到Nios下的操作系统,负责各个功能模块的任务调度,以此来稳定与提高整个系统的性能,简化我们系统的设计。

2. 在本设计中用到了多个用户接口,包括SD存储器,LCD显示屏接口、以太网接口,PS2鼠标与键盘接口等,利用SOPC Builder我们可以将这些外设挂载到Avalon总线下,模块虽然多,但是在SOPC的集成环境下会有次序地进行运作。

3. 同时在软件部分,在Nios下成功移植了uC/GUI图形用户界面,人性化的人机交互界面使得本设计更加贴近大众,便于对照片进行管理操作。

4. 为了能够同时使用鼠标与键盘的接口,我们将原来的PS2接口扩展出来,只需一个PS2接口就可以让Nios软核同时响应鼠标与键盘中断的信号。在SD卡接口部分,为了能为系统提供快速的读写机制,将原来的一线SPI模式改为四线SD模式,读写速度提高了4倍,满足系统的要求。

5. uc/GUI、uc/FS、uc/O II三者在Nios 下集成与实现,为我们的相册提供了丰富的人机界面,整个系统需要跑在控件化的环境下,这三者的结合保证我们的系统的需要。同时对硬件的底层也提供了良好的驱动支持。

6. 通过扩展的GPIO,我们实现了网络控制模块与LCD显示屏的在硬件上的加载,同时SOPC高度的集成性使整个系统没有出现通信不稳定的情况。

19

Nios II 嵌入式处理器设计大赛2007—优秀作品七. 总结

此次大赛,我们的作品“基于Nios II 的多功能数字相册”成功的完成了设计,从中我们学习了很多东西,掌握了很多新的知识,对Nios II嵌入式系统的理解也更加深刻。

系统的所有设计围绕一片FPGA,在设计过程中充分利用了Nios II软核的特点。Nios II软核负责整个系统的运行,在操作系统的调度下,各个任务按照任务优先级有规律的服从管理,在涉及到互相冲突的地方,我们都把任务交给操作系统来管理,例如我们在开始的时候,硬件上的鼠标与键盘IP核需要不断的去中断,而Nios软核也需要不断作出响应,这样就会导致某些程序发现冲突,导致鼠标在GUI下不工作,在引入操作系统后,整个系统不会再发生任何的冲突。

此次设计过程中,让我领悟到了SOPC Builder的高度集成性以及Nios IDE软件集成开发环境的稳定性,系统调试起来非常方便。

最后,感谢Altera公司为我们参赛小组提供这次机会,锻炼了我们的动手能力。这种基于SOPC的可重构硬件与软件设计,自上而下的设计方法是系统实现起来更加灵活、系统集成度更高,实现周期大大缩短。

20


本文标签: 系统 设计 模块 实现 相册