全套电子课件:数字信号处理器原理及应用(第二版)_第1页
全套电子课件:数字信号处理器原理及应用(第二版)_第2页
全套电子课件:数字信号处理器原理及应用(第二版)_第3页
全套电子课件:数字信号处理器原理及应用(第二版)_第4页
全套电子课件:数字信号处理器原理及应用(第二版)_第5页
已阅读5页,还剩809页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现1.2数字信号处理器技术的发展及现状1.3数字信号处理技术的应用1.4DSP技术特点及其与通用计算机、单片机的区别1.5数字信号处理器技术实现的结构和特点1.6数字信号处理器开发工具1.7数字信号处理技术开发实现方法本章内容:数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现数字信号处理(DigitalSignalProcessing)

——信号的数字化及数字运算和变换的处理。数字信号处理器(DigitalSignalProcessor)

——一种适合完成数字信号处理运算的硬件芯片。二者的英文简写都为DSPDSP数字信号处理器可以理解成是一种针对高速实时数字信号处理应用,具有专门的硬件、软件结构的单片微型计算机。ROMRAMCPU片上I/O设备DSP技术DSP技术:——和数字信号处理器相关的数字信号处算法实现技术和理论。

(“DSP”一词常用来指数字信号处理器;“数字信号处理”用来指信号数字化处理的理论及方法。)数字信号处理算法的实现分为:实时实现和非实时实现。

“实时”是针对某种处理任务对算法实现时间的具体要求而言。如果算法的处理时间可以达到某种具体要求,就认为是该算法实现是实时的,否则就是非实时的。DSP的实时实现数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状数字信号处理理论和实现技术的发展1822年傅立叶在研究热传播理论时发现傅立叶级数及理论。有关数字信号处理的研究便由此开始。60年代初期,数字信号处理的基础理论研究已经比较成熟,各种应用算法研究和快速实现方法是研究的重点。1965年快速傅立叶算法(FFT)的发明,为数字信号处理的应用奠定了基础。60年代中后期,主要采用计算机模拟仿真的方法研究数字信号处理问题,无法像模拟信号系统那样做到实时处理。

70年代后,自适应滤波、卡尔曼滤波、同态滤波等理论逐步成熟和应用。同时由于集成电路技术的发展,IC集成度的提高,使数字信号处理的逐渐由理论研究转向实际应用。80年代后,实际应用更迫切需要专门的数字信号处理器件来提高数字信号处理的实时性。1981年美国德州仪器(TI)公司成功研制出了第一片通用数字信号处理器TMS320C10DSP。从此以后各种数字信号处理器的出现和不断成熟使DSP技术得到了广泛的应用。90年代以后,数字信号处理理论也由经典理论发展到现代信号处理理论,小波变换、模糊逻辑、神经网络等理论成为新的研究热点。实时信号处理是现代信号处理技术发展的一个显著特点,需要极高的数据吞吐率和巨大的实时计算量。这时通用DSP的工作主频已经由最初的20MHz达到近1000MHz。2000年以后通用数字信号处理器已经发展到第四代和第五代,正在向高速度、高精度、低功耗和大运算量实时处理方向发展。数字信号处理器技术发展现状高主频、高精度、高速度运算能力目前工作主频已达1.2GHz、9600MIPS以上高度并行处理及阵列流水线结构高速实时信号处理系统常见结构:并行处理结构流水线处理结构阵列结构RISC(精简指令系统计算机)结构提高DSP芯片并行工作的方法多片DSP并行连接或多片DSP内核集成在一个芯片内使用多总线并行结构提高内部结构单元的并行性数字信号处理器技术发展现状专用DSP(ASIC)及FPGA专用DSP实际数据处理速度比通用DSP快目前很多专用DSP的设计在FPGA中完成DSP应用的一个新方向:将DSP的功能集成到ASIC中多核集成与DSP和ARMARM位控能力强,DSP运算能力强,二者结合DSP借鉴通用CPU和单片机的优点,不断完善低功耗及多种节电模式设置节电模式,使芯片内未使用的单元电路自动停止供电TMS320C55xDSP功耗已低至0.05mW/MIPS数字信号处理器技术发展现状C/C++编程与高效率编译及汇编工具使用高级语言对DSP编程,然后编译、汇编、链接目前DSP高级语言编译器的优化效率达70%以上高级语言和汇编语言混合编程的优化效率达90%以上专用DSP操作系统与多任务实时应用专用DSP操作系统价格较高,一般用户使用较少常用的操作系统中底层内核较复杂,不适合DSP要求实时多任务操作系统内核——DSP/BIOS数字信号处理器技术发展现状图形化窗口集成开发环境与开发工具TI公司的CCS集成开发环境AD公司的VisualDSP++集成开发工具系统级算法仿真与DSP实现算法设计期间,采用MATLAB仿真MATLAB(V6.5以上)中包含TIDSP开发工具,可以将MATLAB编写的算法直接生成TIDSP执行代码算法标准制定与推广DSP的软件开发:各种DSP算法子程序、接口程序等TI公司已为TMS320系列DSP算法程序制定标准数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状

1.3数字信号处理技术的应用模拟信号的数字化处理模拟/数字转换A/DConverter数字信号处理数字/模拟转换D/AConverter自然界的信号处理后的信号DSP数字信号处理技术的应用领域通信及多媒体领域应用数字式移动通信系统(GSM、CDMA、3G)软件无线电(SoftwareRadio)高清晰度电视(HDTV)和语音及图像处理识别应用调制解调器(Modem)综合业务数字网(ISDN)多媒体个人数字化产品控制领域电机和机器人控制激光打印机、扫描仪和复印机网络控制及传输设备汽车及其他工业应用石油勘探、飞行器风洞试验的高速数据处理自动测试诊断设备及虚拟仪器军事武器装备数字信号处理技术的应用领域数字信号处理技术的应用机顶盒调制解调器第三代手机生物测试仪便携式医疗设备DSP芯片在MP3中的应用DSP芯片在视频播放器中的应用数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状

1.3数字信号处理技术的应用

