当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《嵌入式系统及应用》课程教学资源(参考资料)Microchip dsPIC30F33F 程序员参考手册(高性能数字信号控制器)

资源类别:文库,文档格式:PDF,文档页数:358,文件大小:1.97MB,团购合买
点击下载完整版文档(PDF)

N MICROCHIP dsPIC30F/33F程序员 参考手册 高性能 数字信号控制器 2006 Microchip Technology Inc. 初稿 DS70157B_CN

 2006 Microchip Technology Inc. 初稿 DS70157B_CN dsPIC30F/33F 程序员 参考手册 高性能 数字信号控制器

MICROCHIP 目录 页码 第1章简介 1-1 简介 1-2 本手册的宗旨 .1-2 开发支持」 .1-2 风格和符号的约定 1-3 指令集符号 .1-4 相关技术文档 .1-5 第2章编程模型 2-1 dsPIC30F/33F概述 编程模型 2-2 2-3 第3章指令集概述 3-1 简介 .3-2 指令集概述 .3-2 指令集汇总表 .3-3 第4章指令集详解 4-1 数据寻址模式 4-2 程序空间寻址模式 4-11 指令停顿 4-12 字节操作 4-13 字传送操作… .4-16 使用10位立即数操作数 4-19 软件堆栈指针和帧指针 4-20 条件转移指令 .4-25 Z状态位…」 4-26 规定的工作寄存器用法 4-27 DSP数据格式… .4-30 累加器的使用 4-32 累加器访问 433 DSP MAC类指令 4-33 DSP累加器类指令 4-37 使用FBCL指令换算数据 4-37 使用FBCL指令将累加器中内容归一化 4-39 第5章指令描述 5-1 指令符号 5-2 指令编码字段描述符介绍 ..5-2 指令描述示例 .5-6 指令描述 …5-7 第6章参考信息 6-1 数据存储区映射 6-2 内核特殊功能寄存器映射 .6-4 程序存储区映射 6-7 指令位映射 6-9 指令集汇总表 .6-11 2006 Microchip Technology Inc. 初稿 DS70157BCN第i页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 iii 页 M 页码 第 1 章 简介 1-1 简介 .................................................................................................................................................................. 1-2 本手册的宗旨 .................................................................................................................................................... 1-2 开发支持 ...........................................................................................................................................................1-2 风格和符号的约定 ............................................................................................................................................ 1-3 指令集符号 ....................................................................................................................................................... 1-4 相关技术文档 .................................................................................................................................................... 1-5 第 2 章 编程模型 2-1 dsPIC30F/33F 概述 ..........................................................................................................................................2-2 编程模型 ...........................................................................................................................................................2-3 第 3 章 指令集概述 3-1 简介 .................................................................................................................................................................. 3-2 指令集概述 ....................................................................................................................................................... 3-2 指令集汇总表 .................................................................................................................................................... 3-3 第 4 章 指令集详解 4-1 数据寻址模式 .................................................................................................................................................... 4-2 程序空间寻址模式 .......................................................................................................................................... 4-11 指令停顿 .........................................................................................................................................................4-12 字节操作 .........................................................................................................................................................4-13 字传送操作 ..................................................................................................................................................... 4-16 使用 10 位立即数操作数 ................................................................................................................................. 4-19 软件堆栈指针和帧指针 ...................................................................................................................................4-20 条件转移指令 .................................................................................................................................................. 4-25 Z 状态位 .........................................................................................................................................................4-26 规定的工作寄存器用法 ...................................................................................................................................4-27 DSP 数据格式 ................................................................................................................................................. 4-30 累加器的使用 .................................................................................................................................................. 4-32 累加器访问 ..................................................................................................................................................... 4-33 DSP MAC 类指令 ........................................................................................................................................... 4-33 DSP 累加器类指令 ......................................................................................................................................... 4-37 使用 FBCL 指令换算数据 ............................................................................................................................... 4-37 使用 FBCL 指令将累加器中内容归一化 .......................................................................................................... 4-39 第 5 章 指令描述 5-1 指令符号 ...........................................................................................................................................................5-2 指令编码字段描述符介绍 .................................................................................................................................. 5-2 指令描述示例 .................................................................................................................................................... 5-6 指令描述 ...........................................................................................................................................................5-7 第 6 章 参考信息 6-1 数据存储区映射 ................................................................................................................................................6-2 内核特殊功能寄存器映射 .................................................................................................................................. 6-4 程序存储区映射 ................................................................................................................................................6-7 指令位映射 ....................................................................................................................................................... 6-9 指令集汇总表 .................................................................................................................................................. 6-11 目录

