DSPfpga slicee是指FPGA里面的硬件乘法器吗

FPGA与DSP相比较,各有什么特点?从长远看来,哪个更有前途?
[问题点数:100分]
FPGA与DSP相比较,各有什么特点?从长远看来,哪个更有前途?
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。测·控领域专业互动媒体平台
推动测试测量,检测诊断,传感物联,遥测自控智能化发展
当前位置: &
基于FPGA的高速数据处理系统设计
[导读] 本系统利用系统内特有的硬件结构XtremeDSP Slice实现高效高速的数据处理,同时在ISE软件中XtremeDSP Slice以IP核形式使用,无需自己构造乘法器和加法器,既节省了大量FPGA资源又大大减少开发难度。
  0 引言
  随着光纤传感技术的发展,光纤已成功应用于周界入侵探测等安全防范领域。目前,已经应用于光纤微扰动传感器或相似系统的方案比较多,有DSP、、+DSP、LabVIEW等多种方案。但是目前的解决方案大多是对信号进行前期处理,实现PGC解调或者是滤波等功能,仅仅对实验方案进行验证,扰动判别和定位等工作需要上传到PC机上进行。
  然而,PC机不是专用的器,与专用器相比,PC机体积大、功耗大、处理速度慢。而且在通常的实时信号处理中,专业处理芯片外围电路比较少,一般来说一块电路板就可以完成所需功能,功耗大大减少,而且相比PC机庞大的体积,可以使系统更紧凑,节约空间。由于其高度的并行和灵活的配置特性,以高速、实时、低成本、高灵活性的优点应用于数字信号处理领域。本文叙述了采用
  实现光纤微扰动传感器的的具体方案,提供了一种高速实时方法。本系统的主要工作是通过基于的系统,实现、数据存储、LCD显示、USB数据传输和,完成光纤微扰动传感的扰动识别和定位功能。
  1 系统结构和硬件设计
  1.1 系统结构
  光纤微扰动传感器采用马赫-泽德/马赫-泽德(M-Z/M-Z)混合干涉仪方案作为传感方案。而马赫-泽德/马赫-泽德混合干涉仪方案是通过测量两路光信号到达测量端的时间差来确定扰动位置的一种方案。根据传感方案的特点,本系统应该先将所得的光信号转换为数字化信号,然后再对信号进行处理,所以根据系统的特点,系统结构图如图1所示。
  从结构框图中可以看出系统由以核心,光电转换、模数转换、LCD显示、数据存储和USB通信等外围功能模块构造而成。由于光纤微扰动传感器的传感采用的是光纤,所以首先需要将信号经过光电转换和A/D转换,将信号转换为适于处理的数字信号。然后,在FP-GA中进行,判断接收信号是否是入侵行为。如果存在入侵行为,则同时将采集到的信号存入存储器,并在LCD上显示入侵位置;如果没有入侵行为,则在LED上显示正常,采集到的数据释放。USB通信模块只在系统和PC机相连的时候,将存储器中数据上传到PC机中。
  1.2 系统硬件设计
  马赫-泽德/马赫-泽德混合干涉仪方案将扰动位置求解问题就转化为测量两路信号到达测量端的时间差,因此求扰动点的位置的问题转换为求两路信号的时间延迟估计问题。对于时间延迟估计问题,目前大多采用相关检测方法计算。系统采用相关检测算法,需要进行大量互相关计算。互相关计算的具体实现是由大量的乘法和加法组成的,所以对速度要求很高。计算量很大,不过比较适合并行计算。系统的部分采用的是XC4VSX25,Virtex-4 SX系列是Virtex-4平台中专门为了高性能数字信号处理(DSP)应用解决方案而设计的。XC4-VSX25中含有128个XtremeDSPSlice,而每个XtremeDSPTMSlice包含1个18&18位带补数功能的有符号乘法器、加法器逻辑和1个48位累加器。每个乘法器或累加器都能独立使用。
  XC4VSX25中含有多个XtremeDSP Slice,而且中的XtremeDSP Slice可通过IP核的形式方便地调用。同时XtremeDSP Slice中每个乘法器或累加器都能独立使用,在XC4VSX25中可方便地将乘法器和累加器组合,构成所需要的结构,所以采用XC4VSX25为系统的器。
  光电转换部分采用PINFET,是目前比较通用的光电转换器件。模数转换模块采用的是12位双通道差分输入SAR型AD7356,结构简单实用。大容量存储模块采用SUMSUNG公司具有200 &s的页写速度的1 GB容量K9K8G08UOM型Flash,可以满足系统的实时性,并能够存储较长时间的扰动信号。LCD模块采用的是3.3 V单电源供电的320x240大屏幕点阵液晶ZXM,有足够的空间将多路的情况同时显示在屏幕上,而且由于系统选用的管脚电压为3.3V,可以避免电平转换,电路简洁。USB通信模块采用的是集成了8051单片机的CY7C68013A型USB。
  其中A/D转换部分由于系统要求16路.每路12位1~5 M采样速率,并且由于系统的扰动定位算法采用相关检测法,是对时间延迟进行检测,因此需要在A/D转换的过程尽量减小因为转换而带来的时间延迟误差。选用12位双通道差分输入SAR型AD7356,该A/D为双通道型,所以两路信号的转换是同时进行,减小了因转换带来的时间延迟。而且AD7356的采样频率由输入时钟信号决定,因此可以很方便的改变系统的采样频率,满足系统1~5 M的采样速率要求。
  另外,比较各A/D转换器的复杂程度发现多通道(4路或以上)A/D由于其设计的多功能性,导致结构复杂,使用比较繁琐,而AD7356采用16引脚的TSSOP封装,外围电路简单。另外该A/D采用单2.5 V供电,可与共用电源,使系统的供电系统简洁。而高速A/D转换器的输入是差分式,如图2所示,使用AD8138单端至差分转换驱动AD7357的差分输入。
  系统中有模拟地和数字地之分,同时A/D转换器由于其特殊性,处于模拟地和数字地之间,所以对于AD7357的管脚连接应注意。AD7357的REFA和REFB管脚需要通过10&F的退耦电容连接到REFGND管脚,而REFGND管脚则需要连接到AGND管脚。而A/D转换器要求AGND和DGND之间
  的电平相差不能超过0.3 V,所以需要将AGND和DGND连接起来。为了避免模拟电路和数字电路之间的干扰,一般情况需要对地分割,但是本系统有多个A/D转换器,所以使用统一地,通过对器件合理摆放来减小模拟和数字电路间的干扰。
  2.1 结构
  本系统的结构如图3所示,首先是采集一定长度的信号存储到双口RAM中,然后经过扰动识别决定是否需要进行扰动定位计算。由于扰动识别和定位计算需要将采集到的数据保存到完毕,所以中的双口RAM要有足够的空间,在的同时继续存储采集到的数据。而在工作时,由于采用了高速的AD7356,最高采样速率可以达到5 M/s,所以要求扰动识别和定位计算速度足够快。
  扰动识别部分由于采用的是平方后积分并与阈值比较的模式,属于顺序计算,耗时不多,耗时的主要部分是扰动定位计算。扰动定位计算采用的是相关计算,其所消耗的时间在计算速度固定时,由数据长度L和相关长度(移位次数)n决定。进行一次相关计算的计算量为Ln次乘法和(L-1)n次加法。
  在方面,当资源成本为主要制约时,根据速度要求,采用串行结构实现或DA结构实现;当速度成为主要制约时,则根据资源成本因素,采用并行结构实现或DA结构实现。而DA结构主要是通过对资源合理的利用来减小资源的空闲时间,从而提高系统的速度。但是对于本系统,在计算过程中各资源几乎是在全速运行,DA结构并不能提高系统的速度,所以需通过并行结构(图4)来提高系统运行速度。通过图4可以看出,如果采用串行结构,整个相关计算由1个XtremeDSP Slice(或者1个单核处理器)完成,每完成一次互相关运算,整个数据段移位一次,共移位n次。因此为了及时处理采集到的数据,串行结构的计算速度至少是采集速度的n倍(根据传感长度不同,n最大可达2 500)。而AD7356最高采样速率可以达到5 M/s,因此计算速度过快,单个XtremeDSP Slice不可能完成。而如果采用s个XtremeDSP Slice并行结构,则一次互相关计算相当于串行结构时的s次互相关计算,而本来需要移位n次完成的计算,现在只需要m(图4中变量m=n/s)次移位,每次移位s,即可完成。因此,每个XtremeDSP Slice的计算速度为采集速度的m倍,可以有效减少对计算速度的要求。
  2.2 仿真实验结果
  为了比较串行结构和并行结构的计算速度,在Xilinx 7.1ISE平台中(Virtex-4器件的最低版本要求),选用Virtex-4系列的XC4VSX25器件,用Verilog HDL语言设计串行结构和并行结构,并在ModelSim中对两种结构进行仿真比较。由于仿真时间长度的限制,采用5位128长度的三角波模拟采集到数据,并将XtremeDSP? Slice的计算速率设定在250 M/s,仿真波形结果如图5所示。
  从图5中可看出,采用串行结构,计算耗时约为15.8 ms,而采用4个XtremeDSP Slice的并行计算结构,计算耗时约为4.2 ms。从仿真结果的比较可知,串行结构耗时约为并行结构的4倍。因此,在本系统中并型结构的计算速度是正比于并行度的,这与理论上并行计算可以成倍减少计算时间的分析一致。
  3 结束语
  通过以XC4VSX25为核心的系统,实现、数据存储、LCD显示、USB数据传输和,完成光纤微扰动传感的扰动识别和定位功能,具有高速、实时、低成本、高灵活性的优点。本系统利用系统内特有的硬件结构XtremeDSP Slice实现高效高速的,同时在ISE软件中XtremeDSP Slice以IP核形式使用,无需自己构造乘法器和加法器,既节省了大量资源又大大减少开发难度。通过仿真比较可以看出,本系统中并型结构的计算速度是正比于并行度的,因此可以通过提高并行度来提高系统的计算速度,满足高速实时的要求。
