打印本文 关闭窗口 | ||||
双NiosII软核在嵌入式系统中的应用来源于瑞达科技网 | ||||
作者:佚名 文章来源:不详 点击数 更新时间:2011/12/29 文章录入:瑞达 责任编辑:瑞达科技 | ||||
|
||||
SOPC(System On Programmable Chip)即可编程片上系统,或者说是基于大规模FPGA的单片系统,是美国Altera公司于2000年提出的。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个PLD器件上,将其构建成一个可编程的片上系统;具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。由于SOPC系统具有灵活的设计方式、高效的开发手段、廉价的设计成本,可以实现过去不可能实现的更高的系统性能,因此它在通信和工业控制等领域正得到日益广泛的应用。 NiosII嵌入式处理器是FPGA生产厂商Altera公司推出的软核CPU,是一种面向用户的,可以灵活定制的通用精简指令集架构(RISC)32位嵌入式CPU。NiosII以软核的方式提供给用户,并专门在Altera公司的FPGA上实现了优化,用于SOPC集成,最后在FPGA上实现。 本文将以VOD视频点播系统为例,介绍采用NiosII构建可编程片上系统SOPC的过程,以及双CPU及其同步通信技术实现的视频点播系统主机部分的设计思想和工作原理。 1 工程应用 1.1 VOD相关内容及双CPU使用的必要性 视频点播是一种交互式多媒体信息点播系统。其本质是,信息使用者可根据自己的需求主动获取多媒体信息,打破目前用户收看节目的被动方式,使用户从“播什么节目看什么节目”变成“想看什么节目就播什么节目”,从而按照自己的意愿通过网络点播视频服务器中的视频节目。视频点播以电视技术、计算机技术、通信技术为基础,它区别于信息发布的最大不同是用户具有主动性与选择性。 VOD系统主要由3部分构成:视频点播服务器、传输网络和视频点播终端。当点播终端发出点播请求时,点播服务器就会根据点播信息,将存放在节目库中的影视信息检索出来,并将视频数据流通过高速传输网络传送到各个点播终端。点播终端接收到数据流后,将其解码送到显示器播放。 本设计采用一块大容量硬盘作为VOD系统的点播数据源,将MPEG-1格式的影音文件按照FAT 32标准存放在硬盘上。由于视频点播系统对硬盘访问的速度要求非常高,采用操作系统已无法满足要求,所以利用SOPC技术将Altera公司的第2代嵌入式处理器NioslI嵌入到FPGA中,并通过DMA控制器直接对硬盘进行最底层的操作,完成对影音文件的管理、检索和数据读取,充分发挥了FPGA的高速优势。本视频点播服务器可以驱动多达64个完全独立的视频终端。 为实现64路终端实时播放影片,必须对视频数据流的传输速率严格规定,由于所有终端播放的文件均为MPEG-1格式,此格式下影片连续播放所需的数据流速率为1.416 Mb/s。本系统采用的数据收发器AM7968/7969的传输率为80 Mb/s,因此只要逻辑电路设计得当且处理器定时发送数据,就可达到视频不间断播放的设计要求。但点播系统在满足视频数据定时发送的条件下还应当实现读取硬盘中存放MPEG-1数据的功能,对终端作出的点播信息作出及时响应的功能,对USB中影音文件录入的功能以及显示屏的刷新与按键的处理功能。如果只采用一个处理器,则无法对每个环节作出及时响应,无法保证数据的定时发送和硬盘数据的按时读取,所以采取在Altera公司的高性能FPGA中嵌入双NiosII软核的方式达到系统设计目的。 1.2 系统原理框图及架构 点播服务器主要由主控制器部分和外围接口电路两大部分组成,硬件系统框图如图1所示。主控制器单元主要由FPGA、存储器电路、电源电路、时钟、复位电路和配置芯片电路组成。外围接口主要有:OLED显示屏、动态扫描键盘、数据缓冲区、SD卡、USB控制器、IDE接口、CAN总线接口、光纤接口等。
|