1 MICROCHIP 感 第1章简介 目录 本章主要包括以下内容: 1.1 简介 1-2 1.2本手册的宗旨 1-2 1.3 开发支持 1.4 风格和符号的约定 .1-2 1.5 指令集符号…。 .1-3 1-4 1.6 相关技术文档 1-5 2006 Microchip Technology Inc. 初稿 DS70157B_CN第1-1页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 1-1 页 简介 1 第 1 章 简介 目录 本章主要包括以下内容: 1.1 简介................................................................................................................................1-2 1.2 本手册的宗旨 ................................................................................................................. 1-2 1.3 开发支持......................................................................................................................... 1-2 1.4 风格和符号的约定 ..........................................................................................................1-3 1.5 指令集符号.....................................................................................................................1-4 1.6 相关技术文档 ................................................................................................................. 1-5

dsPIC30F/33F程序员参考手册 1.1 简介 Microchip主要生产满足嵌入式控制市场需求的产品。我们是以下产品的领先供应商: ·8位通用单片机(PICmicro®MCU) ·dsPIC30F和dsP1C33F16位数字信号控制器(dsPIC®DSC) 专用和标准的非易失性存储器件 ·安防器件(KEELOQ®安防IC) ·专用标准产品 欲获得您所感兴趣的全部产品系列,请申请一份Microchip产品选型指南。该文献可从当地的销 售办事处或从Microchip网址(ww.microchip.com)获得。 1.2 本手册的宗自 根据指令字长度和数据线宽度来对PICmicro MCU以及dsPIC30F和dsPIC:33F器件进行分类。 目前器件系列包括: 1.低档系列: 12位指令字长度,8位数据线 2. 中档系列: 14位指令字长度,8位数据线 3. 高档系列: 16位指令字长度,8位数据线 4. 增强系列: 16位指令字长度,8位数据线 5. dsP1C30F133F:24位指令字长度,16位数据线 本手册是dsPIC30F和dsPIC33FDSC系列器件软件开发人员的参考手册。本手册对指令集进行 了详细介绍,并提供通用信息以帮助用户进行dsP1C30F和dsPIC33F系列器件的软件开发。 本手册的内容没有包括有关内核、外设、系统集成或针对具体器件的详细信息。有关器件内核、 外设以及系统集成的信息,请参阅dsP1C30F系列参考手册)》(DS70046D_CN)。关于针对具 体器件的信息,请参阅相应器件的数据手册。数据手册提供的信息包括: ·器件存储器映射 ·器件引脚和封装细节 ·器件电气特性 ·器件上包含的外设 本手册中给出了大量的代码示例。这些代码示例适用于dsPIC30F或dsPIC33F系列中的任何器 件。 1.3 开发支持 Microchip提供了大量的开发工具,使用户可以高效地开发和调试应用代码。Microchip的开发工 具可以分为四类: 1. 代码生成 2. 硬件/软件调试 3. 器件编程器 4.产品评估板 用户可从Microchip网站(www.microchip.com)或当地的Microchip销售办事处获取有关最新工 具、产品简介和用户指南的信息。 Microchip还提供了其他参考工具来帮助用户加速开发过程,包括: ·应用笔记 ·参考设计 ·Microchip网站 ·当地销售办事处提供的现场应用支持 ·公司的技术支持热线 Microchip的网站列出了其他一些有用的链接。 DS70157BCN第1-2页 初稿 2006 Microchip Technology Inc

