一种基于NiosⅡ的可重构DSP系统设计

发布者:工号待定最新更新时间:2011-10-17 关键字:NiosⅡ  DSP 手机看文章 扫描二维码
随时随地手机看文章
    引言

  为了解决传统DSP所面临的速度低、硬件结构不可重构、开发升级周期长和不可移植等问题,本文应用Altera公司推出的NiosII嵌入式软核处理器,提出了一种具有常规DSP的NiosII系统功能SOPC解决方案。由于可编程的NiosII核含有许多可配置的接口模块,用户可根据设计要求,利用QuartusII和SOPC Builder对NiosII及其外围系统进行构建。用户还可通过Matlab和DSP Builder,或直接用VHDL等硬件描述语言,为NiosII嵌入式处理器设计各类硬件模块,并以指令的形式加入到NiosII的指令系统中,使其成为NiosII系统的一个接口设备,与整个片内嵌入式系统融为一体,而不是直接下载到FPGA中生成庞大的硬件系统。正是NiosII所具有的这些重要特点,使得可重构单片DSP系统的设计成为可能。

  Nios II嵌入式系统设计流程

  NiosII嵌入式处理器专为单芯片可编程系统设计而优化,是一种面向用户、可以灵活定制的通用RISC(精简指令集)嵌入式CPU。它采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能,可采用汇编或C、C++等进行程序优化开发。NiosII具有32位指令集、32位数据通道和可配置的指令及数据缓冲。与普通嵌入式CPU系统的特性不同,其外设可以灵活选择或增删,可以自定制用户逻辑为外设,可以允许用户定制自己的指令集。由硬件模块构成的自定制指令可通过硬件算法操作来完成复杂的软件处理任务,也能访问存储器或NiosII系统外的接口逻辑。设计者可以使用NiosII及外部的Flash、SRAM等,在FPGA上构成一个嵌入式处理器系统。

  完整的基于NiosII的SOPC系统是一个软硬件复合的系统,因此在设计时可分为硬件和软件两部分。NiosII的硬件设计是为了定制合适的CPU和外设,在SOPC Buider和QuartusII中完成。在这里可以灵活定制NiosII CPU的许多特性甚至指令,可使用Altera公司提供的大量IP核来加快开发NiosII外设的速度,提高外设性能,也可以使用第三方的IP核或VHDL来自行定制外设。完成NiosII的硬件开发后,SOPC Buider可自动生成与自定义的NiosII CPU和外设系统、存储器、外设地址映射等相应的软件开发包SDK,在生成的SDK基础上,进入软件开发流程。用户可使用汇编或C,甚至C++来进行嵌入式程序设计,使用GNU工具或其它第三方工具进行程序的编译连接以及调试。

  单片DSP系统构架

  本系统为单片DSP可重构系统,能完成数字信号处理方面各功能的操作。其中NiosII软件处理器主要完成人机交互和控制作用;FPGA的逻辑模块从NiosII处理器接收控制信号和数据后,完成相应的硬件功能。系统框图如图1所示,除了软核处理器NiosII外,存储器、I/O接口以及FIR数字滤波器、IIR数字滤波器、DDS等应用模块等均可作为外设嵌入在FPGA中。这样,整个DSP的数字信号处理部分全部集成在FPGA器件中,各模块受NiosII处理器的控制。NiosII处理器系统中有Avalon总线,它规定了控制器与从属模块间的端口连接以及模块间通信的时序。数字频率合成器(DDS)通过Avalon总线与Nios II处理器相连,能很方便地完成控制及数据传送。

  在本系统中,FPGA采用Cyclone EPIC12,它有12060个逻辑单元(LE)和2个锁相环(PLL),提供6个输出和层次时钟结构以及复杂设计的时钟管理电路。整个系统在NiosII处理器的控制下,可实现FIR、IIR数字滤波、快速傅立叶变换(FFT)算法、编/解码等功能,系统还能进行DDS功能模块设计,并构成具有数控频率调制、正交载波调制解调、数控相位调制等功能的信号发生器。系统中各功能模块的选择以及输出信号调制方式和频率的选择均可通过外接的按键自由选择。

  系统硬件设计

  系统的硬件系统包括FPGA、存储器和外围元器件3个部分。FPGA部分需要在SOPC Buider中设计,包含NiosII CPU核、内部时钟、Avalon总线控制器、连接NiosII核的下载和调试程序的JTAG_UART通信模块、DDS接口模块及DDS模块、FIR、IIR数字滤波器接口模块及功能模块、编/解码模块及接口模块、flash存储器模块等。各外设模块核通过在片上的Avalon总线与NiosII相连。为使具有DSP处理器功能的NiosII系统正常工作,在FPGA外围接有一些控制键,以调度各模块的应用。

  建立Nios II嵌入式处理器系统

  首先利用QuartusII建立项目工程,选用的目标器件为Cyclone EPIC12,用SOPC Buider创建NiosII组件模型,生成硬件描述文件,锁定引脚后进行综合与适配,生成NiosII硬件系统下载文件。然后建立NiosII嵌入式系统,从SOPC Buider组件栏中加入需要的各种组件:如NiosIICPU Core、定时器Timer、JTAG_UART、Avalon三态总线桥、键输入I/O口、Flash等。另外,为了实现NiosII处理器对EPCS Flash存储器的读写访问,还要加入一个EPCS Serial Flash Controller组件,通过此控制器将用于FPGA配置的SOF文件和CPU运行的软件一并存于EPCS器件中,以便大大简化硬件系统组成结构。为了保证所有组件的地址安排合法,要对各组件地址进行自动分配,最后进行全程编译,即进行分析、综合、适配和输出文件装配,以完成NiosII硬件系统的设计。

  在NiosII硬件系统设计完成后,将配置文件下载到指定的FPGA中。通过SOPC Buider软件窗口,可进入NiosII DSK软件开发环境进行软件设计。

  DSP处理器功能系统的建立

  使用DSP Buider在FPGA上进行DSP模块的设计,可实现高速DSP处理。但是,在实际应用中,由于DSP处理的算法往往比较复杂,如果单纯使用DSP Buider来实现纯硬件的DSP模块,会耗费过多的硬件资源,有时也无法完成复杂的运算。在DSP算法中反复出现的一些运算,如复数乘法、整数乘法、浮点乘法等,在通用的CPU中都没有专门的相关指令。利用Nios II的自定制指令特性,在系统设计中,可利用MATLAB、DSP Buider或VHDL设计并生成复数乘法器、整数乘法器、浮点乘法器等硬件模块,在QuartusII环境中对上述文件作一些修正后,在SOPC Buider窗口中将它们定制为相应的指令,并可设定或修改执行该指令的时钟周期。在进行DSP算法运算时,可通过汇编或C,甚至C++来运用这些自定义指令进行嵌入式程序设计。

  用MATLAB、DSP Buider设计的复数乘法器模型如图2所示,它完成了16位的复数乘法,虚部和实部的位宽都是16位,可以用一个32位的值来表示该复数。在设计中,NiosII为32位数据,正好可以放置2个复数。

  要将这个复数乘法器硬件模块设置成相应的指令,还要进行以下操作:单击图标SignalCompiler对其进行转换,选择器件(用Cyclone)、选择QuartusII综合器,转换后使其生成SOPC Buider的PTF文件。退出MATLAB后,在QuartusII环境中对转换后所生成的复数乘法器的顶层VHDL文件进行修改。在SOPC Buider窗口中双击cpu项,进入指令加入编辑窗;单击Import按钮,进入加入模块文件窗口;单击Add按钮,打开顶层文件;单击Read port-list from files按钮,得到端口加入情况显示窗口;单击Add to System按钮,加入复数乘法器设计模块,将这个硬件模块设置成自定义的复数乘法指令comp。还可以修改该指令的指令周期。单击Generate按钮,进行SOPC生成。

  另外,NiosII的外设是可任意定制的,NiosII系统的所有外设都通过Avalon总线与NiosII CPU相接。Avalon总线是一种协议较为简单的片内总线,NiosII通过Avalon总线与外界进行数据交换。在本系统中,采用Avalon Slave外设方式加入了自定制Avalon总线组件A/D转换接口模块、D/A接口模块,用于控制采样ADC的工作并控制高速DAC的波形数据输出。而自定义的Avalon总线组件DDS模块接口和DSP功能转换控制接口则用于NiosII CPU对DDS模块的控制及通过外部键盘来控制DSP功能的选择。

  系统软件设计

  指令生成并加入总线和各种需要加入的外设组件(如各类接口、flash等)后,对基于NiosII的SOPC系统进行编译并下载到FPGA中。在NiosII的硬件系统生成的同时,SOPC Buider帮助用户生成相应的SDK(软件开发包)。由于在硬件开发中的Nios CPU及其外设构成的系统是自定制的,存储器、外设地址的映射等都各不相同,需要专有的SDK,用户新定制的指令也必须修改原有的编译工具,这些都由SOPC Buider自动生成。

  在生成SDK的基础上,可进入系统软件的设计。在这里,软件的开发设计与通常的嵌入式系统的开发设计相类似,唯一不同点在于这时面对的嵌入式系统是自己定制的、裁剪过的,因此,受到硬件的局限性会小些。可使用汇编、C、C++来进行嵌入式程序设计,使用GNU工具或其它第三方工具进行程序的编译连接以及调试。

  比如,将复数乘法器硬件模块设置成相应的指令后,锁定引脚,全程编译。然后利用QuartusII编辑C程序进行测试。在FPGA中的Nios CPU中运行C程序。测试成功后,在DSP计算中遇到复数乘法就可以运用复数乘法指令。

  DDS模块还是以硬件形式固化在FPGA中,可以根据需要,利用DDS设计出幅度、相位和频率调制器。

  结语

  这种将常用的硬件模块生成指令,软、硬件并存的设计方法在FPGA中可实现较复杂的DSP运算。整个系统除了ADC、DAC和控制选择键盘外,都可在1片FPGA可编程芯片中实现。还可通过Avalon总线自定义各种接口模块组件,提高整个DSP系统的灵活性,将软件的灵活性和硬件的高速性予以结合。

