网站大量收购独家精品文档,联系QQ:2885784924

七部分教程文件.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADSP-218x Workshop 第七部分 ADSP-21xx系列DSP的程序编制 A:ADSP-21xx系列DSP的编程模型 ADSP-21xx编程模型综述 从程序编制的角度分析, ADSP-21xx系列DSP包括三种运算部件(ALU、MAC、Shifter)、两个数据地址产生器(DAGs)、一个程序定序器和相关的标准外设接口及内部存储器。几乎所有的操作都要用到这些结构单元以及用于存储数据、指示操作模式或用做堆栈指针的寄存器。 片内寄存器用于保存数据和地址以及控制和状态信息。有两种方式对寄存器进行访问。一种是直接在汇编指令中以寄存器名字来访问,另一种要以存储器地址来访问,这主要包括系统控制寄存器、等待状态控制寄存器、定时控制寄存器和串行通信接口控制寄存器等。 数据地址产生器(DAG1/DAG2) —— 数据地址产生器DAG1 和DAG2 每个都有12个14-bit 寄存器: 4个索引寄存器(I)用于存储数据指针,4个更改寄存器(M)用于更新数据指针,4个长度寄存器用于设置循环缓冲存储空间。DAG1 只能对数据存储器进行存取操作,但其输出具有位反序功能,DAG2可以对程序或数据存储器进行操作,除了存取数据外,DAG2还可以提供间接分支转移(jumps和calls)指令的目的地址。 运算单元 —— 运算单元中的寄存器用于存储运算数据。 对于大多数操作,ALU和MAC需要两个输入数据。AX0、AX1和MX0、MX1寄存器存储X输入端的数据,AY0、AY1和MY0、MY1寄存器保存Y输入端的数据。, AR和AF寄存器存储ALU的运算结果。AF中的内容可以反馈到ALU的Y输入端,而AR的内容可以提供给任意一个运算部件的X输入端。同样,MR0,MR1和MF寄存器存储MAC的运算结果并且可以反馈回输入端供下次运算使用。16-bit的MR0和MR1寄存器与8-bit的MR2寄存器结合在一起可以存储40-bit的乘/累加运算结果 移位器可以从ALU、MAC及自己的结果寄存器中获得输入数据,或是从特定的移位输入(SI)寄存器中获得输入数据。移位的结果可以存储在SR0和SR1寄存器中。SB寄存器存储块浮点运算中的块指数。SE寄存器则存储浮点数规格化/去规格化所需的移位次数值。 所有运算部件的寄存器都具有相应的一套后备寄存器。 PMD和DMD的数据交换单元 —— PX寄存器的宽度是8-bit ,它允许在16-bit的DMD总线与24-bit的PMD总线之间进行数据传输。在程序存储器与一个16-bit寄存器的数据传输中,PX提供或接收低8位的数据。 定时器 TPERIOD、TCONUNT和TSCALE寄存器保存定时器的定时中断重载数值(定时周期),递减计数器当前值和8位定标计数值。这几个寄存器是存储器地址映射的,其地址是:0x3FFD, 0x3FFC和 0x3FFB 串行通信接口 —— SPORT0和SPORT1每个都有接收(RX)、发射(TX)和控制寄存器。 控制寄存器均是存储器映射的,地址位于数据存储器的0x3FEF–0x3FFA处。 —— SPORT0还有控制其多通道功能的寄存器。 —— 每一个SPORT口控制寄存器具有控制帧同步、压扩方式和数据长度的控制位。 —— SCLKDIV寄存器确定内部产生的串行通信时钟的频率。 —— RFSDIV寄存器则决定内部生成的帧同步信号的速率。 —— 自适应缓冲寄存器则控制通信接口的自适应缓冲区特性。 —— 对SPORT接口的编程包括设置其控制寄存器,并且根据所选择的工作模式,设置相应的SCLKDIV和/或RFSDIV寄存器。 存储器接口和串行通信接口使能 —— 系统控制寄存器,映射在数据存储器地址DM(0x3FFF) 处,包括SPORT使能和SPORT1配置选择。对于除ADSP-2181以外的所有ADSP-21xx DSP芯片,该寄存器还包括控制其引导程序操作的字段:选择程序页面、指示程序存储器的等待周期等。系统控制寄存器还包括PWAIT字段用以指示对外部程序存储器进行操作时需要查入的等待状态数。 —— 等待状态控制寄存器,映射在数据存储器地址DM(0x3FFE) 处,包含对外部数据存储器进行存取操作需要查入的等待状态数。对于ADSP-2181,它还指示对I/O存储空间进行存取操作需要查入的等待状态数。 内部DMA(IDMA)、字节DMA(BDMA) 可编程标志 B:VisualDSP++的C语言编译器 DSP的C语言程序 为什么要使用C语言? 程序易于编写 程序的可读性好 可维护性好 采用C语言进行DSP程序编制的不足是什么? 代码效率低下 编译后代码长度大,执行的周期长 中断处理过程复杂,响应速度慢 比较好的DSP程序开发方法 — 采用汇编语言与C语言混合的程序设

文档评论(0)

yuzongjuan7808 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档