dsPIC30F/33F 程序员参考手册 DS70157B_CN 第 1-2 页 初稿  2006 Microchip Technology Inc. 1.1 简介 Microchip 主要生产满足嵌入式控制市场需求的产品。我们是以下产品的领先供应商: • 8 位通用单片机 (PICmicro® MCU) • dsPIC30F 和 dsPIC33F 16 位数字信号控制器 (dsPIC® DSC) • 专用和标准的非易失性存储器件 • 安防器件 (KEELOQ® 安防 IC) • 专用标准产品 欲获得您所感兴趣的全部产品系列,请申请一份 Microchip 产品选型指南。该文献可从当地的销 售办事处或从 Microchip 网址 (www.microchip.com)获得。 1.2 本手册的宗旨 根据指令字长度和数据线宽度来对 PICmicro MCU 以及 dsPIC30F 和 dsPIC33F 器件进行分类。 目前器件系列包括: 1. 低档系列: 12 位指令字长度, 8 位数据线 2. 中档系列: 14 位指令字长度, 8 位数据线 3. 高档系列: 16 位指令字长度, 8 位数据线 4. 增强系列: 16 位指令字长度, 8 位数据线 5. dsPIC30F/33F: 24 位指令字长度, 16 位数据线 本手册是 dsPIC30F 和 dsPIC33F DSC 系列器件软件开发人员的参考手册。本手册对指令集进行 了详细介绍,并提供通用信息以帮助用户进行 dsPIC30F 和 dsPIC33F 系列器件的软件开发。 本手册的内容没有包括有关内核、外设、系统集成或针对具体器件的详细信息。有关器件内核、 外设以及系统集成的信息,请参阅《dsPIC30F 系列参考手册》(DS70046D_CN)。关于针对具 体器件的信息,请参阅相应器件的数据手册。数据手册提供的信息包括: • 器件存储器映射 • 器件引脚和封装细节 • 器件电气特性 • 器件上包含的外设 本手册中给出了大量的代码示例。这些代码示例适用于 dsPIC30F 或 dsPIC33F 系列中的任何器 件。 1.3 开发支持 Microchip 提供了大量的开发工具,使用户可以高效地开发和调试应用代码。Microchip 的开发工 具可以分为四类: 1. 代码生成 2. 硬件 / 软件调试 3. 器件编程器 4. 产品评估板 用户可从 Microchip 网站(www.microchip.com)或当地的 Microchip 销售办事处获取有关最新工 具、产品简介和用户指南的信息。 Microchip 还提供了其他参考工具来帮助用户加速开发过程,包括: • 应用笔记 • 参考设计 • Microchip 网站 • 当地销售办事处提供的现场应用支持 • 公司的技术支持热线 Microchip 的网站列出了其他一些有用的链接

第1章简介 1.4 风格和符号的约定 本文档采用了某些风格和字体格式约定。大多数字体约定表示强调的文本与正文的区别。单片机 行业中有许多符号和非常规字词的定义和缩写。表1-1说明了本文档中所包含的许多约定。 表1-1: 文档约定 符号或术语 说明 置1 强制某一位/寄存器的值为逻辑1。 清零 强制某一位/寄存器的值为逻辑0。 复位 1)强制某一寄存器/位回到默认状态。 2)复位器件后的状态。某些位将被强制为0(如中断允许位),而其他位被 强制为1(如/0数据方向位)。 0xnnnn 指定数据nnnn为十六进制数。这种约定用于代码示例中。例如, 0x013F或0xA800. :(冒号) 用来指定范围,或寄存器/位/引脚的组合。 如ACCAU:ACCAH:ACCAL表示由三个寄存器组成一个40位累加器。 组合顺序(左-右)通常指定一种位置关系(MSb到LSb,高位到低位)· 指定特定寄存器中位的位置。 如SR(或IPL)指定了寄存器和相关位或位的位置。 LSb,MSb 表示位段中的最低位或最高位。 LSB,MSB,Isw, 表示位段中的最低字节/最高字节或最低位字/最高位字。 msw Courier字体 用于代码示例、二进制数以及文本中的指令助记符。 Times字体 用于公式和变量。 Times,黑体,斜体 用于图表/公式1示例中的说明文本。 注 “注”表示希望再次强调的信息,帮助您避免常见的错误,或提醒您注意 同一系列器件间的操作区别。在大多数情况下,“注”以阴影的方框出现 (如下),除非用于表格中,这时它位于表格的下方(如表1-2所示)。 注:这是一个带阴影注释框中的“注”。 2006 Microchip Technology Inc. 初稿 DS70157BCN第1-3页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 1-3 页 第 1 章 简介 简介 1 1.4 风格和符号的约定 本文档采用了某些风格和字体格式约定。大多数字体约定表示强调的文本与正文的区别。单片机 行业中有许多符号和非常规字词的定义和缩写。表 1-1 说明了本文档中所包含的许多约定。 表 1-1: 文档约定 符号或术语 说明 置 1 强制某一位 / 寄存器的值为逻辑 1。 清零 强制某一位 / 寄存器的值为逻辑 0。 复位 1) 强制某一寄存器 / 位回到默认状态。 2) 复位器件后的状态。某些位将被强制为 0 ( 如中断允许位 ),而其他位被 强制为 1( 如 I/O 数据方向位 )。 0xnnnn 指定数据 nnnn 为十六进制数。这种约定用于代码示例中。例如, 0x013F 或 0xA800。 :( 冒号 ) 用来指定范围,或寄存器 / 位 / 引脚的组合。 如 ACCAU:ACCAH:ACCAL 表示由三个寄存器组成一个 40 位累加器。 组合顺序 ( 左 - 右 ) 通常指定一种位置关系 (MSb 到 LSb,高位到低位 )。 指定特定寄存器中位的位置。 如 SR ( 或 IPL) 指定了寄存器和相关位或位的位置。 LSb, MSb 表示位段中的最低位或最高位。 LSB, MSB, lsw, msw 表示位段中的最低字节 / 最高字节或最低位字 / 最高位字。 Courier 字体 用于代码示例、二进制数以及文本中的指令助记符。 Times 字体 用于公式和变量。 Times, 黑体 , 斜体 用于图表 / 公式 / 示例中的说明文本。 注: “注”表示希望再次强调的信息,帮助您避免常见的错误,或提醒您注意 同一系列器件间的操作区别。在大多数情况下,“注”以阴影的方框出现 ( 如下 ),除非用于表格中,这时它位于表格的下方 ( 如表 1-2 所示 )。 注: 这是一个带阴影注释框中的 “注