关键字:NiosⅡ  DSP 引用地址:一种基于NiosⅡ的可重构DSP系统设计

上一篇:基于DSP和GC5322 的数字预失真系统设计
下一篇:TMS320LF2407与LAN91C111型嵌入式以太网接口电路的实现

推荐阅读最新更新时间:2024-05-02 21:39

从原理入手,解析基于DSP的汉字语音识别系统的实现方式
语音识别 是机器通过识别和理解过程把语音信号转变为相应的文本文件或命令的高技术。作为专门的研究领域,语音识别又是一门交叉学科,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。语音识别经过四十多年的发展,已经显示出巨大的应用前景。本文从实现原理入手,介绍语音识别系统的实现方式。 概述 本汉语语音识别系统是一个非特定人的、孤立音语音识别系统。其中孤立音至少包括汉语的400多个调音节(不考虑声调)以及一些常用的词组。识别系统主要用于手持设备,如手机、掌上电脑。这些设备的CPU一般是DSP,硬件资源十分有限,而且大多不支持浮点运算。那么,对系统各个部分的设计首要考虑的是系统对硬件资源的开销必须尽量
[嵌入式]
从原理入手,解析基于<font color='red'>DSP</font>的汉字语音识别系统的实现方式
基于DSP生成SVPWM在逆变电源中的应用
  1 光伏并网   发电系统组成   光伏并网发电系统主要由太阳能电池板(即光伏阵列),并网逆变器,滤波电抗器和DSP控制电路构成。整个系统的结构如图1所示。   由图1可见光伏并网发电系统利用太阳能电池板将太阳能转化为直流电能,再利用并网逆变器的受控电流源特性,控制逆变器运行在发电状态,将直流电转化为交流电馈送电网。        整个系统能量的变换和传递过程,是利用IPM模块构成的并网逆变器路来实现的,而并网逆变器的控制则是通过DSP生成驱动主电路的PWM信号来完成。   2 并网逆变器控制原理   根据光伏并网发电系统的工作原理可知,并网逆变器是整个并网发电系统的核心装置,并网逆变器的性