1.4DSP技术特点及其与通用计算机、单片机的区别DSP技术特点数字处理技术同模拟技术相比有以下优点:信号处理算法及系统参数灵活性大。数字系统由于具有可编程能力,其参数是可调的,甚至还可以自适应调整。系统复用性高。数字系统可利用一套装置同时处理几个通道的信号,或反复使用达到更大系统的性能。精度高。模拟电路中元器件的精度要达到10-3以上是比较困难的,而17位字长的数字系统就可以达到10-5的精度。可靠性高。数字系统大多采用大规模集成电路,所以其故障率远比采用分立元件的模拟系统低。DSP应用的信号模型和运算结构线性时不变系统的系统响应(系统卷积)

y(n)=x(n)*h(n)=

无限脉冲响应数字滤波器IIR设计(差分方程)

y(n)=

信号互相关函数的计算,用于信号的相关提取和匹配识别

DSP应用的信号模型和运算结构离散傅里叶变换计算

DSP最常用的运算是离散傅里叶变换系数的计算:

矩阵信号处理与运算——空间三维测量的测量模型DSP应用的信号模型和运算结构图像压缩编解码的离散余弦变换DCT二维图像的变换为

人工神经网络用各种不同结构实现的大量神经元(处理单元)互相连接而形成的复杂网络系统来模拟人脑思维判断的过程。DSP应用的信号模型和运算结构

是输入,在生物上表示神经元的“突触”神经元模型计算来自其它神经元输入(i=0,1…n)的加权和神经元基本模型

DSP应用的信号模型和运算结构在各种数字信号处理算法中,最基本的运算就是乘法和加法,及乘积累加,且乘积累加的运算量很大早期的数字信号处理器就是为此算法特性而研制DSP设置硬件乘法/累加器,在单个指令周期内完成乘法/累加器运算创新的源泉和起点!DSP芯片和通用计算机和单片机的区别DSP的设计目的是为了计算数字信号处理各种算法。特点有:体积小、成本低、功耗小,容易开发,易于实现嵌入式和便携式应用。通用计算机的设计目的是为了“通用”计算,方便使用。它是具有大容量内存,且操作复杂的系统。单片机则是为低成本控制领域而设计和开发的,所以单片机位控能力强,I/O接口种类繁多,但处理速度较慢。

三者相互借鉴,取长补短数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状

1.3数字信号处理技术的应用

1.4DSP技术特点及其与通用计算机、单片机的区别

1.5数字信号处理器技术实现的结构和特点处理器实现的两种结构冯·诺依曼结构程序和数据空间组织在一起,一条总线完成了CPU和存储器之间的连接。程序和数据只能分时使用总线和CPU通信。DSP采用哈佛结构内部程序空间和数据空间分离,使用各自的总线和CPU联系。CPU在取指令的同时,也可以取数据。改进的哈佛结构的特点片内分开的程序存储器和数据存储器与CPU相连的总线数量和连接方式不同。每个空间既可以存放程序,也可以存放数据,允许在程序空间和数据空间之间传送数据。

冯·诺依曼结构示意图哈佛结构示意图处理器的多总线和流水线多总线内部总线越来越多,操作并行性不断提高DSP将内部RAM变为分块结构,配以多个总线并行指令流水线一条指令的执行分为若干个阶段完成。本条指令执行的同时,又分别有其它的指令在流水线的其它阶段顺序地执行着。TMS320C6000内部三级指令流水线(取指,译码,执行)处理器的主频和并行技术目前DSP主频已达千兆赫单个处理器速度已越来越接近物理器件的极限采用并行技术提高处理器性能多核集成:将多个DSP核封装在一块芯片中。提高内部结构单元的并行性:如TI的TMS320C6000系列DSP结构中,一个芯片内部有8个运算单元,最多一次可并行执行8条指令。DSP技术并行结构实现的分类弗林(Flynn)分类法:根据数字处理中指令流和数据流的多少来对系统结构的并行性进行分类的方法。单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)阵列处理器阵列处理

是用多个处理单元(PE)构成一个处理网络。将一个大的任务分解成若干部分,分配给每个处理单元,合理而有效地组织系统数据流动,减少存取数据的操作次数,从而大大地提高了计算速度和处理容量。阵列处理器工作方式:并行处理和流水线处理并行处理流水线处理阵列处理器系统举例实时自适应旁瓣抵消阵列处理器由三个部分组成:输入输出接口板、控制处理器和DSP处理节点单元(PE)阵列阵列处理器系统举例DSP处理节点单元(PE)采用TMS320C30DSP,各个PE之间通过C30的两个串口实现连接,PE之间通过异步传输数据(属于波前阵列结构)。阵列处理器系统举例自适应旁瓣抵消器的DSP阵列数据连接图数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状

1.3数字信号处理技术的应用

1.4DSP技术特点及其与通用计算机、单片机的区别

1.5数字信号处理器技术实现的结构和特点

1.6数字信号处理器开发工具数字信号处理器开发工具高级语言编译器(Compiler)一般使用C/C++语言,编译器将高级语言源程序代码编译成DSP汇编语言源代码。开发系统提供针对DSP的标准C库函数和头文件。目前DSP的高级语言编译效率已达到70%以上。汇编器、链接器及运行工具汇编器将DSP汇编语言源程序转换为链接器所需的可重定位目标代码。链接器将主程序和各个库函数或子程序的可重定位目标代码链接在一起,形成可执行的DSP目标代码。数字信号处理器开发工具软件模拟器(Simulator)将程序代码加载到PC机上,模拟DSP芯片的功能。局限性:不能模拟DSP与外部硬件设备的相互工作。硬件模拟器(Emulator)通过特制电缆将装有仿真软件的PC机等平台与要调试的DSP硬件目标系统通过JTAG仿真口连接。工作界面与Simulator相似,但具有更多的调试功能。信号输入信号输出示波器JTAG在线仿真板卡JTAG在线仿真电缆DSPJTAG接口硬件模拟器(Emulator)JTAG接口XDS560仿真器数字信号处理器开发工具DSP开发系统由厂家设计提供,包含DSP电路板和相应的软硬件调试仿真工具。DSP实时多任务内核DSP/BIOS操作系统的底层实时内核面向实时信号处理、多线程管理、实时调度带有常用算法子程序和DSP硬件设备的控制函数数字信号处理器开发工具可视化集成开发环境(IDE)集项目工程建立、编辑、编译、链接、下载、调试为一体,在统一的可视化环境中完成。调试方法中具有图形、图像功能和实时监测手段。TI公司推出的CCS集成开发环境