dsPIC30F/33F程序员参考手册 1.5 指令集符号 在第3.2节和第6.5节中的汇总表以及第5.4节的指令描述中使用了表1-2中所示的符号。 表1-2: 指令汇总表和说明中使用的符号 符号 说明 ) 可选字段或操作 [text] 由文本寻址的地址 (text) 文本内容 #text 由文本定义的立即数 a∈[b,c,d a一定在集合[b,c,d中 寄存器位段 (label:) 可选标号名 Acc 累加器A或累加器B AWB 累加器回写 bit4 4位宽位位置(对于字节模式为0:7,对于字模式为0:15) Expr 绝对地址、标号或表达式(由链接器解析) f 文件寄存器地址 lit1 1位立即数(0:1) lit4 4位立即数(0:15) lit5 5位立即数(0:31) lit8 8位立即数(0:255) lit10 10位立即数(对于字节模式为0:255,对于字模式为0:1023) lit14 14位立即数(0:16383) lit16 16位立即数(0:65535) lit23 23位立即数(0:8388607) Slit4 有符号4位立即数(-87) Slit6 有符号6位立即数(-3231)(范围限制为-16:16) Slit10 有符号10位立即数(-512:511) Slit16 有符号16位立即数(-32768:32767) TOS 栈顶 Wb 基本工作寄存器 Wd 目的工作寄存器(直接和间接寻址) Wm,Wn 除法工作寄存器对(被除数,除数) Wm*Wm 乘法工作寄存器对(相同的源寄存器) WmWn 乘法工作寄存器对(不同的源寄存器) Wn 既是源工作寄存器又是目的工作寄存器(直接寻址) Wnd 目的工作寄存器(直接寻址) Wns 源工作寄存器(直接寻址) WREG 默认工作寄存器(分配给WO) Ws 源工作寄存器(直接和间接寻址) Wx 源寻址模式和用于X数据总线预取操作的工作寄存器 Wxd 用于义数据总线预取操作的目的工作寄存器 y 源寻址模式和用于Y数据总线预取操作的工作寄存器 Wyd 用于Y数据总线预取操作的目的工作寄存器 注 每个符号的范围取决于指令。对于特定指令的范围,可参阅第5章“指令描述”。 DS70157BCN第1-4页 初稿 2006 Microchip Technology Inc

dsPIC30F/33F 程序员参考手册 DS70157B_CN 第 1-4 页 初稿  2006 Microchip Technology Inc. 1.5 指令集符号 在第 3.2 节和第 6.5 节中的汇总表以及第 5.4 节的指令描述中使用了表 1-2 中所示的符号。 表 1-2: 指令汇总表和说明中使用的符号 符号 说明 { } 可选字段或操作 [text] 由文本寻址的地址 (text) 文本内容 #text 由文本定义的立即数 a ∈ [b, c, d] a 一定在集合 [b, c, d] 中 寄存器位段 {label:} 可选标号名 Acc 累加器 A 或累加器 B AWB 累加器回写 bit4 4 位宽位位置 ( 对于字节模式为 0:7,对于字模式为 0:15) Expr 绝对地址、标号或表达式 ( 由链接器解析 ) f 文件寄存器地址 lit1 1 位立即数 (0:1) lit4 4 位立即数 (0:15) lit5 5 位立即数 (0:31) lit8 8 位立即数 (0:255) lit10 10 位立即数 ( 对于字节模式为 0:255,对于字模式为 0:1023) lit14 14 位立即数 (0:16383) lit16 16 位立即数 (0:65535) lit23 23 位立即数 (0:8388607) Slit4 有符号 4 位立即数 (-8:7) Slit6 有符号 6 位立即数 (-32:31) ( 范围限制为 -16:16) Slit10 有符号 10 位立即数 (-512:511) Slit16 有符号 16 位立即数 (-32768:32767) TOS 栈顶 Wb 基本工作寄存器 Wd 目的工作寄存器 ( 直接和间接寻址 ) Wm, Wn 除法工作寄存器对 ( 被除数,除数 ) Wm*Wm 乘法工作寄存器对 ( 相同的源寄存器 ) Wm*Wn 乘法工作寄存器对 ( 不同的源寄存器 ) Wn 既是源工作寄存器又是目的工作寄存器 ( 直接寻址 ) Wnd 目的工作寄存器 ( 直接寻址 ) Wns 源工作寄存器 ( 直接寻址 ) WREG 默认工作寄存器 ( 分配给 W0) Ws 源工作寄存器 ( 直接和间接寻址 ) Wx 源寻址模式和用于 X 数据总线预取操作的工作寄存器 Wxd 用于 X 数据总线预取操作的目的工作寄存器 Wy 源寻址模式和用于 Y 数据总线预取操作的工作寄存器 Wyd 用于 Y 数据总线预取操作的目的工作寄存器 注: 每个符号的范围取决于指令。对于特定指令的范围,可参阅第 5 章 “指令描述

