工程。$3.3.6内部验收流程制定的目的是加强内部验收的规范化管理,加强设计验证的控制,确保产品开发尽快进入中试和生产并顺利推向市场。项目完成开发工作和文档及相关技术资料后,首先准备测试环境,进行自测,并向总体办递交《系统测试报告》及项目验收申请表,总体办审核同意项目验收申请后,要求项目组确定测试项目,并编写《测试项目手册》。测试项目手册要通过总体办组织的评审,然后才组成专家进行验收。由上可见,硬件开发过程中,必须提前准备好文档及各种技术资料,同时在产品设计时就必须考虑到测试。第十节DSP技术$3.10.1DSP概述1、基本概念通常DSP(DigitalSignalProcessing)是指数字信号处理。DSP芯片是专用的数字信号处理器(DigitalSignalProcessor),它采用哈佛结数、流水线作业方式的并行处理技术,有专用的指令系统,尤其适用于数字信号的算法实现,编码变换等处理。2、DSP的发展历史和现状(1)DSP发展的历史背景现代信号处理起源于17一18世纪的数学,并以1807年12月21日法国工程师J、B、Fourier提出FT变换为标志。我们现在讨论的数字信号处理,是随着数字电子计算机的发展而发展起来。在数字信号处理的初期(本世纪50~60年代),人们只是在通用的数字计算机上进行算法的研究和处理系统的模拟与仿真,1965年库利一图基(CooleyTukey)提出快速付氏变换FFT是数字信号处理发展史上的一个里程碑。同时随着FFT及其它算法的提出也促进了专用数字处理硬件的发展,并最终导致高速高位DSP的出现。一般认为:70年代后期推出的Iatel2920是第一块脱离了通用型微处理器结构的DSP芯片,1980年前后推出的μPD7720具有专门的硬件乘法器,从而被认为是第一块单片DSP器件,1983年Ti推出的TMS系列,标准着实时数字信号处理领域的重大突破。(2)DSP主要机种与生产商DSP主要分浮点与定点运算两类定点运算有AnologDerivesADSP2100系列,AT&TDSP16系列MotorolaDSP5600系列、NECuPD77220、TMS320C2x/c5x/c54x系列等;y-f4-0-ciy
yf-f4-06-cjy 工程。 §3.3.6 内部验收流程 制定的目的是加强内部验收的规范化管理,加强设计验证的控制,确保产品 开发尽快进入中试和生产并顺利推向市场。项目完成开发工作和文档及相关技术 资料后,首先准备测试环境,进行自测,并向总体办递交《系统测试报告》及项 目验收申请表,总体办审核同意项目验收申请后,要求项目组确定测试项目,并 编写《测试项目手册》。测试项目手册要通过总体办组织的评审,然后才组成专 家进行验收。 由上可见,硬件开发过程中,必须提前准备好文档及各种技术资料,同时在 产品设计时就必须考虑到测试。 第十节 DSP 技术 §3.10.1 DSP 概述 1、基本概念 通常 DSP(Digital Signal Processing)是指数字信号处理。DSP 芯片是专用的数字信号 处理器(Digital Signal Processor),它采用哈佛结数、流水线作业方式的并行处理技术,有 专用的指令系统,尤其适用于数字信号的算法实现,编码变换等处理。 2、DSP 的发展历史和现状 (1)DSP 发展的历史背景 现代信号处理起源于 17-18 世纪的数学,并以 1807 年 12 月 21 日法国工程师 J、B、 Fourier 提出 FT 变换为标志。我们现在讨论的数字信号处理,是随着数字电子计算机的发展 而发展起来。在数字信号处理的初期(本世纪 50~60 年代),人们只是在通用的数字计算机 上进行算法的研究和处理系统的模拟与仿真,1965 年库利-图基(Cooley Tukey)提出快速 付氏变换 FFT 是数字信号处理发展史上的一个里程碑。同时随着 FFT 及其它算法的提出, 也促进了专用数字处理硬件的发展,并最终导致高速高位 DSP 的出现。 一般认为:70 年代后期推出的 Iatel 2920 是第一块脱离了通用型微处理器结构的 DSP 芯片,1980 年前后推出的μPD7720 具有专门的硬件乘法器,从而被认为是第一块单片 DSP 器件,1983 年 Ti 推出的 TMS 系列,标准着实时数字信号处理领域的重大突破。 (2)DSP 主要机种与生产商 DSP 主要分浮点与定点运算两类 定点运算有 Anolog Derives ADSP2100 系列,AT&T DSP 16 系列 Motorola DSP5600 系 列、NEC u PD77220、TMS320C2x/c5x/c54x 系列等;
浮点运算有AnologDerivesADSP2120、AT&TDSP32c/3210、MotorolaDSP96002、TMS3200c3x/c4x等。目前DSP主要生产商有:AnologDevices公司,其主要产品ADSP2100定点系列和ADSP21020定点系列;Motorola公司其主要产品:MotorolaDSP5600定点系列和Motorola9600浮点系列;TexasFustruments公司,其主要产品:TMS320c2x/c5x/c54x定点和TMS3x/4x系列浮点。并且,Ti公司宣传即将推出TMS320C6X/C62XX系列产品,速度1000MP1S以上。AnologDevices公司也将推出高性能的SHARC产品。S3.10.2DSP的特点与应用1、DSP的特点(1)DSP总线结构都采用哈佛结构或改进的哈佛结构。通用的微处理采用冯.诺依曼结构,即程序指令和数据共用一个存储空间及单一的地址和数据总线。为进一步提高运算速度,以满足实时信号处理的要求,当前的DSP芯片采用哈佛结构。所谓哈佛结构,是将指令和数据的存储空间分开。这样使得处理指令和处理数据可以同时进行,从而大大提高处理效率。(2)采用流水线技术DSP大多采用了流水线技术。计算机在进行一条指令时,要经过取指、译码、访问数据、执行等几个步骤,需若干个指令周期才能完成。流水线技术将各指令和执行时间可以重叠起来。即第一条指令取指后,在进行译码的同时,可进行第二条指令的取指;第一条指令访问数据时,第二条指令译码…·…。这样尽管每条指令的执行时间仍然是几个指令周期,但由于用了流水线的作业方式,使得总体处理速度大大提高。而DSP所采用的指令与数据存储空间分开的哈佛结构,为实现流水线作业方式提供了方便。(3)具有硬件乘法器和MAC单元在数字信号处理算法中,乘法和累加是最基本和大量的运算,例如在卷积运算、数字滤波、快速付里叶变换、相关计算、矩阵运算等算法中大多都有乘加(乘法和累加)运算。通用的乘法运算是采用软件实现的,往往一次乘法运算需要若干个机器周期才能完成。DSP中都设置了硬件乘法器和MAC乘加(乘法并累加)一类指令,取两个操作数到乘法器中作乘法,并将乘积加到累加器中,这些操作在DSP芯片中往往可以在单个在指令周期内完成,使得DSP作乘和累加这种数字信号处理基本运算的速度大为提高。(4)具有循环寻址(circularaddressing)及位倒序(bitreverse)寻址功能。为满足FFT、卷积等数学信号处理的特殊要求,当前的DSP大多在指令系统中设置了循环寻址及位倒序指令及其它特殊指令、体现在作这些运算时寻址、排序及计算机速度大大提高。另外,DSP系统设计和软件开发,往往需要相当规模的仿真调试系统,为方便用户的y-f4-06-ciy
yf-f4-06-cjy 浮点运算有 Anolog Derives ADSP 2120、AT&T DSP32c/3210、Motorola DSP 96002、 TMS3200 c3x/c4x 等。 目前 DSP 主要生产商有:Anolog Devices 公司,其主要产品 ADSP2100 定点系列和 ADSP21020 定点系列;Motorola 公司其主要产品:Motorola DSP 5600 定点系列和 Motorola 9600 浮点系列;Texas Fustruments 公司,其主要产品:TMS320c2x/c5x/c54x 定点和 TMS3x/4x 系列浮点。并且,Ti 公司宣传即将推出 TMS320C6X/C62XX 系列产品,速度 1000MP1S 以 上。Anolog Devices 公司也将推出高性能的 SHARC 产品。 §3.10.2 DSP 的特点与应用 1、DSP 的特点 (1)DSP 总线结构都采用哈佛结构或改进的哈佛结构。 通用的微处理采用冯.诺依曼结构,即程序指令和数据共用一个存储空间及单一的地址 和数据总线。为进一步提高运算速度,以满足实时信号处理的要求,当前的 DSP 芯片采用 哈佛结构。所谓哈佛结构,是将指令和数据的存储空间分开。这样使得处理指令和处理数据 可以同时进行,从而大大提高处理效率。 (2)采用流水线技术 DSP 大多采用了流水线技术。计算机在进行一条指令时,要经过取指、译码、访问数 据、执行等几个步骤,需若干个指令周期才能完成。流水线技术将各指令和执行时间可以重 叠起来。即第一条指令取指后,在进行译码的同时,可进行第二条指令的取指;第一条指令 访问数据时,第二条指令译码.。这样尽管每条指令的执行时间仍然是几个指令周期,但 由于用了流水线的作业方式,使得总体处理速度大大提高。而 DSP 所采用的指令与数据存 储空间分开的哈佛结构,为实现流水线作业方式提供了方便。 (3)具有硬件乘法器和 MAC 单元 在数字信号处理算法中,乘法和累加是最基本和大量的运算,例如在卷积运算、数字滤 波、快速付里叶变换、相关计算、矩阵运算等算法中大多都有乘加(乘法和累加)运算。通 用的乘法运算是采用软件实现的,往往一次乘法运算需要若干个机器周期才能完成。DSP 中都设置了硬件乘法器和 MAC 乘加(乘法并累加)一类指令,取两个操作数到乘法器中作 乘法,并将乘积加到累加器中,这些操作在 DSP 芯片中往往可以在单个在指令周期内完成, 使得 DSP 作乘和累加这种数字信号处理基本运算的速度大为提高。 (4)具有循环寻址(circular addressing)及位倒序(bit reverse)寻址功能。 为满足 FFT、卷积等数字信号处理的特殊要求,当前的 DSP 大多在指令系统中设置了 循环寻址及位倒序指令及其它特殊指令、体现在作这些运算时寻址、排序及计算机速度大大 提高。 另外,DSP 系统设计和软件开发,往往需要相当规模的仿真调试系统,为方便用户的
设计与调试,许多DSP在片上设置了仿真模块或仿真调试接口、如Motorala在DSP片是设置了一个QnCE(On-ChipEmalation)功能块、通过行脚、使用户可以检查片内存储器、寄存器及外设,用单步运行,设置断点、跟踪等方式控制与调试程序。Ti则在DSP片上设置了JIAG(JointTestAotionGroup)标准测试接口及相应的控制器。在PC机上插入一块调试插板,接通JIAG接口,就可以在PC机上运行一个软件去控制它。DSP有自已的汇编语言指令系统,为适用于高级语言编程,各公司也陆续推出适用于DSP的高级语言编译器,主要是C语言编译器,也有Ada、Pascal等编译器,程序员可用高级语言编程,通过编译器,将程序汇编、连接成DSP目标代码。2、DSP应用领域随着DSP性能的改善和成本的降低,DSP在通用数字信号算法处理的基础上,其应用几乎遍及电子学每个领域。(1)通信:网络通信,高速调制解调器,编/解码器,自适应均衡器,移动通讯,语音邮箱,回音消除,噪声对消,会议电视,扩频通信等。(2)声音/语音处理、图像/图形处理:语言识别,语言合成、语音编码、图形变换、机器人视觉、模式识别、电子地图等。(3)仪器/仪表:谱分析、函数发生器、波形发生器、数据采集、状态分析、石油/地质勘探、VR航空(VisualReality)试验,医学仪器等。(4)计算机:阵列处理器、图形加速器、神经网络、多媒体等。(5)消费电子:数字电视、高清晰度电视、VR游戏、汽车工业等。(6)军事:雷达与声纳信号处理、导航、制导、全球定位、搜索跟踪、VR式器试验等。如下图:SpeechPower EleVXications(PBXMulti mediaHigh_resolation & us tramentsSigual ProcessingDataAquisition SystemDSPRadar & SonarElectronicCommsumeProdueComputer ProductwortcommunicatioHigh SpecdoGSMCDMARoal_timer Control(下面以TMS320C54X系列为例介绍DSP的硬件结构及软件编程方法)$3.10.3TMS320C54XDSP硬件结构1、TMS320C54X内部组成单元与总线结构y-4-06-ciy
yf-f4-06-cjy 设计与调试,许多 DSP 在片上设置了仿真模块或仿真调试接口、如 Motorala 在 DSP 片是设 置了一个 QnCE (On-Chip Emalation)功能块、通过行脚、使用户可以检查片内存储器、寄 存器及外设,用单步运行,设置断点、跟踪等方式控制与调试程序。Ti 则在 DSP 片上设置 了 JIAG(Joint Test Aotion Group)标准测试接口及相应的控制器。 在 PC 机上插入一块 调试插板,接通 JIAG 接口,就可以在 PC 机上运行一个软件去控制它。 DSP 有自己的汇编语言指令系统,为适用于高级语言编程,各公司也陆续推出适用于 DSP 的高级语言编译器,主要是 C 语言编译器,也有 Ada、Pascal 等编译器,程序员可用高 级语言编程,通过编译器,将程序汇编、连接成 DSP 目标代码。 2、DSP 应用领域 随着 DSP 性能的改善和成本的降低,DSP 在通用数字信号算法处理的基础上,其应用 几乎遍及电子学每个领域。 (1)通信:网络通信,高速调制解调器,编/解码器,自适应均衡器,移动通讯,语音 邮箱,回音消除,噪声对消,会议电视,扩频通信等。 (2)声音/语音处理、图像/图形处理:语言识别,语言合成、语音编码、图形变换、 机器人视觉、模式识别、电子地图等。 (3)仪器/仪表:谱分析、函数发生器、波形发生器、数据采集、状态分析、石油/地 质勘探、VR 航空(Visual Reality)试验,医学仪器等。 (4)计算机:阵列处理器、图形加速器、神经网络、多媒体等。 (5)消费电子: 数字电视、高清晰度电视、VR 游戏、汽车工业等。 (6)军事: 雷达与声纳信号处理、导航、制导、全球定位、搜索跟踪、VR 式器试验 等。如下图: DSP Speech M ititary Electronics W ire line Communications (PBX) High_resolation &us traments Data Aquisition System Radar & Sonar Networt communication CDMA GSM Roal_timer Control High Specdo Computer Product Electronic Commsume Product Power Electionics VX1 M ulti media Sigual Processing (下面以 TMS320C54X 系列为例介绍 DSP 的硬件结构及软件编程方法) §3.10.3 TMS320 C54X DSP 硬件结构 1、TMS 320C54X 内部组成单元与总线结构
TMS320C54XDSP的结构简图如图1所示:CNTLA+MEINTERNAMEMRNAYXMEMORY4OTMACATBTALUSHIFT图1TMS320C54X内部组件与总线连接可见DSP内部的程序总线P、数据总线D、控制总线C和数据写存储器总线E都是独立分开的,以便于组件单元的并行处理和数据传送。TMS320C54XC54X的结构部件其实可看作是围绕挂换在8束16bit的总线上的。(见图2TMS320C54X内部硬件结构框图),其中:(1)程序总线PB传送指令码和程序存储器的直接操作码。(2)三束数据总线(CB、DB和EB)相互连接起各个单元,如CPU、数据地址产生逻辑(DAGEN)、程序地址产生逻辑(PAGEN)及其它芯片组件和数据存储器(其中CB、DB传送从数据存储器读出的数据,EB传送向存储器写的数据)。(3)四束地址总线(PAB、CAB、DAB和EAB)传送指令执行期间所需的地址数据。2、内部存储器结构54X的存储器由程序空间、数据空间和输入/输出空间三个分开的空间组成,包括随机存取存储器RAM和只读存储器ROM。RAM可当作DARAM(dnal-accessRAM)和SARAM(Single-accessRAM)54X系列中各种芯片的ROM、DARAM和SARAM空间大小有所不同。(1)片上ROM(On-ChipROM)它是程序存储器的一部分,常用以接受bootLoading。(2)DARAM(On-DhipDual-AccessRAM)。它由若干块组成,对DARAM中的数据,CPU在一个机器周期内可对它进行两次操作(读或写),DARAM总是映射在数据空间,其主要目的是存储数值,它也可映射于程序存储空间用以存储程序代码。(3)SARAM(On-ChipSingle-AccessRAM)。它由若干块组成,每块在一个机器周期内,可被读或写一次,它一般映射在数据空间,主要是存储数值,它也可映射于程序空间存储程序代码。(4)片上RAM保护。当设计片上RAM保护时,外部指令就不能对其进行读写。y4f4-06-ctly
yf-f4-06-cjy TMS320C54XDSP 的结构简图如图 1 所示: CNTL P C ARs M U X T MAC A B ALU SHIFT INTERNAL MEMORY INTERNAL MEMORY M U X 图 1 TMS320C54X 内部组件与总线连接 可见 DSP 内部的程序总线 P、数据总线 D、控制总线 C 和数据写存储器总线 E 都是独 立分开的,以便于组件单元的并行处理和数据传送。 TMS320C54X C54X 的结构部件其实可看作是围绕挂换在 8 束 16 bit 的总线上的。(见 图 2 TMS320 C54X 内部硬件结构框图),其中: (1)程序总线 PB 传送指令码和程序存储器的直接操作码。 (2)三束数据总线(CB、DB 和 EB)相互连接起各个单元,如 CPU、数据地址产生 逻辑(DAGEN)、程序地址产生逻辑(PAGEN)及其它芯片组件和数据存储器(其中 CB、 DB 传送从数据存储器读出的数据,EB 传送向存储器写的数据)。 (3)四束地址总线(PAB、CAB、DAB 和 EAB)传送指令执行期间所需的地址数据。 2、内部存储器结构 54X 的存储器由程序空间、数据空间和输入/输出空间三个分开的空间组成,包括随机 存取存储器 RAM 和只读存储器 ROM。RAM 可当作 DARAM(dnal-access RAM)和 SARAM (Single-access RAM)54X 系列中各种芯片的 ROM、DARAM 和 SARAM 空间大小有所不 同。 (1)片上 ROM(On-Chip ROM)它是程序存储器的一部分,常用以接受 boot Loading。 (2)DARAM(On-Dhip Dual-Access RAM)。它由若干块组成,对 DARAM 中的数据, CPU 在一个机器周期内可对它进行两次操作(读或写),DARAM 总是映射在数据空间,其 主要目的是存储数值,它也可映射于程序存储空间用以存储程序代码。 (3)SARAM(On-Chip Single-Access RAM)。它由若干块组成,每块在一个机器周期 内,可被读或写一次,它一般映射在数据空间,主要是存储数值,它也可映射于程序空间存 储程序代码。 (4)片上 RAM 保护。当设计片上 RAM 保护时,外部指令就不能对其进行读写
3、CPU(CentralProcessingVnit)TMS320C54XCPU包括:a)40-bit的算术逻辑单元(ALU)。可实现2个40bit操作数的算术逻辑运算,也可进行布尔运算。b)2个40-bit的累加器(A、B)。可存储ALU或乘/加(Multiplier/adder)运算的输出,也可提供ALU的二次输入。累加器A还可作乘/加运算的输入,每个累加器都可划分成以下三部分:i)保留位(bit39-32);i)高字节(bit31-16);ii)低字节(bit15-0)。c)桶式移位器(Barrelshiffer)。桶式移位器有一个来自4Obit的累加器(A或B)或数据存储器(通过CB或DB)的输出,其4Obit的输入,送到ALU或到数据存储器(通过EB)中。它可对输入产生0一31bit的左移和0~16bit的右移。并由指令进行控制。d)17X17-bit的乘法器。它实现两个17bit操作数的乘运算,并与40bit的加法器等共同实现在一个指令周期内完成乘/加运算:和AKU共同在一个指令周期内完成并行的乘/累加(MAC)运算。e)40-bit加法器(Adder(40)),配合Multiplier执行乘/加运算。f)比较、选择和存储单元(CSSU),实现累加器高、低字节中数据的大小比较测试或控制标志位TC、状态寄存器STO和发送寄存器(TRN)以保持发送状态等。g)数据地址产生单元(DAGEN)h)程序地址产生单元(PAGEN)4、DSP外部信号引脚DSP处理信号引脚包括:(C548)(1)外部总线接口包括:(ExternalBuslaterface)并行地址总线口(23-bit)并行数据总线口(16-bit)存储器选择MSTRB_、程序空间选择PS_、数据空间选择DS、I/O选择IOSTRB_、IS读/写信号R/W、READY、信号保持HOLD、指令获得IAQ等。(2)控制信号(ControlSignals)复位信号RS外部中断输入INTX及中断响应IACK等;分支控制BIO-;y-f4-0-ciy
yf-f4-06-cjy 3、CPU(Central Processing Vnit) TMS 320 C54X CPU 包括: a) 40-bit 的算术逻辑单元(ALU)。可实现 2 个 40bit 操作数的算术逻辑运算,也可进行 布尔运算。 b) 2 个 40-bit 的累加器(A、B)。可存储 ALU 或乘/加(Multiplier/adder)运算的输出, 也可提供 ALU 的二次输入。累加器 A 还可作乘/加运算的输入,每个累加器都可划分成以 下三部分: i) 保留位(bit 39-32); ii) 高字节(bit31-16); iii) 低字节(bit15-0)。 c) 桶式移位器(Barrel shiffer)。桶式移位器有一个来自 40bit 的累加器(A 或 B)或 数据存储器(通过 CB 或 DB)的输出,其 40bit 的输入,送到 ALU 或到数据存储器(通过 EB)中。它可对输入产生 0-31bit 的左移和 0~16bit 的右移。并由指令进行控制。 d) 17×17-bit 的乘法器。它实现两个 17bit 操作数的乘运算,并与 40bit 的加法器等共 同实现在一个指令周期内完成乘/加运算;和 AKU 共同在一个指令周期内完成并行的乘/累 加(MAC)运算。 e) 40-bit 加法器(Adder(40)),配合 Multiplier 执行乘/加运算。 f) 比较、选择和存储单元(CSSU),实现累加器高、低字节中数据的大小比较测试或 控制标志位 TC、状态寄存器 ST0 和发送寄存器(TRN)以保持发送状态等。 g)数据地址产生单元(DAGEN) h) 程序地址产生单元(PAGEN) 4、DSP 外部信号引脚 DSP 处理信号引脚包括:(C548) (1)外部总线接口包括:(External Bus Iaterface) 并行地址总线口(23-bit) 并行数据总线口(16-bit) 存储器选择 MSTRB_、程序空间选择 PS_、数据空间选择 DS、I/O 选择 IOSTRB_、 IS_读/写信号 R/W、READY、信号保持 HOLD_、指令获得 IAQ_等。 (2)控制信号(Control Signals) 复位信号 RS; 外部中断输入 INTX_及中断响应 IACK_等; 分支控制 BIO-;