DSPIDE代码编辑界面编辑器Editor代码调试界面调试器Debugger编译器Compiler汇编器Assembler链接器Linker编译器配置界面汇编器配置界面连接器配置界面软件模拟程序Simulator在线仿真程序EmulatorDSP各种寄存器模拟/在线访问DSP存储空间模拟/在线访问DSP状态及运行模拟/在线控制数据绘图显示、数据分析(FFT)算法库实时运行库芯片外设支持库多线程内核(DSP/BIOS)DSPIDE包含什么?用户模块扩展CodeComposerStudioIDE(CCS)界面数字信号处理器技术综述1.1什么是数字信号处理、DSP技术和实时实现

1.2数字信号处理器技术的发展及现状

1.3数字信号处理技术的应用

1.4DSP技术特点及其与通用计算机、单片机的区别

1.5数字信号处理器技术实现的结构和特点

1.6数字信号处理器开发工具

1.7数字信号处理技术开发实现方法

软件实现方法在通用计算机上按照数字信号处理的数学模型,编制出程序对信号进行处理。

硬件实现方法根据数字信号处理的数学模型和算法,设计专用或通用数字信号处理器,将计算程序全部硬件化或主要运算功能硬件化。

软硬件结合实现方法利用硬件设备进行底层的数字信号处理,再配以通用数字信号处理器和相应的软件,完成高层的只能信号处理和综合。DSP技术开发实现方法

DSP系统的开发流程系统功能需求说明书细化各项技术指标(速度/精度/实时性/环境/可升级性)说明书算法性能计算机仿真验证DSP芯片及外围器件(存储器/ADC/DAC/FPGA)选型总体设计确定软硬件分工系统框图/说明书硬件设计框图/说明书软件设计流程图/说明书DSP系统的开发流程硬件设计框图/说明书软件设计流程图/说明书原理图设计(.sch)印制板设计(.pcb)制板器件焊接与安装硬件测试链接软件模拟调试(计算机模拟DSP运行程序)编写代码.cand/or.asm编译汇编算法库运行库系统联调ProtelPowerPCB编译器+汇编器+链接器+软件模拟程序SimulatorDSP系统的开发流程系统联调系统在线仿真调试固化程序脱机运行测试性能测试样机完成产品测试与生产第二章现代数字信号处理器介绍本章内容:2.1DSP技术指标和分类

2.2专用数字信号处理器DSP2.3通用数字信号处理器DSP现代数字信号处理器介绍

2.1DSP技术指标和分类DSP技术指标字长技术指标一般为16位以上,有20位、24位、32位等。字长越长,所能表示的数的范围就越大,精度也越高。速度指标主频:CPU工作频率DSP内部工作主频由外加的物理时钟频率经过倍频得到。一般外部时钟频率低好(减少干扰)、内部时钟频率高好(提高处理速度)。指令周期:执行一条指令所需的时间,通常用机器周期来衡量。DSP技术指标速度指标MIPS(每秒百万条指令)能够较为直接反映DSP每秒执行的指令条数。它是DSP处理速度的最高值(峰值),对于内部是并行操作的DSP,一般都达不到这个峰值。MOPS(每秒百万次操作)指DSP每秒完成的操作数。一般完成一条指令需要若干次操作。MFLOPS(每秒百万次浮点运算)指浮点DSP内部浮点处理单元每秒执行运算的次数。MACS(每秒乘积累加次数)指DSP在1s内完成乘积和结果累加的次数。DSP技术指标功耗处理器的功耗和处理速度成正比mw/MIPS(每秒百万条指令毫瓦)作为耗能指标封装指安装半导体集成电路芯片用的外壳。芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印制板上的导线与其它器件建立连接。封装形式:如BGA(BallGridArray)球形触点阵列封装,QFP(QuadFlatPackage)四侧引脚扁平封装等。DSP芯片的封装塑料四侧引脚扁平封装PQFPDSP芯片的封装BGA(BallGridArray)封装DSP芯片的分类按精度和动态范围分类定点DSP:内部数据格式采用整数或小数来表示。内部结构相对简化,运算速度较同期出品的浮点DSP快。功耗小、价格低。但运算的动态范围有限,使用时要考虑溢出问题。浮点DSP:内部数据格式采用尾数加指数形式表示。数据动态范围宽,精度高,亦可完成定点运算。与同期出品的定点DSP相比功耗大、成本高、体积也会大点。

DSP芯片的分类按照用途分类:专用DSP和通用DSP专用DSP:根据具体算法来实现DSP内部硬件结构。运算速度极高,但功能单一,精度和动态范围有限,功耗较大,应用范围较窄。如FFT专用DSP、卷积/相关器、复乘加器等目前常用FPGA、ASIC器件实现通用DSP:处理算法可通过指令编程实现。灵活性好,通过更改软件程序能够实现不同的处理算法,应用较为广泛。如TI公司的TMS320系列DSP、AD公司的ADSP21XX系列DSP等现代数字信号处理器介绍

2.1DSP技术指标和分类

2.2专用数字信号处理器DSP一维级联数字信号处理器:IMSA100(简称A100)是一种高速度、高精度、32级数字式横向滤波器专用DSP芯片经典横向滤波器结构A100横向滤波器结构A100芯片内部结构:由乘法累加器阵列、系数寄存器、控制寄存器、32个周期延迟线以及可编程桶形移位器等部分组成A100芯片内部结构框图现代数字信号处理器介绍2.1DSP技术指标和分类

