DSP-03CPU与存储器.ppt_第1页
DSP-03CPU与存储器.ppt_第2页
DSP-03CPU与存储器.ppt_第3页
DSP-03CPU与存储器.ppt_第4页
DSP-03CPU与存储器.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第三章 总线、CPU结构及存贮的配置 PAB DRAB DWAB PRDB DRDB DWEB 外部地址总线 外部数据总线 总线结构: PAB: 程序地址总线,程序空间地址 CPU DRAB:程序读总线, 程序存储器内容 CPU DWAB:数据写地址总线, 写数据空间时的地址 PRDB: 程序读数据总线, 读数据空间时的地址 DRDB:数据读总线, 数据存储器内容 CPU DWEB:数据写总线, 数据 数据存储器或程序存储器 1 3.1 中央处理单元 中央处理单元 CPU 辅助寄存器算术单元 输入比例部分(输入定标单元) 中央处理单元 中央算术逻辑运算部分 乘法器部分 CPU的任务是从程序读总线(PRDB)或数据读总线 (DRDB)获取数据 经过加、 乘、 移位等运算 再经数据写总线(DWEB)将结果送出 2 移位器(32位) 输入定 标器部 分 将16位输入与32位的 CALU的数据对齐 TRGE 乘法器 16X16 PREG 乘积移位器(32) CALU ACC(累加器)C 输出移位器32位) 算术逻辑运算部分 完成加 减移位逻 辑运算 数据写总线 数据读总线 程序读总线 MVX:多路转换器 DWEB(16) DRDB(16) PRDB(16) 乘法器 部分 16 16 16 1616 16 16 16 16 1 16 1 32 32 32 32 32 32 MVXMVX MVX 临时寄存器 乘法寄存器 3 (1) 输入定标移位器: 完成数据的移位和扩展,以便与32位的CALU格式对齐. 来自DRDB的立即数(立即寻址),或PRDB总线上的指令操作 数与CALU中的数据匹配. 将输入左移0-16位.移位次数由指令给出或由TRGE(临时寄存器) 的低四位给出 (直接寻址) (间接寻址). 符号扩展 二进制数以二进制有符号数的补码表示,由状态 寄存器ST1中的SXM位决定SXM=0 不扩展 SXM=1 扩展 4 (3) 乘法单元: 1.16位X16位硬件乘法器.一个周期内完成乘法运算 2.TREG为临时寄存器. 将乘数与来自PRDB或DRDB中的被乘数在乘 法器中相乘,乘积为32位.送PREG. PREG为乘法寄存器. 将结果送CALL前,在乘法移位器中进行移位定标 有四种形式移位.由ST1中的PM两位决定 PM=00时 不移位 乘积送CALU或数据写总线 PM=01时 左移1位 移去补码乘法产生的额外符号位 产生Q31格式的乘积,Q31为32位有符号小数的标准格式,最 高为符号位.其后为小数点,仍限31位有效数字. PM=10时 左移4位 移去16位乘13位常数时,二进制补码乘法产生的 额外4位符号位,产生Q31格式的乘积 PM=11时 右移6位 把乘积定标.使最多做128次乘法累加而不导 致累加器溢出,右移时总要进行符号扩展. 5 (3) 中央算术逻辑单元 32位CALU 32位ACC 32位输出移位器 两个输入来自累加器和移位器或乘积移位器 实现 加 减 与 或 位测试 输出移位器拷贝累加的内容 并进行移位(0-7) 高16位或低16位送数据存贮器中 6 3.2 辅助寄存器算术单元 CPU中还有一个辅助寄存器算术单元ARAU 主要功能是与中央处理单元并行工作,对8个辅助寄存器(AR0-AR7) 进行算术运算 8个辅助寄存器为DSP提供间接寻址方式,由状态寄存器的ARP(STO) 决定,称ARP为辅助寄存器 (AR0-AR7)的内容(16位)为要访问的数据存贮器地址 7 ARAU完成以下运算: 1.辅助寄存器内容+1/-1 或增/减一个变址量(间接寻址指令决定) 2.增/减一常数(指令字的低8位决定) 3.AR0与当前AR相比较,比较结果经数据写数据总线(DWEB)送到ST1 的测试/控制位(TC) ARAU的其它用途 1.通过CMPR指令 AR与AR0作为测试条件,支持分支 调用 返回 2.作为软件计数器 进行加/减 3.作为暂时寄存器,暂存数据。使用LAR装载数据,用SAR送数据存储器 ARAU的运算通常在译码阶段进行 为能在下条指令译码这前产生地址 8 数据读总线(DRDB) MVX ARB ARP 指令寄存器 MVX AR7 AR0 ARAU 数据写总线(DWEB) 数据读地址总线(DRAB) 数据写地址总线 (DWAB) ST1(13-15) ST0(13-15) 161616 16 16 8 33 3 3 9 3.3 状态寄存器 DSP有两个状态寄存ST0和ST1 可用专用指令LST和SST保存和装载至存贮器 ARPOVOVM1INTMDP 15 13 12 11 10 9 8 0 ST0 ARBCNFTCSXMC1 1 1 1XF11PM 15 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ST1 ARP: 辅助寄存器指针: ARP装载时,原ARP值复制到ARB ARB: 辅助寄存器指针缓冲器 : LST指令装载ARB时 同时装载ARP OV:溢出标志: 复位为0 10 OVM: 溢出方式:OVM=0时,ACC正常溢出,OVM=1时, ACC溢出时置为最大正值7FFFFFFF或最大负值80000000H INTM:中断方式: 0:使能中断 1:屏蔽中断 不受LST指令影响, 复位时为1 对RS、 NM1无效。 DP: 数据存贮器页面指针,形成直接寻址的页地址(高9位)。 CNF: DARAM配置方式: O:DARAM配置为数据空间。1:DARAM配置为程序空间,复位为0 TC: 测试/控制标志: 测试位=1 则TC=1,条件为真。复位时=0 SXM: 符号扩展位: SXM=1符号扩展,SXM=0符号不扩展。复位为=1 C: 进位位,加法时有进位C=1,减法时没有借位时C=1,复位时C=1 XF: 引脚状态位,复位时XF=1 PM: 乘积移位模式,复位时清0 11 3.4 存贮器与I/O空间 TMS320LF240X系列为增强的哈佛结构,由三组总线并行访问多个存贮空间 程序地址总线 PAB 数据读地址总线 DRAB 数据写地址总线 DWAB DSP采用独立的程序存贮器、数据存贮器和I/O空间 即可以有相同的地址,访问通过不同的控制线来区分,其中数据分为局部 空间和全局空间(局部数据存贮器,全局数据存贮器,受全局存贮器分配寄 存器(GREG)的控制,240T保留GREG) 4个独立的选择空间 64K字程序空间: 指令及执行指令时需要的数据 64K字局部数据空间 (240T为片内32K字0000-7FFFH) 32K字全局数据空间 (片外32K字8000H-FFFFH)(2407保留) 64K字I/O空间 任意一组可以访问不同的程序空间, 每组互相独立,并行工作 12 3.5 与片外存贮器和I/O空间的接口信号 1.外部数据、地址总线D0-D15,A0-A1。 2.片选信号、区分内部还是外部访问,是程序、数据,还是I/O空间 DS: 外部数据空间有效 PS : 外部程序空间有效 IS: I/O空间选择有效 STRB: 外部访问有效 (B/R 访问外部全局数据空间有效)(2407器件没有) 3.读/写信号 指明数据传送方向和读/写操作 R/W: 指明数据方向。 W/R: 具有内部上拉的指明数据方向。 WE: 写使能信号 下沿驱动D0-D15 RD: 读便能信号 4.请求/控制信号 实现特殊操作 MP/MC: 模式选择 READY: 外围器件准备好 13 3.6 程序存贮器 中断向量 32K flash /Rom 外部 保留(CAN=1) (外部CAN=0) DARAM(B0) (CAN=1) (外部CAN=0) Reset 中断级1 2 3 4 5 6 保留 软件中断 保留 软件中断 0000H 003FH 0040H 7FFFH 8000H FDFFH FE00H FEFFH FF00H FFFFH 64W 16个字 18个字 2个字 2个字 2个字 2个字 24个字 0000-0001 0002-0003 4-5 6-7 8-9 A-B C-D E-F 10-21 22-23 24-25 26-27 28-3F 64K 256 256 14 3.7 I/O空间 外部 保留/非法 flash控制模式 寄存器 保留 等待状态发 生控制寄存器 向量空间 flash BO块 1个字 1个字 0000H FEFF FF00 FF0E FF0F FF10 FFFE FFFF 0000 003F 0040 0043 0044 7FFF FF00 FFFF 64字节 保留4B 32K-68B 256B 68B 15 存贮贮器映射寄存器 (专专用寄存器)和保留 片内DARAM B2 保留/乘法 保留 片内DARAM BO CNF0(CNF=0保留) 片内DARAM B1 保留 非法 SARAM (2K) 非法 片内外设专设专 用寄存/ (I/O功能寄存器) 片内外设专设专 用寄存器 2 非法 片内外设专设专 用寄存器 3 非法 保护护口令 保留 保留 外部数据存贮贮器 保留 中断屏蔽寄存器 保留 中断标标志寄存器 仿真寄存器及保护护区 通用定时时寄存器 比较较 PWM 死区寄存器 捕获获和QEP寄存器 中断屏蔽 向量 标标志寄存器 非法 通用定时时寄存器 通用定时时寄存器 通用定时时寄存器 通用定时时寄存器 保留 专专用寄存器 B2 保留空间间 B0 B1 SARAM 非法空间间 I/O功能寄存器 及保留空间间 非法 系统统配置和控制寄存器 看门门狗定时时器实时时实时时 钟钟和PLL控制寄存器 非法 SPI SCI 非法 外部中断寄存器 非法 数字I/O控制寄存器 ADC控制寄存器 非法 CAN控制寄存器 非法 CAN数据缓缓冲器 非法 事件处理器EVB 事件处理器EVA 0000 005F 0060 007F 0080 00FF 0100 01FF 0200 02FF 0300 03FF 0400 04FF 0500 07FF 0800 0FFF 1000 6FFF 7000 73FF 7400 743F 7440 74FF 7500 753F 7540 77EF 77F0 77F3 77F4 77FF 7800 7FFF 8000 FFFF 32字 256字 256字 32字 2K 1K 64字 64字 1K 4字 32K * 访问非法地址引起非屏蔽NMI中断 保留地址为测试保留 访问进行写操作 可能引起工作方式的改变 * CNF决定数据存贮器配置 CNF=1时 B0块映射为片外程序空间 CNF=0时 B0块映射为片内程序空间 复位时 CNF=0 0000 0004 0005 0006 0007 005F 7000700F 7010701F 7020702F 7030703F 7040704F 7050705F 7060706F 7070707F 7080708F 7090709F 70A070BF 70C070FF 7100710E 7200722F 723073FF 74007408 74117419 74207429 742C7431 7432743F 75007508 75117519 75207529 752C7531 7532753F 0060 007F 0800 0FFF 7000 7FFF 0200 02FF 0300 03FF 64字 96B 256B 32B 256B 2K 30K 40K 4K 8 . 数 据 存 贮 器 16 DSP对数据存贮器的寻址可采用间接寻址和按页进行直接寻址 直接寻址时 按128为一页(数据页)对数据存贮器进行寻址 由STO中的DP(9位)确定16位地址的高9位 由指令给出偏移量(7位) 共512页 一般把同一类数据放在同一类页中 0页 地址 0000-007FH 1页 地址 0080-00FFH 2页 地址 0100-017FH . . . 512 地址 FF80- FFFFH 17 3.9 程序存贮器 (1) 程序控制 程序是顺序存放, 顺序执行 以及支持调用、 返回、 复位、 中断 、转移。 顺序执行: PC: 程序地址指针 复位时PC=0000H PC的内容 PAR PAB(总线) CPU获取指令 分支转移指令: 由内部硬件把指令中的跳转地址 (立即寻址或累加 器低16位) PC 子程序调用: 入口地址送PC 同时下一条断点地址送堆栈 堆栈为8级硬件中断 18 软件中断: 向量地址送PC 同时断点地址送堆栈 块传送/表传送: 使PC源地址(目的地址)+1 送微堆栈 用微堆栈(一级深) 保护返回地址(不对用户操作) PRDB总线: 转移或调用时 使用PRDB的转移 调用指令中断时 使用PRDB的中断向量存贮单元 DRDB总线: 在转移和调用累加器低16位规定地址时,使用DRDB 栈顶TOS: 子程序返回 中断返回 栈底MSTACK: 块 表的返回 19 DSP控制器程序地址的产生 下一条程序地址寄存器 程序计数器 PC/NPRR+1 程序地址寄存器 微堆栈表/块移动 程序控制 栈顶 堆栈 8X16 MVX MVX MSTACK 顺序执行框 中断 调用 分支 程序读总线(PRDB) 数据读总线(DRDB) 转移 调用(ACC调用)(ACC转移) 程序地址总线(PAB) 数据写总线(PWEB) PUSH POPD PAR NPAR PC 20 3.10 堆栈 16位宽8级深度的硬件堆栈:硬件在子程、中断、返回时自动返回地址。 用户访问堆栈的两组指令:push pop 对ACC的低位字操作 pushD popD 对数据存贮器的操作 3.11 微堆栈 对块传递、表传递中,首先将PC+1(下一条指令地址) MSTACK 然后让出PC装要传递数据(表、块)的存贮器地址,重复执行完后 MSTACK PC 21 3.12 流水线操作 指令流水线由指令执行期间的操作序列组成:LF240X流水线有4个 独立阶段:取指、降码、取操作数、执行。4个阶段是独立的,可 是重叠执行,因此在任何给定的操作之间,1-4条指令可被激活。 每条指令处于不同阶段。 以单字,单周期指令为例: 时钟 取指 译码 取数 执行 1 2 345 N N-1 N-2 N-3 N+1 N N-1 N-2 N+2 N+1 N N-1 N+3 N+2 N+1 N N 54系列有级流水线 22 3.13 调用 转移: (1)无条件调用:总是被执行,PC装入指定的新地址,并从新地址执行。 无条件转移:在指令到达流水线的执行节拍时,下两条指令已被取出。 这两条指令将从流水线中清除,而不被执行。 调用指令, 返回地址被存贮到堆栈。转移指令没有返回地址 新地址, 来自指令的第二个字。(CALL.B)或累加器底16位。 (CALA,BACC) (2)条件调用:多个条件当条件满足时,中止原程序的顺序流,而从新地址执 行。 条件转移:必须满足能测试最近的状态位。因此,直到流水线的第4阶段,即前一 条指令执行之后,判断条件才是稳定的(前一条指令执行之后的一个周 期)。在稳定之前,流水线停止条件指令之后的任何指令的译码。 *若条件满足后两条已被取出的指令清除,否则不清除继续执行。 *多个条件,多条件组合具有,条件不能任意组合,对两个条件分为A、B类,对三 个条件分为A、B 、C类。条件必须来自不同的类。 *对条件转移,与堆栈无关没有返回地址。对条件调用、转移前,将返回地址送 栈。 23 使用的条件(13个) 条件组合 EQ ACC=0 2条件组合 3类条件组合 NEQ A类 B类 A类 B类 C类 LT ACC0 EQ OV TC C BIO LEQ NEQ NOV NTC NC GT ACC0 LT GEQ LEQ C C=1 GT NC GEQ OV OV=1 NOV TC TC=1 NTC 测试/控制标志 BIO BIO=低 引脚 24 3.14 重复指令: RPT使下一条指令执行N+1次, N为RPT指令操作数,存放在RPTC(重复计数器)中(减1计数器)。 RPT指令执行时,将重复次数N RPTC,PC+1 微堆栈 下一条指令执行时使用PC,每执行一次RPTC的值-1,为0时, 微堆栈 PC,再多执行一次,共N+1次。 3.15 系统配置寄存器 保留 CLK SRC LP M1 LP M0 CLK PS2 CLK PS1 CLK PS0 保 留 位 ADC CLK EN SC1 CLK EN SP1 CLK EN CAN CLK EN EVB CLK EN EVA CLK EN 保 留 1LL ADR (1)系统控制寄存器SCSR1(SYSCR):地址:7018H 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 R-0 RW-0 RW-0 RW-0 RW-1 RW-1 RW-1 R-0 RW-0 RW-0 RW-0 RW-0 RW-0 RW-0 R-0 RC-0 25 14CLK OUT时钟转出引脚选择 O:引脚转出CPU时钟 I :引脚转出看门狗时钟 1312底功耗模式选择 00:CPU进入LMPO模式 01:CPU进入LMP1模式 1X:CPU进入LMP2模式 119PLL时钟倍数多数选择 000: 4 fc 100:0.8fc 001: 2fc 101:0.66fc 010: 1.33fc 110:0.57fc 011: fc 111:0.5fc 72片内摸块时钟使能控制 0:关断时钟,即禁止模块工作 1:使能时钟,正常工作 0无效地址测试位 1:引起NM1中断,测试到对 无效地址的访问时,使位 置1。 0:正常 26 (2)系统状态寄存器SCSR2(SYSSR)。地址7019 15 8 7 6 5 4 3 2 1 0 保留位保留 1/P QUAL WD OVERRIDE XM1F H1-Z BOOT ENMP/MCDONPON 15-7保留 AW-0 RC-1 RW-0 RW-BOOTTEN 引脚 RW-引脚 RW-1 RW-1 6I/O进入时钟限定。(对多功能引脚) CAP1-6、X1NT1、ADCSOC(ADC起动)、PDP1NTA/D、功率,驱动,保护 作I/O使用时,不使用时钟限制。作特殊功能使用时启动时间限制。 0:脉冲5个Tc 1: 脉冲11个Tc 5WD保护位,向本位写1时清0 0:用户不能通过软件禁止WD,只能清0,不能置1 1:复位时的值,用户能够通过软件禁止WD工作。 4外部存贮器接口控制 0:正常模式 1:高阻态 对功能引脚(1/0功能除外)的脉冲要求 27 3引导使能位,反映BOOT EN引脚状态,可由软件改变。 0:使能引导ROM OO-FF 被片内引导ROM块占用,禁止使 用FLASH。 1:禁止引导ROM,片内FLASH映射地址为OOOH-7FFFH 2MP/MC选择,反映引脚状态 0:MC方式 程序在片内 (工作模式) 1:MP方式 程序空间在片外(仿真模式) 1-0 SARAM程序/数据空间选择 00:不映射,SARAM分配到外部存贮器 01:SARAM映射到片内程序空间 10:SARAM映射到片内数据空间 11:SARAM映射到片内程序空间又被映射到片内数据空间。 (复位后的状态) 28 微控制器软件的开发一般需要通过计算机(称 为宿主机)进行。在计算机上进行编辑,交叉 汇编,交叉连接,生成的目标映像,再下载到 目标系统中。目标系统的调试也需要在计算机 上进行, JTAG是下载方法之一。 JTAG接口为PC机与目 标系统之间的通信提供手段。 在线仿真ICE(In Circuit Emulation ) 是另 一种下载方法,用特定插真头(仿真器)插在 CPU插座上。以外部仪器“仿真”CPU芯片的功 能。 3.16 JTAG ( Joint Test Action Group )技术 29 IEEE在20世纪80年代组织了JTAG工作组,1990年发 表了IEEE1149标准, JATE接口成为MPU,MCU,ASIA都支持的技术。 将芯片的所有信号引脚与一个移位输入和输 出的寄存器阵列相对应。由此形成的移位器 好像把整个芯片包围起来,形成芯片的“边界 ”。对移位器的移位操作如同在“扫描”这个边 界。 30 整个移位寄存器只需要一条输入线,一条输出线,一 条时钟线和少量的控制线即可动态的改变移位寄存器 的结构。将一次移位完成时,控制线将输出的移位寄 存器的信号作用在芯片引脚上,或者将引脚的响应输 入到输入移位寄存器。 每向移位器移入一位,相应地也从移位器移出一位, 通过移出的一位就可以了解和监视芯片的运行。 由PC机向目标机的CPU提供一个“虚拟现实”的环境, 达到调试,仿真的目的。 31 举例. 要将32位的整数写入SRAM内存中的特 定地址。 第一步,首先形成一个向量,将与CPU的地址线 相对应的部分设置成给定地址,与数据线相对应的数 据设置为给定数值,将需要的CPU写时序控制线设置成 对应控制线的初值。然后将此向量输入到目标机的移 位寄存器。 第二步,形成第二个向量,与第一个向量基本相 同,仅与时钟线相对应的“时钟位”从1变0。 第三步形成第三个向量,仅时钟脉冲又从0变1。 从而形成“写内存所需要的波形,并为之提供内 容,完成指定操作。 32 同样的道理,可以把程序写入系统闪存,或者 把目标系统内存的内容上传至主机(PC)中。 调试过程中设置“断点”的方法。其实就是在 指定地址放上一条“自陷指令”使CPU在执行 到指定地址时产生一次“自陷”,当然,原地 址的内容必须得到妥善保存,在完成断点需继 续执行时,将保存的内容恢复。 33 3.17 PLL时钟模块 PLL时钟模块由锁相环,石英晶体振荡器,时 钟监控电路,时钟控制电路和预定标器组成。 1. PLL可以对外部时钟频率进行0.54倍的倍频 ,从而得到更高的时钟频率,避免将高频引入 引脚而引起电磁干扰。 2. 但也容易引起躁声干扰,为了避免躁声干扰 ,必须有正确的电路板设计,以保证低抖动。 34 3.措施: (1)外接振荡器时,使导线尽可能的短 ,使环路乘积保持最小。 (2)采用外部振荡器时,XTAL1接外部 振荡源,XTAL2悬空。 (3)PLL需外部RC元件进行回路滤波。 回路滤波元件R1,C1,C2接PLLF和 PLLF2引脚。在PCB图中元件尽可能的 小,且走线尽可能短,否则噪声干扰 会增加抖动。 (4)在PLL Vcc和Vss引脚之间接一个旁 路电容(0.01-0.1uf的陶瓷电容)。 注意旁路电容接最近的Vss. (5)为使干扰最小,可在PLL Vcca到电 源之间接一个10MHZ的T型带通滤波器 。 X1 X2 Vss PLLF PLLF2 PLLVcc Vss VDD F=10M R1 C1 C2 Ca Cb Y1 Cf C 35 4.旁路模式 .复位时,使TRST,TMS,TMS2(仿 真控制引脚)进入低电平,进行旁路模式。 在该模式下,PLL预定标器旁路,且环回控制 不起作用,因此不需要滤波元件, CPU时钟由片外石英振荡器决定。 36 3.18.看门狗 看门狗定时器时钟WDCLK = CLKOUT/512 将低频时钟WDCLK作为看门狗定时器同步时钟。 当CPU时钟为40M时,WDCLK时钟为78.125K。以确保在IDLE1 和IDLE2低功耗模式下,看门狗定时器仍然能继续计数。 WD挂起时,WDCLK时钟停止,通过停止时钟输入来停止WDCLK 。 37 WD的操作 有3个寄存器控制WD。 (1)WDCNTR :(计数器)保存WD的计数值。 地址:7023H (2)WDKE

温馨提示

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

评论

0/150

提交评论