第2章DSP控制器总体结构1
DSP工作原理

DSP工作原理一、简介DSP(Digital Signal Processor,数字信号处理器)是一种专门用于数字信号处理的微处理器。
它具有高性能、低功耗和高度可编程的特点,广泛应用于通信、音频、视频、雷达、医疗等领域。
本文将详细介绍DSP的工作原理。
二、DSP的基本组成1. 数据通路(Data Path):数据通路是DSP的核心部份,用于执行算术运算、逻辑运算和数据传输等操作。
数据通路由运算器、寄存器和数据通路控制器组成。
2. 控制器(Controller):控制器用于控制DSP的操作,包括指令的获取、解码和执行等功能。
控制器由指令寄存器、程序计数器和控制单元等组成。
3. 存储器(Memory):存储器用于存储程序代码、数据和中间结果等信息。
存储器包括指令存储器(程序存储器)和数据存储器。
4. 外设接口(I/O Interface):外设接口用于与外部设备进行数据交换,如与传感器、显示器、键盘等设备的连接。
三、DSP的工作流程1. 指令获取阶段:DSP从指令存储器中获取指令,并将其存储到指令寄存器中。
2. 指令解码阶段:DSP解码指令,确定执行的操作类型和操作数。
3. 数据处理阶段:根据指令中的操作类型和操作数,DSP执行算术运算、逻辑运算或者数据传输等操作。
这些操作通常涉及数据的加载、存储、运算和传输。
4. 结果存储阶段:DSP将计算结果存储到数据存储器中,以备后续使用。
5. 控制流程阶段:DSP根据控制指令中的条件判断,决定下一条要执行的指令的地址。
6. 循环处理:DSP可以通过循环指令实现对一段代码的重复执行,实现高效的数据处理。
四、DSP的优势1. 高性能:DSP具有专门优化的指令集和硬件结构,能够快速执行复杂的信号处理算法。
2. 低功耗:DSP采用高度优化的架构和电源管理技术,能够在低功耗下实现高性能的信号处理。
3. 高度可编程:DSP具有灵便的指令集和丰富的外设接口,使其能够适应各种不同的应用需求。
DSP原理及应用第二章DSP的硬件结构总结(精)

第2章DSP的硬件结构DSP的硬件结构:DSP与标准微处理器有许多共同的地方,都是由CPU、存储器、总线、外设、接口、时钟组成。
从广义上讲,可以说DSP是一种CPU。
但DSP和一般的CPU 又有不同, DSP有自己的一些独特的特点,比如采用哈佛结构、流水线操作、独立的硬件乘法器、独立的DMA总线和控制器等。
Von Neuman结构与Harvard结构:Harvard结构:程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已达到90亿次浮点运算/秒(9000MFLOPS)。
MIPS--Million Instruction Per SecondMFLOPS--Million Floating Operation Per Second流水操作(pipeline):独立的硬件乘法器:在卷积、数字滤波、FFT、相关、矩阵运算等算法中,都有A(kB(n-k一类的运算,大量重复乘法和累加。
通用计算机的乘法用软件实现,用若干个机器周期。
DSP有硬件乘法器,用MAC指令(取数、乘法、累加)在单周期内完成。
独立的DMA总线和控制器:有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作,数据的传递和处理可以独立进行,DMA内部总线与系统总线完全分开,避开了总线使用上的瓶颈。
在不影响CPU工作的条件下,DMA速度已达800Mbyte/s。
CPU:通用微处理器的CPU由ALU和CU组成,其算术运算和逻辑运算通过软件来实现,如加法需要10个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。
DSP的CPU设置硬件乘法器,可以在单周期内完成乘法和累加.移位:通用微处理器的移位,每调用一次移位指令移动1-bitDSP可以在一个机器周期内左移或右移多个bit,可以用来对数字定标,使之放大或缩小,以保证精度和防止溢出;还可以用来作定点数和浮点数之间的转换.溢出:通用CPU中,溢出发生后,设置溢出标志,不带符号位时回绕,带符号位时反相,带来很大的误差DSP把移位输出的最高位(MSB)存放在一个位检测状态寄存器中,检测到MSB=1时,就通知下一次会发生溢出,可以采取措施防止.数据地址发生器(DAG):在通用CPU中,数据地址的产生和数据的处理都由ALU来完成在DSP中,设置了专门的数据地址发生器(实际上是专门的ALU),来产生所需要的数据地址,节省公共ALU的时间.外设(peripherals):时钟发生器(振荡器与PLL)定时器(Timer)软件可编程等待状态发生器通用I/O同步串口(SSP)与异步串口(ASP)JTAG扫描逻辑电路(IEEE 1149.1标准便于对DSP作片上的在线仿真和多DSP条件下的调试’C54x的内部结构:中央处理器CPU 、内部总线控制、特殊功能寄存器、数据存储器RAM 、程序存储器ROM、I/O功能扩展接口、串行口、、主机通信接口HPI、定时系统、中断系统。
第二章 DSP架构与原理

表1.2 单片可编程DSP芯片
公司 AMI NEC TI DSP芯片 S2811 µPD7720 µPD77230 TMS32010 TMS32020 TMS320C25 TMS320C30 TMS320C40 TMS320C50 TMS320C203 TMS320LC549 TMS320C62X MC56001 MC96002 MC56002 DSP32C DSP16A DSP3210 ADSP2101 ADSP21020 推出时间 1978 1980 1985 1982 1987 1989 1989 1992 1990 1996 1996 1997 1986 1990 1991 1988 1988 1992 1990 1991 MAC周期(ns) 300 250 150 390 200 100 60 40 35 12.5 10 5 75 50 50 80 25 60 60 40 定点位数 12/16 16/32 32 16/32 16/32 16/32 24/32 32 16/32 16/32 16/32 16/32 24 32/64 24/48 16或24 16/36 24 16 32 浮点位数
第一代TMS320处理器采用二级流水线, 第二代采用三级流水线, 而第三代则采用四级流水线。
处理器可以并行处理2~6条指令,每条指令 处于流水线上的不同阶段。
三级流水线操作的例子
CLKOUT1
取指 译码 执行
N N-1 N-2
N+1 N N-1
N+2 N+1 N
取指、译码和执行操作可以独立地处理,这可使指 令执行能完全重叠。在每个指令周期内,三个不同的 指令处于激活状态,每个指令处于不同的阶段。
TMS32010 TMS32010-25 TMS32010-14 TMS32011 TMS320C10 TMS320C10-25 TMS320C15 TMS320C15-25 TMS320E15 TMS320C17200 TMS320C17-25 TMS320E17
《DSP内部结构》课件

指令调度:通过指令调度,优化指令顺序,提高流水线的 执行效率
寄存器分配:通过寄存器分配,减少寄存器冲突,提高流 水线的执行效率
内存优化:通过内存优化,减少内存访问次数,提高流水 线的执行效率
并行处理优化
并行处理技术:将任务分解为多个 子任务,同时执行
并行处理技术
并行处理技术是 DSP的核心技术之 一,可以实现多个 任务同时执行
并行处理技术可 以提高DSP的处 理速度和效率, 降低功耗
并行处理技术可 以实现数据的并 行处理,提高数 据处理速度
并行处理技术可 以实现指令的并 行执行,提高指 令执行效率
高速缓存技术
作用:提高DSP的运行速度和效率 原理:将频繁访问的数据存储在高速缓存中,减少对主存的访问次数 特点:速度快、容量小、价格高 应用:在DSP中广泛应用于指令和数据的缓存
数字信号处理单元
算术逻辑单元(ALU):进 行基本的算术和逻辑运算
添加标题
寄存器组(REG):存储数 据和指令
添加标题
指令存储器(ROM):存 储指令
添加标题
输入/输出接口(I/O):与 外部设备进行数据交换
添加标题
添加标题
添加标题
累加器(ACC):存储中间 运算结果
添加标题
程序计数器(PC):指示当 前指令的地址
集成开发环境(IDE)
集成开发环境(IDE)是 DSP编程和开发的重要 工具
常见的IDE包括Keil uVision、IAR Embedded Workbench等
IDE提供了代码编辑、编 译、调试等功能
IDE支持多种编程语言, 如C、C++等
DSP总体结构

不变。
累加器 00F0 F0A1 32 输出移位器 (左移4位) 数据存储器 位置 0F0F 16 0F0F (a) 0A10 输出移位器 (左移6位) 3C3C 累加器 00F0 F0A1 32 2840 16 2840
数据存储器 位置 (b)
2.3 辅助寄存器算术逻辑单元
主要功能
在CALU操作的同时实现8个辅助 寄存器(AR7~AR0)上的算术运算。
乘法器的输入
乘法器的输出
16 位 临 时 寄 存 器 (TREG) , 在 乘法之 前把数据读总线的 值加载到TREG;
数据读总线的数据 存储器值和程序读 总线的程序存储器 值。
两个输入值相乘后的32 位结果保存在乘积寄存 器(PREG)中; PREG的输出连接到32 位的乘积移位器,通过 PSCALE将乘积结果送 到CALU或数据存储器。
PM
OV溢出标志位:进行补码运算时,数据超出范围将发生溢出, OV=1。
复位、溢出时条件转移、无溢出时条件转移或LST指令使该位清0。
OVM溢出方式位:该位决定如何管理CALU的溢出。OVM=0,不对溢
出结果进行调整;OVM=1,对溢出结果进行调整,正溢出时ACC的结 果调整为7FFFFFFFH,负溢出时调整为80000000H。
状态寄存器 ST1第9位 说明 C=0:减结果产生借位/加结果未产生进位;C=1:加结果产生进位/减结果 未产生借位;左移或左循环,ACC最高位送至C,否则最低位送至C。
状态位 进位位C
溢出方式位OVM
ST0第11位
决定ACC如何反映算术运算的溢出。OVM=1:正溢出,ACC填充最大 正数,否则填充最大负数;OVM=0:正常溢出。
2-DSP的硬件结构

累加器 A
39-32 AG 保护位 39-32 BG 保护位
31-16 AH 高阶位 31-16 BH 高阶位
15-0 AL 低阶位 15-0 BL 低阶位
累加器 B
•累加器分为保护位(AG、BG)、高阶位(AH、BH) 和低阶位(AL、BL)三部分。 •使用STH、STL等指令,可将累加器的内容存放到数 据存储器中。右移时,AG和BG中各数据位分别移至 AH和BH;左移时,AL和BL中各数据分别移至AH和 BH,而AL和BL的低位添0。 •注意:由于移位操作是在移位寄存器中进行,所以操 作后累加器中的内容保持不变。
流水操作(pipeline)
第一条指令取数时,第二条指令译码,第 三条指令取指,依次类推。
取指 译码 取指 取数 译码 取指 执行 取数 译码 取指 执行 取数 译码 执行 取数 执行
流水线操作
在C54x的流水线中,一条指令分为以 下6个阶段: 在T1机器周期内CPU将PC中的内 预取指 容加载到程序地址总线PAB,找到指
都有算术逻辑单元(32bit、40bit) 都有累加器ACC(一个32bit、两个40bit ) 都有乘法器(16×16bit、17×17bit) 都有移位器(乘积定标、桶形) C24x有辅助寄存器及其算术单元ARAU (用来产生数据存储器的地址);C54x有 比较、选择和存储单元CSSU(完成累加 器高低字节间的最大值比较、选择累加器 中较大的字、存储在数据存储器中) C54x还有指数编码器、CPU状态和控制寄 存器
三、专门的硬件乘法器和乘加指令MAC
在数字信号处理的算法中,乘法和累加是 基本的大量运算,占用绝大部分的处理时 间。例如,数字滤波,卷积,相关,向量 和矩阵运算中,有大量的乘和累加运算。 PC机计算乘法需多个周期用软件实现,而 DSP设置了硬件乘法器以及乘加指MAC, 在单周期内取两个操作数一次完成。
第2章DSP控制器总体结构1

McBSP CAN 2.0B SCI-UART A SCI-UART B SPI
128-bit security protects software investment External memory interface (XINTF) supports systems with larger memory models (up to 1M • • • • • 32位取指令。 16位或32位数据空间读操作。 16位程序空间读操作。 Flash存储器随机存取。 Flash存储器页面存取。 OTP操作。
Flash和OTP配置寄存器
2.5 代码安全模块
代码安全模块CSM (Code Security Module) 可以防止未被授权的人看到片内存储器的内容, 防止对受保护的代码进行复制和反向工程。 • 代码安全模块的功能 • CSM对其他片内资源的影响 • 代码安全功能的使用
Memory Bus Peripheral Bus
12-Bit ADC Watchdog GPIO
Memory Control Sub-System Peripherals
Fast program execution out of both RAM and Flash memory 100-120 MIPS with Flash Acceleration Technology 150 MIPS out of RAM for time-critical code
DSP存储器扩展 CY7C1024V33: 256K×16位 仿真调试程序 (译码电路)
2812 DSP外部接口 分区 XINTF
时钟XTIMCLK和SYSCLKOUT的关系示意图
对访问时序进行配置依赖于F2812的工作频率 SYSCLKOUT和XINTF的定时时钟XTIMCLK。 XINTF对外访问时序被分成三个阶段,即 起始(Lead)阶段、激活(Active)阶段和收尾(Trail) 阶段。XINTF对不同的地址区域进行访问时, 可以通过对应各区的XTIMING寄存器对访问时 序加等待状态进行延时,等待状态可配置为若 干个XTIMCLK的周期数。
《DSP微控制器原理》第二章n

2.2.2、程序控制系统(地址产生逻辑)
程序控制是控制一条或多条指令的执行次序 。其结构如图2.4所示。 NPAR 下一个程序地址寄存器,保存着下一 个指令周期要执行的指令所在的程序地址。 PAR 程序地址寄存器,保存当前程序地址。 PC 16位程序计数器,保存下一条指令代码 所在地址。当程序顺序执行时, PC(NPAR)+1。
这里值得注意的是:TMS320LF240xA系列DSP控制器 分为两组总线(内部总线和外部总线)。上述第一部分模 块均挂接在内部总线上;第二部分模块均挂接在外部总线 上。第三部分是与外部信号连接控制系统运行的模块。
2.1 CPU总线结构与流水线作业的特点 2.1.1、总线结构 TMS320LF240xA控制器对数据的处理速 度快、效率高与其内部总线结构有着密切 的关系。它们均采用的是改进的哈佛总线 结构,具有两套相互独立的程序操作总线 和数据操作总线,共由6组16位的内部地址 和数据总线组成。其结构如图2.1所示。
2.2.3、输入定标移位器
来自程序存储器 (PRDB) 来自数据存储器(DRDB) 16 16
输入定标 部分 MUX 16 31 16 15 输入移位器(32 位) 0
32 送至 CALU 图 2. 6 输入定标移位器结构图
2.2.1、输入定标移位器
从图2.6中可以看出,输入移位器具有两个数据 源。 1、通过DRDB(数据读总线)可输入由指令操作数 所指出的数据存储器单元中的数值; 2、通过PRDB(程序读总线)输入来自指令中给出 的立即数。 当数据写到输入移位器的低16位后,输入移位 器执行由程序指令指定的左移位操作,对该数值进 行调整,然后将调整结果送至CALU的32位输入总 线。
第二章 DSP控制器的CPU功能结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Memory Bus Peripheral Bus
12-Bit ADC Watchdog
Interrupt Management
100-120 MIPS with Flash Acceleration Technology 150 MIPS out of RAM for time-critical code
Flash和OTP的性能 • • • • • • 32位取指令。 16位或32位数据空间读操作。 16位程序空间读操作。 Flash存储器随机存取。 Flash存储器页面存取。 OTP操作。
Flash和OTP配置寄存器
2.5 代码安全模块
代码安全模块CSM (Code Security Module) 可以防止未被授权的人看到片内存储器的内容, 防止对受保护的代码进行复制和反向工程。 • 代码安全模块的功能 • CSM对其他片内资源的影响 • 代码安全功能的使用
Memory Bus Peripheral Bus
12-Bit ADC Watchdog GPIO
Memory Control Sub-System Peripherals
Fast program execution out of both RAM and Flash memory 100-120 MIPS with Flash Acceleration Technology 150 MIPS out of RAM for time-critical code
TI还推出了F2808、F2806、F2801等型号,其内部结 构与F2812类似,但引脚数、时钟频率、内部资源有所降低, 以降低成本。
F28x DSP的硬件资源
2.2 DSP的片内硬件资源
F281x DSP的功能框图
2812 DSP控制器的结构
• CPU • 片内存储器 • 片内外设 (片内接口电路)
GPIO
Up to 128K x 16 Flash
C28xTM 32-bit DSP
32x32-bit Multiplier 32-bit Timers (3) Real-Time JTAG 32-bit Register File RMW Atomic ALU
(8 x 4K and 6 x 16K Sectors)
128Kw Flash + 2Kw OTP 18Kw RAM 4Kw Boot ROM Event Mgr A Event Mgr B XINTF
Megabyte of on-chip Flash Memory Fast program execution out of both RAM and Flash memory
2.3 存储器扩展外部接口XINTF
典型的DSP应用系统多采用最小系统,即系统由一个 F2810 DSP芯片加上相应的电源、时钟、复位、JTAG电路 及应用电路构成,这种系统也称为单片系统方案(Single Chip Solution)。在程序调试过程中,可以先将程序放入到 H0 SARAM、L0 SRAM和L1 SARAM中运行仿真调试,对 于程序长度小于16KW时比较方便。调试完成后,再将程序 放入Flash存储器中运行。 对于较复杂的DSP应用系统,程序可能较长或需要扩展 一些外部存储器或外部接口如D/A转换芯片、LCD驱动等, 这时需要采用外部接口(XINTF)。外部存储器或接口访问速 度等可能差别较大,XINTF提供了时序延长或加等待机制 来确保通过软件配置实现对这些存储器或外设的正确接口。
McBSP CAN 2.0B SCI-UART A SCI-UART B SPI
Event Managers Ultra-Fast 12-bit ADC 12.5 MSPS throughput Dual sample&holds enable simultaneous sampling Auto Sequencer, up to 16 conversions w/o CPU
受CSM影响的片内资源
地址 0x8000~0x8FFF 0x9000~0x9FFF 0x3D 7800~0x3D 7BFF 0x3D 8000~0x3F 7FFF 块 L0 SARAM (4KW) L1 SARAM (4KW) OTP (1KW) Flash (128/64KW)
2.1 DSP的引脚及其功能
下图分别为TMS320F2812的176引脚PGF LQFP(LowProfile Quad Flatpack)封装图和TMS320F2810的128引脚 PBK LQFP封装图。
F2812 DSP的 引脚
F2810 DSP的 引脚
引脚说明 (见教材表格)
• XINTF (External Interface) 信号: 地址(19位)/数据(16 位)及存储器控制信号引脚。 • JTAG仿真测试及其他(振荡器、复位)引脚。 • A/D转换器引脚。 • 电源引脚。 • GPIOA、GPIOD或( EVA)引脚, GPIO 56个引脚。 • GPIOB 、GPIOD或( EVB事件管理器B)引脚。 • 通信模块(SPI/SCI/CAN/McBSP)或GPIOF、GPIOG引 脚。 • 外部中断或GPIOE 引脚。 • 通用数字I/O GPIOF或XF输出引脚。
Interrupt Management
150 MIPs C28xTM 32-bit DSP 32x32-bit Multiplier 32-bit Timers (3) Real-Time JTAG 32-bit Register File RMW Atomic ALU
Control Ports
TM
150MIPS performance Single cycle 32 x32-bit MAC (or dual 16 x16 MAC) Very Fast Interrupt Response Single cycle read-modified-write F24x/LF240x Source Code Compatible
XINTF 配置寄存器XINTCNF2。 XINTF 的Bank寄存器XBANK。
XINTF 寄存器初始化。
XINTF的寄存器
2.4 DSP 片内Flash和OTP存储器
• • • • • Flash存储器的特点。 Flash和OTP的功耗模式。 Flash和OTP的性能。 Flash流水线模式。 Flash和OTP寄存器。
XINTF 时序寄存器XTIMINGx (x=0,1,2,6,7):
Bit 31-23 22
X2TIMING
21-18
Reserved
17-16
XSIZE
15 READY MODE
14 …
1
0 XWRTAIL
名称 Reserved
XINTF 时序寄存器XTIMINGx用来配置建立/保持和等待时 间。
DSP存储器扩展 CY7C1024V33: 256K×16位 仿真调试程序 (译码电路)
2812 DSP外部接口 分区 XINTF
时钟XTIMCLK和SYSCLKOUT的关系示意图
对访问时序进行配置依赖于F2812的工作频率 SYSCLKOUT和XINTF的定时时钟XTIMCLK。 XINTF对外访问时序被分成三个阶段,即 起始(Lead)阶段、激活(Active)阶段和收尾(Trail) 阶段。XINTF对不同的地址区域进行访问时, 可以通过对应各区的XTIMING寄存器对访问时 序加等待状态进行延时,等待状态可配置为若 干个XTIMCLK的周期数。
Communications Ports
Multiple standard communication ports provide simple interfaces to other components
F281x DSP的 功能框图
On-Chip Flash Memory
Code security
McBSP CAN 2.0B SCI-UART A SCI-UART B SPI
128-bit security protects software investment External memory interface (XINTF) supports systems with larger memory models (up to 1MW address reach)
2812 DSP的 存储器映射
2810 DSP的 存储器映射
存储器地址空间
281xDSP 具有1M存储空间:包括数据, 程序, I/O空间。 片内存储器: SARAM: M0 (00 0000-00 03FFH) ,1KW SARAM: M1(00 0400-00 07FFH), 1KW 片内外设:PF0, ( 00 0800-00 0CFFH) , 2KW 中断矢量PIE Vector-RAM: D00-DFFH ,256W 片内外设:PF1/2, ( 00 6000-00 7FFFH) ,8KW SARAM: L0 (00 8000-00 8FFFH), 4KW, 安全 SARAM: L1 (00 9000-00 9FFFH) ,4KW, 安全 OTP: (3D 7800-3D 7BFFH) 1KW, 安全 Flash : (3D 8000-3F 7FFFH), 128KW, 安全 SARAM: H0(3F 8000-3F BFFFH) ,8KW Boot ROM: (3F F000-3F FFFFH), 4KW
TMS320F2812 / TMS320F2810
Most Powerful - Most Integrated Dual Function Digital Signal Controller High-Performance CPU (C28x DSP Core)
Code security