第1章简介 1.6 相关技术文档 Microchip及其他合作伙伴提供了其他文档来帮助用户使用dsPIC:30F/dsPIC33FDSC进行开发。 下面列出了最常用的文档,当然还有其他文档可供参考。请访问Microchip 网站 (w.microchip.com)查阅最新发布的技术文档。 1.6.1 Microchip技术文档 Microchip目前提供了以下dsPIC30F/dsPI1C33F文档.其中许多文档都提供了具体的应用信息,给 出了dsPIC30F/dsPIC33FDSC的使用、编程和设计实例。 1.dsPIC30F系列参考手册(DS70046D_CN) 《sPIC30F系列参考手册》介绍了有关dsPIC:30F器件架构、外设以及系统集成特性的信 息。该文档对器件操作进行了详细介绍,并给出了许多代码示例。这个手册中所包含信息是 对dsP1C33F数据手册中信息的补充。 2.dsPIC30F系a列概述(DS70043FCN)和dsPIC33F产品概述(DS70155CCN) 这两个文档提供了对这两个系列器件的汇总介绍,包括器件引脚配置、存储器容量以及外 设。 3.dsP1C30F数据手册(DS70083)和dsP1C33F数据手册(DS70165) 数据手册包括诸如器件引脚配置及封装详细信息、电气特性和存储器映射在内的器件特定信 息。请查询Microchip网站(ww.microchip.com)获取已发布的器件数据手册列表。 1.6.2 第三方技术文档 我们遍布全球的第三方合作伙伴也提供了一些文档。Microchip并没有验证这些文档的技术准确 性,然而,这些文档有助于理解Microchip dsPIC30F或dsPIC33F器件的操作。可访问Microchip 网站(www.microchip.com)以查阅与dsPIC30F和dsPIC33F系列有关的第三方文档。 2006 Microchip Technology Inc. 初稿 DS70157BCN第1-5页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 1-5 页 第 1 章 简介 简介 1 1.6 相关技术文档 Microchip及其他合作伙伴提供了其他文档来帮助用户使用 dsPIC30F/dsPIC33F DSC 进行开发。 下面列出了最常用的文档,当然还有其他文档可供参考。请访问 Microchip 网站 (www.microchip.com)查阅最新发布的技术文档。 1.6.1 Microchip 技术文档 Microchip目前提供了以下dsPIC30F/dsPIC33F文档。其中许多文档都提供了具体的应用信息,给 出了 dsPIC30F/dsPIC33F DSC 的使用、编程和设计实例。 1. dsPIC30F 系列参考手册 (DS70046D_CN) 《dsPIC30F 系列参考手册》介绍了有关 dsPIC30F 器件架构、外设以及系统集成特性的信 息。该文档对器件操作进行了详细介绍,并给出了许多代码示例。这个手册中所包含信息是 对 dsPIC33F 数据手册中信息的补充。 2. dsPIC30F 系列概述 (DS70043F_CN)和 dsPIC33F 产品概述 (DS70155C_CN) 这两个文档提供了对这两个系列器件的汇总介绍,包括器件引脚配置、存储器容量以及外 设 。 3. dsPIC30F 数据手册 (DS70083)和 dsPIC33F 数据手册 (DS70165) 数据手册包括诸如器件引脚配置及封装详细信息、电气特性和存储器映射在内的器件特定信 息。请查询 Microchip 网站 (www.microchip.com)获取已发布的器件数据手册列表。 1.6.2 第三方技术文档 我们遍布全球的第三方合作伙伴也提供了一些文档。 Microchip 并没有验证这些文档的技术准确 性,然而,这些文档有助于理解 Microchip dsPIC30F 或 dsPIC33F 器件的操作。可访问 Microchip 网站 (www.microchip.com)以查阅与 dsPIC30F 和 dsPIC33F 系列有关的第三方文档

