芯片初学者必备ARMDSPFPGAWord格式.docx

上传人:b****6 文档编号:21128106 上传时间:2023-01-27 格式:DOCX 页数:25 大小:319.32KB
下载 相关 举报
芯片初学者必备ARMDSPFPGAWord格式.docx_第1页
第1页 / 共25页
芯片初学者必备ARMDSPFPGAWord格式.docx_第2页
第2页 / 共25页
芯片初学者必备ARMDSPFPGAWord格式.docx_第3页
第3页 / 共25页
芯片初学者必备ARMDSPFPGAWord格式.docx_第4页
第4页 / 共25页
芯片初学者必备ARMDSPFPGAWord格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

芯片初学者必备ARMDSPFPGAWord格式.docx

《芯片初学者必备ARMDSPFPGAWord格式.docx》由会员分享,可在线阅读,更多相关《芯片初学者必备ARMDSPFPGAWord格式.docx(25页珍藏版)》请在冰豆网上搜索。

芯片初学者必备ARMDSPFPGAWord格式.docx

FPGA是英文FieldProgrammableGateArray(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。

它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。

作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。

FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。

通过软件仿真,我们可以事先验证设计的正确性。

在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。

使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

他们的区别是什么呢?

DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。

当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

DSP入门前的背景知识

数字信号处理(DigitalSignal 

Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。

 

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。

数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。

数字信号处理在理论上的发展推动了数字信号处理应用的发展。

反过来,数字信号处理的应用又促进了数字信号处理理论的提高。

而数字信号处理的实现则是理论和应用之间的桥梁。

数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。

例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。

近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。

可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

数字信号处理的实现方法一般有以下几种:

(1) 

在通用的计算机(如PC机)上用软件(如Fortran、C语言)实现;

(2) 

在通用计算机系统中加上专用的加速处理机实现;

(3) 

用通用的单片机(如MCS-51、96系列等)实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;

(4) 

用通用的可编程DSP芯片实现。

与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于 

复杂的数字信号处理算法;

(5) 

用专用的DSP芯片实现。

在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于 

FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。

在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于DSP算法的模拟;

第2种和第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;

第3种方法只适用于实现简单的DSP算法;

只有第4种方法才使数字信号处理的应用打开了新的局面。

虽然数字信号处理的理论发展迅速,但在20世纪80年代以前,由于实现方法的限制,数字信号处理的理论还得不到广泛的应用。

直到20世纪70年代末80年代初世界上第一片单片可编程DSP芯片的诞生,才将理论研究结果广泛应用到低成本的实际系统中,并且推动了新的理论和应用领域的发展。

可以毫不夸张地说,DSP芯片的诞生及发展对近20年来通信、计算机、控制等领域的技术发展起到十分重要的作用。

在DSP系统中,输入信号可以有各种各样的形式。

例如,它可以是麦克风输出的语音信号或是电话线来的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等。

输入信号首先进行带限滤波和抽样,然后进行A/D(Analog 

toDigital)变换将信号变换成数字比特流。

根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。

DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。

数字处理是DSP的关键,这与其他系统(如电话交换系统)有很大的不同,在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改。

因此虽然两者都是实时系统,但两者的实时约束条件却有很大的不同。

最后,经过处理后的数字样值再经D/A(Digital 

toAnalog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。

必须指出的是,上面给出的DSP系统模型是一个典型模型,但并不是所有的DSP系统都必须具有模型中的所有部件。

如语音识别系统在输出端并不是连续的波形,而是识别结果,如数字、文字等;

有些输入信号本身就是数字信号(如CDCompact 

Disk),因此就不必进行模数变换了。

数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点:

接口方便。

DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多;

编程方便。

DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级;

稳定性好。

DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高;

精度高。

16位数字系统可以达到10^(-5)的精度;

可重复性好。

模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产;

(6) 

集成方便。

DSP系统中的数字部件有高度的规范性,便于大规模集成。

当然,数字信号处理也存在一定的缺点。

例如,对于简单的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。

DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。

此外,D 

SP技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。

虽然DSP系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。

总的来说,DSP系统的设计还没有非常好的正规设计方法。

在设计 

DSP 

系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。

第二步是根据系统的要求进行高级语言的模拟。

一般来说,为了实现系统的最终目标,需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algorithm),因此这一步也称算法模拟阶段。

例如,语音压缩编码算法就是要在确定的压缩比条件下,获得最佳的合成语音。

算法模拟所用的输入数据是实际信号经采集而获得的,通常以计算机文件的形式存储为数据文件。

如语音压缩编码算法模拟时所用的语音信号就是实际采集而获得并存储为计算机文件形式的语音数据文件。

有些算法模拟时所用的输入数据并不一定要是实际采集的信号数据,只要能够验证算法的可行性,输入假设的数据也是可以的。

在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。

硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。

然后设计DSP芯片的外围电路及其他电路。

软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。

由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。

采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。

DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。

软件的调试一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。

调试DSP算法时一般采用比较实时结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。

应用系统的其他软件可以根据实际情况进行调试。

硬件调试一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工具进行调试。

系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。

当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。

如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。

DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。

(3)片内具有快速 

RAM,通常可通过独立的数据总线在两块中同时访问;

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

DSP芯片的发展

世界上第一个单片 

芯片应当是1978年 

AMI公司发布的 

S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。

这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。

1980年,日本 

NEC 

公司推出的μP 

D7720是第一个具有乘法器的商用 

芯片。

在这之后,最成功的DSP 

芯片当数美国德州仪器公司(Texas 

Instruments,简称TI)的一系列产品。

TI 

公司在1982年成功推出其第一代 

芯片 

TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代 

芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。

TI将常用的DSP芯片归纳为三大系列,即:

TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。

如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。

TI公司也成为世界上最大的 

芯片供应商,其DSP市场份额占全世界份额近 

50%。

第一个采用CMOS工艺生产浮点DSP芯片的是日本的 

Hitachi 

公司,它于1982年推出了浮点DSP芯片。

1983 

年 

日本Fujitsu 

公司推出的MB8764,其指令周期为 

120ns,且具有双内部总线,从而使处理吞吐量发生了一个大的飞跃。

而第一个高性能浮点DSP芯片应是 

AT&

公司于1984 

年推出的DSP32。

与其他公司相比,Motorola公司在推出 

芯片方面相对较晚。

1986年,该公司推出了定点处理器MC56001。

1990年,推出了与IEEE 

浮点格式兼容的浮点 

MC96002。

美国模拟器件公司(AnalogDevices,简称AD)在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有ADSP2101/2103/2105、ASDP2111/2115、ADSP2161/2162/2164以及ADSP2171/2181,浮点DSP芯片有ADSP21000/21020、ADSP21060/21062等。

自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。

从运算速度来看,MAC(一次乘法和一次加法)时间已经从20世纪80年代初的400ns(如TMS32010)降低到10ns以下(如TMS320C54X、TMS320C62X/67X等),处理能力提高了几十倍。

DSP芯片内部关键的乘法器部件从1980年的占模片区(diearea)的40%左右下降到5%以下,片内RAM数量增加一个数量级以上。

从制造工艺来看,1980年采用4μm

的 

N沟道MOS(NMOS)工艺,而现在则普遍采用亚微米(Micron)CMOS工艺。

DSP芯片的引脚数量从1980年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加,如外部存储器的扩展和处理器间的通信等。

此外,DSP芯片的发展使DSP系统的成本、体积、重量和功耗都有很大程度的下降。

表1.1 

是TI公司DSP芯片1982年、1992年、1999年的比较表。

表1.2则是世界上主要DSP芯片供应商的代表芯片的一些数据。

DSP芯片可以按照下列三种方式进行分类。

1.按基础特性分

这是根据DSP芯片的工作时钟和指令类型来分类的。

如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。

例如,日本OKI 

电气公司的DSP芯片、TI公司的TMS320C2XX系列芯片属于这一类。

如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。

例如,美国TI公司的TMS320C54X就属于这一类。

2.按数据格式分

这是根据DSP芯片工作的数据格式来分类的。

数据以定点格式工作的DSP芯片称为定点DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&

T公司的DSP16/16A,Motolora公司的MC56000等。

以浮点格式工作的称为浮点DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&

T公司的DSP32/32C,Motolora公司的MC96002等。

不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。

3.按用途分

按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。

通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。

专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。

本书主要讨论通用型DSP芯片。

DSP芯片的选择设计DSP应用系统,选择DSP芯片是非常重要的一个环节。

只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。

总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。

不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。

一般来说,选择DSP芯片时应考虑到如下诸多因素。

1.DSP芯片的运算速度。

运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。

DSP芯片的运算速度可以用以下几种性能指标来衡量:

指令周期:

即执行一条指令所需的时间,通常以ns(纳秒)为单位。

如TMS320LC549-80在主频为80MHz时的指令周期为12.5ns;

MAC时间:

即一次乘法加上一次加法的时间。

大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns;

FFT执行时间:

即运行一个N点FFT程序所需的时间。

由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标;

MIPS:

即每秒执行百万条指令。

如TMS320LC549-80的处理能力为80 

MIPS,即每秒可执行八千万条指令;

(5)MOPS:

即每秒执行百万次操作。

如TMS320C40的运算能力为275 

MOPS;

MFLOPS:

即每秒执行百万次浮点操作。

如TMS320C31在主频为40MHz时的处理能力为40 

MFLOPS;

(7)BOPS:

即每秒执行十亿次操作。

如TMS320C80的处理能力为2 

BOPS。

2.DSP芯片的价格。

DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。

如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产品。

因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。

当然,由于DSP芯片发展迅速,DSP芯片的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。

3.DSP芯片的硬件资源。

不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。

即使是同一系列的DSP芯片(如TI的TMS320C54X系列),系列中不同DSP芯片也具有不同的内部硬件资源,可以适应不同的需要。

4.DSP芯片的运算精度。

一般的定点DSP芯片的字长为16位,如TMS320系列。

但有的公司的定点芯片为24位,如Motorola公司的MC56001等。

浮点芯片的字长一般为32位,累加器为40位。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1