2.2专用数字信号处理器DSP2.3通用数字信号处理器DSP通用DSP芯片世界第一片商业化通用DSP:TMS320C101981年美国德州仪器(TI)公司推出,标志着数字信号处理在实时应用领域的重大突破,曾获当年全球著名杂志EDN的技术创新奖。采用改进的哈佛结构,允许数据在程序存储空间和数据存储空间之间传输,提高运行速度和编程的灵活性。时钟频率20MHz,指令周期220ns数据总线传输速率40Mbit/s,8个I/O口主要应用领域:音频信号处理TMS320C10结构框图通用DSP芯片DSP16xx系列DSP通信领域中应用于数据中继、交换机、蜂窝电话等指令周期25ns低功耗工作模式片内集成了A/D、D/A、JTAG测试口等DSP16xx系列功能框图通用DSP芯片高性能32位浮点DSP:ADSP21060最高工作频率40MHz,时钟周期25ns单周期指令,指令长度为48bit数据线48位;地址线32位,4G寻址空间片内存储器容量较大,4Mbit片内双端口RAM3套独立的片内总线6个Link端口,用于多处理器间的点对点通信支持多处理器共享总线ADSP-21060结构框图通用DSP芯片高速定点DSP:TMS320C6201主频200MHz,8×32bit的超长指令字(VLIW)内部8个功能处理单元包括6个ALU和2个乘法器指令Cache16K×32bit或2K×256bit32位外部总线,4G寻址空间,可按8/16/32bit寻址32个32bit运算寄存器4个外部中断,4个DMA通道,一个JTAG仿真口TMS320C6201结构框图通用DSP芯片超高速定点DSP:TMS320C6455

工作频率最高可以达到1.2GHz;具有8个功能单元,性能上最高可达9600MIPS片内基于L1/L2存储结构,片上集成有大量的存储空间,L1P和L2都可直接映射到存储空间集成了高速串行接口SRIO拥有丰富的外部总线接口,方便大量数据的传输TMS320C6455系统结构框图通用DSP芯片面向电信基础应用的DSP:TMS320TCI6486内部含有6个优化过的500MHzC64x+megamodule核每个C64x+megamodule核都带有768KB的共享RAM和608KB的局部L2RAM,因此在处理大量数据时可以不需要外部存储器,减少了系统功耗和成本共享外设与接口TMS320TCI6486结构框图通用DSP芯片控制类32位定点DSP芯片:TMS320C28x工作频率最高可达150MHz,单指令周期6.67ns系统使用双电源工作,片上I/O外围设备电压是3.3V,内核CPU电压是1.8V片上具有较大的存储容量片上BOOTROM完成DSPbootloader使用专门的硬件中断管理模块,3个外部中断外部接口丰富TMS320F2812/2810DSP系统结构框图通用DSP芯片多处理器芯片:TMS320C5000DSP+RISC集成了C54xDSPCPU内核和ARM7内核ARM7控制和接口能力较强,DSP数字处理能力强,二者结合,非常适合于多媒体应用的需要该芯片的JTAG口同时支持对DSP和ARM7RISC的仿真TMS320C5470的系统结构框图通用DSP芯片低功耗16位定点DSP:TMS320C55x内部工作频率可达300MHz,处理速度600MIPS片上RAM较大1.6V的内核电压,3.3V的I/O电压片上外设丰富低功耗:0.25mW/MIPSC55X的系统结构框图通用DSP芯片高性能多媒体通信处理器—OMAP1612集成了C55xDSP内核和增强型ARM926,二者通过共享存储控制器完成数据交换内部帧缓存和2D图像加速器,提高图像处理能力提供了DES算法加密和受限访问RAM和ROM功能软件方面,ARM核支持嵌入式操作系统,C55x内核可使用DSP/BIOS编程,通过DSP/BIOS的API和ARM的操作系统桥接到一起OMAP1612的系统结构框图第三章C54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核3.4指令流水线3.5存储器组织结构3.6系统控制3.7片上外设3.8JTAG边界扫描技术(IEEEStandard1149.1)3.9芯片引脚及功能3.10现代高性能DSP与C54xDSP的对比本章内容:C54x数字信号处理器结构3.1结构概述TMS320C54xDSPTMS320C54x(C54x)系列DSP是TI公司为实现低功耗高速实时信号处理而设计的一系列16位定点数字信号处理器。具有以下特点:改进的哈佛结构,操作灵活高速并行和专用硬件逻辑CPU设计六级指令流水线MAC单元……完善的寻址方式和专业化指令集模块化结构设计低功耗C54xDSP结构C54x数字信号处理器结构3.1结构概述3.2总线结构片上数据存储器(数据)片上外设(外设寄存器)

16bit外设总线

PB16bitPAB16bitCB16bitCAB16bitDAB16bitDB16bitEAB16bitEB16bitBusExchangerCPUDAGEN(数据地址生成逻辑)PAGEN(程序地址生成逻辑)片上程序存储器(代码/数据表)DSPC54x系列DSP总线结构——改进的哈佛结构MUX外部总线接口D0~D15A0~A15读写类型

地址总线

程序/数据总线PABCABDABEABPBCBDBEB程序读√√程序写√√数据的单操作数读√√数据的双操作数读√√√√长数据字(32-bit)读√(hw)√(lw)√(hw)√(lw)数据单操作数写√√数据读/数据写√√√√数据双操作数读/程序读√√√√√√外围设备的读√√外围设备的写√√C54x系列DSP总线使用表C54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核CPU组成C54x系列DSP的CPU组成:40-bit的算数逻辑单元(ALU:ArithmeticLogicUnit)两个40-bit累加寄存器(Accumulatorregisters)ACCA和ACCB桶形移位器(Barrelshifter)支持-16到31的移位运算1个17×17-bit乘法器和40-bit加法器构成的乘/加单元比较选择存储单元CSSU(Compare,select,andstoreunit)指数编码器(EXP)数据地址生成单元(DAGEN)程序地址生成单元(PAGEN)40-bitALU(算数逻辑单元)CBDBMUXALU40bitMUXTSignctrlSignctrlSXMSXM1616Barrelshifter40MUX40MAC404040AB4040YXAALUMUXESPABDABCABEABPBDBCBEBMUX片上可寻址单元(存储器/寄存器)片外可寻址单元(存储器/寄存器)TMACABALUSHIFTERAR0~AR7ADD*AR2+,*AR3–,AALU指令示例乘/加单元(Multiplier/AdderUnit)

