TMS320C5416结构与工作原理ppt课件

上传人:钟*** 文档编号:5853221 上传时间:2020-02-09 格式:PPT 页数:111 大小:7.04MB
返回 下载 相关 举报
TMS320C5416结构与工作原理ppt课件_第1页
第1页 / 共111页
TMS320C5416结构与工作原理ppt课件_第2页
第2页 / 共111页
TMS320C5416结构与工作原理ppt课件_第3页
第3页 / 共111页
点击查看更多>>
资源描述
TMS320C54x结构与工作原理 1 主要内容 DSP芯片组成中央处理器总线结构存储系统片内外设和引脚中断系统 2 DSP的硬件结构 特点运算速度快组成CPU存储器系统片内外设其他功能模块 3 C54x芯片的基本结构 CPU 片内存储器 串行通信接口 PLL JTAG HPI 通用I 0口 中断系统 Timer 其他硬件电路 可编程分区转换逻辑 软件可编程等待状态发生器 4 TMS320C5416的硬件结构框图 5 中央处理器CPU 40位算术逻辑运算单元ALU40位累加器A和B桶形移位寄存器 支持 16至31移动范围乘法 累加器16位暂存器T16位传输寄存器TRN比较 选择和存储单元CSSU指数编码器CPU状态和控制寄存器 6 7 CPU状态和控制寄存器 状态寄存器0 ST0 主要反映处理器的寻址要求和计算机的运行状态状态寄存器1 ST1 主要反映处理器的寻址要求 计算初始状态的设置 I O及中断的控制等 处理器工作模式状态寄存器 PMST 主要设定和控制处理器的工作方式和存储器的配置 反映处理器的工作状态由于三个寄存器都是存储器映射的 他们都能存储到数据存储器或从数据存储器中获得 它们也能用子程序或中断服务子程序 ISR 保存或恢复 8 1 状态寄存器0 ST0 主要反映处理器的寻址要求和计算机的运行状态 ARP ARP 辅助寄存器指针 用来选择使用单操作数间接寻址时的辅助寄存器AR0 AR7 TC TC 测试 控制标志 用来保存ALU测试操作的结果 C C 进位标志位 用来保存ALU加减运算时所产生的进 借位 OVA B 累加器A B的溢出标志 用来反映A B是否产生溢出 DP DP 数据存储器页指针 用来与指令中提供的7位地址结合形成1个16位数据存储器的地址 9 2 状态寄存器1 ST1 主要反映处理器的寻址要求 计算初始状态的设置 I O及中断的控制等 BRAF 块重复操作标志位 用来指示当前是否在执行块重复操作 BRAF 0表示当前不进行重复块操作 BRAF 1表示当前正在进行块重复操作 CPL 直接寻址编辑方式标志位 用来指示直接寻址选用何种指针 CPL 0选用数据页指针DP的直接寻址 CPL 1选用堆栈指针SP的直接寻址 XF 外部XF引脚状态控制位 用来控制XF通用外部输出引脚的状态 执行SSBXXF 1XF通用输出引脚为1 执行RSBXXF 0XF通用输出引脚为0 HM 保持方式位 响应HOLD信号时 指示CPU是否继续执行内部操作 HM 0CPU从内部程序存储器取指 继续执行内部操作 HM 1CPU停止内部操作 INTM 中断方式控制位 用于屏蔽或开放所有可屏蔽中断 INTM 0开放全部可屏蔽中断 INTM 1禁止所有可屏蔽中断 0 保留位 未被使用 总是读为0 OVM 溢出方式控制位 用来确定累加器溢出时 对累加器的加载方式 OVM 0将运算的溢出结果直接加载到累加器中 OVM 1当正溢出时 将007FFFFFFFH加载累加器 当负溢出时 将FF80000000H加载累加器 SXM 符号位扩展方式控制位 用来确定数据在运算之前是否需要符号位扩展 SXM 0数据进入ALU之前禁止符号位扩展 SXM 1数据进入ALU之前进行符号位扩展 C16 双16位 双精度算术运算方式控制位 用来决定ALU的算术运算方式 C16 0ALU工作在双精度算术运算方式 C16 1ALU工作在双16位算术运算方式 FRCT 小数方式控制位 用来确定乘法器的运算方式 FRCT 1乘法器的输出左移一位 消除多余的符号位 CMPT 间接寻址辅助寄存器修正方式控制位 用来决定ARP是否进行修正 CMPT 0在进行间接寻址单操作数时 不修正ARP CMPT 1在进行间接寻址单操作数时 修正ARP ASM 累加器移位方式控制位 为某些具有移位操作的指令设定一个从 16 15范围内的移位值 10 3 工作方式状态寄存器PMST 主要设定和控制处理器的工作方式和存储器的配置 反映处理器的工作状态 中断向量指针 CPU工作方式选择位 RAM重复占位标志 地址可见控制位 数据ROM映射选择位 时钟输出选择位 乘法饱和方式位 存储饱和位 11 IPTR 用来指示中断向量所驻留的128字程序地置 MP MC 用来确定是否允许使用片内ROMOVLY 用来决定片内DARAM是否映射到程序空间 AVIS 用来决定是否可以从器件地址引脚线看到内部程序空间地址线 DROM 用来决定片内程序存储器是否可以映射到数据空间 CLKOFF 用来决定时钟输出引脚CLKOUT是否有信号输出 SMUL 用来决定乘法结果是否需要进行饱和处理 SST 用来决定累加器中的数据在存储到存储器之前 是否需要饱和处理 12 算术逻辑运算单元 40位ALU ArithmeticLogicUnit 配合累加器A和B 执行算术 逻辑运算 布尔运算功能 绝大多数算术逻辑运算指令都在一个周期内完成 一个运算操作在ALU执行后 运算的结果一般被送到累加器A或B中 执行存储操作指令ADDM ANDM ORM XORM除外 13 ADD AR1 A 14 ALU的输入移位器输出 32位或16位数据存储器操作数或者移位后累加器的值 数据总线DB的数据存储器操作数 Y端的输入来自下列3个方向中的一个 累加器A或B 数据总线CB的数据存储器操作数 T寄存器的数据ALU的输出ALU的输出为40位 被送入累加器A或B 15 ALU溢出处理和ST1中的OVM有关 发生溢出时后 溢出标志位OVA或OVB置位 直到复位或执行溢出条件指令时恢复 ALU进位位ALU的进位位C受大多数算术指令影响 包括循环和移位指令 进位位可以用来支持扩展精度的算术运算 进位位不受累加器装载 逻辑运算 其他非算术指令或控制指令影响 所以它还可以用来进行溢出管理 根据进位位的值 可以利用条件操作指令C和NC来进行分支转移 调用或返回操作 利用指令RSBX SSBX或硬件复位来对进位位置位 16 双16位算术运算CPU状态寄存器ST1的C16如果处于置位状态 用户就可以让ALU在单周期内进行特殊的双16位算术运算 即进行两次16位加法或两次16位减法 举例DADSTLmen dst C16 1则 Lmem 31至16 T dst 39至16 Lmem 15至0 T dst 15至0 C16 0则 dst Lmem T 16 T 17 累加器A和B 累加器 accumulator A和B都可以配置成乘法器 加法器或ALU的目的寄存器 在执行MIN和MAX指令或者并行指令LD MAC时 一个累加器执行数据加载 另一个累加器执行运算 18 累加器A和B都可以匹配成乘法器 加法器或ALU的目的寄存器A B 可用PSHM或POPM指令将它们压栈或出栈AGAHALBGBHBL保存累加器的内容累加器移位和循环移位SFTA SFTL SFTC ROL ROR ROLTC饱和处理累加器内容专用指令 19 桶形移位寄存器 C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标 在ALU运算前 对来自数据存储器的操作数或者累加器的值进行预定标执行累加器的值的一个逻辑或算术运算对累加器的值进行归一化处理对存储到数据存储器之前的累加器的值进行定标它能将输入数据进行0 31位的左移和0 16位的右移 所移动的位数可由ST1中的ASM或被指定的暂存器T决定 ADDA 4 B 累加器A右移4位后加到累加器BADDA ASM B 累加器A按ASM规定的移位数移位后加到累加器BNORMA 按T寄存器中的数值对累加器归一化 20 21 乘法 累加器 C54x的MAC是由乘法器 加法器 符号控制 小数控制 零检测器 舍入器 饱和逻辑和暂存器几个部分组成 MAC具有强大的乘法 累加运算功能 可在一个流水线周期内完成1次乘法运算和1次加法运算 在数字滤波以及自相关等运算中 使用MAC可以大大提高系统的运算速度 举例MPY 1234H A XM来自于T YM来自于DBMPYAB XM来自于T YM来自于AMACP AR2 pmad A XM来自于DB YM来自于PB 22 DSPRequiresMultiplyandAccumulate 23 24 比较 选择和存储单元 C54x的选择 比较 存储单元 CSSU 是一个特殊用途的硬件电路 专门用来完成Viterbi算法中的加法 比较 选择 ACS 操作 从累加器 32bit 选择出较大的字 16bit 并存储在数据存储器中CCS单元由比较电路COMP 状态转移寄存器TRN和状态比较寄存器TC组成 25 26 CMPSA AR1 如果A 31 16 A 15 0 则A 31 16 AR1 TRN左移1位 0 TRN 0 0 TC 否则A 15 0 AR1 TRN左移1位 1 TRN 0 1 TC TRN状态转移寄存器 TC测试控制寄存器 If M1 D1 M2 D2 thenN1 M1 D1ElseN1 M2 D2 27 指数编码器 指数编码器是一个在单周期内完成EXP指令的专用硬件 其结构如图2 8所示 该指令获得累加器中的指数值并以二进制补码的形式 8至31 把它存储到T中 为消除多余符号位而将累加器中的数值左移 其左移的位数和累加器指数值冗于符号位 8有关 当累加器的值超过32位时 这个结果为负数 28 举例EXPA T把累加器A的指数 TSTT EXPONENT 保存指数 T 到数据存储区NORMA 归一化寄存器A 依靠T的值移动累加器A的值 若 40位累加器A中的定点数FFFFFFF001 则 1111111111111111111111111111000000000001 1111111110000000000010000000000000000000 则 T 27 8 19 则 NormA 需要左移19位 结果如下 29 总线结构 C54x系列DSP的总线结构是由8条16位总线构成 4条程序 数据总线和4条地址总线 程序总线PB 传送来自程序存储器的指令和立即数 数据总线CB DB EB 连接各个功能单元 如CPU 数据地址产生逻辑 程序地址产生逻辑 片内外设和数据存储器 CB DB传送来自数据存储器被读取的立即数 EB传送被写到存储器去的数据 地址总线PAB CAB DAB EAB传送执行指令所需要的地址 30 总线结构图 InternalMemory ExternalMemory External 1access cycleupto8Mwordsprogram Internal Upto4accesses cycle 31 32 存储器 普通存储器的概念ROM和RAM存储器的计算通常来说 存储器的容量是和它的地址线和数据线有关的 在地址线 数据线不复用的情况下 比如10根地址线8根数据线组成的存储器 通常的存储容量就是 8bit 即寻址空间为1024 存储容量为1K字节 又如16根地址线16根数据线组成的存储器 通常的存储容量就是 16bit 即寻址空间为8K 存储容量为8K字 33 64KWords的DARAM 双访问RAM 每 一块 被分成 块 由低地址开始记作DARAM0 DARAM7在同一块内一个指令周期支持两个操作64KWords的SARAM 单访问RAM 每 一块 被分成 块 由低地址开始记作SARAM0 SARAM7在同一块内一个指令周期仅支持一个操作 但支持一个指令周期同时对不同的块完成两个操作16KWords的ROM掩模ROM 只能读不能写 TMS320VC5416DSP的内部存储资源 34 35 片内ROM内容C54x器件提供了各种ROM尺寸 2K字 4K字 16K字 28K字 48K字 片内ROM引导区2K字 F800H FFFFH 范围内一般包含下列内容 具体型号内容可以见相应芯片文档 自举加载程序 可从串口 外部存储器 I O端口 主机接口加载 256字 律扩展表256字A律扩展表256正弦函数查值表中断向量表 36 37 TMS320VC5416DSP的存储空间 以TMS320VC5416DSP为例数据空间支持16位地址和16位数据宽度访问空间为216 16bit 64KWords程序空间支持23位地址和16位数据宽度分成27 128页64KWords的程序空间IO空间支持16位地址和16位数据宽度 固定片外寻址访问空间为216 16bit 64KWordsPortR和PortW两条汇编指令用于IO空间访问 C54x存储空间映射 38 I O存储空间 C54xDSP除了程序存储空间和数据存储空间外 还提供I O存储空间 I O存储空间64K字寻址范围 0000H FFFFH 仅仅存在片外 芯片通过2条指令PORTR PORTW来访问这个空间 访问时 读时序和读程序存储空间 数据存储空间不同 它是访问独立的I O映射设备而不是存储器 I O空间还有两个专用I O管脚BIO和XF 分支转移控制输入引脚BIO用来监控外围设备 决定分支转移的去向 以替代中断 不干扰对时间要求苛刻的循环 外部标志输出引脚XF可以向外部设备发信号 以控制外部设备工作 39 TMS320VC5416DSP的存储空间映射 由处理器工作方式与状态寄存器PMST控制具体由MP MC OVLY DROM三个位控制 C54x存储空间映射 40 41 扩展的程序存储器映射 42 扩展的程序存储器映射 续 43 XPC 44 C54x存储空间映射 45 详细见第三章CMD文件设计 C54x存储空间映射 46 片内外设 DSP片内外设是集成在芯片内部的外部设备 外部设备在片内主要有以下优点片内外设访问速度快简化电路的设计提供一些必须的特殊功能 这些特殊功能必须以片内外设的方式来实现 如JTAG口 等待状态发生器等CPU核对片内外设的访问是通过对相应的控制寄存器的访问来完成的 47 片内外设 软件可编程等待状态发生器可编程分区转换逻辑1个主机接口HPI3个多通道缓冲串行口McBSPsDMA控制器1个硬件定时器带锁相环的时钟发生器PLL 48 软件可编程等待状态发生器 它能把外部总线周期扩展到最多14个机器周期 这样可以方便地与慢速的外部存储器和I O设备接口 它不需要任何外部硬件 只由软件完成 在访问外部存储器时 软件等待状态寄存器SWWR可为每32K字的程序 数据存储单元块和64K字的I O空间确定0 14个等待状态 49 软件可编程等待状态发生器 软件可编程等待状态发生器可以通过编程来延长总线的等待周期 最多可达到7 14个机器周期 这样可以方便地使C54xDSP与慢速的片内存储器和I O器件接口 若外部器件要求插入的等待周期大于14个机器周期时 可以利用硬件READY线来实现 当所有的外部器件都配置在0等待状态时 加到等待状态发生器的内部时钟将被关断 器件工作在省电状态 50 软件等待状态寄存器SWWSR 软件可编程等待状态发生器 51 软件等待状态控制寄存器SWCR C5416DSP 除了有一个软件等待状态寄存器SWWSR外 还有一个SWCRSWCR中的SWSM位用来确定扩展最大的等待周期 软件可编程等待状态发生器 52 可编程分区转换逻辑 可编程分区转换逻辑允许器件在外部存储器分区之间转换时不需要使用额外的等待状态 在程序空间或数据空间内 分区转换逻辑在访问通过32K字存储块边界时 自动插入一个周期 53 自动插入一个附加周期的情况 当对程序存储器进行一次读操作后 紧随其后对不同的存储器分区进行另一次程序存储器或数据存储器读操作对数据存储器进行一次读操作后 再对一个不同的存储器分区进行另一次程序存储器或数据存储器读操作对C548 C549等器件 一次程序存储器读操作后 再对不同页程序存储器进行另一次读操作 可编程分区转换逻辑 54 HPI主机接口 C54X的主机接口 HPI 是一个8位并行口 是与主设备或主处理器通信的接口 一般来说是与其他DSP或者单片机等设备 即主控方通信 信息在C54X和主机之间通过C54X存储器进行交换 主机和C54X都可以访问HPI控制寄存器 外部主机是HPI的主控者 HPI作为一个外设与主机相连 使主机的访问操作很容易 主机通过专用地址和数据寄存器 HPI控制寄存器与HPI通信 另外还会使用外部数据与接口控制信号 55 HPI口数据传输 HPI作为主机的一个外围设备 共有8个外部数据线HD0 7 当C54x与主机传送数据时 HPI能自动将外部接口连续传来的8位数组合成16位数 传送至C54x 当主机使用HPI寄存器执行一个数据传输时 HPI控制逻辑自动执行对一个专用2K字的C54x内部的双访问RAM的访问 以完成数据处理 然后C54x可以在它的存储器空间访问读写数据 HPIRAM也可以用做通用的双寻址数据或程序RAM HPI主机接口 56 HPI的两种工作模式 共用寻址模式SAM 常用方式 主机和C54x都能寻址HPI存储器 当C54X与主机的周期发生冲突时 则主机具有寻址优先权 C54x将等待一个周期仅主机寻址模式HOMHPI存储器只能让主机寻址 C54x则处于复位状态或者处于所有内部和外部时钟都停止工作的IDLE2空转状态 因此主机可以访问HPIRAM 而C54x处于最小功耗配置 HPI主机接口 57 HPI传输速度 SAM方式若HPI每5个CLKOUT传送一个字节 那么主机的运行频率可达F N 5 F为C54x的CLKOUT频率 N为主机每进行一次外部寻址的周期数 通常N是3或4 如C54x的CLKOUT频率为40M 那么主机频率可达32M或24M 且不插入等待周期 HOM方式主机可以获得更高的速度 每50ns寻址一个字节 160MBIT S 且与C54x的时钟速度无关 HPI主机接口 58 HPI与主机的数据线连接 HPI通过8位数据总线与主机交换信息 由于C54X的16位字的结构 主机与DSP之间的传输数据必须包含两个连续的字节 专用的HBIL脚用来确定传输的是第一个还是第二个字节HPI控制寄存器HPIC的BOB位决定第一个或第二个字节 放置在16位字的高8位 而主机不必破坏两个字节的访问顺序 如果字节的传输顺序被破坏 则数据可能会丢失 产生不可预测的结果 HPI主机接口 59 HPI管脚信号名称 HAS 地址选通信号HCS 片选信号HD0 HD7 数据总线HRDY HPI准备好端HCNTL0 HCNTL1 主机控制信号HDS1 HDS2 数据选通信号HINT HPI中断输出信号HBIL 字节识别信号HR W 读写信号 HPI主机接口 60 HAS信号 地址选通信号 若主机的地址和数据是一条多路总线 则HAS与主机的ALE引脚相连 在HAS的下降沿 锁存HBIL HCNT0 1和HR W信号 若主机的地址和数据线是分开的 则HAS接高电平 此时由HDS1 HDS2或HCS中最迟的下降沿锁存HBIL HCNTL0 1和HR W信号若地址和数据总线非复用时 接高电平 HPI主机接口 61 HCS信号 片选信号 作为HPI的使能输入端 在每次寻址期间必须为低电平 而两次寻址之间也可以停留在低电平连接到主机的地址线或控制线 HPI主机接口 62 HRDY信号 HPI准备好端 连接到主机的异步准备好端高电平表示HPI已准备好执行一次数据传送 低电平表示HPI正忙于完成当前事务 HPI主机接口 63 HCNTL0 HCNTL1信号 连接到主机的地址或控制信号 HPI主机接口 64 HDS1 HDS2信号 数据选通信号连接到主机的读选通和写选通或数据选通端在主机寻址HPI周期内 控制HPI数据的传送 HDS1和HDS2与HAS一起产生内部选通信号 HPI主机接口 65 HINT信号 HPI中断输出信号连接到主机的中断输入端受HPIC寄存器中的HINT位控制 当C54X复位时为高电平 HPI主机接口 66 HBIL信号 字节识别信号连接到主机的地址或控制线识别主机传送过来的是第一个字节还是第2个字节HBIL 0 第1个字节HBIL 1 第2个字节第一个字节是高字节还是低字节 由HPIC寄存器中BOB位决定 HPI主机接口 67 HR W信号 读写信号连接到主机的读 写选通 地址线或多路地址 数据高电平表示主机读HPI 低电平表示写HPI 若主机没有读写信号 可用一根地址线代替 HPI主机接口 68 HPI寄存器 HPI控制寄存器HPICHPI控制寄存器为16位寄存器 用来控制HPI的操作HPI地址寄存器HPIAHPI地址寄存器 主机直接访问该寄存器HPI数据寄存器HPID HPI数据寄存器 只能由主机直接访问 包含从HPI存储器读出的数据 或者要写到HPI寄存器的数据 HPI主机接口 69 HPI的寄存器访问 两个控制输入 HCNTL0和HCNTL1 表示哪个HPI寄存器被访问 这两个输入与HBIL一起由主机地址总线驱动 使用HCNTL0 1输入 主机可以指定对HPI寄存器的访问 HPI控制寄存器HPIC HPI地址寄存器HPIA HPI数据寄存器HPID HPIA可以使用自动增寻址方式访问HPIA 通过写HPIC 主机可以中断C54X 并且HINT输出可以被C54X用来中断主机 HPI主机接口 70 71 C54x串行口 标准同步串口SP带缓冲的串行口BSP时分复用串口TDM多通道缓冲串口McBSP C54x串行口 72 标准同步串行口SP的连接图 C54x串行口 73 ADS1178AD C54x串行口 74 McBSP的接收时序 C54x串行口 75 缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元ABU全双工 双缓冲 允许连续数据流ABU利用独立于CPU的专用总线 让串行口直接读 写C54x的片内存储器 这样可以使串行口处理事务的开销最小 并能提高效率 BSP有两种工作方式非缓冲方式和自动缓冲方式 当工作在非缓冲方式下时 其数据传输和标准同步串行口一样 当工作在自动缓冲方式下时 串行口直接与C54x片内存储器进行16位数据传输 C54x串行口 带缓冲的串行口BSP 76 TDM将时间分成时间段 按时间段顺序周期性地与不同器件通信 C54x串行口 时分复用串行口TDM 77 多通道缓冲串行口McBSP是基于标准同步串行口的 允许直接与C54x LC54x器件 编码设备或其他设备相连 它具有如下特点全双工通信双缓冲数据寄存器 允许连续数据流独立的接收 发送时钟和帧信号支持T1 E1 MVIP ST BUS IOM 2 AC97 IIS SPI和一般的串行外设高达128个通道的多通道传输包括8 12 16 20 24 32位的宽范围数据位选择 律和A律压缩对发送 接收数据时钟和帧同步信号极性可编程内部时钟和帧信号可编程 C54x串行口 多通道缓冲串口McBSP 78 C54x串行口 多通道缓冲串口McBSP 79 DMA控制器 器件直接内存访问 Thedevicedirectmemoryaccess DMA 控制器可以不在CPU干涉的情况下直接进行存储器映射内的两点间的直接传输 DMA允许在CPU运行的情况下进行内部存储器 片内外设 外部器件之间进行数据移动 它有6个独立的可编程通道 允许6个不同的内容进行DMA操作 DMA控制器也提供来自主机接口 HPI 8 HPI 16 需求的利用DMA总线的服务 80 定时器 C54x片内16位定时器是根据每个时钟自减 当定时器的计数器自减到0时 一个定时中断就产生了 定时器能被停止 重新启动 复位 或通过指定状态位进行禁止运行 定时器寄存器组成定时器寄存器TIM 此寄存器被PRD寄存器的值加载 并随计数减少 定时器周期寄存器PRD 此寄存器提供TIM数据加载 定时器控制寄存器TCR 此寄存器是定时器的控制和状态寄存器 81 定时器 TCR寄存器 82 83 定时器公式预标定器PSC根据CPU提供的时钟 每来一个时钟自减1 当PSC的值减少到0时 TDDR的内容加载到PSC 当系统复位 RESET输入信号有效 或定时器单独复位 TRB有效 时 TDDR的内容也加载到PSC TIM根据预标定器PSC提供的时钟 每来一个预标定PSC的输出时钟减1 当TIM减数到0后 PRD中的内容自动加载到TIM 当系统复位或定时器单独复位时 PRD的内容也加载到TIM中 同时TIM会产生一个定时器中断TINT信号 该信号被送到CPU和定时器输出TOUT管脚 由此 定时器的中断周期 84 PLL时钟发生器 C54x时钟发生器由内部振荡器和锁相环电路构成 可通过晶振或外部时钟驱动 锁相环具有频率放大和时钟信号提纯的作用 利用PLL可以对时钟频率进行锁定 为芯片提供高稳定度的时钟信号 对外部时钟可以进行倍频 使外部时钟的周期低于CPU机器周期 以降低因高速开关时钟引起的高频噪声 当前锁相环电路有两种不同的配置方式一些器件使用硬件配置PLL电路 另外一些采用软件编程的方式进行配置 85 硬件配置PLL PLL时钟发生器 86 软件配置PLL软件可编程PLL非常灵活 它包括提供时钟的各种乘法系数 能够直接使能和禁止PLL 它可以锁定定时器 用来延迟转换PLL的时钟方式 直到锁定为止 软件可编程PLL可以通过两种模式来配置时钟输出PLL模式 输入时钟CLKIN以31个系数倍频 倍频范围为0 25至15 DIV模式 输入时钟被分频 分频范围为2或4 当采用DIV模式时 所有的模拟电路 包括PLL电路是被禁止的以达到减少功耗的目的 PLL时钟发生器 87 举例 CLKMOD寄存器初始化值为0 x9007CLKMOD寄存器初始化值为0 x77F7 PLL时钟发生器 88 外部引脚 数据信号初始化 中断和复位多处理信号存储控制信号时钟信号多通道缓冲串口0 1 2信号主机接口信号电源管脚测试管脚 89 知识点24 外部引脚 90 外部引脚 91 外部引脚 92 外部引脚 93 中断系统 中断系统是为计算机系统提供实时操作 多任务和多进程的关键部件 中断信号的产生中断是由硬件驱动或者软件驱动的信号例如由外设向CPU传送数据 ADC 或外设向CPU提供数据 DAC 的硬件设备来产生的定时器当CPU响应中断时 将暂时停止当前程序的执行 而去执行中断服务程序ISR 94 中断分类 可屏蔽中断16个用户可屏蔽中断非屏蔽中断软件中断复位RS中断NMI中断 95 中断分类 96 中断分类 97 中断寄存器 中断屏蔽寄存器IMR中断屏蔽寄存器主要是用来屏蔽外部或内部中断 如果CPU状态寄存器中的INTM位为0且IMR寄存器中有一位为1 就开放IMR寄存器中的那一位中断 RS和NMI都不能被IMR屏蔽 用户可以读写IMR寄存器 98 中断寄存器 中断标志寄存器IFR中断标志寄存器是一个存储器映射寄存器 当一个中断出现时 IFR中相应的中断标志位置1 直到此中断被CPU处理 任何下列事件都会清除IFR中的中断标志C54xDSP被硬件复位中断触发被响应一个1被写入相应的尚未处理的IFR中断标志位使用相应中断号INTR指令被执行 99 中断处理步骤 接受中断请求应答中断执行中断服务程序ISR 100 接收中断请求 一个中断由硬件或软件指令请求 当产生一个中断时 IFR寄存器中的相应的中断标志位被置1 不管中断是否被处理器应答 该标志位都会置1 当相应的中断响应后 该标志位自动清零 101 硬件中断请求 外部硬件中断由外部中断口的信号发出请求 而内部硬件由片内外设的信号发出中断请求 例如 C54X硬件中断可以由如下信号发出INT3 INT0管脚RS和NMI管脚RINT0 XINT0 RINT1 XINT1串行中断TINT定时器中断 102 软件中断请求 INTRINTR指令允许执行任何的可屏蔽中断 包括用户定义的中断 从SINT0到SINT30 TRAPTRAP与INTR的不同之处是TRAP启动中断时 状态寄存器ST1的中断方式INTM位不受影响 所以在TRAP启动中断服务时 该中断服务程序可以被其他硬件中断所中断 RESET复位指令可在程序的任何时候产生 它使处理器返回一个预定状态 复位指令影响ST0和ST1寄存器 但对PMST寄存器没有影响 103 应答中断 对于软件中断和非屏蔽中断 CPU将立即响应 进入相应的中断服务程序 对于硬件可屏蔽中断 只要满足下列三个条件后 CPU才能响应中断当前中断优先级最高INTM位清0IMR屏蔽位为1满足上述条件后 CPU响应中断 终止当前正在运行的操作 指令计数器PC自动转向相应的中断向量地址 取出中断服务程序地址 并发出硬件中断响应信号IACK 中断应答 而清除相应的中断标志位 104 执行中断服务程序ISR CPU执行中断服务程序的步骤保护现场将中断向量的地址加载PC获取位于向量地址的指令执行分支转移执行ISR直到一个返回指令终止ISR从堆栈中弹出返回地址到PC中继续执行主程序 105 中断向量地址的计算 中断向量可以映射到程序存储器的任何128字页面的起始位置 除保留区域外 C54X中 中断向量地址是由PMST寄存器中的IPTR和左移2位后的中断向量序号所组成 INT0被申明为低优先级 并且IPTR 0001H 则中断向量地址为00C0H 复位时 IPTR所有的位置1 并按此值将复位向量映射到程序存储器的511页空间 所以 硬件复位后总是从0FF80H开始执行程序 106 中断设计 以TMS320VC5416的中断设计为例1 中断初始化设计 置ST1寄存器的INTM位为1 屏蔽所有屏蔽中断向IFR寄存器写入0 xFFFF 清除所有的中断标志根据要处理的中断设置IMR寄存器 例如开放INT0中断 向IMR中写入0 x1设置PMST寄存器 主要完成以下初始化中断向量指针IPTR的初始化 设置中断向量表地址MP MC OVLY和DROM位初始化 设置存储空间映射CLKOFF位设置置ST1寄存器的INTM位为0 响应IMR寄存器允许的可屏蔽中断 107 以TMS320VC5416的中断设计为例2 中断向量地址计算方法 1 取PMST寄存器的IPTR的值 中断向量指针 9位 2 查DSP的中断表得到中断向量序号 5位 3 将中断向量序号左移2位 4 将IPTR值左移7位与 3 相加 得到中断向量地址 INT0序号为16左移两位后为40H 1 硬件复位值为0 x1FF 2 用户可以软件设置 3 软件复位该值不变化 108 以TMS320VC5416的中断设计为例3 中断向量表程序设计 TI54系列DSP最大支持序号0 31的32个中断 存在复用 根据中断向量表地址计算方法 每个中断向量占4个字 序号左移两位 整个中断向量表共占128个字硬件复位后 其中断向量表首地址为0 xFF80 0号中断地址 软件设置IPTR后 其中断向量表地址发生变化 为使中断高速响应 应在片内RAM中运行 IPTR 111111111 1FFh K 00000001111111110000000FF80h故硬件复位后的开始地址为0FF80h IPTR 000000001 1h K 000000000000000100000000080h初始化中断向量表的开始地址为0080h 109 以TMS320VC5416的中断设计4 中断向量表程序示例 sector vectors 表明中断向量表代码位于vectors段必须把vectors段放置在片内RAM中 用以高速响应中断在DSP程序初始化时 若将IPTR 0 x001 则中断向量表初始地址为0 x80在CMD文件中 在PAGE0中配置一块地址从0 x80开始 共128Words 并将vectors段配置到该区域设计OVLY的值 将DARAM0 3块映射到程序空间 实现中断向量表在DARAM中运行 110 111
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!