MICROCHIP 第2章编程模型 目录 本章对dsPIC30F和dsPIC33F器件进行概括介绍,主要包括以下内容: 2 2.1dsP列C30F/33f概述.2-2 2.2 编程模型. .2-3 2006 Microchip Technology Inc. 初稿 DS70157B_CN第2-1页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 2-1 页 编程模型 2 第 2 章 编程模型 目录 本章对 dsPIC30F 和 dsPIC33F 器件进行概括介绍,主要包括以下内容: 2.1 dsPIC30F/33F 概述........................................................................................................ 2-2 2.2 编程模型......................................................................................................................... 2-3

dsPIC30F/33F程序员参考手册 2.1 dsPIC30F/33F概述 dsPIC30F和dsPIC33F器件采用改进的哈佛架构内核,数据线宽度为16位,采用增强指令集 包含对DSP的支持。内核采用具有可变长度操作码字段的24位指令字。程序计数器(PC)为 23位宽,可对最大为4MX24位的用户程序存储空间进行寻址。单周期指令预取机制用来帮助维 持吞吐量并提供可预测的执行。大多数指令都在单个周期内执行。使用D0和REPEAT指令支持 无开销的程序循环结构,这两个指令在任何时候都可被中断。 dsP1C30F和dsP1C33F拥有16个16位工作寄存器。每个工作寄存器可作为数据、地址或偏移 量寄存器。第16个工作寄存器(W15)用作中断和调用时的软件堆栈指针。 dsPIC30F和dsPIC33F架构具有相同的指令集。包括两类指令:MCU类指令和DSP类指令 该架构将这两类指令进行了无缝集成,所有指令的执行均由同一个执行单元来实现。该指令集包 括多种寻址模式,且设计为确保最佳的C编译器效率。 数据空间可寻址为32K字或64KB,被分成两块,称为X和Y数据存储空间。每个存储块有各自 独立的地址发生单元(Address Generation Unit,.AGU)。MCU类指令只通过X数据空间AGU 进行操作,可将整个存储器映射作为一个线性数据空间访问。那些具有两个源操作数的DSP类 指令通过X和Y的AGU进行操作,这将数据地址空间分成两个部分,X和Y数据空间的边界视 具体器件而定。 可以选择以16K程序字为边界(由8位程序空间可视性页(Program Space Visibility Page, PSVPAG)寄存器定义)将数据存储空间的高32KB映射到程序存储空间。程序存储空间到数据 存储空间的映射功能让任何指令都能象访问数据存储空间一样访问程序存储空间,这对于数据常 数的存放是非常有用的。 X和Y地址空间都支持无开销循环缓冲区(模寻址)。模寻址省去了DSP算法的软件边界检查 开销。此外,XAGU的循环寻址可以与任何MCU类指令一起使用。XAGU还支持位反转寻 址,大幅简化了基为2的FFT算法对输入或输出数据的重新排序。 该款器件内核支持固有(无操作数)寻址、相对寻址、立即数寻址、存储器直接寻址、寄存器直 接寻址、寄存器间接寻址以及寄存器偏移量寻址模式。根据功能性要求的不同,每一条指令都与 预先定义的寻址模式组相关联。任何一条指令可支持多达7种寻址模式。 对于大多数指令,dsPIC30F33F可在每一指令周期内执行数据(或程序数据)存储器读、工作 寄存器(数据)读、数据存储器写以及程序(指令)存储器读操作。因此可支持3操作数指令, 即允许在单个周期内执行A+B=C操作。 DSP引擎具备一个高速17位×17位乘法器、一个40位ALU、两个40位饱和累加器和一个40位 双向桶形移位寄存器。该桶形移位寄存器在单个周期内至多可将一个40位的值右移16位或左 移16位。DSP类指令可以无缝地与所有其他指令一起操作,设计为可实现最佳的实时性能。 MAC类指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个工作寄存器相乘。 这要求数据空间对于这些指令拆分为两块,但对所有其他指令保持线性。这是通过为每个地址空 间指定某些工作寄存器,以透明和灵活的方式实现的。 dsPIC:30F具有向量异常机制,可支持最多8个不可屏蔽陷阱源和最多54个中断源。dsPIC33F 具有相似的向量异常机制,不同的是可支持最多118个中新源。两个系列都可为每个中断源分 配7个优先级之一。 DS70157BCN第2-2页 初稿 2006 Microchip Technology Inc