Adder(40)XAYAMUX400Multiplier(17X17)XMUXYMUXT16DB16XMYMSignctrlSignctrl1717FRCT小数/整数CB16PB4016ALU40404017A40BMUX零检测|舍入器|饱和逻辑40AMACMUXESPABDABCABEABPBDBCBEBMUX片上可寻址单元(存储器/寄存器)片外可寻址单元(存储器/寄存器)TMACABALUSHIFTERAR0~AR7MAC*AR2+,*AR3+,AMAC指令示例比较选择存储单元CSSU和桶形移位器(Barrelshifter)DBMUXSignctrlSXMBarrelshifter(–16to31)AB4040EBALUCB1616MSW/LSWWriteselect1640CSSUMUXCOMPTRNTCC54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核3.4指令流水线翻译指令从程序存储器中取得指令翻译指令从数据存储器中取得数据执行操作/将结果写入数据存储器计算指令地址(PC),将其放入总线PAB从总线PB上获得指令计算数据地址(ARs)将其放入总线CAB/DAB从总线CB/DB上获得数据||计算结果存入地址(ARs)将其放入总线EAB执行操作(ALU/MAC)C54xDSPCPU执行指令过程分解

FFetchDDecodeRReadXExecutePPrefetchFFetchDDecodeAAccessRReadXExecute将结果放入总线EBtimeP1F1P2D1F2P3A1D2F3P4R1A2D3F4P5X1P6R2A3D4F5F6X2R3A4D5D6X3R4A5A6X4R5R6X5X6满荷流水线(FullyLoadedPipeline)流水线冲突(PipelineConflicts)产生的原因:

程序执行时多分支反复转移

DSP内部的多总线并行多逻辑单元并行(运算单元、地址产生单元等)高速(一个周期内可以访问两次片内存储器)操作片上存储器分块(单存取、双存取两类及每类内分块)多级指令流水线有限的内部寄存器等流水线冲突——外部存储器P1PD54xP2F1D1P3F2A1D2P4F3D3A2----R1X1A3------R2X2------R3X3P5--F4D4P6F5A4D5F6A5D6R4X4A6R5X5R6P54xDorP1F1D1A1R1X1P2F2P3F3D3A3R3X3D2A2R2X2P4F4D4A4R4X4P5F5D5A5R5X5P6F6D6A6R6X6NOCONFLICTD54xP流水线冲突——外部存储器C54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核3.4指令流水线3.5存储器组织结构C54x系列DSP存储空间一般的C54x系列DSP共有192K16bit字的存储空间,并划分为三种相互独立的空间:64K字程序空间:存放指令代码以及数据表(如正弦查找表)CPU自动通过总线P以及外部总线访问程序空间64K字数据空间:存放数据CPU根据指令通过总线C/D/E以及外部总线访问数据空间64K字I/O空间:对应到外围可编程设备的寄存器/额外数据空间CPU根据I/O读写指令通过总线C/D/E以及外部总线访问I/O空间16bitaddressbus==>216=65536=64K每个空间编址:0x0000~0xFFFF片上存储资源C54x系列DSP的片上存储器类型:DARAM(dual-accessRAM)SARAM(single-accessRAM)ROM(read-onlyMemory)MemoryTypeC541C542C543C545C546C548C549C5402C5410C5420ROM28K2K2K48K48K2K16K4K16K0DARAM5K10K10K6K6K8K8K16K8K32KSARAM0000024K24K056K168KTMS320C54xDSP器件的内部存储器读写控制外部总线接口(ExternalBusInterface)D0~D15A0~A15片外程序存储器CE(ChipEnable)PS(programspaceselect)PB16bitPAB16bitMUX将外部存储设备连接到程序空间DSP片上程序存储器读写控制DAB16bitEAB16bitCAB16bitMUX将外部存储设备连接到数据空间外部总线接口(ExternalBusInterface)D0~D15A0~A15片外数据存储器CE(ChipEnable)DS(dataspaceselect)EB16bitCB16bitDB16bit片上数据存储器DSP读写控制将外部存储设备连接到I/O空间DAB16bitEAB16bitCAB16bitMUX外部总线接口(ExternalBusInterface)D0~D15A0~A15片外可编程设备CE(ChipEnable)IS(I/Ospaceselect)EB16bitCB16bitDB16bitregistersRAMs特殊的CPU指令PORTRPORTWDSP片外存储资源C5402片上存储资源存储器映射C54x系列DSP存储器映射(MemoryMaps)片上数据存储器/片外数据存储器<==>64K数据空间的某一段片上程序存储器/片外程序存储器<==>64K程序空间的某一段连接到I/O空间片外存储资源<==>64KI/O空间的某一段0x0000程序/数据空间0xFFFF4KROM16KDARAM?KSARAM存储器配置C54x系列DSP存储器配置通过设置C54xDSP的CPU状态和控制寄存器PMST,我们可以改变存储器映射关系PMST(ProcessorModeStatusRegister)处理器模式状态寄存器的三个位(MP/MC、OVLY、DROM)会影响存储器配置:15-76543210MP/MCOVLYDROM存储器配置MP/MC(Microprocessor/microcomputermode)=0 微型计算机模式,片上ROM被映射到程序空间=1 微处理器模式,片上ROM不被映射到程序空间复位值:由MP/MC

引脚状态决定OVLY(RAMoverlay)=0 RAM不重叠,片上RAM只映射到数据空间=1 RAM重叠,片上RAM同时映射到数据空间和程序空间复位值:0DROM(DataROM)=0 片上ROM不被映射到数据空间=1 片上ROM的一部分被映射到数据空间复位值:0具体映射地址视具体DSP型号而定程序空间片上ROMC54xDSP片上ROM中固化有一段自举引导代码,能够完成上电时自动加载外部程序的功能。将片上ROM映射到程序空间后(PM/MC=0),可实现自举引导功能片上ROM被映射到程序空间的同时其一部分也可以被映射到数据空间(当DROM=1时),片上ROM被设计为多个可独立访问的区块。当从一个区块读取程序指令的同时,可以在其它区块上进行数据读取扩展程序存储空间可访问程序存储器总容量最大扩展至8192K字(C548、C549、C5402、C5410和C5420拥有128个64K字页面,C5402拥有16个64K字页面,C5420有4个64K字页面)On-chipDARAM(OVLY=1)C5402DSP存储器映射0x00~0x7FreservedExternalExternal(MP/MC=1)External(OVLY=0)On-chipROM(MP/MC=0)64K程序空间0x00000x3FFF0x40000xEFFF0xF0000xFFFF16K44K4KOn-chipROM(MP/MC=0)bootloadercode256-wordμ-lawexpansiontable256-wordA-lawexpansiontable256-wordsinelook-uptable128wordsreserved128wordsinterruptvectortable0xFF800xFFFF4KC5402DSP片上ROM组织0xF0000xFFFF0xFE000xFEFF0xFD000xFDFF0xFC000xFCFF0xF8000xFBFF0xFF000xFF7F0xF8000xFFFF扩展程序存储空间扩展程序存储空间(C548/549/5402/5410/5420)将外部总线接口的16-line地址总线增加为23lines(C548/549/5410)20lines(C5402)18lines(C5420)增加一个额外的存储器映射寄存器

