DSP芯片集成外设的开发.ppt_第1页
DSP芯片集成外设的开发.ppt_第2页
DSP芯片集成外设的开发.ppt_第3页
DSP芯片集成外设的开发.ppt_第4页
DSP芯片集成外设的开发.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1 第9章DSP芯片集成外设的开发 引言中断DMA时序模块接口模块基于CSL的外设开发小结习题与思考题 2 一 引言 开发者可以利用这些片内外设接口方便与各种芯片相连 共同实现特定功能的电路系统 片内CPU的运行结果只有通过接口和其他器件完成输入输出才有实际意义 一个完善的系统必须要能够对DSP的集成外设进行正确合理的使用 3 DSP芯片和外设以及不同的存储空间进行信息传送时 有几种不同的传送方式 1 查询 polling 传送方式 2 中断 interrupt 传送方式 3 DMA传送方式 一 引言 4 二 中断 利用中断可以实现CPU和外设的同步操作 信号的实时响应和运行故障的快速处理等功能 中断源 引起中断的原因 以及发出中断申请的来源 根据中断源的性质不同 DSP芯片的中断可以分为硬中断和软中断两类 5 中断分为三种类型复位 RESET 中断不可屏蔽中断可屏蔽中断C54x根据芯片型号不同 有24 27个软件和硬件中断 共分为14个中断优先级 可以实现多任务嵌套 二 中断 6 检测到有效的中断源信号后 CPU会自动停止当前指令的执行 转而去处理中断服务程序 ISR 这个过程称为中断响应 CPU根据控制寄存器判断是否执行中断服务程序 二 中断 7 中断控制寄存器 中断标志寄存器 IFR InterruptFlagRegister 中断屏蔽寄存器 IMR InterruptMaskRegister 二 中断 8 中断矢量 采用中断矢量来确定CPU响应每个中断时程序指针 PC 的跳转地址 C5000 C6000等系列DSPs芯片都采用了软件可重定位中断矢量形式 C54x系列的DSP为每个中断提供了一个中断矢量号 并在中断矢量表中提供了4个字的空间用于服务程序的存放 二 中断 9 二 中断 10 编写中断服务程序时应该注意如下几点 1 必须把在中断服务程序中使用到的寄存器值保存到堆栈中 保护现场 返回时以相反的次序恢复这些值 恢复现场 2 先保护BRC寄存器 后保护ST1 恢复时相反 3 与C语言混合编程 保存AR1 AR6和AR7 4 利用C语言实现中断服务程序 在函数名前使用关键字interrupt 此时中断服务程序将自动保护状态寄存器和辅助寄存器 二 中断 11 三 为降低CPU的负荷 通常都在DSP片内设计多通道的直接存储器访问 DMA 控制器 DMA控制器是独立于CPU的设备 一旦正确初始化后 就能独立于CPU工作 在CPU操作的同时实现片内存储器 片内外设以及外围器件间的数据传输 12 DMA控制器提供了三种传输方式 1 元素传输只对一个数据进行读 写操作 2 帧传输将搬移一帧内的所有数据 3 块传输搬移块内所有帧的数据 三 13 控制寄存器 DMSA DMA子地址寻址寄存器 SubbankAddressRegister DMSDI 子地址自增1的DMA子地址数据访问寄存器 SubbankAccessRegisterwithAutoincrement DMSDN 不自增1的DMA子地址数据访问寄存器 SubbankAccessRegisterwithoutAutoincrement 三 14 三 15 为了访问一个特定的子地址寄存器 首先要向DMSA写入子地址 然后 才可以在物理空间中真正选定所要访问的寄存器DMSDI和DMSDN 此时 对子地址数据寄存器的操作就是对选定的寄存器内容的操作 由于DMA传输不需要CPU处理 因此在传输前需要提前确定好源地址 目的地址以及各自的修改方式 数据传输的宽度 数量以及传输时机等很多因素 这些因素都有对应的寄存器和控制比特 三 16 DMA需占用数据总线 DSP提供了两个引脚HOLD和HOLDA实现对DMA控制器 CPU的总线仲裁 外界将DSP芯片的HOLD引脚置为低 DSP芯片响应外部DMA请求 当HOLDA变低时 DSP芯片将外部总线置为高阻状态 将总线控制权交出 外界将HOLD线变高 总线控制权重新交给DSP芯片 三 17 四 时序模块 PLL模块C5000系列的DSP芯片还采用了更加灵活的可编程PLL方式 时钟输入 18 PLL配置 四 时序模块 19 2 定时模块定时寄存器 TIM 位于数据空间的0024h单元 其中数据进行自减操作 定时周期寄存器 PRD 位于数据空间的0025h单元 每次复位或TINT中断时将内容装入TIM寄存器 定时控制寄存器 TCR 位于数据空间的0026h单元 包含了定时器的控制位和状态位 四 时序模块 20 四 时序模块 21 四 时序模块 TIMER ini STM 10h TCR 停止定时器NOPSTM 2499 PRD 对PRD赋值ORM 23h TCR 对TDDR赋值 重置定时器NOPNOPANDM 0ffefh TCR 启动定时器 22 3 等待状态发生器DSP的指令周期较快 在访问慢速存储器或外设时 为了保证芯片之间时序配合 通常需要插入等待状态 等待分硬件等待和软件等待两种方式硬件等待方式较麻烦 现在的DSP芯片一般在内部设有软件设置等待机制 四 时序模块 23 四 时序模块 软件等待状态控制寄存器 SWCR 软件等待状态寄存器 SWWSR 24 外设接口主要实现如下功能 数据缓冲接收和执行CPU命令中断管理接口的设计是硬件和软件相结合的实现过程 五 接口模块 25 1 多通道缓冲串行口可以完成标准串口的全双工串行通信 同时还能够支持多种协议下的直接接口 具有双缓冲数据寄存器 允许连续的数据流 可以实现全双工通信 支持多种方式的传输接口 包括T1 E1帧协议 AC97兼容设备 SPI设备等 可与工业标准的编 解码器 AICs 模拟接口芯片 以及其他串行A D D A接口 五 接口模块 26 数据传输时钟可是外部时钟或片内可编程时钟 帧同步信号和时钟信号收发独立 极性可设 可编程程度高 帧长度可以在1 128个字间选择 支持传输的数据字长可以是8bit 12bit 16bit 20bit 24bit或32bit 支持多通道传输 可与多达128个通道进行收发 内置 律和A律硬件压扩 当利用DMA为McBSP服务时 串行口数据读写具有自动缓冲能力 五 接口模块 27 五 接口模块 28 五 接口模块 为访问某个指定的子地址寄存器 要将相应的子地址写入SPSAx 29 五 接口模块 McBSP时钟产生器示意图 30 a 简单串行接口 SPI 是一种主从配置的 支持一个主方 一个或多个从方的串行通信协议一般使用4条信号线 串行移位时钟线 SCK 主机输入 从机输出线 MISO 主机输出 从机输入线 MOSI 低电平有效的使能信号线 SS 由主设备时钟信号的出现与否来确定主 从设备间的通信 McBSP具有时钟停止工作模式 由CLKSTP比特域控制 可以与SPI协议兼容 五 接口模块 31 b 通用 口在两种情况下 串口的引脚 CLKX FSX DX CLKR FSR DR以及CLKS 可以作为通用I O口使用 McBSP的某部分处于复位状态 此时SPCR寄存器中的 R X RST 0 串口设置为通用I O口 此时PCR中的 R X IOEN 1 五 接口模块 32 2 主机接口 HPI 主机 也称为上位机 控制着该接口的主控权 通过它直接访问DSP的存储空间和外围设备 DSP作为从机 也称为下位机 向主机开放总线的控制权 五 接口模块 33 1 HPI存储器 DARAM 用于TMS320C54x与主机间传送数据 2 HPI地址寄存器 HPIA 由主机对其直接访问 存放当前寻址HPI存储单元的地址 3 HPI数据锁存器 HPID 由主机对其直接访问 存放当前进行读 写的数据 4 HPI控制寄存器 HPIC TMS320C54x和主机都能对其直接访问 用于主处理器与DSP相互握手 实现相互中断请求 5 HPI控制逻辑 用于处理HPI与主机之间的接口信号 五 接口模块 34 五 接口模块 HPI 8方框图 35 五 接口模块 HPI 8连线关系示意图 36 复用模式下HPI 16的接口示意图 五 接口模块 37 非复用模式下HPI 16的接口示意图 五 接口模块 38 3 外部存储器接口 EMIF 是外部存储器和DSP芯片内部其他单元间的接口 五 接口模块 39 4 通用I O口除了XF和BIO两个通用I O引脚外 一些C54xDSP芯片的多通道缓冲串口 McBSP 和主机接口 HPI 的一些引脚也可以作为通用I O引脚 五 接口模块 40 为免除用户编写配置和控制片上外设所必需的定义和代码 DSP芯片开发商通常会为用户提供一组标准的方法用于访问和控制片上外设 TI公司在CCS中嵌入了芯片支持库 ChipSupportLibrary CSL 主要用于配置 控制和管理DSP片上外设 分别为C6000和C5000系列DSP设计 六 基于CSL的外设开发 41 已实现的模块 CSL 顶层模块 DAT 和器件无关的数据拷贝 填充模块 CHIP 和器件相关的定义模块 DMA 直接存储器访问模块 EBUS 外部存储器总线接口模块 GPIO 通用I O模块 HPI 主机接口模块 IRQ 中断控制模块 MCBSP 多通道缓冲串口模块 PWR 功耗控制模块 STDINC 标准包含模块 TIMER 定时器模块 六 基于CSL的外设开发 42 1 CSL库是可裁剪的 即只有被使用的CSL模块才会包含进应用程序中 2 CSL库是可扩展的 每个片上外设的API相互独立 增加新的API 对其他片上外设没有影响 3 CSL库对硬件进行抽象 提取符号化的片上外设描述 大多数常用的寄存器及其域值都已经通过宏进行了定义 因此可以直接利用宏进行访问和建立 六 基于CSL的外设开发

温馨提示

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

评论

0/150

提交评论