[整理编辑:中国测控网]
&&[12]&&&&[22]&&&&[2]&&&&[2]
FPGA相关论文
数据处理相关论文
版权与免责声明:
①凡本网注明"来源:中国测控网"的所有作品,版权均属于中国测控网,转载请必须注明中国测控网 。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
还没有 数据处理 相关的测控名词的解释您可以点击
第七届中国卫星导航学术年会(China Satellite Navigation Conference, CSNC 2016)是一个开放的学术交流平台。旨在加强学术创新,
通常来说,状态监测系统由测量仪器、分析软件、状态监测用户、技术解决方案等组成。使用状态监测系统,可通过长期监测诸如机器振动
34%的网友读了:
电网的谐波滤波对于维护电网的供电质量意义重大,特别对于关键供电设备受谐波影响很大,更需要高质量的
51%的网友读了:
在雷达信号处理、数字图像处理等领域中,信号处理的实时性至关重要。由于FPGA芯片在大数据量的底层算法
注册成为中国测控网会员
可以无需任何费用浏览专业技术文章
&&[12]&&&&[22]&&&&[2]&&&&[2]
京公网安备:09号
Copyright (C)
All Rights Reserved 版权所有打开微信扫一扫
孔网客户端
安卓版苹果版扫描下载
DSP48E1不只是乘法器
基于FPGA的数字信号处理(第2版)
开&&&&&&本:
页&&&&&&数:
字&&&&&&数:
I&&S&&B&&N:
售&&&&&&价:290.00元
品&&&&&&相:
运&&&&&&费:卖家承担运费
上书时间:
购买数量:
(库存14件)
商品分类:
关 键 字:
详细描述:
最新独家系列技术全套资料:正版书籍(1本)+独家内部资料(2张)+包邮费=290元&&&货到付款详情请咨询客服人员&&客服热线:010-(客服一线)010-(客服二线)&值班手机:&&QQ:全国大中型400多个城市可以货到付款!您收到时请将货款直接给送货人员,让您买的放心。本套资料几乎涵盖了市面上全部最新资料(1)《基于FPGA的数字信号处理(第2版)》正版图书(2)《各种FPGA数字信号处理技术内部资料汇编》正版光盘(2张),有2000多页内容,独家资料详细目录如下:(1)《基于FPGA的数字信号处理(第2版)》正版图书 本书围绕Xilinx新一代28nm工艺芯片7系列FPGA,结合Xilinx新一代开发工具Vivado以及针对算法开发的Vivado&HLS和System&Generator,讲解了数字信号处理中的经典算法在FPGA上的实现方法。第2版保持了第1版的主题——如何将理论算法转化为工程实现,新增了算法的Matlab代码描述;增加了部分算法的System&Generator模型。&讲解了FPGA实现时的一些细节问题如复位、跨时钟域设计等。第1章现场可编程门阵列技术分析1.1FPGA内部结构分析1.1.1FPGA在大规模集成电路中的定位1.1.2传统的FPGA内部结构分析1.1.3SoCFPGA内部结构分析1.2FPGA设计流程分析1.2.1传统的FPGA设计流程1.2.2SoCFPGA设计流程1.3FPGA调试方法分析1.3.1ILA使用方法1.3.2VIO使用方法参考文献第章跨越鸿沟:从算法到硬件实现2.1数字信号处理系统架构分析2.2数字信号处理系统设计方法2.2.1传统的RTL设计方法2.2.2基于模型的设计方法2.2.3高层次综合设计方法2.2.4三种设计方法的融合2.3FPGA设计性能描述指标2.4FPGA设计中的数据格式2.4.1浮点数基础知识2.4.2定点数基础知识2.4.3浮点数与定点数的比较2.4.4浮点数到定点数的转换2.5Xilinx开发工具对浮点数与定点数的支持2.5.1SystemGenerator对浮点数与定点数的支持2.5.2VivadoHLS对浮点数与定点数的支持参考文献第3章数字信号处理中的基本运算3.1加法运算3.1.1一位全加器3.1.2二进制加法原理3.1.3复数加法3.1.4加法树与加法链3.2累加运算3.2.1累加原理3.2.2顺序累加器3.2.3滑动累加器3.3乘法运算3.3.1二进制乘法原理3.3.2基于移位相加的乘法器3.3.3基于ROM的乘法器3.3.4与固定数相乘的乘法器(KCM)3.3.5复数乘法3.4除法运算3.4.1基于恢复余数(Restoring)算法的除法器3.4.2基于不恢复余数(Non-Restoring)算法的除法器3.4.3基于级数展开算法的除法器3.4.4基于Newton-Raphson算法的除法器3.5开方运算3.5.1基于不恢复余数算法的开方运算3.5.2基于非线性IIR滤波器算法的开方运算3.5.3复数求模3.6CORDIC算法3.6.1CORDIC算法之圆周系统及其数学应用3.6.2CORDIC算法之线性系统及其数学应用3.6.3CORDIC算法之双曲系统及其数学应用3.6.4统一的CORDIC算法形式3.6.5CORDIC算法的硬件实现参考文献第4章FIR数字滤波器4.1FIR滤波器基本理论4.1.1直接型结构的FIR滤波器4.1.2转置型结构的FIR滤波器4.1.3线性相位FIR滤波器4.2串行FIR滤波器4.2.1基于移位寄存器的串行FIR滤波器4.2.2基于双端口RAM的串行FIR滤波器4.2.3系数对称的串行FIR滤波器的设计4.2.4两种串行结构的FIR滤波器性能比较4.3全并行FIR滤波器4.3.1基于直接型结构的全并行FIR滤波器4.3.2基于转置型结构的全并行FIR滤波器4.3.3基于脉动结构的全并行FIR滤波器4.3.4系数对称的全并行FIR滤波器的设计4.3.5三种全并行结构的FIR滤波器性能比较4.4半并行FIR滤波器4.4.1基于移位寄存器的半并行FIR滤波器4.4.2基于多片双端口RAM的半并行FIR滤波器4.4.3基于单片单端口RAM的半并行FIR滤波器4.4.4系数对称的半并行FIR滤波器的设计4.4.5三种半并行结构的FIR滤波器性能比较4.5分布式FIR滤波器4.5.1分布式算法原理4.5.2串行分布式FIR滤波器4.5.3全并行分布式FIR滤波器4.5.4半并行分布式FIR滤波器4.5.5三种分布式FIR滤波器性能比较4.6快速卷积型FIR滤波器4.6.1线性卷积的计算方法及运算量分析4.6.2圆周卷积的计算方法及运算量分析4.6.3从线性卷积到FFT的跨越4.6.4计算长数据序列线性卷积的两种算法4.6.5应用重叠保留法实现高阶FIR滤波器4.7多通道FIR滤波器4.8多频响FIR滤波器4.9总体性能分析参考文献第5章直接数字频率合成5.1基于IIR滤波器的DDS5.2基于LUT的DDS5.2.1常规型基于LUT的DDS5.2.2通过LFSR改善SFDR5.2.3通过Taylor级数改善SFDR5.2.4利用对称性压缩存储波形5.3基于双模互质算法的DDS5.3.1双模互质算法的基本原理5.3.2双模互质算法的硬件实现5.4基于CORDIC算法的DDS5.5多通道DDS5.6多路并行DDS5.7产生其他波形参考文献第6章多速率信号处理6.1抽取和抽取滤波器6.2插值和插值滤波器6.3分数速率的转换6.4六个恒等式及其典型应用6.5多相滤波器6.5.1多相抽取滤波器的基本理论6.5.2多相抽取滤波器的硬件实现6.5.3多相插值滤波器的基本理论6.5.4多相插值滤波器的硬件实现6.6CIC滤波器6.6.1CIC滤波器基本理论6.6.2CIC滤波器的位增长问题6.6.3CIC滤波器应用于抽取系统中6.6.4CIC滤波器应用于插值系统中6.7半带滤波器6.7.1半带滤波器的基本理论6.7.2半带滤波器应用于抽取系统中6.7.3半带滤波器应用于插值系统中参考文献第7章快速傅里叶变换7.1从DFT到FFT7.2基2FFT处理器7.2.1基2FFT算法原理7.2.2基2FFT算法特征分析7.2.3基2原位运算FFT处理器7.2.4基2SDF流水结构FFT处理器7.2.5基2MDC流水结构FFT处理器7.3基4FFT处理器7.3.1基4FFT算法原理7.3.2基4FFT算法特征分析7.3.3基4SDF流水结构FFT处理器7.3.4基4MDC流水结构FFT处理器7.3.5基4SDC流水结构FFT处理器7.4几种流水结构FFT处理器的比较7.5IFFT与FFT的关系参考文献第8章一些细节问题8.1LUT不只是逻辑函数发生器8.2合理使用触发器8.2.1避免过多控制集8.2.2避免使用锁存器8.3BlockRAM不只是数据存储8.3.1BlockRAM配置方式8.3.2BlockRAM应用案例8.4DSP48E1不只是乘法器8.4.1DSP48E1基本结构8.4.2DSP48E1应用案例8.5关于复位8.6跨时钟域的设计8.6.1同步时钟的跨时钟域设计8.6.2异步时钟的跨时钟域设计参考文献后记(2)&《各种FPGA数字信号处理技术内部资料汇编》正版光盘(2张),有2000多页内容,独家资料第1章&集成电路技术与数字信号处理1.1&数字信号处理基本原理1.2&FPGA技术1.3&数字信号处理的应用1.4&数字信号处理的发展趋势1.5&基于FPGA设计基本要点1.6&从算法到硬件:一个设计例子1.7&一个电路多样性例子1.8&本书的特色与重点1.9&本书结构1.10&对课堂教学的建议1.11&本章小结1.12&练习1.13&参考文献第2章&Virtex-Ⅱ&Pro&FPGA资源与设计工具2.1&FPGA的基本资源2.2&FPGA的设计流程2.3&Xilinx&FPGA的设计流程2.4&Xilinx&FPGA设计工具软件与安装2.5&本章小结2.6&与System&Generator兼容的ISE和MATLAB版本信息2.7&参考文献第3章&基本算术运算电路3.1&加法器设计与实现3.2&符号数加法3.3&溢出与饱和3.4&乘法器设计3.5&乘法器在Slice上的实现3.6&符号数乘法3.7&除法器设计3.8&开平方根电路的设计3.9&本章小结3.10&练习3.11&参考文献第4章&采样与量化4.1&Fourier级数与Fourier变换4.2&采样数学模型4.3&采样定理4.4&混叠4.5&下采样与上采样4.6&采样与电路实现4.7&量化4.8&本章小结4.9&练习4.10&参考文献第5章&低成本低功耗滤波器设计5.1&CIC滤波器5.2&CIC位宽分析5.3&CIC电路实现5.4&本章小结5.5&练习5.6&参考文献第6章&CORDIC原理与实现6.1&CORDIC基本原理6.2&CORDIC的收敛性6.3&双曲CORDIC6.4&CORDIC电路实现6.5&本章小结6.6&练习6.7&参考文献第7章&FFT算法与电路实现7.1&基2FFT算法推导7.2&基2FFT蝶形计算电路7.3&基4FFT算法推导7.4&FFT电路结构设计7.5&本章小结7.6&练习7.7&参考文献第8章&自适应滤波器设计8.1&最小二乘问题8.2&最小二乘问题迭代算法8.3&自适应滤波算法8.4&自适应滤波器电路设计8.5&QR分解与电路实现8.6&本章小结8.7&练习8.8&参考文献第9章&数据流图与时序分析9.1&数据流图9.2&数据流图时序分析9.3&时序重整9.4&节点时序重整9.5&最短路径算法9.6&本章小结9.7&Karp定理证明9.8&练习9.9&参考文献第10章&设计案例10.1&用4个乘法器实现10抽头FIR滤波器10.2&8位除法器设计与实现10.3&8位开平方根电路的设计与实现10.4&本章小结附录&实验指导书实验前言参考文献实验一&Xilinx&Virtex-Ⅱ&Pro实验板与设计软件A1.1&实验简介A1.2&实验目的A1.3&实验任务A1.4&实验报告写作要求A1.5&实验步骤A1.6&参考文献实验二&基本算术电路的FPGA实现A2.1&实验简介A2.2&实验目的A2.3&实验任务A2.4&实验报告写作要求A2.5&实验步骤A2.6&练习A2.7&参考文献实验三&FIR滤波器设计A3.1&实验简介A3.2&实验目的A3.3&实验任务A3.4&实验报告写作要求A3.5&实验步骤A3.6&参考文献实验四&数控振荡器设计与降频转换A4.1&实验简介A4.2&实验目的A4.3&实验任务A4.4&实验报告写作要求A4.5&实验步骤A4.6&参考文献实验五&CIC滤波器设计与应用A5.1&实验简介A5.2&实验目的A5.3&实验任务A5.4&实验报告写作要求A5.5&实验步骤A5.6&参考文献实验六&CORDIC计算向量长度A6.1&实验简介A6.2&实验目的A6.3&实验任务A6.4&实验报告写作要求A6.5&实验步骤A6.6&练习A6.7&参考文献
Copyright(C)
孔夫子旧书网
京ICP证041501号
海淀分局备案编号
购物车共有0件商品,合计:0.00元
商品已成功添加到收藏夹!ARM,FPGA,DSP的特点和区别是什么
标题:ARM,FPGA,DSP的特点和区别是什么
ARM,FPGA,DSP的特点和区别是什么
&&&&& (digital singnalprocessor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数 字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外 部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使和数据分别存储在两个分开的 空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其 他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器, 是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用 软件编程具有高度7的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与痛用微处理器相比,DSP芯片的其他通用功能相对较弱些。
&&&&&&ARM(Advanced RISCMachines /microprocessor)是微处理器行业的一家知名企业,设计了大量、廉价、耗能低的RISC处理器、相关及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。
&&&&& 是英文Field Programmable&Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基 础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个 新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(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入门前的背景知识
&&& 数字信号处理(Digital Signal&Processing,简称)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。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系统都必须具有模型中的所有部件。如语音识别系统在输出端并不是连续的波形,而是识别结果,如数字、文字等;有些输入信号本身就是数字信号(如CD Compact&Disk),因此就不必进行模数变换了。
&&&&数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点:
(1)&接口方便。DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多;
(2)&编程方便。DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级;
(3)&稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高;
(4)&精度高。16位数字系统可以达到10^(-5)的精度;
(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芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速&RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
&&&当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
&&&DSP芯片的发展
&&&世界上第一个单片&DSP&芯片应当是1978年&AMI公司发布的&S年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。1980年,日本&NEC&公司推出的μP&D7720是第一个具有乘法器的商用&DSP&芯片。
&&&在这之后,最成功的DSP&芯片当数美国德州仪器公司(Texas&Instruments,简称TI)的一系列产品。TI&公司在1982年成功推出其第一代&DSP&芯片&TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代&DSP&芯片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&芯片供应商,其DSP市场份额占全世界份额近&50%。
第一个采用CMOS工艺生产浮点DSP芯片的是日本的&Hitachi&公司,它于1982年推出了浮点DSP芯片。1983&年&日本Fujitsu&公司推出的MB8764,其指令周期为&120ns,且具有双内部总线,从而使处理吞吐量发生了一个大的飞跃。而第一个高性能浮点DSP芯片应是&AT&T&公司于1984&年推出的DSP32。
&&与其他公司相比,Motorola公司在推出&DSP&芯片方面相对较晚。1986年,该公司推出了定点处理器MC5年,推出了与IEEE&浮点格式兼容的浮点&DSP&芯片&MC96002。
&&美国模拟器件公司(AnalogDevices,简称AD)在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有ADSP05、ASDP、ADSP64以及ADSP,浮点DSP芯片有ADSP、ADSP等。自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芯片的运算速度可以用以下几种性能指标来衡量:
(1)&指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。如TMS320LC549-80在主频为80MHz时的指令周期为12.5ns;
(2)&MAC时间:即一次乘法加上一次加法的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns;
(3)&FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标;
(4)&MIPS:即每秒执行百万条指令。如TMS320LC549-80的处理能力为80&MIPS,即每秒可执行八千万条指令;
(5)MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275&MOPS;
(6)&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位。
&&5.DSP芯片的开发工具。
&&在DSP系统的开发过程中,开发工具是必不可少的。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工具的支持,如C语言支持,则开发的时间就会大大缩短。所以,在选择DSP芯片的同时必须注意其开发工具的支持情况,包括软件和硬件的开发工具。
&&6.DSP芯片的功耗。
&&在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。
&&&&&&&7.其他。
&&&&除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况、生命周期等。有的DSP芯片可能有DIP、PGA、PLCC、PQFP等多种封装形式。有些DSP系统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的芯片是否有工业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何,是否也有同样甚至更长的生命周期等。
在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较大。例如TI的TMS320C2XX/C54X系列属于定点DSP芯片,低功耗和低成本是其主要的特点。而TMS320C3X/C4X/C67X属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期短,但同时其价格和功耗也相对较高。
&&&DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力达不到系统要求,则必须用多个DSP芯片并行处理。那么如何确定DSP系统的运算量以选择DSP芯片呢?下面我们来考虑两种情况。
1.按样点处理
&&&&所谓按样点处理就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况。在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256&抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256×3=768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125ms,DSP芯片的MAC周期为200ns,则768个MAC周期需要153.6ms的时间,显然无法实时处理,需要选用速度更高的DSP芯片。表1.3示出了两种信号带宽对三种&DSP&芯片的处理要求,三种DSP芯片的MAC周期分别为200ns、50ns和25ns。从表中可以看出,对话带的应用,后两种DSP芯片可以实时实现,对声频应用,只有第三种DSP芯片能够实时处理。当然,在这个例子中,没有考虑其他的运算量。
2.按帧处理&&&有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。例如,中低速语音编码算法通常以10ms或20ms为一帧,每隔10ms或20ms语音编码算法循环一次。所以,选择DSP芯片时应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为&p(ns),一帧的时间为Dt
(ns),则该DSP芯片在一帧内所能提供的最大运算量为&Dt/p条指令。例如TMS320LC549-80的指令周期为12.5ns,设帧长为20ms,则一帧内TMS320LC549-80所能提供的最大运算量为160万条指令。因此,只要语音编码算法的运算量不超过160万条指令,就可以在TMS320LC549-80上实时运行。
&&DSP芯片的应用
&&自从20世纪70年代末80年代初DSP芯片诞生以来,DSP芯片得到了飞速的发展。DSP芯片的高速发展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。在近20年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的应用主要有:
(1)&信号处理——如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;
(2)&通信——如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可视电话等;
(3)&语音——如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等;
(4)&图形/图像——如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;
(5)&军事——如保密通信、雷达处理、声纳处理、导航、导弹制导等;
(6)&仪器仪表——如频谱分析、函数发生、锁相环、地震处理等;
(7)&自动控制——如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等;
(8)&医疗——如助听、超声设备、诊断工具、病人监护等;
(9)&家用电器——如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。
&&&随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广泛的应用。
基于DSP的纸币号码识别系统
14:43&|&&作者: 来源:21IC中国电子网 | 沈阳工业大&|&&
近年来,钱币、特别是纸币被抢劫事件不断发生,严重影响了社会治安,也使银行在经济上受到了严重的损失。如果被抢劫的钱币不能在市场上流通,将从一个方面抑制银行抢劫事件的发生。其中一种解决方案是记录每一捆纸币的号码,将被抢劫的纸币号码建立一个数据库。在货币流通市场提供一种纸币号码自动识别装置,比如说与点钞机结合,将货币号码识别数据与被抢劫号码数据库比较,一旦有相同号码出现,便可确认目前流通的钱币为被抢劫的钱币,从而限制其流通,同时也有利于抢劫案件的侦破。另外,由于纸币号码的唯一性,通过识别纸币上的号码,可以帮助识别假币。国外有一种验钞打号机,可以对典型的纸币,比如美元、英镑等进行自动识别和号码打印,这种装置的典型识别速度为1张/秒。不过还没有点钞机附带号码自动识别装置的文献报道。
近些年,国内也有一些单位研制开发纸币号码自动识别装置,例如南京航空航天大学开发了一种基于单片机的纸币号码识别系统[3],利用线阵CCD实现纸币图象的采集,利用单片机实现号码的定位与识别。其主要问题是难以提高号码的识别速度。哈尔滨工业大学开发了一种基于DSP的纸币号码识别系统[4],其识别速度为8张/秒,但该速度为在PC机上的仿真结果,实际样机没有实现。此外,该系统采用CIS(即接触式线型图象传感器)获得纸币图像信号,存在传感器磨损问题。
针对以上情况,本文给出一种基于DSP的纸币号码识别系统,利用面阵CCD摄象机采集纸币号码图象,即每秒采集25幅图象,而目前的点钞机点钞速度为每秒十几张左右,从而可以实现与点钞机的配合使用。该系统由以下几个部分组成:(1)利用Philip公司专业视频解码器SAA7113实现纸币号码图像的数字化;(2)利用TI公司的数字信号处理器TMS320VC5410实现数字纸币号码图像的采集和处理;(3)利用TI公司的异步串行接口芯片TL16C550完成整个系统与PC机之间的通信。
2 硬件设计原理
基于DSP的纸币号码识别系统的工作原理:从面阵CCD摄像头摄取的纸币模拟视频图像,经专业视频解码器转换为数字图像。数字视频信号经图像缓存FIFO存入DSP的数据空间,作为后续图像识别的数据来源。视频解码器同时分离出行场同步信号和象素时钟参考信号,作为图像缓存模块的控制信号。为了保存和记录号码,经识别后的纸币号码数据存储在快速闪烁存储器FLASH中,或根据需要通过异步串口传送给PC机。复杂可编程逻辑器件CPLD在整个系统中起到全局逻辑控制和对采集的纸币图像实现开窗处理的作用。系统的总体结构框图如图1所示。
3 图像采集模块
3.1视频解码芯片SAA7113在系统中的应用
SAA7113是一种高集成度并且支持隔行扫描、多种数据输出格式的视频解码器,内置的I2C界面提供了简单的对芯片内部电路的控制功能。对SAA7113的控制主要包括对输入模拟信号的预处理、色度和亮度的控制,输出数据格式及输出图象同步信号的选择控制等。
在整个系统中对图象的识别处理主要是针对灰度图像进行的,在SAA7113所提供的多种数据输出格式中,RAW格式在8位输出管脚上直接输出与象素时钟相对应的象素灰度值,此种数据格式与其它格式相比对灰度图像的采集将更直接。
SAA7113的输出RTS0和RTS1是多功能复用管脚,通过对子地址寄存器SA12写入不同的控制字,可将两输出管脚配置为行同步、帧同步、奇偶场同步等不同的信号。在本系统中将RTS0设置为行同步信号,RTS1设置为场同步信号,同时SAA7113还输出象素时钟的同步参考信号LLC。
& DSP在变电站综合自动化系统中的应用
 变电站综合自动化系统是将变电站的二次设备经过功能组合和优化设计,综合利用先进的多种学科技术,集成于一体的自动化系统[2][4]。从系统的结构看,全分散式的设计思想越来越显现出优越性。由于变电站的数据量和信息量大,实时性要求高,则将高性能DSP应用于变电站综合自动化的设计方案中。其内部哈佛结构使数据空间和程序空间分离,独立的总线和程序总线允许程序数据同时操作;具有独特的逆寻址方式,能高效的进行快速傅立叶变换运算降低了软件的编写困难;采用内存映射方式管理I/O,能灵活方便的扩充外围电路。
  1 系统的整体结构设计
  采用TI 2000系列的TMS320F2812芯片为核心处理器,整体采用全分散式结构,集监测、保护、控制、远动等为一体的综合系统。系统整体结构如图1所示:
  主要保护和测控单元有:(1)线路保护和测控单元;(2)主变差动和测控单元;(3)主变后备保护和测控单元;(4)电容保护和测控单元;(5)备用电源自投和测控单元;(6)电动机保护和测控单元;(7)PT保护和测控单元;(8)中央信号单元;各个保护和测控单元分散安装在监控室或一次设备附近,便于安装,维护管理。监控主机发命令给各个单元和远方调度集控中心,进行实时数据传输和信息交换。
  2 各单元硬件电路设计
  本系统各个保护和测控单元的硬件结构相似,分模拟量输入,核心处理器,开关量输入、输出,人机接口,通讯和电源模块六大部分。系统的硬件结构如图2所示:
  2.1模拟量输入
  模拟量有线路电压、电流,及其频率,变压器油温、变电站室温等等。电力系统的电压电流信号不能直接送到A/D器件的输入端转换,而要先经PT,C T(密互感器CT05)将电压电流降低,再经精密互感器(TV)和信号调理电路(OP07,C1,R3,R4,R5),电位提升(R6,R7),限幅作用(D3,D4),限制进入DSP的电压范围在0~3V。线路电流采集电路如图3所示:
图3 模数转换前置电路
  2.2 核心处理器[3]和电源模块
  CPU选用TI公司TMS320F2812 DSP芯片,最高频率可达150MHz。通过软件
编程可对实时采集的数字信号在短时间内进行快速傅立叶变换,即可直接提取出所需要的各次谐波进行计算和继电保护,软件和硬件的设计难度大大降低;在结构上,内部集成了丰富的外设,自带两组8选1 的12位A/D输入端口,可实现并发和级联采样两种模式,已很好的满足实用需要,可实现真正的同步采样,提高了采样点的实时同步性;可支持eCAN(enhance
Controller Area Network),RS232,RS485,LONWORKS,以太网,光缆,无线等等多种形式的通信。指令系统采用流水线操作,减小了指令周期到6.67ns,大大提高了计算速度和实时性;采用内存映射方式管理I/O,能灵活方便的扩充外围电路。在性能上,具有八级流水线,完全可以避免从同一地址进行读写而造成的秩序混乱。
  电源采用TPS767D318电源转换芯片实现DSP所需的1.8V,1.8VA,3.3V,3.3VA电压,其中模拟地和数字地用小电阻或磁珠连接,防止电磁干扰。
  2.3开关量和人机对话部分
  开关量输入、输出部分是微机保护与外部设备的联系部件,采用光电隔离器件,起信号隔离和电平转换的双重作用,主要用来接受来自外部设备的开关量输入号和向外部设备发送开关量信号。
  人机对话部分包括按键(6个)、3.3V供电的液晶LCM128645ZK显示器,打印机及信号灯、音响及语音报警等,利用DSP的GPIOA,B口,连接按键和液晶,如图5所示:
图4 键盘与液晶显示电路
  2.4通讯
  该模块实现各子系统之间,及其与监控主机之间的信息传输。TMS320F2812自带1个eCAN和2个SCI和1个SPI通讯接口,可同时支持eCAN,RS-232和RS-485总线多种通讯形式。eCAN总线连接方便,而且具有优良的错误处理机制及可靠的数据传输性能,很好的满足变电站综合自动化的要求。
图5 DSP与eCAN总线接线图
  3 软件主要实现的功能
  3.1 测量功能
  采集各个被测线路的电压、电流以及频率,及变压器油温和变电站室温等模拟量信号,断路器、隔离开关状态、变电站一次设备及报警信号、变压器分接头位置等数字量信号等[3]。下面是AD电压采集的部分程序,采用并发采样双序列发生器模式,对二次回路中A、B、C三相和零序的电压电流进行采集。
&&& 利用DSP实现IIR滤波器的精度扩展
  TMS320C54X(以下简称'C54X)是TI公司于1996年推出的新一代高性能定点DSP。该系列芯片具有很高的性能价格比、体积小、功耗低、功能强,已成为通信、计算机、消费类电子产品等领域的重要器件。数字滤器的设计是数字信号处理领域的一个重要部分。在用定点DSP器件设计数字滤波器时,一个重要的问题就是由于硬件字长精度有限,运算会出现溢出。IIR滤波器可以用较少的阶数获得很高的选择特性,所用的存储单元少、运算次数少,具经济、高效的特点。在相位要求不敏感的场合,如语音通信等,很适合用IIR滤波器;但是在有限精度的运算中,可能出现不稳定现象。因此,有必要讨论一下如何在定点的DSP芯片'C54X上实现扩展精度的IIR滤波器。
  1 'C54X DSP上扩展精度乘法的实现
  'C54X芯片的CP内含有2个40bit的累加器(ACC A和ACC B)、1个17×17bit乘法器以及1个40 bit加法器。这就使得该乘法器可以实现2个无符号数、2个有符号数或无符号数和有符号数的乘法。
  累加器ACC A和ACC B存放从ALU或乘法器/加法器单元输出的数据,也能输出到ALU或乘法器/加法器中。累加器包括3部分(见图1):
  ①保护位(bits 39~32),用来作为计算的前部留空(headmargin),防止在迭代运算(如自相关)中产生溢出;
  ②高位字(bits 31~16);
  ③低位字(bits 15~0)。
  'C54X芯片内部的特点,使得扩展精度计算行之有效。其中一个就是进位的处理。算术逻辑单元ALU执行大多数指令操作,如循环与移位操作都会影响进位。进位操作通过调用ST0,设置或重设状态寄存器来修改。正常操作中,为了使累加器不至于装入饱和值,溢出模式应该设置为OVM=0。
  'C54x内部的2条数据总线(CB和DB)允许一些指令在其周期内操作32bit操作码。长字节操作指令和双精度加减指令使用了32bit操作数,能够高效地实现多精度算术操作。硬件乘法器能够对有符号和无符号数进行操作,可以乘2个有符号数和2个无符号数。这样,32bit的乘法就能有地进行。
  2个32bit整数的乘法,需要有1次乘法、3次乘法/累加和2次移位运算。其结果是1个64bit的整数,实现程序如下(假设事先已设好SXM=1,OVM=0)。
  数据存储如下:H1,L1存32bit操作数;H2,L2存32bit操作数;R3,R2,R1,R0存64bit乘积
  STM #L1,AR1 ;AR2→L1
  STM #L2,AR3 ;AR3→L2
  LD *AR2,T ;T=L1
  MPYU *AR3+,A ;A=L1*L2
  STL A,@R0 ;保存R0
  LD A,-16,A ;A=A&&16
  MACSU *AR2+,*AR3-,A;A=L1*L2&&16+L1*H2+H1*L2
  MACSU *AR3+,*AR2,A;A=L1*L2&&
  ;16+L1*H2+H1*L2+H1*L2
  STL A,@R1 ;保存R1
  LD A,-16,A ;A=A&&16
  MAC *AR2,*AR3,A ;A=(L1*L2+H1*H2)&&16+H1*H2
  STL A,@R2 ;保存R2
  STH A,@R3 ;保存R3
  2 IIR滤波器的基本原理及编程实现
  N级IIR滤波器的脉冲传递数表达式为
  它的差分方程表达式为
  由上式可见,y(n)由2部分构成;第1部分
是一个对x(n)的M节延时结构。每节延时后加权相加,也就是一个横向结构网络。第2部分
也是一个N节延时的横向网络结构,不过它是对y(n)延时,因此也是个反馈网络。
  数字滤波器运算结构的不同,将会影响系统运算的精度、误差、速度和经济性等性能指标。在一般情况下,都要求使用尽可能少的常数乘法器和延迟器来实现系统,并要求运算误差尽可能小。然而,这些要求有时是互相矛盾的,例如,为了获得个有较小运算误差的结构,使用的乘法器和延迟器的数目往往并不是最少的。IIR滤波器有以下几种基本网络结构:直接I型、直接II型、级联型和并联型。各种结构都有其优缺点。鉴于级联型常用于均衡器中,而且优点比较突出,所以,以级联型为便详细介绍其算法实现。
  IIR滤波器在采用级联实现的,将传递函数分解为二阶传递函数的乘积,即
  H(z)=H1(Z)H2(Z)…HM(Z)
  每一级的子滤波器Hk(z)常取以下的形式:
  一般级联实现都采用直接II型结构作为子滤波器的网络结构。使用直接II型的子滤波器的网络结构如图2所示。
&基于TMS320VC5402的指纹识别系统
  指纹识别作为生物特征识别的一种,有其不可比拟的优点。由于可以随身携带这种特殊的“印章”,所以受到越来越多人的重视。本系统使用TI的TMS320VC5402(以下简称5402)作为核心。DSP与单片机相比,多用于算法比较复杂,乘加运算量比较大的场合。该芯片为一款定点的DSP,它具有高达100MIPS的运算能力,同时具有优化的CPU结构和一系列的智能外设。下面着重讨论基于该芯片的系统设计。
  1 总体设计
  指纹系统总体设计方案如图1所示。
  该系统是由指纹采集仪、FPGA、SRAM和Flash等硬件组成。RS232用于数据传输,PC机可以通过该接口得到指纹特征数据;Flash存储指纹信息库、LCD用的字符和DSP程序;FPGA在DSP的控制下从取指器中取出图放入SRAM中;小键盘用于用户输入ID号码,增强该系统的安全等级。
  1.1 存储空间的软硬件设计
  本系统要访问的存储器有三个:DSP内部DARAM(16K字,用于存放常量和变量的数据空间)、SRAM和Flash。因为5402有20根地址线可以用来对程序空间寻址,所以有1M字节的寻址空间,利用高地址线A19来区分Flash和SRAM。其中SRAM是BootLoader后程序运行的空间,这样就把Flash放在高地址上去了。5402的数据寻址空间仅为64K,所以要进行分页扩展。为了避免和DARAM的访问冲突,不能使用64K一页。因为64K中低地址的16K实际上不能访问,它优先被64K中低地址的16K实现上不能访问,它无被DARAM访问,所以定为32K的一数据页。分配一个I/O地址,而后通过I/O地址的译码对74LS273进行使能控制,最后锁存I/O的数据作数据页。当对数据空间进行访问时,应分为以下几步:
  ①解析该地址,进行分割。前(低)15位为页内地址,后(高)6位为页地址。
  ②判断页地址是否为0。如果为0,则说明访问DARAM,直接使用访问数据的指令;需要的16位地址就是前15位的地址、高位补零,并结束。
  ③把页地址用PORTW命令送到寄存器(所分配的I/O空间地址)里,页地址也就在SRAM的高地址线上了。
  ④再使用访问数据的指令,需要的16位地址就是前15位的地址、高位补零。
  对存储器的管理,需要编写一定量的程序。可以设置一个全局变量存储页地址。由于扩展页仅为32K,大于32K的数组是开辟不出来的,所以使用链表。需要注意的是释放空间时,把相邻的未使用的空间尽量连接成一大块,同时需要一个接一个地把用过的堆栈拷贝到堆空间的尾部,使自己空间聚合成一个大块。
  图2、图3分别为外部程序扩展和数据空间扩展示意图。
  1.2 RS232通信接口软硬件设计
  该系统使用MAX3110E连接DSP与PC机,通过软件控制分频比可获得通用的300baud~230kbaud的波特率。MAX3110E内部UART与RS232收发器能够独立工作。McBSP的时钟停止模式可以兼容SPI主-从协议。所谓McBSP的时钟停止模式是指其时钟会在每次数据传输结束时停止,并在下次数据传输开始时立即启动或延半个周期再启动。其接收器和发送器是同步的,即CLKX和FSX分别与CLKR和FSR相连;在传输过程中,CLKX和FSX又分别用做SPI的移位时钟SCK和从方使能SS,可以是输出(主方),也可以输入(从方)。其McBSP初始化编程应遵守以下几个步骤:
  ①将SPCR中的XRST、RRST置为0,处于复位状态。
  ②McBSP保持复位的状态下,设置有关的寄存器为需要的值。由于SPI协议要求McBSP在移位输出数据之前,FSX信号必须由DXR-&XSR产生FSX,所以XCR寄存器中XDATALY位必须设置为1。
  ③设置SPCR-&GRST为1,采样率发生器退出复位状态,开始工作。
  ④等待两个时钟周期,以确保McBSP在初始化过程中内部能够正确地同步。
  而后,配置MAX3110E的波特率和发送波形,发送数据时根据MAX3110E的数据手册拼装成一个16位的字进行发送。接收通过DSP的Int0中断进行处理。
  1.3 总线控制和驱动
  本系统中总线有两种:数据总线和地址总线。数据总线进行数据交换,地址总线进行寻址。因为DSP的数据总线是3.3V的高电平逻辑值,可能出现不能驱动外部5V的逻辑电平的情况;而且连接在动能力不足。因此,需要对总线,特别是数据总线进行加强驱动能力的设计。其中数据总线使用SN74LVTH16245来进行驱动向驱动;地址总线是单向的,没有方向的控制,也没有使能的控制,使用SN74LVTH16244单向驱动器就可以了。对于数据总线的控制,按照所逻辑合理使用了DSP_MSTRB。DSP_IOSTRB、R/W就可以完成了。
基于TMS320F2812的光学标记信息采集系统
  光标阅读机是一种光学标记信息卡录入设备,广泛应用于考试、人口普查、彩票投注、选举等领域。目前在国内外有多种光标阅读机,这些产品较为成熟,形式多样,能快速准确地完成信息数据录入,但它们也有各自的缺点,如结构复杂、生产成本高等。本文介绍一种新型的基于DSP &&TMS32OF2812的光标阅读机系统,该系统具有结构简单、成本低廉的特点,有很强的实用价值。
  2硬件结构
  光标阅读机硬件一般由LED传感器、ADC、数据处理控制单元、PC机接口、馈纸控制等部分组成,目前常用的光学标记阅读机硬件结构有两种:数据处理控制单元采用工控板方式和数据处理控制单元采用DSP+FlaGA方式。这两种电路比较复杂,生产成本较高。
  本文介绍的是数据处理控制单元采用基于TMS320F2812的硬件结构.TMS320F2812是美国TI公司研制的2000系列数字信号处理器,是面向电机控制、工业自动化领域的第一款具有片内Flash、工作频率高达150 MHz的32位DSP。TMS320 F2812采用经典哈佛总线结构,利用多总线在存储器、外围模块和CPU之间转换数据,这种多总线结构使其可以在一个周期内并行完成取指令、读数据和写数据,同时它采用了指令流水线技术,保证信号处理的快速性和实时性。TMS320F2812的内部存储器包括14 K的RAM和128 K×16 bit的Flash:片内集成了16通道12 bit的ADC模块、16通道PWM输出、多达56个独立的可编程GPIO、3个带有6种模式的通用目的定时器、3个可配置死区的比较器、3个单端比较单元、4个捕捉单元。同时还集成有多种串行接口[1]。
  系统基本结构如图l所示,用带有内部A/D转换的。TMS320F2812作为核心,数据传输采用USB接口。该系统具有电气结构简单、成本低、采集处理速度快、数据传输快等优点。
  3数据采集
  光学标记阅读机是一种光学标记信息数据采集设备,采集速度和精度是两个非常重要的方面。本系统采集模块采用TMS320F2812内部A/D模块,此模块是一个12位、具有流水线结构的模数转换器,内置双采样保持器(S/H),可多路选择16通道输入,快速转换时间运行在25 MHz或12.5 MHz。输入电压范围0 V~3 V,单次转换时间200 ns,流水线转换方式转换时间60ns,ADC模块有两个独立的排序器,可以工作在双排序器模式和级联排序模式[2].可以提供很高的采集速度。
  TMS320F2812内部ADC存在增益误差和失调误差,需要进行校正,否则会影响信号精度,其转换方程可以表示为y=x×ma±b,式中ma为实际增益.b为失调误差。通过对TMS320F2812的ADC信号采集进行测量,发现ADC增益误差一般在5%以内,可以采用以下方法对其进行校正:选用ADC的任意两个通道作为参考输入通道,并分别提供给它们已知直流参考电压作为输入(两个电压不能相同),通过读取相应的结果寄存器获取转换值,利用两组输入输出值求得ADC模块的校正增益和校正失调,然后利用这两个值对其他通道的转换数据进行补偿,从而提高ADC模块转换的准确度。具体计算过程如下:
  ① 获取已知输入参考电压信号的
本文引用通告地址:
| 浏览(16613) 引用(0)
如果您想出现在此位置,请您先【】!
Copyright (C)2000-.cn

我要回帖

更多关于 dsp乘法器的实现 的文章

 

随机推荐