——XPC(ProgramCounterExtensionregister)

程序计数器扩展寄存器提供了6条额外的指令对外部扩展程序存储器进行寻址外部总线接口(ExternalBusInterface)D0~D15PSA16~A19A0~A15CPUXPC=[A19:A16]C5402扩展程序存储空间16x64K=1024KC5402扩展程序存储空间On-chipDARAM(OVLY=1)reservedExternalExternal(MP/MC=1)External(OVLY=0)On-chipROM(MP/MC=0)0x00000x3FFF0x40000xEFFF0xF0000xFFFF16x64K程序空间XPC=0x0On-chipDARAM(OVLY=1)ExternalExternal(OVLY=0)0x00000x7FFF0x80000xFFFFXPC=0x1~0xFLower32KUpper32K扩展程序存储空间影响XPC内容的特殊指令:FB–远跳转FBACC–远跳转到累加器A或B指定的位置FCALA–远调用累加器A或B指定的位置FCALL–远调用FRET–远返回FRETE–中断使能的情况下远返回能够访问到扩展程序空间,不改变XPC内容的指令:READA–以累加器A的内容为地址读取扩展程序空间WRITA–以累加器A的内容为地址写入扩展程序空间数据空间片上DARAM都被映射到数据空间,片上ROM的一部分映射到数据空间片上DARAM被设计为多个独立的区块,对不同区块的访问互不影响,从而能够在同一指令周期中执行两次读操作和一次写操作地址为0x0000~0x007F的区间被作为保留区间,映射到该地址区间的存储单元包含:26个CPU寄存器片上外设的控制寄存器和数据寄存器,地址为0x0020~0x005F32字的DARAM,地址为0x0060~0x007FC5402DSP存储器映射0x80~0x3FFFFOn-chipDARAM0x00~0x5Fmemorymappedregisters64K数据空间0x00000x3FFFExternal0x40000xEFFFExternal(DROM=0)0xF0000xFFFFOn-chipROM(DROM=1)16K44K4K0x60~0x7FScratch-padmemory0x00~0x5FMMRC5402DSP存储器映射0x60~0x7FScratch-padmemory0x00h–0x1FTheCPUregisters0x20h–0x5FTheperipheralregisters0x00IMR0x11AR10x01IFR0x12AR20x02-05-0x13AR30x06ST00x14AR40x07ST10x15AR50x08AL0x16AR60x09AH0x17AR70x0AAG0x18SP0x0BBL0x19BK0x0CBH0x1ABRC0x0DBG0x1BRSA0x0ET0x1CREA0x0FTRN0x1DPMST0x10AR00x1EXPC0x1E-1F-32字的DARAM用于存放帮助消除存储器碎片的变量0x80~0x3FFFFOn-chipDARAM128word128word128word128wordOn-chipDARAM分块结构……CPUC5402DSP存储器映射External64KI/O空间0x00000xFFFF64K片外可编程设备ChipselectregistersRAMs寄存器组织在C54x的数据存储空间中,前80H个单元(数据页0)包含有的CPU寄存器、片内外设寄存器和暂存器。这些寄存器全部映射到数据存储空间,称作存储器映像寄存器MMR存储器映像寄存器MMR:CPU寄存器——特殊功能寄存器片内外设寄存器暂存器SPRAMCPU寄存器名称地址(Hex)说明名称地址(Hex)说明IMR0中断屏蔽寄存器AR212辅助寄存器2IFR1中断标志寄存器AR313辅助寄存器3—2-5保留AR414辅助寄存器4ST06状态寄存器0AR515辅助寄存器5ST17状态寄存器1AR616辅助寄存器6AL8累加器A低位字AR717辅助寄存器7AH9累加器A高位字SP18堆栈指针寄存器AGA累加器A保护字BK19循环缓冲大小寄存器BLB累加器B低位字BRC1A块重复计数器BHC累加器B高位字RSA1B块重复首地址BGD累加器B保护字REA1C块重复尾地址TREGE暂存器PMST1D处理器方式状态寄存器TRNF转换寄存器XPC1E扩展程序计数器(C548/9/02/10/20)AR010辅助寄存器0—1F保留AR111辅助寄存器1CPU寄存器状态寄存器(ST0、ST1)

反映了C54xDSP器件的各种状态和模式ST0包含了CPU在做算术运算和位操作时产生的一些标志:OVA,OVB,C,TC,DP(数据页指针)和ARP域ST1反映了处理器的模式状态和执行指令时的状态ST0寄存器

15–1312111098–0ARPTCCOVAOVBDPARP:辅助寄存器指针TC:测试/控制标志C:借位标志OVA/B:累加器A/B溢出标志DP:数据存储器页指针ST1寄存器

