




已阅读5页,还剩247页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP产生 特点及其应用 TMS320C6000系列DSP主要特点及其应用 1 DSP的产生DSP出现之前 实时信号处理大多数采用通用CPU完成 但其处理速度低 无法满足高速实时的要求 随着集成电路技术的不断进步 20世纪80年代初TI公司推出了第一代DSPTMS32010及其系列产品 之后相继推出了以TI公司的TMS32020 TMS320C25 C26 C28为代表的第二代DSP和TMS320C30 C31 C32为代表的第三代DSP芯片 此类DSP主要应用于语音 图像处理 通信及计算机领域 到了20世纪90年代 DSP的发展尤为快速 相继推出了第四代和第五代DSP 该DSP集成度更高 已经成功地把DSP与外围设备集成到单一芯片中 广泛应用于通信 计算机及日常消费领域 2 DSP的特点DSP处理器与英特尔 Intel 或奔腾 Pentium 的通用处理器有较大区别 这些区别在于DSP的结构和指令是专门针对信号处理而设计的 DSP具有以下特点 1 采用哈佛结构 2 流水线技术 3 多总线结构 4 多处理单元 5 采用硬件乘法器 6 寻址方式 7 支持多处理器结构 3 DSP的应用DSP以其特点在各个领域得到广泛应用 作为数字信号处理的核心技术 DSP的应用已经深入到涉及信号处理的航空 航天 雷达 声纳 通信 家用电器等各个领域 成为电子系统的心脏 DSP主要应用于以下方面 1 信号处理 如数字滤波 自适应滤波 快速傅里叶变换 相关运算 谱分析 卷积 模式匹配 加窗 波形产生等 2 通信 如调制解调器 自适应均衡 数据加密 数据压缩 回波抵消 多路复用 传真 扩频通信 纠错编码 可视电话等 3 语音 如语音编码 语音合成 语音识别 语音邮件 语音存储等 4 图像 图形 如二维 三维图像处理 图形压缩 传输 图像增强 机器人视觉技术等 5 军事 如保密通信 雷达处理 声纳处理 导航 导弹精确制导等 6 仪器仪表 如谱分析 锁相环 函数发生 地震处理等 7 自动控制 如引擎控制 声控 自动驾驶 机器人控制等 8 医疗 如助听器 超声设备 病人监护等 9 家用电器 如玩具 游戏 数字电话与数字电视 数码相机等 TMS320C6000系列DSP具有以下特点 2个乘法器 6个算术逻辑单元 ALU 具有8个功能单元的高级VLIW体系结构的CPU 包括2个乘法器和6个ALU 每个周期执行8条指令 是其他DSP系列性能的10倍 允许设计者开发高效率的类RISC代码 从而加快开发进度 指令打包功能 给定代码大小等效于8条指令 可以串行和并行执行 减小代码的大小以及程序取指时间和功耗 所有指令的有条件执行 独立功能单元中代码高效执行 支持40位的算术运算 能够为各种高强度计算和编码提供更高的精度 硬件支持IEEE标准的单精度和双精度指令 定点和浮点DSP系列引脚兼容 下面列出几个具体应用场合 TMS320C6000系列DSP的CPU TMS320C6000系列DSP的存储器 外部存储器接口 定时器 通用输入 输出 I O 端口 主机口HPI 2 1 1TMS320C6000系列CPU的结构TMS320C62x C64x C67x型DSP的结构框图如图2 1所示 TMS320C6000系列有多种存储器和外设配置 大容量片上RAM高达7MB 程序高速缓存 二级高速缓存 32位外部存储器接口 支持SBSRAM SRAM和其他异步存储器 可满足大范围外部存储器要求和最佳系统性能 DMA控制器 无须CPU参与可在存储器映射的不同地址范围间传输数据 DMA控制器有4个可编程通道和1个辅助通道 EDMA控制器 与DMA控制器的功能相同 EDMA有16个可编程通道 还有1个RAM空间为将来所需的传输保持多种配置 HPI主机接口 是并行端口 通过该接口主处理机可以直接访问CPU的存储器空间 这种访问之所以易于实现是因为主机控制该接口 主机和CPU可以通过内部或外部存储器交换信息 此外 主机还可以直接访问存储器空间映射的外设 扩展总线 是替代HPI的设备 也是EMIF的扩展 这种扩展在一个系统中提供了2种完全不同的功能 主机口和I O口 扩展总线的主机口既可以在异步主 从模式下操作 同HPI一样 又可以在同步主 从模式下操作 这就允许器件连接多种主机总线协议 同步FIFO和异步I O外设可以接入扩展总线 MCBSP是基于TMS320C2000和TMS320C5000平台的标准串行接口 该接口可以在DMA EDMA控制器的帮助下 在存储器中自动缓冲串行数据 并可以与T1E1SCSA和MVIP网络标准兼容多个通道 定时器 TMS320C6000器件中的定时器是2个32位通用定时器 功能为事件定时 事件计数 产生脉冲 中断CPU 向DMA EDMA控制器发出同步事件 省电逻辑允许通过降低时钟来减少功耗 CMOS器件的大多数能量消耗发生在电路逻辑状态切换时 禁止部分或者所有的芯片逻辑转换 可以节约相当多的能量而不丢失任何数据或者操作信息 TMS320C62x C67x C64x系列DSP的CPU数据通路分别如图2 2 图2 3和图2 4所示 其数据通路的主要组成部分如下 2个通用寄存器组 A和B 8个功能单元 L1 L2 S1 S2 M1 M2 D1和 D2 2个存储器读取数据通路 LD1和LD2 2个存储器存储数据通路 ST1和ST2 2个数据寻址通路 DA1和DA2 2个寄存器组数据交叉通路 1 和2 1 通用寄存器组TMS320C62x C67xDSP中有16个可用寄存器对支持40位和64位数据 在TMS320C64xDSP中有32个这样的寄存器对 详见表2 1 寄存器前加一个 表示寄存器对 并且指定奇寄存器在前 图2 5所示为寄存器存储40位长整型数据的寄存器存储方案 长整型数据的读操作忽略奇寄存器的最高24位 写操作将奇寄存器的高24位填入0 偶寄存器被编码到操作码中 2 数据通路的功能单元TMS320C6000DSP数据通路中的8个功能单元可以分为2组 每组具有4个单元 每个数据通路中的功能单元与另一个数据通路中对应的单元有几乎相同的功能 功能单元详细描述见表2 2 3 寄存器组交叉通路每个功能单元可以直接对其各自所处的数据通路的寄存器组进行读写操作 即 L1 S1 D1和 M1单元将数据写入寄存器组A L2 S2 D2和 M2单元将数据写入寄存器组B中 2个寄存器组必须通过交叉通路1 和2 与另一侧的寄存器组的功能单元相连 才能达到对另一寄存器组进行操作的目的 交叉通路允许一侧的数据通路功能单元访问另一侧的寄存器组的32位操作数 1 通路允许数据通路A的功能单元从寄存器组B读取它的源操作数 2 通路允许B的功能单元从寄存器组A读取其源操作数 对于TMS320C62x C67xDSP 其8个功能单元中的6个功能单元通过交叉通路访问另一侧的寄存器组 其中 M1 M2 S1和 S2单元的src2输入在交叉通路和自己通路的寄存器组之间可选 对于 L1和 L2 src1和src2输入在交叉通路和自己的寄存器组之间亦可选 4 存储器存取通路在TMS320C62x C67xDSP中有2个32位的通路用于数据从存储器读取到寄存器组中 读取到寄存器组A的通路为LD1 读取到寄存器组B的通路为LD2 TMS320C67x的2个寄存器组A和B还存在第2个32位读取通路 因此允许LDDW指令同时读取2个32位的值到寄存器组A和2个32位值到寄存器组B TMS320C62x C67x中还存在2个32位通路ST1和ST2 分别将2个寄存器组的寄存器数据存入存储器中 5 数据地址通路DA1和DA2资源及相关的数据通路分别表示为T1和T2 T1由DA1地址通路和LD1及ST1数据通路组成 对于TMS320C64x和TMS320C67x LD1包括LD1a和LD1b以支持64位的读取 对于TMS320C64x ST1包括ST1a和ST1b以支持64位的存储 类似的 T2由DA2地址通路和LD2以及ST2数据通路组成 TMS320C64x和TMS320C67x的LD2包括LD2a和LD2b以支持64位的读取 TMS320C64x的ST2包括ST2a和ST2b 支持64位的存储 T1和T2出现在功能单元内用于读取和存储指令 6 TMS320C6000控制寄存器组对控制寄存器组访问的功能单元为 S2 访问控制寄存器的指令为MVC 表2 3列出了TMS320C6000系列DSP的控制寄存器组包含的控制寄存器及其功能描述 1 控制寄存器访问的流水线 时序所有MVC指令在完成访问E1流水线节拍中指明的寄存器时均为单周期指令 无论MVC是将通用寄存器的值移至控制寄存器 还是将控制寄存器的内容移到通用寄存器 均为单周期指令 在所有的情况下 源寄存器内容被读取 通过 S2单元写入到E1节拍所指定的目的寄存器 2 寻址模式寄存器 AMR 模式选择域和BK字段见图2 6 模式选择字段编码见表2 4 表2 5为32种可能的块的尺寸大小计算 3 控制状态寄存器 CSR 控制状态寄存器 CSR 包括控制位和状态位 如图2 7所示 控制状态寄存器各位字段的功能见表2 6 4 E1节拍程序计数器 PCE1 如图2 8所示 E1节拍程序计数器 PCE1 用来保存E1流水线节拍的取指包的32位地址 7 TMS320C67x控制寄存器扩展表2 7所示为TMS320C67x的附加寄存器 寄存器中的OVER UNDER INDEX INVALDENn NANn和DIV0位不会被条件指令为假的指令修改 1 浮点加法配置寄存器 FADCR 浮点加法配置寄存器 FADCR 指出使用 L单元的指令的上溢 下溢 舍入模式 NaNs 非归一化数和不准确结果 FADCR的字段分为两组分别对应L1和L2单元 FADCR的格式如图2 9所示 表2 8列出FADCR各个字段的功能 2 浮点辅助配置寄存器 FAUCR 浮点辅助配置寄存器 FAUCR 的字段用来指出 S功能单元的结果 包括上溢 下溢 舍入模式 NaNs 非归一化数和不准确结果 该字段分为两组分别对应 S1和 S2单元 如图2 10所示为浮点辅助配置寄存器 FAUCR 的格式 表2 9列出了各字段的功能 3 浮点乘法配置寄存器 FMCR 浮点乘法配置寄存器 FMCR 指出使用 M功能单元的指令运算情况 包括上溢 下溢 舍入模式 NaNs 非归一化数和不准确结果 FMCR的字段分为两组分别对应 M1和 M2单元 如图2 11所示为浮点乘法配置寄存器 FMCR 的格式 表2 10列出了FMCR各字段的功能描述 8 TMS320C64x控制寄存器扩展 1 伽罗瓦域先进行普通的整数运算 然后对结果取模2运算 图2 12所示为以2为模的加法 减法和乘法运算 可以用模5运算的例子来说明 图2 13所示为其加 减 乘运算 最后以域GF 23 为例 这个域有8个元素 可以通过多项式取模的运算来产生 该域的元素看起来为3位向量 图2 14所示为域GF 23 的加法和乘法运算 2 伽罗瓦域多项式发生器函数寄存器 GFPGFR GFPGFR的结构如图2 15所示 包括伽罗瓦域多项式发生器和域大小控制位 这些位控制GMPY4指令的操作 这个寄存器只能通过MVC指令设置 GFPGFR各字段描述见表2 11 图2 16所示的阴影部分为程序存储控制器和数据存储器控制器在TMS320C62x C67xDSP结构中的位置 1 片内程序存储器控制器程序存储控制器在TMS320C62x C67xDSP结构中的位置见图2 16 主要完成以下功能 对CPU或者DMA提交的访问内部程序存储器的请求进行仲裁 对CPU提交的通过外部存储器接口访问外部存储器的请求进行处理 当内部程序存储器设置为Cache时进行维护 2 片内程序存储器TMS320C6201 C6204 C6205 C6701的内部程序存储器可以由用户配置为Cache或存储器映射的程序空间 如图2 17所示 它包括64KB的RAM 或者与之相当的2K个256位的取指包或16K个32位的指令 通过程序存储控制器 CPU具备单周期的吞吐量 通过256位宽与内部程序空间相连 TMS320C6202 B C6203 B 的程序Cache空间提供另一种以存储器映射块为操作方式的块存储模式 两块程序存储区可以独立访问 允许对一个存储区进行程序取指的同时在另一个存储区进行DMA访问 如图2 18所示 1 内部程序存储器模式内部程序存储器的Cache映射块可以通过设置CPU控制状态寄存器的PCC位使其工作在以下4种模式 存储器映射模式Cache使能模式Cache冻结模式Cache迂回模式 2 存储器映射表2 12和表2 13所示为TMS320C62x C67x和TMS320C64xDSP的存储器映射 3 CPU地址Cache解析图2 19和图2 20说明了TMS320C6201 C6204 C6205 C6701和TMS320C6202B C6203BCache如何解析CPU的取指包地址 4 DMA对程序存储器的访问控制当片内程序RAM设置为映射模式时 DMA控制器能够对内部程序存储器进行读写操作 在对内部程序存储器进行访问时 如果忽略DMA通道的PRI位的值 CPU的优先级总是高于DMA的 DMA的访问被延缓到CPU停止发送访问请求 在进行DMA访问过程中为了避免在仲裁之后丢失更多的请求 CPU在每个DMA控制器对相同程序存储块进行读取的过程中 存在一个指令周期的等待间隔 1 数据存储器控制器数据存储器控制器在TMS320C62x C67xDSP结构中的位置见图2 16 具有如下功能 对CPU和DMA控制器访问内部数据存储器的申请进行仲裁 对CPU访问EMIF的申请进行处理 作为CPU通过外设总线控制器访问内部集成外设的桥梁 CPU请求数据读并写到内部程序存储器 或者通过外围设备总线控制器的内部集成外设以及EMIF DMA控制器请求对内部数据存储器进行读写 CPU不能通过数据存储控制器访问内部程序存储器 2 内部数据存储器 1 TMS320C6201 C6204 C6205内部数据存储器的结构数据存储器组成见表2 14 同其他块相连的数据存储器控制器框图见图2 21 2 TMS320C6701内部数据存储器的结构TMS320C6701的内部数据存储器容量为64KB 分为两块 占据地址为80000000h 80007FFFh和80008000h 8000FFFFh 便于CPU和DMA控制器或CPU的A和B侧对两块中的数据同时存取而不发生冲突 表2 15和图2 22列出数据存储器组成和连接图 3 内部存储器的双CPU访问CPU和DMA均可以对8位字节 16位字的数据进行读写 数据存储控制器对每个16位的块进行单独的仲裁 尽管是对16位宽的字执行 但块具有字节使能功能以支持字节宽数据的访问 4 内部存储器的DMA访问DMA控制器可以与CPU同时进行对片内数据RAM的访问 只要它们要存取的数据位于不同的块中 或是位于相同块的不同Bank中 如果都要访问同一个存储体 就会产生资源冲突 此时通过设置的DMA CPU优先级来决定访问顺序 TMS320C621x C671x C64x片内存储器的最主要特点是作为高速缓存使用 并且分为level1和level2两级 程序Cache和数据Cache组成共享二级存储器L2 图2 23为TMS320C621x C671xDSP中二级存储器框图 图2 24为TMS320C6000二级缓存框图 1 一级程序Cache L1P L1P是第一级的程序缓冲 它只能用做缓存 不能设置为映射存储器 也没有冻结和直通模式 在结构上L1P是64行的直接映射式缓存 每行大小为64字节 对L1P中数据的申请只能以行为单位 因此每个申请提交的地址中的低6位都将被忽略 接着的6位被看做该地址对应数据在缓存中的映射位置的索引 CPU中32位地址中剩下的位将作为申请数据的唯一的标记 如图2 25所示 最初的CPU对任何一个地址的程序取指令都会产生缺失 此时将转而向L2提出数据请求 返回的数据同时存入L1P中 以后再取该指令时将会产生命中 命中时将在单周期内向CPU返回相应的数据 如图2 26所示为TMS320C62x直接映射缓存框图 2 一级数据Cache L1D 一级数据Cache L1D 是含有64个集的4KB的双路联合集缓存 每行大小为32字节 由于存取的最小单位为字 所以每一个申请提交的地址的最低2位都将被L1D忽略 位2作为字地址 位3和位4作为4个8字节子行的选择子 其后的6位选择缓存中相应的组 地址中剩余的其他位作为申请数据的唯一标示 如图2 27所示 L1D只能作为缓存 不能作为映射的存储器 同时也没有冻结和直通的模式 L1D的结构框图见图2 28 3 二级Cache L2 L1P和L1D都可以对L2二级存储器进行存取操作 当L1P和L1D发生缺失时 首先会向L2发出申请 L2如何回应该请求取决于L2的状态 L2有5种操作模式 取决于CCFG寄存器的设置 图2 29是TMS320C62x的CCFG控制寄存器 表2 16是TMS320C62xCCFG控制寄存器字段的详细描述 例2 1 TMS320C62x C67x设备中16KBSRAM和48KB3路Cache链接实例 TMS320C62x C67x设备中链接命令文件如下 MEMORY L2SRAM origin 00000000hlength 00004000h 存储器L2SRAM的地址范围CE0 origin 80000000hlength 01000000h CE0存储空间的地址范围 SECTIONS cinit L2SRAM 将 cinit段分配到L2SRAM的空间内 text L2SRAM 将 text段分配到L2SRAM的空间内 stack L2SRAM 将 stack段分配到L2SRAM的空间内 bss L2SRAM 将 bss段分配到L2SRAM的空间内 const L2SRAM 将 const段分配到L2SRAM的空间内 data L2SRAM 将 data段分配到L2SRAM的空间内 far L2SRAM 将 far段分配到L2SRAM的空间内 switch L2SRAM 将 switch段分配到L2SRAM的空间内 sysmem L2SRAM 将 sysmen段分配到L2SRAM的空间内 tables L2SRAM 将 tables段分配到L2SRAM的空间内 cio L2SRAM 将 cio段分配到L2SRAM的空间内 external CE0 将 external段分配到CE0的空间内 2 3 1外部存储器接口概述EMIF是外部存储器和TMS320C6000片内其他单元的接口 CPU访问外部存储器必须通过外部存储器接口 EMIF 为各种外部器件提供无缝接口 其数据宽度为32位 可寻址的空间为4GB 数据吞吐能力可以达到932Mb s 支持的器件类型如下 流水线式同步突发RAM SBSRAM 同步动态RAM SDRAM 异步器件 包括SRAM ROM和FIFO等 外部共享存储器 TMS320C620 x C670 x的EMIF通过4种请求器处理外部总线请求 CPU程序取指的片内程序存储器控制器 CPU数据取指的片内数据存储器控制器 片内直接存储器存取控制器 外部共享存储器设备的控制器 通过EMIF仲裁信号 当同时存在多个请求同时到达 EMIF根据优先级进行仲裁并响应各个请求 TMS320C620 x C670 xDSP中的EMIF位置如图2 30的阴影部分 1 TMS320C6201 C6701的外部存储器接口图2 31为TMS320C6201 C6701外部存储器接口信号图 表2 17为接口信号的详细说明 2 TMS320C621x C671x外部存储器接口TMS320C621x C671x的EMIF接口信号如图2 32所示 表2 18为TMS320C621x C671x的EMIF接口信号说明 TMS320C621x C671x的EMIF接口信号具有如下的特点 所有与TMS320C621x C671x接口的存储器必须在ECLKOUT下工作 SDRAM SBSRAM和异步信号合并复用 因为不需要进行后台刷新 一个系统允许同时包括这3个存储器类型 与TMS320C620 x C670 x不同 TMS320C621x C671xEMIF的CE1空间支持所有的3种类型的存储器 同步存储器接口使用一个可以优化为两级缓存结构的4字脉冲长度 SDRAM接口更加灵活 支持更为广泛的SDRAM配置 取消了SDA10信号引脚 当设计SDRAM接口时 地址引脚EA 12 可以用做SDA10引脚功能 3 TMS320C64x外部存储器接口图2 33是TMS320C64x的EMIF接口信号 表2 19是TMS320C64x的外部存储器接口信号说明 同时增加了如下特性 EMIFA的数据总线宽度为64位 EMIFB的数据总线宽度为16位 EMIF的时钟ECLKOUTx基于EMIF的输入时钟在片内产生 器件复位时 用户可以配置以下3个时钟之一作为EMIF时钟 1 4 内部CPU时钟 1 6 内部CPU时钟或者ECLKIN 与TMS320C64xEMIF接口的所有存储器都应该工作在ECLKOUTn下 ECLKOUT1等于EMIF的输入时钟频率 ECLKOUT2频率可以通过编程配置为EMIF输入时钟频率的1 2或4分频 更加灵活的可编程同步存储器控制器取代SBSRAM控制器 同步控制引脚取代了SBSRAM控制引脚 引脚提供了外部设备到外部设备的传输 EMIF以及支持的存储器接口控制是通过设置EMIF中存储器映射的寄存器来控制的 表2 20为EMIF存储器映射的寄存器 1 EMIF全局控制寄存器 GBLCTL 全局控制寄存器 GBLCTL 用来设置整个CE空间的公共参数 GBLCTL的结构如图2 34所示 表2 21为全局控制寄存器各字段的详细说明 2 EMIFCE空间控制寄存器 CECTL TMS320C620 x C670 x的空间控制寄存器如图2 35所示 表2 22为其各字段的详细描述 3 EMIFSDRAM控制寄存器 SDCTL TMS320C620 x C670 x的SDRAM控制寄存器 SDCTL 结构如图2 36所示 SDCTL各字段的详细说明见表2 23 4 EMIFSDRAM时序寄存器 SDTIM 图2 37为EMIFSDRAM时序寄存器 SDTIM 表2 24为EMIFSDRAM时序寄存器的 SDTIM 字段说明 5 EMIFSDRAM扩展寄存器 SDEXT SDRAM扩展寄存器的结构如图2 38所示 表2 25为SDRAM扩展寄存器字段的说明 SDRAM扩展寄存器 SDEXT 允许对SDRAM的许多参数进行编程设置 只有TMS320C621x C671x C64x具有SDEXT寄存器 可编程属性具有以下优点 1 允许对各种SDRAM的接口操作 且不仅仅局限于少数配置或速度 2 允许EMIF实现来自外部SDRAM无缝数据传输 EMIF所支持的SDRAM的控制命令见图2 39 表2 26为SDRAM控制命令的信号真值表 注 表中组 Bank 组地址 行 Row 行地址 列 Col 列地址 L 低 H 高 模式 模式选择 X 前面值 16位RMIF包括TMS320C64xBEMIFB32位EMIF包括所有的TMS320C621x C671xEMIF64位EMIF包括TMS320C64xBEMIFA 对于TMS320C64x 高地址位在ACTV命令期间用来区分non PDT传输 其他访问期间保持前输出值 TMS320C62x C67x没有SDCKE信号 TMS320C62x C67x为了以后使用高地址位 将其保留 未定义 TMS320C620 x C670 x采用SDA10 TMS320C621x C671x采用EA12 图2 40和图2 41给出16Mb和64Mb的SDRAM接口 TMS320C620 x 670 x允许对SDRAM的列进行编程 每个CE空间一次只能打开一页 表2 27列出TMS320C620 x 670 x所有可用的SDRAM配置 1 SDRAM初始化当某一个CE空间设置为SDRAM空间后 必须先进行初始化 用户只需向EMIFSDRAM控制寄存器中的INIT位写入1即可 整个过程步骤如下 1 向所有设置为SDRAM的CE空间发出DCAB命令 2 发出8个刷新命令 3 向所有设置为SDRAM的CE空间发出MRS命令 2 页面边界监测当访问SDRAM时 比较地址位数以决定页是否打开 比较的地址位数取决于EMIFSDRAM控制器中SDWID位的设置 如果SDWID为0 该CE空间被配置为SDRAM页面大小为512单元 NCB 比较的逻辑字节地址是25 11 如果SDWID为1 该CE空间由页面大小为256单元 NCB 的SDRAM构成 比较的逻辑字节地址是23 10 如果发现存取访问发生了页面越界 EMIF会自动执行DCAB操作 然后开始新的行访问 TMS320C620 x C670 x逻辑地址到页面寄存器映射如图2 42所示 3 地址移位因为行地址与列地址输出使用相同的EMIF引脚 因此EMIF接口要对行和列地址进行相应的移位处理 表2 28列出了字节地址位之间的关系及引脚行列地址形式 4 SDRAM刷新EMIFSDRAM控制器将SDRAM刷新请求和其他由EMIF发出的数据访问请求区分优先级 有如下规定 1 计数器的值为11时 为紧急刷新状态 此时页面信息寄存器将会变为无效 迫使控制器关闭当前的SDRAM页面 然后EMIFSDRAM控制器在DCAB命令后执行3次REFR命令 使计数器减为00 再继续完成剩下的存取操作 2 在SDRAM接口的闲置时间里 如果没有EMIF发出的请求 SDRAM接口执行REFR命令直到计数器的值为非零 对于复合CE空间中的SDRAM 这种刷新只发生在所有接口都为无效页面信息的情况 5 模式寄存器的设置当设置了存储器控制寄存器的INIF位时 EMIF就会自动的跟随模式控制寄存器MRS指令完成DCAB指令 INIT位可以被器件复位或者用户设置 同DCAB和REFR指令一样 MRS指令在所有的CE空间里完成 并且由存储器类型位配置成SDRAM MAR命令之后 INIT位立即清零 以免产生多个MAR周期 在MAR命令执行的时候 模式寄存器常值为0030h 如图2 43所示为模式寄存器结构 图2 44所示为EMIF管脚和模式寄存器值时序 6 时序要求很多SDRAM时序参数减少了对EMIF速度的限制 对于C620 x C670 x 它们当中的3个参数可以通过外部存储器接口的SDRAM控制寄存器来编程 其余两个被假设成为静态值 如表2 29所示为C620 x C670 xSDRAM的时序参数 EMIF对SDRAM的控制遵循3个最小时间的要求 这是由3个可编程的参数保证的 7 SDRAM读操作在SDRAM的读操作过程中 被选定的寄存器组的行地址在ACTV命令中是激活的 图2 45所示是在3个不同的列地址完成3次读操作的时序 8 SDRAM写操作所有的SDRAM写的突发长度固定为1 在写之前 由ACTV命令激活有关的行地址 在写时没有时间延迟 所以在输出列地址的同时输出数据 如图2 46所示是TMS320C620 x C670 x的SDRAM写时序图 SBSRAM是同步突发静态存储器 可以进行高速存储器接口而不像SDRAM上那样限制 优点在于读写速度快 而且是静态RAM 不需要刷新 SBSRAM的工作频率为CPU时钟频率或一半 通过设置EMIF的全局控制寄存器的SSCRT位来选择 EMIF与SBSRAM的接口控制信号如图2 47所示 1 SBSRAM读操作图2 48显示了TMS320C620 x C670 xSBSRAM4字的读时序 每个存取选通一个SBSRAM的新地址 通过将SSADS置为低来实现 第一个存取需要滞后两个周期再开始 此后 所有存取发生在单一的EMIF时钟周期内 2 SBSRAM写操作图2 49显示了SBSRAM的写操作时序 每一个存取会选通一个SBSRAM的新地址 第一次存取需要延迟两个周期 此后 所有的存取发生在单一的EMIF时钟周期内 异步接口提供了与多种存储器和外部设备接口的可配置的存储器周期类型 包括SRAM EPROM和Flash存储器 同样也包括FPGA和ASIC的设计 表2 30为异步接口的信号 图2 50为标准的SRAM接口 对于TMS320C620 x C670 x 虽然ROM可以嵌入在任何CE空间 但一般都用在CE1上 因为此空间被低于32位ROM配置 1 TMS320C620 x C670 xROM模式EMIF总是先读取较低地址的数据 将其排在LSB 再读取下一个数据 依次放在较高的字节位置 这意味着 不论用户将芯片的LENDLAN位设置为何值 ROM中数据的存放必须是小端模式的 图2 51为不同宽度的异步存储器的字节地址映射 1 8位ROM模式在8位ROM模式下 地址左移2位以在EA上产生一位地址用于访问一个字节的ROM EMIF通常将4个排列在4字节边界中的连续的字节合并成一个字访问 而不考虑访问空间的大小 比如1个字节的读取会导致EMIF对外部总线的4个字节的访问 但只有1个字节从EMIF返回到申请器 这些以如下地址顺序取回 4N 4N 1 4N 2 4N 3 字节从MSB到LSB被合并成32位字 顺序如下4N 3 4N 2 4N 1 4N 2 16位ROM模式在16位ROM模式下 地址左移2位以在EA上产生半字地址用于访问16位的ROM EMIF通常将2个排列在4字节边界中的连续的字节合并成一个字访问 半字以如下的地址顺序被取回 4N 4N 2 半字从最高位半字到最低位的半字依次被合并成一个32位的字 顺序如下 4N 2 4N 2 其可编程ASRAM参数EMIF允许高度的可编程用来异步访问 可编程的参数如下 建立时间 Setup 从存储器访问周期开始到读 写选通有效之前 猝发时间 Strobe 读 写选通从无效到有效 保持时间 Hold 从读 写选通无效到该访问周期结束 根据CPU时钟周期 这些参数通过EMIFCE空间上的控制寄存器进行编程 ASRAM的最小值 Setup 1 0看做1 Strobe 10 0看做1 Hold 0 图2 52显示了异步读操作的建立 猝发及保持时间参数的进程 3 异步写操作图2 53所示为异步写操作时序 ARDY信号被置高 建立 猝发 保持时间被编程为2 3 1 图2 54显示了有缝同步FIFO接口 标准的同步FIFO读图2 55为从标准的同步FIFO读取C64x的6个字节 标准同步FIFO写入图2 56为TMS320C64x的6个字节写入FIFO HOLD接口用于外部设备与EMIF共享外部总线 EMIF对挂起外部总线的申请做出相应 使用了3种信号 HOLD HOLD申请输入信号 该信号在片内由CPU时钟同步 HOLDA HOLD相应输出信号 EMIF在将有关的输出置为高后 输出HOLDA有效 通知外部设备使用总线 BUSREQ 总线请求输出 仅限于TMS320C6211 C6711 当EMIF正在处理有关申请或者有申请正在等侯处理时 BUSREQ变有效 1 TMS320C620 x C670 x存储器申请优先级TMS320C620 x C670 x提交给EMIF的存储器申请有多种 表2 31给出了这些优先级的顺序 根据DMA控制寄存器中PRI位的设置 DMA的优先级不同 2 TMS320C621x C671x C64x存储器申请优先级有更少的申请接口 应将数据存储器控制器 DMC 程序存储器控制器 PMC 和EDMA的访问申请都转由EDMA控制器处理 优先级见表2 32 1 C621x C671x C64x控制寄存器TMS320C621x C671x C64x控制寄存器有了更多简化 如图2 57和图2 58所示分别为TMS320C621x C671x和TMS320C64x的全局控制寄存器结构 TMS320C621x C671x C64x的CEx空间控制寄存器做了少许调整 MTYPE 读保持和写保持3个控制字段都增加了1个位 图2 59为TMS320C621x C671x C64x的CEx空间控制寄存器结构 MTYPE的设置对所有类型的存储器都支持8 16和32位宽度的接口 2 TMS320C621x C671x C64x接口 1 SDRAM接口TMS320C621x C671x的SDRAM接口与TMS320C620 x基本相同 2 SBSRAM接口TMS320C621x C671x的SBSRAM接口与TMS320C620 x的接口基本相同 区别是C621x C671x对SBSRAM的存取必须在突发模式下 SBSRAM的ADV信号必须固定接低 3 异步接口TMS320C621x C671x C64x在任何CE空间上宽度低于32位 与TMS320C620 x类似 除了当信号已经被SDRA和SBSRAM结合 ASRAM接口相同和不同点对比见表2 33 2 4 1概述TMS320C6000系列DSP在片内集成了2个32位的通用定时器 可以实现 事件计数 事件定时 产生脉冲信号 产生CPU中断信号 产生DMA同步事件 使用内部时钟 定时器的输出可以启动一个外部的A D转换器 或者触发DMA控制器开始一次数据传输 利用外部时钟可以对外部时间进行计数 然后在一定数量的外部事件之后中断CPU 定时器的模块如图2 60所示 1 定时器控制寄存器 CTL 图2 61所示为TMS320C62x C67x和TMS320C64x定时器的控制寄存器结构 表2 34详细描述了控制寄存器字段 2 定时器的周期寄存器 PRD 定时器的周期寄存器存储定时器的输入时钟的计数周期值 此值控制TSTAT的频率 定时器的周期寄存器 PRD 结构见图2 62 表2 35为周期寄存器的字段说明 3 定时器的计数寄存器 CNT 定时器的计数寄存器 CNT 在其能够计数时开始增加 在达到定时器周期寄存器中的值后 定时器计数寄存器在下一个CPU时钟是被置0 定时器的计数寄存器 CNT 结构如图2 63所示 表2 36为定时器的计数寄存器的字段说明 定时器的运行状态包括启动 暂停和重新启动等 由GO和两个控制位来决定 见表2 37 定时器计数以CPU时钟频率运行 但计数是在定时器计数使能信号从低变为高时才开始 每次电平转换被检测出 一个CPU时钟宽的时钟脉冲就产生 对于用户而言 计数器就像是由输入时钟产生的使能信号驱动进行计数 图2 64和图2 65分别为脉冲模式和时钟模式下的操作 以下几种边界情况会对定时器的工作产生影响 周期寄存器的计数寄存器的值全部为0 在设备复位后并且在定时器启动之前 TSTAT保持为0值 如果在周期寄存器和计数寄存器中的值都是0值的情况下启动定时器 TSTAT的值会出现几种情况 如果是设置为脉冲模式 那么无论定时器是否挂起 始终TSTAT 1 在时钟模式下 如果HLD 1 则TSTAT保持以前的值不变 如果HLD 0 TSTAT的值根据1 2倍CPU时钟频率变化 计数器溢出 如果在定时器计数寄存器中初始化的值超过了定时器周期寄存器中的值 定时器在计数时 会首先计数到最大值 FFFFFFFFh 然后转为0 然后再继续计数 对运行中的定时器进行寄存器写入操作 对于定时器计数寄存器 写入的值作为更新值 对于定时器控制寄存器 定时器的状态决定其更新值 脉冲模式下周期值设置太小 在脉冲模式下当定时器周期 PWID 1 时会引起TSTAT一直保持为高电平的情况 图2 66为通用输入 输出 I O 端口框图 表2 38为通用输入 输出 I O 的寄存器设置 1 GPIO使能寄存器 GPEN GPIO使能寄存器可以使GPIO引脚完成通用输入 输出功能 在通用输出 输入模式下 使用任一GPx引脚 相应的GPxEN位必须置为1 图2 67具体描述了GPIO使能寄存器的结构 表2 39为GPIO使能寄存器位字节说明 2 GPIO方向寄存器 GPDIR GPIO方向寄存器 GPDIR 决定某一给定的GPIO引脚是输入还是输出 相应的GPIO信号通过GPxEN位使能 这样GPIO方向寄存器才能有效 默认情况下引脚设置为输入引脚 GPDIR结构如图2 68所示 表2 40为GPDIR字段说明 3 GPIO赋值寄存器 GPVAL GPIO赋值寄存器 GPVAL 表示给定的GPIO引脚驱动的数值 或给定GPIO引脚上检测到的值 GPIO赋值寄存器如图2 69所示 表2 41为GPIO赋值寄存器字段说明 4 GPIO差值寄存器 GPDH GPDL GPIO差值寄存器高位寄存器表示给定的GPIO输入是否从低到高变化 类似的 GPIO差值寄存器低位寄存器表示给定的GPIO输入是否从高到低变化 GPIO差值寄存器 GPDH GPDL 结构图见图2 70和图2 71 字段说明见表2 42及表2 43 5 GPIO屏蔽寄存器 GPHM GPLM GPIO高屏蔽寄存器 GPHM 和GPIO低屏蔽寄存器 GPLM 可使能一个给定的通用输入并且产生一次CPU中断 或者产生一次EDMA事件 如果一个GPHM或者GPLM位被禁止 与之相应的GPx引脚上的数值或突变将不会引起一次CPU中断或产出一次事件 如果屏蔽位被启用 GPIO全局控制寄存器选择中断模式 相应的GPx引脚会引起一次中断或一次事件 GPIO屏蔽寄存器 GPHM GPLM 结构见图2 72和图2 73 字段说明见表2 44及表2 45 6 GPIO全局控制寄存器 GPGC GPIO全局控制寄存器 GPGC 设定通用的输入 输出外设的中断 事件的产生 GPIO全局控制寄存器 GPGC 结构见图2 74 表2 46为GPIO全局控制寄存器 GPGC 字段描述 7 GPIO中断极性寄存器 GPPOL GPIO中断极性寄存器 GPPOL 选择GPINTx中断 事件的极性 在直通模式下 GPIO全局控制寄存器 GPGC 的GPINT0M必设为 0 才能使用GPINT0 GPIO中断极性寄存器 GPPOL 结构见图2 75 表2 47为中断极性寄存器 GPPOL 字段描述 GPIO信号的突变在GPIO差值寄存器体现出来 相应的输入从低到高 GPxDH设为 1 同理 输入从低到高变化时 GPIO低位寄存器的GPxDL设为 1 图2 76为GPIO的边沿检测逻辑 主机口HPI是一个16位的并行接口 外部主机通过HPI直接访问CPU的存储空间 包括映射的外围设备 外部主机是该接口的主控方 主机与CPU可以通过外部或者内部存储器交换信息 还可以直接访问TMS320C6000片内存储器映射的外围设备 HPI与CPU存储空间的连接是通过DMA EDMA控制器来实现的 HPI存取的接口由一套寄存器实现 HPI控制寄存器HPIC完成对接口的设置 主机和CPU都可以访问HPIC 外部主机进一步通过主机地址寄存器HPIA和主机数据寄存器访问CPU存储空间 主机对这些寄存器的访问是通过外部的控制信号实现的 TMS320C6000系列DSP指令集 流水线 汇编伪指令 1 指令和功能单元之间的映射TMS320C6000汇编语言的每一条指令只能在特定的功能单元执行 从而形成了指令与功能单元之间的映射关系 表3 1为TMS320C62x C67x C64x指令映射到功能单元 2 延迟时隙TMS320C62x的所有指令都适用于TMS320C67x 但是有一些特定的指令仅对TMS320C67x适用 这些指令中包括双精度浮点类型加法 减法 乘法 比较以及32位的整数乘法等 它们的功能单元等待时间大于1 即占用功能单元的CPU周期数大于1 例如 ADDDP指令的功能单元等待时间为2 在第i和i 1周期读取操作数 因此只能在第i 2周期开始执行下一条指令 而非i 1周期 因为ADDDP指令的延迟时隙为6 所以其结果只能在第i 7周期读取 表3 2和表3 3为TMS320C62x和TMS320C67x的各种指令的延迟时隙和功能单元等待时间 3 并行操作CPU运行时总是一次取8条指令 组成一个取指包 取指包的基本格式如图3 1所示 取指包由256位边界定位 1 取指包完全串行P位模式 如图3 2所示 此模式下的执行顺序如表3 4所示 2 取指包完全并行P位模式 如图3 3所示 此模式下的执行顺序如表3 5所示 3 取指包部分串行P位模式 如图3 4所示 此模式的执行结果如表3 6所示 此例指令包的指令如下 instructionAinstructionBinstructionC instructionD instructionEinstructionF instructionG instructionH 4 条件操作creg的编码在指令操作码中如表3 7所示 5 资源限制 1 使用相同功能单元指令的限制下面的执行包是无效的 ADD S1A0 A1 A2 SHR S1A3 15 A4 S1被两条指令同时使用下面的执行包是有效的 ADD L1A0 A1 A2 SHR S1A3 15 A4 使用两个不同功能单元 2 使用交叉通路的限制下面的执行指令包是无效的 ADD L1XA0 B1 A1 MPY M1XA4 B4 A5 1 同时被两条指令使用下面的执行指令包是有效的 ADD L1XA0 B1 A1 MPY M2XB4 A4 B2 使用了1 和2 两条通路 3 数据读 写的限制使用相同的寄存器组作为目的地址 源地址的两条读 写指令不能被安排在同一个执行指令包中 同时 数据读写使用的地址寄存器必须与所使用的功能单元处于同一个数据通路 下面执行指令包无效 LDW D1 A0 A1 LDW D2 A2 B2 D2必须用B组的寄存器作为地址指针下面的执行指令包有效 LDW D1 A0 A1 LDW D2 B0 B2 寄存器所在组正确 将数据读入 或者存储自 相同寄存器组的两条读 或者写 指令 将数据读入到和存储自相同寄存器组的两条读和写指令不能安排在同一个执行指令包中 下面的执行指令包无效 LDW D1 A4 A5 STW D2A6 B4 读入到 存储自同一寄存器组下面的执行指令包有效 LDW D1 A4 B5 STW D2A6 B4 读入到 存储自不同寄存器组 4 使用长定点型 40位 数据的限制 S和 L单元共用一套为长定点型的源操作数准备的读寄存器通路和为长定点型的结果准备的写寄存器通路 所以每一个执行包只能允许每一寄存器组处理一个长定点类型数据 下面的执行指令包无效 ADD L1A5 A4 A1 A3 A2 SHL S1A8 A9 A7 A6 两个长数据写入同一组下面的执行指令包有效 ADD L1A5 A4 A1 A3 A2 SHL S2B8 B9 B7 B6 每一组一个长整型数据 因为 S和 L单元的一个长数据读通路与数据存储通路共用 所以涉及到同一 S或者 L单元的长数据读和存储操作不能安排在同一个执行包中 下面的执行指令包无效 ADD L1A5 A4 A1 A3 A2 STW D1A8 A9 长数据读操作与存储操作冲突下面的执行指令包有效 ADD L1A4 A1 A3 A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 栀子炒焦炮制技术
- 离婚财产分割协议中遗产继承补充条款
- 夫妻双方共同债务承担及房产过户补充协议范本
- 《个性化定制离婚协议模板:财产分割与子女监护》
- 高新技术企业员工待岗及薪酬保障协议
- 竞业限制及保密协议范本:离职员工竞业限制细则
- 离职员工竞业限制协议及违约责任认定范本
- 高端设备研发成果保密及技术转移合同模板
- 绿色环保住宅小区物业服务合同履行环境质量担保书
- 精美的古风课件
- 热压机说明书范文
- 企业创新体系建设课件
- 全文《中国式现代化》PPT
- 家蚕饲养技术课件
- 园林绿化景观施工组织设计概述
- Britax宝得适百代适儿童汽车安全座椅推车婴童用品全线产品介绍
- 10kV高压开关柜验收规范标准详
- 英才学院《机械工程测试技术》课件07振动的测试
- 生药学-绪论-第一章
- 2019版外研社高中英语选择性必修二单词默写表
- 第一讲 ASPEN Plus使用入门课件
评论
0/150
提交评论