dsPIC30F/33F 程序员参考手册 DS70157B_CN 第 2-2 页 初稿  2006 Microchip Technology Inc. 2.1 dsPIC30F/33F 概述 dsPIC30F 和 dsPIC33F 器件采用改进的哈佛架构内核,数据线宽度为 16 位,采用增强指令集, 包含对 DSP 的支持。内核采用具有可变长度操作码字段的 24 位指令字。程序计数器 (PC)为 23 位宽,可对最大为 4M x 24 位的用户程序存储空间进行寻址。单周期指令预取机制用来帮助维 持吞吐量并提供可预测的执行。大多数指令都在单个周期内执行。使用 DO 和 REPEAT 指令支持 无开销的程序循环结构,这两个指令在任何时候都可被中断。 dsPIC30F 和 dsPIC33F 拥有 16 个 16 位工作寄存器。每个工作寄存器可作为数据、地址或偏移 量寄存器。第 16 个工作寄存器 (W15)用作中断和调用时的软件堆栈指针。 dsPIC30F 和 dsPIC33F 架构具有相同的指令集。包括两类指令:MCU 类指令和 DSP 类指令。 该架构将这两类指令进行了无缝集成,所有指令的执行均由同一个执行单元来实现。该指令集包 括多种寻址模式,且设计为确保最佳的 C 编译器效率。 数据空间可寻址为 32K 字或 64KB,被分成两块,称为 X 和 Y 数据存储空间。每个存储块有各自 独立的地址发生单元(Address Generation Unit,AGU)。MCU 类指令只通过 X 数据空间 AGU 进行操作,可将整个存储器映射作为一个线性数据空间访问。那些具有两个源操作数的 DSP 类 指令通过 X 和 Y 的 AGU 进行操作,这将数据地址空间分成两个部分,X 和 Y 数据空间的边界视 具体器件而定。 可以选择以 16K 程序字为边界 (由 8 位程序空间可视性页 (Program Space Visibility Page, PSVPAG)寄存器定义)将数据存储空间的高 32KB 映射到程序存储空间。程序存储空间到数据 存储空间的映射功能让任何指令都能象访问数据存储空间一样访问程序存储空间,这对于数据常 数的存放是非常有用的。 X 和 Y 地址空间都支持无开销循环缓冲区 (模寻址)。模寻址省去了 DSP 算法的软件边界检查 开销。此外, X AGU 的循环寻址可以与任何 MCU 类指令一起使用。 X AGU 还支持位反转寻 址,大幅简化了基为 2 的 FFT 算法对输入或输出数据的重新排序。 该款器件内核支持固有(无操作数)寻址、相对寻址、立即数寻址、存储器直接寻址、寄存器直 接寻址、寄存器间接寻址以及寄存器偏移量寻址模式。根据功能性要求的不同,每一条指令都与 预先定义的寻址模式组相关联。任何一条指令可支持多达 7 种寻址模式。 对于大多数指令, dsPIC30F/33F 可在每一指令周期内执行数据 (或程序数据)存储器读、工作 寄存器(数据)读、数据存储器写以及程序(指令)存储器读操作。因此可支持 3 操作数指令 , 即允许在单个周期内执行 A + B = C 操作 。 DSP 引擎具备一个高速17位×17位乘法器、一个40 位ALU、两个40 位饱和累加器和一个40位 双向桶形移位寄存器。该桶形移位寄存器在单个周期内至多可将一个 40 位的值右移 16 位或左 移 16 位。 DSP 类指令可以无缝地与所有其他指令一起操作,设计为可实现最佳的实时性能。 MAC 类指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个工作寄存器相乘。 这要求数据空间对于这些指令拆分为两块,但对所有其他指令保持线性。这是通过为每个地址空 间指定某些工作寄存器,以透明和 灵活的方式实现的。 dsPIC30F 具有向量异常机制,可支持最多 8 个不可屏蔽陷阱源和最多 54 个中断源。 dsPIC33F 具有相似的向量异常机制,不同的是可支持最多 118 个中断源。两个系列都可为每个中断源分 配 7 个优先级之一

第2章编程模型 2.2 编程棋型 图2-1给出了dsP1C30F和dsPIC33F的编程模型。编程模型中的所有寄存器皆为存储器映射, 并能直接被指令集操作。表2-1提供了每一个寄存器的说明。 表2-1: 编程模型寄存器说明 寄存器 说明 ACCA.ACCB 40位DSP累加器 CORCON CPU内核配置寄存器 DCOUNT DO循环计数寄存器 DOEND DO循环结束地址寄存器 2 DOSTART DO循环起始地址寄存器 PC 23位程序计数器 PSVPAG 程序空间可视性页地址寄存器 RCOUNT 重复循环计数寄存器 SPLIM 堆栈指针限制值寄存器 SR ALU和DSP引擎STATUS寄存器 TBLPAG 表存储器页地址寄存器 W0-W15 工作寄存器阵列 2.2.1 工作寄存器阵列 16个工作(W)寄存器可作为数据、地址或偏移量寄存器。W寄存器的功能由访问它的指令所 决定。 字节指令以工作寄存器阵列为操作对象,将只对目标寄存器的低位字节(LSB)产生影响。由于 工作寄存器是存储映射的,因此可以字节宽度的数据存储空间访问方式对低位字节和高位字节进 行操作。 2.2.2 默认工作寄存器(WREG) 指令集中的指令可分为两类:工作寄存器指令和文件寄存器指令。工作寄存器指令使用工作寄存 器阵列作为数据值或作为指向某一存储单元的地址。相反,文件寄存器指令对包含在指令操作码 中的特定存储地址进行操作。 文件寄存器指令也使用工作寄存器,但并不指定指令中所使用的工作寄存器,而是采用缺省的工 作寄存器(WREG)。工作寄存器WO指定为WREG。用户无法对WREG的指定进行编程设定。 2.2.3 软件堆栈帧指针 帧是堆栈中用户定义的存储区域。函数通常使用帧来存放局部变量。W14被指定作为LNK(分 配堆栈帧)和ULNK(释放堆栈帧)指令中使用的堆栈帧指针。然而在未使用堆栈帧指针、LNK 和ULNK指令时,W14可被指令当作普通的工作寄存器使用。有关帧指针的详细内容,可参阅第 4.7.3节“软件堆栈帧指针”。 2006 Microchip Technology Inc. 初稿 DS70157BCN第2-3页

 2006 Microchip Technology Inc. 初稿 DS70157B_CN 第 2-3 页 第 2 章 编程模型 编程模型 2 2.2 编程模型 图 2-1 给出了 dsPIC30F 和 dsPIC33F 的编程模型。编程模型中的所有寄存器皆为存储器映射, 并能直接被指令集操作。表 2-1 提供了每一个寄存器的说明。 2.2.1 工作寄存器阵列 16 个工作 (W)寄存器可作为数据、地址或偏移量寄存器。 W 寄存器的功能由访问它的指令所 决定。 字节指令以工作寄存器阵列为操作对象,将只对目标寄存器的低位字节 (LSB)产生影响。由于 工作寄存器是存储映射的,因此可以字节宽度的数据存储空间访问方式对低位字节和高位字节进 行操作。 2.2.2 默认工作寄存器 (WREG) 指令集中的指令可分为两类:工作寄存器指令和文件寄存器指令。工作寄存器指令使用工作寄存 器阵列作为数据值或作为指向某一存储单元的地址。相反,文件寄存器指令对包含在指令操作码 中的特定存储地址进行操作。 文件寄存器指令也使用工作寄存器,但并不指定指令中所使用的工作寄存器,而是采用缺省的工 作寄存器(WREG)。工作寄存器 W0 指定为 WREG。用户无法对 WREG 的指定进行编程设定。 2.2.3 软件堆栈帧指针 帧是堆栈中用户定义的存储区域。函数通常使用帧来存放局部变量。 W14 被指定作为 LNK (分 配堆栈帧)和 ULNK (释放堆栈帧)指令中使用的堆栈帧指针。然而在未使用堆栈帧指针、 LNK 和 ULNK 指令时,W14 可被指令当作普通的工作寄存器使用。有关帧指针的详细内容,可参阅第 4.7.3 节 “软件堆栈帧指针”。 表 2-1: 编程模型寄存器说明 寄存器 说明 ACCA, ACCB 40 位 DSP 累加器 CORCON CPU 内核配置寄存器 DCOUNT DO 循环计数寄存器 DOEND DO 循环结束地址寄存器 DOSTART DO 循环起始地址寄存器 PC 23 位程序计数器 PSVPAG 程序空间可视性页地址寄存器 RCOUNT 重复循环计数寄存器 SPLIM 堆栈指针限制值寄存器 SR ALU 和 DSP 引擎 STATUS 寄存器 TBLPAG 表存储器页地址寄存器 W0 - W15 工作寄存器阵列

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共358页,可试读40页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有