151413121110987654–0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMCPL:编译模式选择位SXM:符号扩展模式位C16:双16运算使能位XF:XF引脚状态控制位HM:保持模式CPU挂起位ASM:累加器移位模式CPU寄存器累加器(A、B)C54xDSP器件的CPU中具有可两个40位的累加器:累加器A和累加器B。它们都被映射到数据空间并被分为低16位字、高16位字和8位保护域三部分临时寄存器(T)存放乘积或乘积累加指令的一个乘数,存放移位操作的所需的移位量,存放BITT指令的一个位地址。EXP指令也会将计算出的指数值写入暂存器T中,NORM指令使用T来归一化数值过渡寄存器(TRN)存放Viterbi算法的中间结果CMPS指令在累加器高位字和低位字进行比较的基础上也会修改TRN的内容CPU寄存器辅助计存器(AR0~AR7)可被CPU访问并能够被辅助寄存器算术单元修改,C54xDSP的两个ARAU可对AR0~AR7进行递增/递减、循环递增/递减、位倒序递增/递减等修改,而不需要CPU参与使用AR0–AR7来产生数据空间的16位地址非常地灵活和有效通过AR0~AR7来访问数据空间中数据的方式被称为间接寻址方式AR0~AR7也能用作一个通用寄存器或一个计数器来使用。CPU寄存器堆栈指针寄存器(SP)存放的是系统堆栈的栈顶地址压栈和出栈指令就是通过SP指针实现的中断、TRAP、函数调用/返回和PUSHD、PUSHM、POPD以及POPM等指令都会使用SP进行堆栈操作系统堆栈是一段属于数据空间的存储区域,具体地址和大小由用户在编程时指定环境保护是在编写一个汇编子函数时,在一开始必须要将函数体中用到的所有CPU寄存器的内容压入堆栈,并在退出之前将其弹出堆栈放回原来的CPU寄存器在C语言函数体内部定义的局部变量是在系统堆栈中生成的,当该函数返回时这些变量会被消除。所以在开发DSP软件时一定要设置合适的系统堆栈大小CPU寄存器循环缓冲区大小寄存器(BK)ARAU单元使用16位循环缓冲区大小寄存器(BK,Circular-BufferSizeRegister)实现循环递增/递减寻址块重复寄存器(BRC、RSA、REA)16位块重复计数寄存器(BRC,Block-RepeatCounter)用于存放一个汇编语言代码块需要被重复执行的次数16位块重复起始地址寄存器(RSA,Block-RepeatStartAddress)用于存放被重复程序块的起始地址16位块重复结束地址寄存器(REA,Block-RepeatEndAddress)用于存放被重复程序块的结束地址CPU根据这三个寄存器的内容执行块重复指令CPU寄存器处理器模式状态寄存器(PMST)用于控制C54xDSP的存储器映射方式、存放中断向量表指针等15~76543210IPTROVLYAVISDROMCLKOFFSMUL+SST+IPTR:中断向量表指针AVIS:地址可见使能位CLKOFF:输出时钟关闭位

程序计数器扩展寄存器(XPC)

用于存放当前程序存储器地址的高位地址C54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核3.4指令流水线3.5存储器组织结构3.6系统控制系统控制(Systemcontrol)数据地址及程序地址生成系统复位中断系统节电模式数据地址的产生C54xDSP的数据地址由数据地址生成器(DAGEN)负责产生,并放入三条数据地址总线CBA、DBA、EBA上DAGEN为内部存储器、片上MMR寄存器、片外数据空间及I/O空间存储设备的访问提供所需的地址信息DAGEN内部包括辅助寄存器AR0~AR7辅助寄存器算数运算单元ARAU0、ARAU1AR寄存器指针ARP循环缓冲区大小寄存器BK数据指针DP堆栈指针寄存器SP其中AR0~AR7、ARAU0、ARAU1、ARP、BK构成一个独立的逻辑模块实现包括循环寻址和位倒序寻址在内的各种间接寻址方式DP和SP则用于直接寻址方式SP同时也用于实现堆栈寻址程序地址的产生C54xDSP的程序地址由程序地址生成器(PAGEN)负责产生,并放入程序地址总线PBA上PAGEN为访问存放于程序空间的指令、参数表、指令携带的16位立即数等内容提供所需的地址信息PAGEN内部包含下列寄存器:程序指针(PC)重复计数器(RC)块重复计数器(BRC)块重复起始地址寄存器(RSA)块重复结束地址寄存器(REA)程序计数器扩展寄存器(XPC)(C548/9/02/10/20)PAGEN是在PC寄存器中产生程序地址的,放入PAB总线上的就是PC中的值系统复位如果C54xDSP的RS引脚上出现2个时钟周期以上的低电平,整个芯片将被复位,此时芯片内部所有电路的寄存器都将被设置为复位值。其中:IPTR被设置为1FFhMP/MC

位被设置为与MP/MC

引脚相同的状态PC被设置为FF80h,XPC被清零设置INTM=1,即全局关闭可屏蔽中断设置IFR=0000H一个内部同步复位信号被发给片上外设下列状态位被设置为其初始值:ARP=0CLKOFF=0HM=0SXM=1ASM=0CMPT=0INTM=1TC=1AVIS=0CPL=0OVA=0XF=1BRAF=0DP=0OVB=0C=1DROM=0OVLY=0C16=0FRCT=0OVM=0复位期间处理器将不会对其余的状态位和堆栈指针SP进行初始化,因此,用户必须在自己的程序代码中初始化其余的状态位和SP寄存器若MP/MC=0,复位后CPU将从内部ROM开始读取指令执行若MP/MC

=1,复位后CPU将读取外部程序存储器中的指令并执行

中断(Interrupts)中断是一些由硬件或软件产生的信号,能使CPU暂时停止执行正在执行的程序,转而执行由DSP程序开发者编写的中断服务程序(ISR——InterruptServiceRoutine)C54x既支持软件中断也支持硬件中断软件中断,是由指令(INTR、TRAP、RESET)产生的硬件中断:外部中断——通过DSP外部中断引脚接收到的片外设备产生的中断(例如ADC/DAC向DSP发出的中断)片上外设中断——DSP片上外设(如定时器、串口、DMA等)向CPU发出的中断当同一CPU时钟周期内有多个硬件中断发生时,CPU会按照中断优先级对它们进行响应。软件中断无优先级可屏蔽和非可屏蔽中断DSP的中断又可分为两大类:可屏蔽(Maskable)中断:可以通过软件被禁止/使能的中断。C54xDSP的可屏蔽中断包括:所有的内部硬件中断除NMI

、RS之外的外部硬件中断非可屏蔽(Nonmaskable)中断:不能被禁止的中断C54x的非可屏蔽中断有:所有的软件中断外部中断NMI(DSP外部中断引脚NMI)复位中断RS(DSP外部中断引脚RS)CPU在响应NMI

中断时,将不能被任何其他中断打断,包括复位中断IFRIFR(InterruptFlagRegister)中断标志寄存器(地址0x01)当一个可屏蔽中断产生时,IFR中相应的中断标志位会被置1,当CPU响应该中断后,该标志位才被清除清除中断标志还可通过:软件或硬件复位;向标志位写1;使用INTR#K指令响应该中断15-1413121110987ReservedDMAC5DMAC4BXINT1/DMAC3BRINT1/DMAC2HPINTINT3TINT1/DMAC1C5402DSP的IFR寄存器6543210DMAC0BXINT0BRINT0TINT0INT2INT1INT0IMRIMR(InterruptMaskRegister)中断屏蔽寄存器(地址0x00)当ST1的INTM位为0时,IMR可用于禁止和使能可屏蔽中断,向IMR中的某个屏蔽位写1就能使能相应的可屏蔽中断。如果写0,则相应的中断被禁止15-1413121110987ReservedDMAC5DMAC4BXINT1/DMAC3BRINT1/DMAC2HPINTINT3TINT1/DMAC1C5402DSP的IMR寄存器6543210DMAC0BXINT0BRINT0TINT0INT2INT1INT011INTM中断模式位,可屏蔽中断的全局开关=0全局开=1全局关ST1:(0x07)C54x中断响应流程中断请求产生Request中断应答Acknowledgment执行用户编写的ISRIMR屏蔽位=1?将当前PC值压入堆栈产生应答信号IACK可屏蔽中断?从ISR返回时,将先前压入堆栈的PC值弹出放入PC中程序继续从被中断处运行INTM=0?YNY产生应答信号IACKINTM置1YNNCPU如何跳转到ISR去执行?中断号中断名称0RS1NMI……16INT017INT118INT2……15-7IPTR中断INT0得到应答AcknowledgmentPC=(IPTR<<7)+中断号×4PMST:(0x1D)……程序空间NOPB_MyInt0isr

NOPNOP执行C函数

MyInt0isrINT0的中断向量中断向量表中断向量(表)指针4-wordspace4-wordspace4-wordspace4-wordspace4-wordspaceOneDSPproject如何编写一个中断应用程序(C语言)voidmain(){…‘设置IPTR’;

//如果是可屏蔽中断‘清除IFR标志位’;‘设置IMR使能中断’;‘打开全局中断’;

…}main.cvoidinterruptmyisr(){…}isr.c.sect".vectors“.ref_c_int00;Centry.ref_myisr

;isrentry.align0x80;对准页边界

RESET:B_c_int00nopnopnop……INT0:B_myisr;跳转到myisrnopnopnop…vectors.asm…SECTION{….vectors>‘与IPTR对应的向量表地址’’

…}location.cmd节电模式(Power-DownModes)C54x有4种节电模式,可以暂时使CPU处于休眠状态以减小功耗。退出节电模式后CPU可以继续正常工作执行指令IDLE1进入闲置模式1执行指令IDLE2进入闲置模式2执行指令IDLE3进入闲置模式3使DSP引脚HOLD

处于低电平进入保持模式节电模式(Power-DownModes)1.闲置方式1(IDLE1)

CPU除了时钟外所有的工作都停止。但外设电路 可以继续工作,CLKOUT引脚保持有效可用IDLE1指令,使CPU进入闲置方式1状态用唤醒中断来结束CPU的闲置方式1节电模式(Power-DownModes)2.闲置方式2(IDLE2)

片内外设和CPU停止工作,系统功耗有明显减少可用IDLE2指令进入闲置方式2

结束时,不能采用闲置方式1的方法,可用外部中断结 束闲置方式2

其方法:用一个10ns的窄脉冲加到外部中断引脚(RS、 NMI和INTx),通过外部中断来结束闲置方式2

闲置方式2结束后,所有的外设都将复位

节电模式(Power-DownModes)3.闲置方式3(IDLE3)完全关闭模式,除了具有闲置方式2的功能外,还可以终止锁相环PLL的工作,大幅度地降低系统功耗可用IDLE3指令进入闲置方式3,用外部中断来结IDLE3结束后,所有的外设将被复位节电模式(Power-DownModes)4.

保持方式(HOLD)由HOLD信号初始化,使CPU的地址总线、数据总线和控 制总线处于高阻状态,并可以通过设定HM位,来终止 CPU运行若HM=1,则三总线高阻,CPU停止工作若HM=0,则三总线高阻,但CPU继续运行不会停止CPU片内外设的工作当HOLD信号无效时,结束保持方式节电模式(Power-DownModes)5.

其他省电方式

C54x除了上述四种省电方式外,还有两种省电功能,分别是外部总线关断和CLKOUT关断。

外部总线关断:是通过对BSCR寄存器的第0位置1,关断片内外部接口时钟,使接口处于低功耗状态。复位时,该位清0,片内外设接口时钟开放

时钟关断:是利用指令来禁止CLKOUT信号。其方法:用软件指令将PMST中的CLKOFF位置1,关断CLKOUT的输出。复位时,CLKOUT有效C54x节电模式(Power-DownModes)操作特性IDLE1IDLE2IDLE3HOLDCPU暂停工作√√√√CPU时钟停止工作√√√片上外设时钟停止工作√√锁相环PLL停止工作√外部地址总线处于高阻状态√外部数据总线处于高阻状态√外部控制信号线处于高阻状态√退出节电模式的原因HOLD变为高电平√产生内部可屏蔽中断√产生外部可屏蔽中断√√√产生NMI中断√√√产生RS(复位)中断√√√C54x数字信号处理器结构3.1结构概述3.2总线结构3.3CPU内核3.4指令流水线3.5存储器组织结构3.6系统控制3.7片上外设C54xDSP片上外设种类通用I/O引脚:XF、BIO定时计数器/定时器(Timer)时钟生成器(Clockgenerator)多通道缓冲串口(Multi-channelbufferedserialport(McBSP))直接存储器访问控制器(DirectMemoryAccessController(DMA))外部总线接口(ExternalBusInterface)主机接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论