[电源管理]
基于<font color='red'>DSP</font>生成SVPWM在逆变电源中的应用
如何处理好嵌入式DSP设计中的功耗优化
对基于数字信号处理器(DSP)的系统而言,优化功耗是一项重要但往往难以实现的设计目标。现在,基于DSP的设备常常把以往各自独立的多个应用结合起来,每一个应用都可能有多个工作模式。要得到这样一个设备的功率分布是非常困难的一件事,更遑论整个复杂的系统。设计人员需要获知尽可能多的最佳信息,以及能够帮助他们优化特定应用之功耗的技术和工具。 幸运的是,近年来,在DSP芯片的设计和制造工艺方面,都在不断推出更先进的功耗降低方法。现在的片上功率优化技术能够提供更多的精细控制和更多的省电模式,以及关于处理器功耗的更完整的信息。更新型的DSP开发工具使设计人员得以更深入透彻地了解系统的功率消耗方式,并通过片上硬件来提供功耗降低技术。
[嵌入式]
如何处理好嵌入式<font color='red'>DSP</font>设计中的功耗优化
基于DSP的软件无线电基频发射机的设计与仿真
引言 软件无线电突破了传统的无线电台以功能单一、可扩展性差的硬件为核心的设计局限,强调以开放性最简硬件为通用平台,尽可能地使用可升级、可重配置的应用软件来实现各种无线电功能。用户在同一硬件平台上可以通过配置不同的应用软件来满足不同时间、不同环境下的不同功能需求,具有很强的灵活性和开放性。 DSP(数字信号处理器)凭着灵活性、精确性、稳定性、可重复性、体积小、功耗小、易于大规模集成,特别是可编程性和易于实现自适应处理等特点,给数字信号处理带来了巨大的发展机遇。 基于上述优点,用DSP实现基于软件无线电技术的基频发射机,不仅降低了产品的成本,减小了设备体积,满足系统的需要,而且随着DSP处理速度的不断提高,可将内插等复杂运算集成
[应用]
连接一切可连接的,TI DSP新增SATA与uPP
  “这是德州仪器(TI)首次将SATA(串行高级技术附件)用到DSP与DSP+ARM中,”TI DSP系统业务拓展部高级业务代表程自清告诉EEWORLD。 TI DSP系统业务拓展部高级业务代表程自清   此次TI最新推出的四款全新DSP —— TMS320C6742、TMS320C6746、TMS320C6748以及OMAP-L138不但具有多种连接选项与定点和浮点功能,也是业界功耗最低的浮点DSP,可满足工业和通信领域对高集成度外设、更低热量耗散以及更长电池使用寿命的需求。   该系列器件能显著降低工业、通信、医疗诊断和音频等多种产品的总体系统成本。例如,继电保护系统可充分受益于OMAP-L138 器件的定点/浮点
