DSP大作业

发布时间:2015-07-01 21:03:50   来源:文档文库   
字号:

DSP系统设计大作业

院: 电子工程学院

业: 信息对抗技术

级: 021231

名:

号: 02123

指导教师: 秦国栋

1、比较DSPFPGAARM三类芯片的优缺点?

答:DSPdigital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数 字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外 部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的 空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为01的数字信号,再对数字信号进行修改、删除、强化,并在其 他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器, 是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用 软件编程具有高度7的灵活性,因此为从事各种复杂的应用提供了一条有效途径。

根据数字信号处理的要求,DSP芯片一般具有如下主要特点: 

1)在一个指令周期内可完成一次乘法和一次加法; 
2)程序和数据空间分开,可以同时访问指令和数据; 

3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; 
4)具有低开销或无开销循环及跳转的硬件支持; 
5)快速的中断处理和硬件I/O支持; 

6)具有在单周期内操作的多个硬件地址产生器; 
7)可以并行执行多个操作; 

8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与痛用微处理器相比,DSP芯片的其他通用功能相对较弱些。
 
FPGA是英文Field Programmable Gate (现场可编程门阵列)的缩写,它是在PALGALPLD等可编程器件的基 础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCALogic Cell )这样一个 新概念,内部包括可配置逻辑模块CLBConfigurable 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 编程器,只须用通用的EPROMPROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可 以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很 多,有XILINXXC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 

ARMAdvanced RISC Machines /microprocessor)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。


它们的区别是什么呢?DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;而FPGA可以用VHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

2、给出DSP设计实例,并用框图详细解释。

DSP设计实例题目:基于DSP的纸币号码识别系统 

1)、概要

近年来,钱币、特别是纸币被抢劫事件不断发生,严重影响了社会治安,也使银行在经济上受到了严重的损失。如果被抢劫的钱币不能在市场上流通,将从一个方面抑制银行抢劫事件的发生。其中一种解决方案是记录每一捆纸币的号码,将被抢劫的纸币号码建立一个数据库。在货币流通市场提供一种纸币号码自动识别装置,比如说与点钞机结合,将货币号码识别数据与被抢劫号码数据库比较,一旦有相同号码出现,便可确认目前流通的钱币为被抢劫的钱币,从而限制其流通,同时也有利于抢劫案件的侦破。另外,由于纸币号码的唯一性,通过识别纸币上的号码,可以帮助识别假币。国外有一种验钞打号机,可以对典型的纸币,比如美元、英镑等进行自动识别和号码打印,这种装置的典型识别速度为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的输出RTS0RTS1是多功能复用管脚,通过对子地址寄存器SA12写入不同的控制字,可将两输出管脚配置为行同步、帧同步、奇偶场同步等不同的信号。在本系统中将RTS0设置为行同步信号,RTS1设置为场同步信号,同时SAA7113还输出象素时钟的同步参考信号LLC

通过I2C总线协议对SAA7113的各个控制寄存器进行设置,使其满足系统要求。由于DSP芯片是处理型的器件,它的控制能力比较弱,通用I/O口比较少,而单片机具有很好的控制功能,因此对SAA7113的初始化工作使用AT89C51单片机来完成。AT89C51单片机内部无硬件I2C总线接口,在此将单片机的P1.0口设置为串行数据线SDAP1.1设置为串行时钟线SCL,通过软件模拟I2C总线,对视频解码器SAA7113进行初始化,其硬件原理如图2所示。

3.2 使用CPLD实现对图像的开窗处理 

利用象素时钟LLC2和行同步信号HS实现行截取的VHDL程序: process(LLC2,HS) 

variable temp: std_logic_vector(10 downto 0);

 begin 

  if(LLC2'event and LLC2='1')  then  

if(HS='1' )  then  temp:=temp+'1'; 

 if(temp>80 and temp<241)  

then Href<='1'; 

else  Href<='0'; 

end if;   else Href<='0'; 

end if;  end if; end process; 

SAA7113输出的数字视频图像为整幅图像,可是对识别有用的图像大小为40x200,为减少图像数据的存储量和处理量。通过调整CCD摄像头与点钞机之间的位置,利用视频解码器的行、场同步信号HSVS和象素时钟参考信号LLC,使用VHDL语言,对感兴趣的图像区域进行开窗处理。具体做法为:在场信号VS为高的期间,对行信号HS进行计数, 使感兴趣的图像期间的场信号输出为高,在其它区域其场信号为低,这样得到新的场信号VREF。与场截取相类,利用行信号HS和象素时钟LLC2,得到新的行信号HREF。这样通过两个计数器实现了图像的开窗处理。本文给出了对图像进行开窗处理的框图,并给出了行截取的VHLD程序,对列的截取VHDL程序与行截取相类似。  

3.3利用DSP实现图像的采集 

SAA7113上电初始化之后将一直处于工作状态,其象素时钟参考信号LLC27MHz,为象素时钟的二倍,即象素时钟为13.5MHz。这么快的时钟频率如果直接进行图像采集的话将出现数据丢失的现象。本文采用了先进先出阵列FIFO作为图像缓存,将图像数据先存入FIFO中,通过DSP读取FIFO中的图像数据,来完成图像的采集。CCD摄像头输出PAL制,场频为50Hz的视频信号,其行周期为64us,场周期为20ms。在本系统中图像大小为40x200,通过示波器可看到截取后的场周期为2.56ms,而DSP的读写周期为10ns,通过DSP的读写程序所需时间大约为3ms左右,与点钞机相连接,将有充足的时间实现图像的采集。 

    由于FIFO是没有片选的,对FIFO控制主要是对其读写信号有效的控制。FIFO写有效经CPLD图像截取后的行场同步信号以及象素时钟信号来控制。在FIFO写完一场图像数据之后,利用半满信号作为DSP的中断信号,通过中断服务子程序将图像数据存入DSP的数据空间作为识别处理的数据来源。对FIFO的读控制通过将其映射到DSPI/O空间来实现,为了与其它器件进行区分使用地址线A15A14参与译码。当FIFO的读信号为高时,数据总线为高阻状态,从而实现总线隔离。

4)、 DSP存储空间的设计 

    DSP芯片由于其改进的哈佛结构,处理速度快,特殊的DSP指令和快速地实现各种数字信号处理算法的特点,广泛地应用于各种图像处理系统中。在本系统选用TMS320VC5410作为中央处理器,该芯片的读写周期为10ns,具有丰富的片上资源[2] 

    根据纸币号码图像大小和号码识别算法的要求,本系统在DSP外扩了一片64Kx16RAM,其中0x0000—0x3fff的存储区映射到DSP的程序空间,0x8000—0xffff的存储区映射到DSP的数据空间。同时外扩了一片256Kx16FLASH芯片SST39VF400A,根据DSP系统程序加载的特点,将FLASH地址为0x8000—0xffff的存储区在程序下载的过程中映射到DSP的数据空间,在程序加载的过程中映射到DSP的程序空间,其空间的区分通过DSP的通用I/OXF来进行控制。FLASH的地址为0x0000—0x7fff

0x10000—0x1ffff0x20000—0x2ffff的存储区映射到DSP的程序空间,作为识别的号码结果的记录存储而用。 

5)、 利用TL16C550实现与PC机之间的通信 

     在图像采集调试及对号码的算法调试中,为了检验图像效果,需将图像在PC机中呈现出来。由于TMS320VC5410的串口是同步串行口,而与PC机通信却是异步串行收发,本文采用了异步串行收发器TL16C550来实现DSPPC机之间的通信。TL16C550TI公司生产的一种具有异步串行通信功能的大规模集成电路,通过对寄存器选择输入端A0A1A2的不同配置来实现对该器件的控制。 

在本系统中将其映射到DSPI/O空间0x8000的地址,将DSP的地址线A2A1A0550的寄存器选择控制引脚A2A1A0相连,即通过对DSPI/O空间地址为0x80000x8007的空间进行寄存器的访问。在TL16C550中接收和发送使用的是同一个中断信号INTRPT,对数据的接收和发送通过使能不同的中断,通过中断方式实现系统与PC机之间的通信。     

6)、系统的软件设计 

采用手工编写的汇编语言程序虽然具有执行速度快的优点,但用汇编语言编写程序特别是识别算法的程序将是比较费时费力的。为了提高程序开发的效率,采用TMS320C54xC语言进行软件开发。

目前字符识别的算法很多,有背景特征点法,模板匹配法,结构特征分析判断法,神经网络识别算法等。结构特征分析判断法从字符的结构本身出发,检测号码的结构特征,具有快速分类的特点,根据系统速度的要求,本文对采集到的号码图像就采用了此种识别算法来完成纸币号码的识别。     

7)、结束语 

本系统通过使用TI公司的数字信号处理器实现纸币号码的采集,使用Altera公司的复杂可编程逻辑器件CPLD实现对图像的截取,图像采集效果非常好。该系统除有通用图像处理系统的功能外,特别适合动态图像的处理,具有极高的实时性。

本文来源:https://www.2haoxitong.net/k/doc/c439e1b95a8102d276a22fec.html

《DSP大作业.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式