第2章__TMS320C54x数字信号处理_[1]..._第1页
第2章__TMS320C54x数字信号处理_[1]..._第2页
第2章__TMS320C54x数字信号处理_[1]..._第3页
第2章__TMS320C54x数字信号处理_[1]..._第4页
第2章__TMS320C54x数字信号处理_[1]..._第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

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

文档简介

本章重点介绍TMS320C54x的硬件结构 了解DSP硬件结构是设计DSP的第一步 第二章TMS320C54X硬件结构 第2章TMS320C54x数字信号处理器硬件结构 2 1TMS320C54x的特点和硬件组成框图2 2TMS320C54x的总线结构 重点 2 5中央处理单元 CPU 重点 2 4TMS320C54x的存储器分配 重点 2 5TMS320C54x片内外设简介2 6TMS320VC5402引脚及说明 要求 会看硬件功能块的框图 掌握相应的处理机制 知道有哪些片上外设 怎样使用 2 1DSP硬件 TMS320C54x组成框图 TMS320C54xDSP的总线组成框图1 54x结构的建立主要围绕着8条16位的总线展开的 这8条总线包括4条程序 数据总线和4条地址总线 它们的作用是 1 程序总线 PB 传送由程序存储器取出的指令操作码及立即数 2 3条数据总线 CB DB和EB 与不同的单元相连 如CPU 数据地址发生逻辑 程序地址发生逻辑 片内外围部件及数据存储器等 其中CB总线和DB总线传送从数据存储器读的数据 EB总线传送被写入存储器的数据 2 2TMS320C54x的总线结构 BUS 4条地址总线 PAB CAB DAB EAB 传送执行指令所需地址 C54X总线结构 续 图2 1TMS320C54xDSP的内部硬件组成框图2 2 3中央处理单元 CPU 1 40位的算术逻辑单元 ALU 2 2个40位的累加器 A和B 3 桶形移位器 定标移位器 4 17 17位乘法器 5 40位加法器 6 各种CPU寄存器 所有的 54x器件的CPU都相同 54x的CPU包括 7 比较 选择和存储单元 CSSU 8 指数编码器 54x可通过一个40位算术逻辑单元 ALU 执行二进制补码数学运算 ALU也可执行布尔运算 其运算结果通常被送入两个40位累加器 累加器A和B ALU的输入如下 1 16位立即数 2 来自数据存储器的16位字 3 来自16位暂存寄存器T的16位字 4 来自数据存储器的两个16位字 在执行算术运算时 一个40位ALU也可同时作为两个16位ALU 执行两个16位操作 5 来自数据存储器的32位字 6 来自其中一个40位累加器的40位字 算术逻辑单元 ALU ALU功能框图 3 ALU输入数据的预处理 当16位数据存储器操作数通过数据总线DB或CB输入时 ALU将采用两种方式对操作数进行预处理 若数据存储器的16位操作数在低16位时 则 当SXM 0时 高24位 39 16位 用0填充 当SXM 1时 高24位 39 16位 扩展为符号位 若数据存储器的16位操作数在高16位时 则 当SXM 0时 39 32位和15 0位用0填充 当SXM 1时 39 32位扩展为符号位 15 0位置0 4 ALU的输出ALU的输出为40位运算结果 通常被送至累加器A或B 1 当SXM 0 进行无符号数加载LD AR3 A Beforeinstruction Afterinstruction A SXM AR3 0 000000FEDC 0 0300 0300 0000000000 FEDC FEDC Datamemory0300h 举例 2 当SXM 1 进行有符号数加载LD AR3 A Beforeinstruction Afterinstruction A SXM AR3 1 FFFFFFFEDC 1 0300 0300 0000000000 FEDC FEDC Datamemory0300h 溢出处理 ALU的饱和逻辑可以对运算结果进行溢出处理 当发生溢出时 将运算结果调整为最大正数 正向溢出 或最小负数 负向溢出 当运算结果发生溢出时 若OVM 0 则对ALU的运算结果不作任何调整 直接送入累加器 若OVM 1 则对ALU的运行结果进行调整 当正向溢出时 将32位最大正数007FFFFFFFH装入累加器 当负向溢出时 将32位最小负数FF80000000H装入累加器 状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1 1 当OVM 0 对溢出不进行处理 仅通过OVM 1反映溢出LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 07FFF80000 0 1 007FFF8000 0 0 举例 OVM 2 当OVM 1 对溢出进行处理 LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 007FFFFFFF 0 1 007FFF8000 1 1 OVM 进位位C ALU有一个与运算结果有关的进位位C 位于ST0的11位 进位位C受大多数ALU操作指令的影响 包括算术操作 循环操作和移位操作 进位位C的功能 用来指明是否有进位发生 用来支持扩展精度的算术运算 可作为分支 调用 返回和条件操作的执行条件 注意 进位位C不受装载累加器操作 逻辑操作 非算术运算和控制指令的影响 可通过寄存器操作指令RSBX和SSBX对其进行置位和复位 双16位算术运算 若要将ST1中的C16置位 则ALU进行双16位算术运算 即在一个机器周期内完成两个16位数的算术运算 进行两次16位加法或两次16位减法运算 5 其他控制位 除SXM OVM C C16 OVA OVB外 ALU还有两个控制位 TC 测试 控制标志 位于ST0的12位 ZA ZB 累加器结果为0标志位 累加器A和B ACCA ACCB 用于存储ALU或乘法器 加法器块的输出 它们也可作为输入数据输出到ALU 或作为乘法器 加法器的输入 AG AH AL BG BH BL都是存储器映像寄存器 可以被访问A与B的不同是A的高位可以作为乘法器的一个输入 累加器 累加器A和B 1 累加器结构 保护位 AG BG39 32 作为算术计算时的数据位余量 以防止迭代运算中的溢出 高阶位 AH BH31 16 低阶位 AL BL15 0 累加器A和B 2 带移位的累加器存储操作 使用STH STL STLM SACCD等指令或并行存储指令 可以把累加器中的内容保存到数据存储器中 使用STH SACCD和并行存储指令存储累加器内容 先将累加器内容移位 再将高16位存入存储器 右移存储 AG BG 右移AH BH AH BH 存入存储器 左移存儲 AL BL 左移AH BH AH BH 存入存储器 使用STL指令存储累加器内容 先将累加器内容移位 再将低16位存入存储器 右移存储 AH BH 右移AL BL AL BL 存入存储器 左移存储 用0左移AL BL AL BL 存入存储器 注意 移位操作是在存储累加器内容的过程中同时完成的 移位操作是在移位寄存器中完成的 累加器的内容保持不变 例1 累加器A FF01234567H 执行带移位的STH和STL指令后 求暂存器T和A的内容 STHA 8 T A的内容左移8位 AH存入T 01 23 45 67 00 2345 T 2345H A FF01234567H STHA 8 T A的内容右移8位 AH存入T 45 23 01 FF FF FF01 T FF01H A FF01234567H STLA 8 T A的内容左移8位 AL存入T 01 23 45 67 00 6700 T 6700H A FF01234567H STLA 8 T A的内容右移8位 AL存入T 45 23 01 FF FF 2345 T 2345H A FF01234567H 40位的桶形移位器能将输入的数据进行向左或者向右的0 31位的移动 向左31位 向右16位 桶形移位器 输入 DB 16位 DB和CB 32位 A 40位 B 40位 输出 ALU的一个输入端EB总线 功能 1 在执行ALU操作前预定好一个数据存储器操作或累加器内容2 对累加器内容算术或逻辑移位3 对累加器归一化4 在将累加器的值存入数据存储器前定标 桶形移位寄存器 1 指令中的一个4位或5位立即数为移位数 范围为 16 15 ADDA 4 B 累加器A的内容右移四位后加到B中 桶形移位寄存器的移位作用 3 T寄存器中的低6位 可以指定 16至31位范围的移位数SUB AR2 TS A 2 用ASM的值代表范围 16至15的移位 可用LD加载 ADDA ASM B 累加器移位ASM所指定的位数后加到B中 桶形移位寄存器的位数是一个有符号数 其正值对应左移 负值对应右移 指令中移位位数可为 3 乘法器 加法器单元C54xCPU有一个17 17位的硬件乘法器 与40位的专用加法器相连 可以在单周期内完成一次乘法累加运算 乘法器的输出经小数 整数乘法 FRCT 输入控制后加到加法器的一个输入端 加法器的另一个输入端来自累加器A或B 加法器还包括零检测器 舍入器 二进制补码 及溢出 饱和逻辑电路 乘法器 加法器 乘法器 加法器单元 乘法器的输入 XM T寄存器DB总线A的32 16位 YM DB总线CB总线PB总线A的32 16位 乘法器输出 Adder的XA Adder 40 17 17 YA A或B或0 硬件乘法器可以在一个单指令周期中完成17 17bit的二进制补码运算 例 MPYa1 B 将a1这个存储器单元中的数与 B中的数相乘并将结果放B中结合DSP的特殊的汇编指令 如MAC 54x可以在一个指令周期内完成乘 累加运算 例 LDx2 TMACa2 B a2 x2 B B 比较 选择和存储单元 CSSU 是专门为Viterbi算法设计的加法 比较 选择 ACS 操作的硬件单元 指数编码器用于支持单周期指令EXP的专用硬件 功能 求累加器中数据的指数值 比较 选择和存储单元CSSU 指数编码器 CPU状态和控制寄存器 TMS320C54X包括3个16位的寄存器作为状态和控制寄存器 ST0 ST1 PMST 均为存储器映像寄存器 可以方便的访问 ST0 ST1包含各种工作条件和工作方式的状态PMST包含存储器的设置状态和控制信息 ST0 反映处理器的寻址要求和计算机的中间运行状态 ST1 主要反映处理器的寻址要求 计算初始状态的设置 I O及中断的控制等 状态寄存器ST0的结构 状态寄存器ST1的结构 处理器模式状态寄存器 PMST 结构如下 15 1312111098 0 1 151413121110987654 0 15 76543210 ST0 Status0 ST1 Status1 PMST ProcessormodeStatus 2 3TMS320C54x的存储器分配 2 3 1存储器空间2 3 2程序存储器2 3 3数据存储器2 3 4I O存储器 返回首页 组成框图 2 3 C54x的存储空间结构 C54x共有192K字的映射存储器空间 分成3个相互独立可选择的存储空间 64K字 16位 的程序存储空间 64K字 16位 的数据存储空间 64K字 16位 的I O空间 程序存储空间 用来存放要执行的指令和指令执行中所需要的系数表 数学用表 数据存储空间 用来存放执行指令所需要的数据 I O存储空间 用来提供与外部存储器映射的接口 可以作为外部数据存储空间使用 所有 C54x芯片都含有片内RAM和ROM 片内RAM SARAM DARAM 单寻址RAM 双寻址RAM DARAM 由存储器内的一些分块组成 每个DARAM块在单周期内能被访问2次 SARAM 由存储器分块组成 每个SARAM块在单周期内只能被访问1次 2 3 1存储器空间 片内存储器的优点 不需要插入等待状态 与外部存储器相比 成本低 比外部存储器功耗小 片内物理存储器必须被映射到映射存储器上才能被访问 例 程序存储器 4K字ROM 起始地址为C00h 取名为ROM 数据存储器 32字RAM 起始地址为60h 取名为SCR 512字RAM 起始地址为80h 取名为CHIP MEMORY PAGE0 ROM origin C00h length 1000hPAGE1 SCR origin 60h length 20hCHIP origin 80h length 200h 页面名称 区间名称 起始地址 区间长度 我的程序需要多少存储空间 这些存储空间分配合适吗 Letgo C54x片内存储器资源配置 我们拥有的资源 还有 外部存储器主要分为两类 ROM RAM 包括EPROM E2PROM和FLASH等 分为静态RAM SRAM 和动态RAM DRAM ROM主要用于存储用户的程序和系统常数表 一般映射在程序存储空间 RAM常选择速度较高的快速RAM 既可以用作程序空间的存储器 也可以用作数据空间的存储器 TMS320VC5402存储器配置结构 内容 程序空间用来存放要执行的指令和常系数表格 程序空间配置通过设置MP MC OVLY和XPC来实现程序空间扩展 1 程序存储空间 影响程序空间后48k 影响程序空间前16k 影响程序空间扩展空间 1 程序存储空间的配置 程序存储空间可通过PMST寄存器的MP MC和OVLY控制位来设置内部存储器的映射地址 当MP MC 0时 称为微计算机模式 4000H EFFFH程序存储空间定义为外部存储器 F000H FEFFH程序存储空间定义为内部ROM FF00H FFFFH程序存储空间定义为内部存储器 当MP MC 1时 称为微处理器模式 4000H FFFFH程序存储空间定义为外部存储器 MP MC控制位用来决定程序存储空间是否使用内部存储器 1 程序存储空间的配置 当OVLY 0时 程序存储空间不使用内部RAM 0000H 3FFFH全部定义为外部程序存储空间 此时内部RAM只作为数据存储器使用 当OVLY 1时 程序存储空间使用内部RAM 内部RAM同时被映射到程序存储空间和数据存储空间 0000H 007FH保留 程序无法占用 0080H 3FFFH定义为内部DARAM OVLY控制位用来决定程序存储空间是否使用内部RAM 微计算机模式 OVLY 1 0000H 007FH保留 0080H 3FFFH内部DARAM 0000H EFFFH外部存储器 4000H EFFFH外部存储器 F000H FEFFH内部ROM FF00H FF7FH保留 FF80H FFFFH中断矢量表 FF00H FF7FH保留 F000H FEFFH内部ROM OVLY 0 FF80H FFFFH中断矢量表 常用方案 存储器配置举例 1 VC5416的存储空间TMS320VC5416的地址空间是采用独立空间编址的 即程序空间 数据空间 IO空间都由逻辑上的0 x0000单元起始至0 xffff VC5416基本的程序空间 数据空间 IO空间都是64K 外扩时分别由PS DS IS线选通 详细的存储器分配请参考TI的技术手册VC5416的Datasheet TI文件号 Sprs095I pdf 下图显示了MP和MC模式下的程序和数据空间映射 图1 5 1 图1 5 1c5416MP和MC模式下的程序和数据空间映射 2 程序存储空间的分页扩展 C54x系列芯片程序空间采用分页扩展的方法 多数芯片只有16条外部地址线 可扩展64k字的外部存储空间 称为第0页程序存储器 而有的芯片可扩展的范围较大 如 C5409和 C5416有23条外部程序地址总线可扩展到8M C5402有20条外部程序地址总线 其程序空间只能扩展到1M 2 程序存储空间的分页扩展 分页扩展技术的特点 有20或23条外部程序地址线 可寻址1M或8M存储空间 有1个额外的存储器映像寄存器 程序计数器扩展寄存器XPC 有6条寻址扩展程序空间的指令 用于寻址扩展程序空间 C5402共有20条外部程序地址总线 可寻址程序存储空间为1M 整个程序存储空间分成16页 每页共计64K字 2 程序存储空间的分页扩展 当OVLY 0时 内部RAM不允许映射到程序空间 页与页之间没有重叠 扩展后的程序空间分成16页 每页64K 2 程序存储空间的分页扩展 当OVLY 1时 片内RAM允许映射到程序空间 程序存储器的每一页都由两部分组成 32K字的公共块和32K字的专用块 公共块可由所有页共享 不需要使用XPC 专用块只能按指定的页号寻址 当MP MC 0时 片内ROM只能允许安排在第0页的程序空间 不能映射到其它页 第2章TMS320C54x的硬件结构 2 程序存储空间的分页扩展 公共块 由所有页共享专用块 按指定的页号寻址 TMS320VC5402扩展程序存储空间结构图 扩展程序存储器的页号由XPC寄存器设定 XPC映射到数据存储器的001EH单元 硬件复位时 XPC被置0 为了便于软件进行页切换 设置了6条影响XPC的专用指令 FB D 长跳转指令 FBACC D 长跳转到累加器A或B所指定的位置 FCALA D 长调用累加器A或B所指定的位置 FCALL D 长调用指令 FRET D 长返回 FRETE D 带中断使能的长返回指令 扩展程序空间举例 评估板使用AM29LV800芯片作为外部ROM使用 外部ROM一般用来固化程序 上电后 可以利用5416芯片的Bootloader功能从ROM中加载程序到存储器中使用 此外 AM29LV800芯片还可以在线编程 保存使用中需要保留的数据 C54x的地址总线有16 23条 芯片的型号不同其配置的地址总线也不同 C5402芯片共有20根地址线 最多可以扩展1M字外部程序存储空间 其中高4位地址线 A19 A16 是受XPC寄存器控制 扩展程序存储器时 除了考虑地址空间分配外 关键是存储器读写控制和片选控制与DSP的外部地址总线 数据总线及控制总线的时序配合 了解一下哦 扩展程序空间举例 程序存储器有三种工作方式 程序存储器的扩展 1 程序存储器的工作方式 读操作 程序存储器只能进行读操作 维持操作 编程操作 当编程电源加规定的电压 片选和读允许端加要求的电平 通过编程器可将数据固化到存储器中 完成编程操作 程序存储器的扩展 2 扩展程序存储器 注意事项 根据应用系统的容量选择存储芯片容量 根据CPU工作频率 选取满足最大读取时间 电源容差 工作温度等性能的芯片 选择逻辑控制芯片 以满足程序扩展 数据扩展和I O扩展的兼容 与5V存储器扩展时 要考虑电平转换 2 扩展程序存储器 FLASH存储器 FLASH存储器与EPROM相比 具有更高的性能价格比 而且体积小 功耗低 可电擦写 使用方便 并且3 3V的FLASH可以直接与DSP芯片连接 AT29LV1024是1M位的FLASH存储器 地址线 A0 A15 控制线 数据线 I O0 I O15 2 扩展程序存储器 存储器扩展 扩展连接图 16 16 原理 进行读操作 地址和数据线呈高阻 若只扩展一片程序存储器 可将CPU存储器选通信号MSTRB与存储器输出使能OE连接 当PS 0 MSTRB 0时 可对存储器进行读操作 3 内部ROM C5402共有4K字的内部ROM F000H F7FFH 用户专用程序 由TI公司固化 F800H FFFFH TI公司定义 3 内部ROM TI公司定义的内容 引导程序 从串行口 外部存储器 I O口 主机接口进行自动加载引导程序 256字 律扩展表 256字A律扩展表 256字正弦函数值查找表 保留 中断向量表 F800H FBFFHFC00H FCFFHFD00H FDFFHFE00H FEFFHFF00H FF7FHFF80H FFFFH 2 3 3数据存储空间 1 数据存储空间的配置受DROM影响2数据存储器中的内容存储器映像寄存器MMR 用来存放执行指令所使用的数据 包括需要处理的数据或数据处理的中间结果 2 3 3数据存储空间 1 数据存储空间的配置 C54x的数据存储空间由内部和外部存储器构成 共有64K字 采用内部和外部存储器统一编址 DROM 0 0000H 3FFFH 内部RAM 4000H FFFFH 外部存储器 DROM 1 0000H 3FFFH 内部RAM 4000H EFFFH 外部存储器 F000H FEFFH 片内ROM FF00H FFFFH 保留 1 数据存储空间的配置 当CPU发生的数据地址处于内部存储器的范围内时 直接对内部数据存储器寻址 当CPU发生的数据地址不在内部存储器的范围内时 CPU自动对外部数据存储器寻址 C54x片内数据存储器容量 C5402数据存储空间结构 0000H 0050H存储器映像寄存器 0060H 007FH暂存器SPRAM 0080H 3FFFH内部DARAM 4000H EFFFH外部存储器 DROM 1使用内部ROM F000H FEFFH内部ROM FF00H FFFFH保留 DROM 0不使用内部ROM F000H FEFFH外部存储器 3 已知ST0 2c00h ST1 0320h 分析ALU的当前工作方式 是否有符号扩展等 及当前输出记过状态 是否溢出等 4 如果中断矢量表位于片内存储器空间 片内的ROM要映射到数据空间 片内的RAM只作为数据空间 那么该如何设置有关寄存器 课堂练习 数据空间前1K的配置 存储器映像的CPU寄存器 特殊功能寄存器 0000 001FH 特殊功能寄存器 存储器映像的外设寄存器 0020 005FH 外设寄存器 暂存寄存器SPRAM 0060 007FH 暂存寄存器 0080 03FFH 7个DARAM数据块 2 存储器映像寄存器 在 C54x的数据存储空间中 前80H个单元 数据页0 包含有的CPU寄存器 片内外设寄存器和暂存器 这些寄存器全部映射到数据存储空间 称作存储器映像寄存器MMR 存储器映像寄存器MMR CPU寄存器 特殊功能寄存器 片内外设寄存器 暂存器SPRAM 2 存储器映像寄存器 特殊功能寄存器功能 主要用于程序的运算处理和寻址方式的选择和设定 地址范围 0000H 001FH C5402的CPU寄存器共有27个 CPU访问这些寄存器时 不需要插入等待时间 外设寄存器功能 用来控制片内外设电路的状态和存放数据 地址范围 0020H 005FH 包括串行口通信控制寄存器组 定时器定时控制寄存器组 时钟周期设定寄存器组等 由于CPU对片内外设寄存器的访问时通过片内外设总线进行 因此对它们的读 写操作至少需要2个时钟周期 特殊功能寄存器 2 存储器映像寄存器 片内外设寄存器存在于一个专用的外设总线结构中 它可以发送数据至外设总线或者从外设中接收数据 设置或清除寄存器的控制位可以激活 屏蔽或者重新配置外设状态 不同型号的芯片具有不同的片内外设寄存器 C549片内外设寄存器 2 3 4I O空间 C54x除了程序和数据存储空间外 还提供了一个具有64K字的I O空间 主要用于对片外设备的访问 可以使用输入指令PORTR和输出指令PORTW对I O空间寻址 C54x的地址总线有16 23条 芯片的型号不同其配置的地址总线也不同 C5402芯片共有20根地址线 最多可以扩展1M字外部程序存储空间 其中高4位地址线 A19 A16 是受XPC寄存器控制 扩展程序存储器时 除了考虑地址空间分配外 关键是存储器读写控制和片选控制与DSP的外部地址总线 数据总线及控制总线的时序配合 程序存储器的扩展 了解一下哦 程序存储器有三种工作方式 程序存储器的扩展 1 程序存储器的工作方式 读操作 程序存储器只能进行读操作 维持操作 编程操作 当编程电源加规定的电压 片选和读允许端加要求的电平 通过编程器可将数据固化到存储器中 完成编程操作 程序存储器的扩展 2 扩展程序存储器 注意事项 根据应用系统的容量选择存储芯片容量 根据CPU工作频率 选取满足最大读取时间 电源容差 工作温度等性能的芯片 选择逻辑控制芯片 以满足程序扩展 数据扩展和I O扩展的兼容 与5V存储器扩展时 要考虑电平转换 2 扩展程序存储器 FLASH存储器 FLASH存储器与EPROM相比 具有更高的性能价格比 而且体积小 功耗低 可电擦写 使用方便 并且3 3V的FLASH可以直接与DSP芯片连接 AT29LV1024是1M位的FLASH存储器 地址线 A0 A15 控制线 数据线 I O0 I O15 2 扩展程序存储器 存储器扩展 扩展连接图 16 16 原理 进行读操作 地址和数据线呈高阻 若只扩展一片程序存储器 可将CPU存储器选通信号MSTRB与存储器输出使能OE连接 当PS 0 MSTRB 0时 可对存储器进行读操作 1 数据存储器ICSI64LV16 ICSI64LV16是一种高速数据存储器 其容量64K字 16 地址线 A15 A0 控制线 数据线 I O15 I O0 CE 片选信号 OE 读选通信号 WE 写选通信号 UB 高字节选通信号 LB 低字节选通信号 1 数据存储器ICSI64LV16 结构图 数据存储器的扩展 2 存储器扩展连接 第2章TMS320C54x的硬件结构 3I O空间 C54x除了程序和数据存储空间外 还提供了一个具有64K字的I O空间 主要用于对片外设备的访问 可以使用输入指令PORTR和输出指令PORTW对I O空间寻址 在对I O空间访问时 除了使用数据总线和地址总线外 还要用到IOTRB IS和I W控制线 IOTRB和IS 用于选通I O空间 I W 用于控制访问方向 I O的扩展应用 在实际应用中 许多DSP系统需要输入和输出接口 键盘和显示器作为常用的输入输出设备 在便携式仪器 手机等产品中得到了广泛地应用 使用液晶模块和非编码键盘可以很方便地作为I O设备与DSP芯片连接 1 显示器连接与驱动 复位端 低电平有效 1 液晶模块TCM A0902的引脚 片选信号 低电平有效 RD 读信号端 高电平有效 写信号端 低电平有效 A0 寄存器选择端 当A0 0时 选择命令寄存器 当A0 1时 选择数据寄存器 DB7 DB0 数据线 3I O的扩展应用 1 显示器连接与驱动 2 连接图 命令端口地址 COMMP CFFFH 数据端口地址 DATAP EFFFH o LD AR3 A当SXM 0 进行无符号数加载 Beforeinstruction Afterinstruction A SXM AR3 0 000000FEDC 0 0300 0300 0000000000 FEDC FEDC Datamemory0300h LD AR3 A当SXM 0 进行有符号数加载 Beforeinstruction Afterinstruction A SXM AR3 1 FFFFFFFEDC 1 0300 0300 0000000000 FEDC FEDC Datamemory0300h 课堂练习 LDA 4 B1 当OVM 0 对溢出不进行处理 仅通过OVB 1反映溢出 Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 07FFF80000 0 1 007FFF8000 0 0 OVM LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 007FFFFFFF 0 1 007FFF8000 1 1 OVM 2 当OVM 1 对溢出进行处理 课堂练习 3 已知ST0 2c00h ST1 0320h 分析ALU的当前工作方式 是否有符号扩展等 及当前输出记过状态 是否溢出等 4 如果中断矢量表位于片内存储器空间 片内的ROM要映射到数据空间 片内的RAM只作为数据空间 那么该如何设置有关寄存器 5 上电复位后 第一条程序指令所在的地址是 课堂练习 2 4 C54x的片内外设电路 C54x器件除了提供哈佛结构的总线 功能强大的CPU以及大容量的存储空间外 还提供了必要的片内外部设备 不同型号的 C54x芯片 所配置的片内外设有所不同 这些片内外设主要包括 通用I O引脚 定时器 时钟发生器 主机接口HPI 串行通信接口 软件可编程等待状态发生器 可编程分区转换逻辑 1 通用I O引脚 C54x芯片为用户提供了两个通用的I O引脚 XF 用于程序向外设传输标志信息 通过此引脚的置位或复位 可以控制外设的工作 2 定时器 C54x的定时器是一个带有4位预分频器的16位可软件编程减法计数器 这个减法计数器每来1个时钟周期自动减1 当计数器减到0时产生定时中断 通过编程设置特定的状态可使定时器停止 恢复运行 复位或禁止 2 定时器 C54x的定时器主要包括3个存储器映像寄存器 定时设定寄存器TIM定时周期寄存器PRD定时控制寄存器TCR 定时设定寄存器TIM它是一个16位减法计数器 映射到数据存储空间的0024H单元 复位或定时器中断 TINT 时 TIM内装入PRD寄存器的值 定时时间 并进行自动减1操作 定时周期寄存器PRD16位的存储器映像寄存器 位于数据存储空间的0025H单元 用来存放定时时间常数 每次复位或TINT中断时 将定时时间装入TIM寄存器 2 定时器 定时控制寄存器TCR16位的存储器映像寄存器 位于数据存储空间的0026H单元 用来存储定时器的控制位和状态位 包括定时器分频系数TDDR 预标定计数器PSC 控制位TRB和TSS等 定时中断的周期 CLKOUT TDDR 1 PRD 1 时钟周期 分频系数 时钟周期 计算定时器初值 例如 定时周期 1ms 设时钟周期CLKOUT 1 80M 12 5ns 求TDDR和PDR解 设定TDDR 9定时周期 CLKOUT TDDR 1 PRD 1 12 5 9 1 PRD 1 1ms得 PRD 7999 1F3Fh 4 主机接口HPI 主机接口HPI是 C54x芯片具有的一种8位或16位的并行接口部件 主要用于DSP与其他总线或主处理机进行通信 HPI接口通过HPI控制寄存器 HPIC 地址寄存器 HPIA 数据锁存器 HPID 和HPI内存块实现与主机通信 4 主机接口HPI 接口所需要的外部硬件少 HPI单元允许芯片直接利用一个或两个数据选通信号 有一个独立或复用的地址总线 一个独立或复用的数据总线与微控制单元MCU连接 主机和DSP可独立地对HPI接口操作 主机和DSP握手可通过中断方式来完成 主机可以通过HPI直接访问CPU的存储空间 包括存储器映像寄存器 主机还可以通过HPI接口装载DSP的应用程序 接收DSP运行结果或诊断DSP运行状态 主要特点 5 串行通信接口 C54x内部具有功能很强的高速 全双工串行通信接口 可以和其他串行器件直接接口 四种串行口 标准同步串行口SP缓冲同步串行口BSP时分多路串行口TDM多路缓冲串行口McBSP 5 串行通信接口 1 标准同步串行口SPSP是一个高速 全双工 双缓冲的串行口 提供了与编码器 A D转换器等串行设备之间的通信 可实现数据的同步发送和接收 能完成8位字节或16位字的串行通信 每个串行口都含有发送数据寄存器DXR 发送移位寄存器XSR 接收数据寄存器DRR和接收移位寄存器RSR 并能以1 4机器周期频率工作 在进行数据的接收和发送时 串行口能产生可屏蔽的收 发中断 RINT和XINT 通过软件来管理数据的接收和发送 整个过程由串行口控制寄存器SPC控制 5 串行通信接口 2 缓冲同步串行口BSPBSP是一种增强型同步串行口 它是在同步串行口的基础上增加了一个自动缓冲单元ABU ABU的功能 利用专用总线 控制串行口直接与 C54x的内部存储器进行数据交换 工作方式 非缓冲模式和自动缓冲模式 非缓冲模式 即标准模式 与SP相同 自动缓冲模式 在ABU的控制下 串行口直接与C54x的内部存储器进行16位数据块传输 当传输的数据长度是数据块长度的一半或整个长度时 产生中断 这两种工作模式都提供了包括可编程控制的串口时钟 帧同步信号 可选择时钟和帧同步信号的正负极性等增强功能 能以每帧8位 10位 12位和16位传输数据 最大操作频率为CLKOUT 5 串行通信接口 3 时分多路串行口TDMTDM是一个允许数据时分多路的同步串行接口 既能工作在同步方式 也能工作在TDM方式 TDM可以与外部多个应用接口实现方便灵活的数据交换 最多可与8个外部器件接口通信 这种接口在多处理器应用中得到了广泛的使用 工作方式 非TDM模式和TDM模式 非TDM模式 称为标准方式 与SP相同 TDM模式 是将与多个不同器件的通讯按时间依次划分成若干个时间段 信道 TDM周期地按时间顺序与不同的信道设备进行串行通信 第2章TMS320C54x的硬件结构 5 串行通信接口 4 多路缓冲串行口McBSPMcBSP是一个高速 全双工 多通道缓冲串行接口 可直接与其他 C54x 编码器以及系统中的其他串口器件通信 McBSP提供了全双工通信 连续数据流的双缓冲数据寄存器 接收和发送独立的帧和时钟信号 可以直接与T1 E1帧接口 McBSP在外部通道选择电路的控制下 采用分时的方式实现多通道串行通信 与以前的串行口相比 具有很大的灵活性 BIO XF用作异步通讯握手信号MCBSP作为通用IO口进行数据传输 2 5 C54x的系统控制 C54x芯片的系统控制 程序计数器PC 硬件堆栈 PC相关的硬件 外部复位信号 中断 状态寄存器 循环计数器 2 5 C54x的系统控制 2 5 1程序地址的产生 C54x的程序存储器用来存放应用程序的代码 系数表和立即数 CPU取指操作时 首先 由程序地址生成器 PAGEN 产生地址 然后 将地址加载到程序地址总线PAB 最后 PAB寻址存放程序存储器中的指令 系数表和立即数 2 7 1程序地址的产生 PAGEN的组成 程序计数器PC重复计数器RC块重复计数器BRC块重复起始地址寄存器RSA块重复结束地址寄存器REA 1 程序存储器地址生成器PAGEN 存储器映像寄存器 1AH 1BH 1CH PAGEN的组成框图 2 5 1程序地址的产生 2 程序计数器PC 程序计数器是一个16位计数器 用来保存某个内部或外部程序存储器的地址 对PC加载的方法 当进行复位操作时 将地址FF80H加载PC 当程序是顺序执行时 则PC被增量加载 即PC PC 1 当分支转移发生时 用紧跟在分支转移指后面的16位立即数加载PC 当执行块重复指令时 若PC 1等于块重复结束地址REA 1 则将块重复起始地址RSA加载PC 2020年4月19日 DSP原理及应用 121 2 7 C54x的系统控制 2 7 3系统的复位 复位期间 处理器将进行如下操作 状态寄存器ST0 1800H 将ST1中的INTM位置1 关闭所有可屏蔽中断 2020年4月19日 DSP原理及应用 122 2 7 3系统的复位 复位期间 处理器将进行如下操作 2020年4月19日 DSP原理及应用 123 复位期间 处理器将进行如下操作 将下列状态位置为初始值 注意 复位期间 不对其余的状态位和堆栈指针SP初始化 ARP 0ASM 0AVIS 0BRAF 0C 1C16 0CLKOFF 0CMPT 0CPL 0DP 0DROM 0FRCT 0HM 0INTM 1OVA 0OVB 0OVLY 0OVM 0SXM 1TC 1XF 1 2020年4月19日 DSP原理及应用 124 2 7 4中断操作 中断系统是为计算机系统提供实时操作 多任务和多进程操作的关键部件 中断信号 由外设向CPU传送数据的硬件设备产生 由外设向CPU提取数据的硬件设备产生 由定时器产生 2020年4月19日 DSP原理及应用 125 2 7 4中断操作 当CPU响应中断时 将暂时停止当前程序的执行 而去执行中断服务程序 中断系统 软件中断 硬件中断 由程序指令产生的中断 如 INTR TRAP或RESET 由外围设备信号产生的中断 硬件中断 受外部中断口信号触发的外部硬件中断 受片内外设电路信号触发的内部硬件中断 2020年4月19日 DSP原理及应用 126 2 7 4中断操作 不论是软件中断还是硬件中断 C

温馨提示

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

最新文档

评论

0/150

提交评论