[工业控制]
基于DSP的ARINC429通信板的研制
    摘要: 数字信号处理器(DSP在很多领域都已获得广泛的应用,ARINC 429数字信息传输规范是航空电子设备通信标准。介绍了用DSP芯片TMS320F206和高性能的数据通信芯片HS-3282开发ARINC 429通信板的一种方法。     关键词: 数字信号处理器(DSP)  ARINC429数字传输规范     在现代民用飞机上,系统与系统之间,系统与部件之间需要传输大量信息,随着数字技术的发展和微型电子计算机的出现,越来越多的航空电子设备已采用数字化技术。ARINC规范是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。早期用单片机开发的ARI
[应用]
CEVA推出ClearVox专为CEVA-TeakLite-4和CEVA-X2音频
CEVA,智能和互联设备的信号处理IP授权许可厂商 (纳斯达克股票交易所代码:CEVA) 推出ClearVox,这是一套全新的先进语音输入处理算法软件套件,旨在增强语音设备的语音智能和清晰度。ClearVox专为CEVA-TeakLite-4和CEVA-X2音频/语音DSP内核授权。 随着语音成为基于云的助理服务的主要用户界面,无论在任何环境下都必须保持语音信号清晰,以确保Alexa、百度DuerOS、Bixby、Cortana、Google Assistant和Siri等会话助理的准确性。 耳机、智能扬声器、手机、可穿戴设备、汽车信息娱乐系统和家庭安防系统是语音服务供应商和芯片制造商所针对的一些具有相当规模的市场。然而,在其
[家用电子]
脱机视频图象编/解码系统中高速DSP芯片应用方案
视频图象编/解码的目的一方面要将模拟视频信号转化为数字信号来传输,另一方面,由于单纯的视频模数转换所得到的图像数据量非常庞大,必须应用图象压缩技术减少数据量。在图象编/解码领域有两种实现方式,一种是基于微机平台的实现方式,图象数据通过微机软件或者是利用基于微机总线的图象处理卡进行压缩编码,并且可以通过PC网络进行数据传输。另一种方式抛开了微机平台,应用DSP为主的微处理器算法对图象进行压缩/解压缩的编/解码处理。后一种方式构成的系统被称为脱机图象系统。脱机图象系统由于设备体积小,应用灵活简便,受到广泛的关注。随着微处理技术的发展,专用的图象压缩/解压缩ASIC芯片涌现,图象处理算法已经集成于ASIC中,这就简化了脱机图象系统的
[嵌入式]
脱机视频图象编/解码系统中高速<font color='red'>DSP</font>芯片应用方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved