dsPIC:30F数字信号控制器 1.2.9 DSP引擎 DSP引擎(图1-4)具有一个高速17位×17位定点数据乘法器、一个40位ALU (算术逻辑单元)、两个40位饱和累加器和一个40位双向桶形移位寄存器。该桶形移 位器能在一个周期内将一个40位的值右移最多15位或左移最多16位。 DSP指令可以无缝地与所有其他指令一起操作,且设计为能获得最佳实时执行性能。 MAC指令和其他相关指令可以同时从存储器取出两个数据操作数,将两个W寄存器相 乘。由于对于DSP指令,数据存储区被分成X和Y存储空间,因此这种操作是可行 的。 图1-4: DSP引擎 40 40位累加器A 40 40位累加器B 进位/借位输出 饱和控制 进位1借位输入 加法器 取补 40 40 40 桶形 移位器 16 40 符号扩展 入 2 16 补零 32 32 17位 乘法器1定标器 16 16 到1来自W阵列 L @2007 Microchip Technology Inc. DS70151ACN第11页
dsPIC30F 数字信号控制器 2007 Microchip Technology Inc. DS70151A_CN 第 11 页 1.2.9 DSP 引擎 DSP 引擎 (图 1-4)具有一个高速 17 位 x 17 位定点数据乘法器、一个 40 位 ALU (算术逻辑单元)、两个 40 位饱和累加器和一个 40 位双向桶形移位寄存器。该桶形移 位器能在一个周期内将一个 40 位的值右移最多 15 位或左移最多 16 位。 DSP 指令可以无缝地与所有其他指令一起操作,且设计为能获得最佳实时执行性能。 MAC 指令和其他相关指令可以同时从存储器取出两个数据操作数,将两个 W 寄存器相 乘。由于对于 DSP 指令,数据存储区被分成 X 和 Y 存储空间,因此这种操作是可行 的。 图 1-4: DSP 引擎 补零 符号扩展 桶形 移位器 40 位累加器 A 40 位累加器 B 舍入 X 数据总线 到 / 来自 W 阵列 加法器 饱和控制 取补 32 32 32 16 16 16 16 40 40 40 40 Y 数据总线 40 16 40 乘法器 / 定标器 17 位 进位 / 借位输出 进位 / 借位输入 逻辑 饱 和
dsPIC:30F数字信号控制器入门 1.2.10中断 dsPIC30F具有一个向量中断机制。每个中断源都有自己的向量,且可被动态分配7个 优先级中的一个。中断入口地址和返回延时是固定的,为实时应用提供确定的时序。 中断向量表(Interrupt Vector Table,IVT)位于程序存储器中,且紧跟在复位单元处 的指令之后,如图1-5所示。VT包含62个向量,由最多8个不可屏蔽(始终允许) 错误陷阱向量和最多54个中断源组成。每个中断向量都包含相关中断服务程序 (Interrupt Service Routine,ISR)的24位宽的起始地址。 备用中断向量表(Alternate Interrupt Vector Table,AIVT)位于程序存储器中的VT 之后。如果ALTIVT位置1,则所有中断和错误陷阱将使用备用向量而不是默认向量。 备用向量与默认向量的结构相同,并提供了一种无需再编程中断向量就可在应用和测 试、设置或引导加载环境之间切换的方法。 图1-5: 中断向量表 复位-G0T0指令 0x000000 复位-G0T0地址 0x000002 是留 0x000004 振荡器故修陷阱向量 地址错误陷饼向量 堆找错误陷册向 数学错误路阱向量 保留向量 保留向量 IVT 保留向量 中断0向量 0x000014 中断1向量 中断52向量 中断53向量 0x00007E 保留 0x000080 保留 0x000082 保留 0x000084 振荡器故值陷阱向量 堆栈错误路进向量 地址错误路阱向量 数学错误陷阱向界 保留向量 AIVT 保留向量 保留向量 中断0向量 0x000094 中新1向不 中断52向 中新53向正 0x0000FE 1.2.11 系统和功耗管理 现代应用通常需要灵活的工作模式,以降低电池供电器件的功耗、降低EMI和处理故 障。dsPIC器件具有多种系统和功耗管理功能。例如,它具有若干种带有时钟切换和 振荡器故障检测功能的振荡器模式。具有多种可选择性地关断和唤醒处理器和外设的 节能模式。还具有其他安全功能,例如,低电压检测、欠压复位、看门狗定时器复位 以及若干个错误陷阱。 DS70151ACN第12页 2007 Microchip Technology Inc
dsPIC30F 数字信号控制器入门 DS70151A_CN 第 12 页 2007 Microchip Technology Inc. 1.2.10 中断 dsPIC30F 具有一个向量中断机制。每个中断源都有自己的向量,且可被动态分配 7 个 优先级中的一个。中断入口地址和返回延时是固定的,为实时应用提供确定的时序。 中断向量表 (Interrupt Vector Table, IVT)位于程序存储器中,且紧跟在复位单元处 的指令之后,如图 1-5 所示。 IVT 包含 62 个向量,由最多 8 个不可屏蔽 (始终允许) 错误陷阱向量和最多 54 个中断源组成。每个中断向量都包含相关中断服务程序 (Interrupt Service Routine, ISR)的 24 位宽的起始地址。 备用中断向量表 (Alternate Interrupt Vector Table , AIVT)位于程序存储器中的 IVT 之后。如果 ALTIVT 位置 1,则所有中断和错误陷阱将使用备用向量而不是默认向量。 备用向量与默认向量的结构相同,并提供了一种无需再编程中断向量就可在应用和测 试、设置或引导加载环境之间切换的方法。 图 1-5: 中断向量表 1.2.11 系统和功耗管理 现代应用通常需要灵活的工作模式,以降低电池供电器件的功耗、降低 EMI 和处理故 障。 dsPIC 器件具有多种系统和功耗管理功能。例如,它具有若干种带有时钟切换和 振荡器故障检测功能的振荡器模式。具有多种可选择性地关断和唤醒处理器和外设的 节能模式。还具有其他安全功能,例如,低电压检测、欠压复位、看门狗定时器复位 以及若干个错误陷阱。 复位 – GOTO 指令 复位 – GOTO 地址 保留 振荡器故障陷阱向量 地址错误陷阱向量 堆栈错误陷阱向量 数学错误陷阱向量 保留向量 保留向量 保留向量 中断 0 向量 中断 1 向量 - - - 中断 52 向量 中断 53 向量 保留 保留 保留 振荡器故障陷阱向量 堆栈错误陷阱向量 地址错误陷阱向量 数学错误陷阱向量 保留向量 保留向量 保留向量 中断 0 向量 中断 1 向量 - - - 中断 52 向量 中断 53 向量 IVT AIVT 优先级下降 0x000000 0x000002 0x000004 0x000014 0x00007E 0x000080 0x000082 0x000084 0x000094 0x0000FE
dsPIC30F数字信号控制器 1.2.12外设 dsPIC器件可与多种外设一起使用以满足不同类型的应用的需要。这些主要外设包括: ·VO端口 ·10位或12位AWD转换器 ·定时器 ·UART ·输入捕捉 ·SPIM ·输出比较PWM ·2Cw ·电机控制/PWM ·数据转换器(CODEC)接口 ·正交编码器 ·控制器局域网(Controller Area Network,CAN) 每个器件都或多或少的具有这些外设中的一个或几个。 1.3 器件分类 sPC器件可分为三大系列,这种类型划分有助于您桃选出最适合您应用的器件: ·通用 ·电机控制/电源转换 ·传感器 1.3.1 通用系列 通用器件是40至80引脚的器件,是各种16位嵌入式应用的理想选择。此器件系列 包含: ·12位100 ksps A/D转换器 ·双UART ·CODEC接口(多数器件) ·CAN接口(多数器件) ·定时器、输入捕捉和输出比较 ·UART、SPI和2C串行端口 具有CODEC接口的器件可支持多种音频应用。 1.3.2 电机控制和电源转换系列 电机控制器件是28至80引脚的器件,用于支持电机控制应用。它们也适用于不间断 电源(Uninterruptible Power Supplies,UPS)、逆变器、开关电源及相关设备。此 器件系列包含: ·10位500 ksps A/D转换器 ·电机控制PWM ·正交编码器 ·定时器、输入捕捉和输出比较 ·UART、SPL、PC以及CAN串行接▣ 1.3.3 传感器系列 传感器器件是小型18至28引脚器件,用于支持低成本的嵌入式控制应用。它们具有 通用系列的大部分特性,但只具有少数外设。此器件系列包含: ·12位100 ksps A/D转换器 ·定时器、输入捕捉和输出比较 ·UART、SPI和2C串行端口 2007 Microchip Technology Inc. DS70151ACN第13页
dsPIC30F 数字信号控制器 2007 Microchip Technology Inc. DS70151A_CN 第 13 页 1.2.12 外设 dsPIC 器件可与多种外设一起使用以满足不同类型的应用的需要。这些主要外设包括: 每个器件都或多或少的具有这些外设中的一个或几个。 1.3 器件分类 dsPIC 器件可分为三大系列,这种类型划分有助于您挑选出最适合您应用的器件: • 通用 • 电机控制 / 电源转换 • 传感器 1.3.1 通用系列 通用器件是 40 至 80 引脚的器件,是各种 16 位嵌入式应用的理想选择。此器件系列 包含: • 12 位 100 ksps A/D 转换器 • 双 UART • CODEC 接口 (多数器件) • CAN 接口 (多数器件) • 定时器、输入捕捉和输出比较 • UART、 SPI 和 I 2C 串行端口 具有 CODEC 接口的器件可支持多种音频应用。 1.3.2 电机控制和电源转换系列 电机控制器件是 28 至 80 引脚的器件,用于支持电机控制应用。它们也适用于不间断 电源 ( Uninterruptible Power Supplies, UPS)、逆变器、开关电源及相关设备。此 器件系列包含: • 10 位 500 ksps A/D 转换器 • 电机控制 PWM • 正交编码器 • 定时器、输入捕捉和输出比较 • UART、 SPI、 I 2C 以及 CAN 串行接口 1.3.3 传感器系列 传感器器件是小型 18 至 28 引脚器件,用于支持低成本的嵌入式控制应用。它们具有 通用系列的大部分特性,但只具有少数外设。此器件系列包含: • 12 位 100 ksps A/D 转换器 • 定时器、输入捕捉和输出比较 • UART、 SPI 和 I 2C 串行端口 • I/O 端口 • 10 位或 12 位 A/D 转换器 • 定时器 • UART • 输入捕捉 • SPI™ • 输出比较 /PWM • I2C™ • 电机控制 /PWM • 数据转换器 (CODEC)接口 • 正交编码器 • 控制器局域网 (Controller Area Network, CAN)
dsPIC:30F数字信号控制器入门 1.4应用 现在,您已对dsPIC架构有了基本的了解,可以考虑dsPIC器件是否适合您的特定应 用。dsPIC器件的应用场合举不胜举,但这里只讨论dsPIC器件的最常见应用: 1.4.1 电机控制 对于无法由基本8位单片机实现的电机控制功能而言,dsPIC器件是一种理想选择。 无刷直流电机、交流感应电机以及开关磁阻电机都可用dsPIC器件来控制。该应用可 能需要无传感器控制、转矩管理、变速、定位或伺服控制。d$PC器件还可处理噪音 消除和能效应用。 1.4.2 电源转换和监控 快速AWD转换器和多个PWM模块使得dsPIC器件非常适用于许多电源转换和电源管 理应用。dsPIC器件还可控制复杂设备的不间断电源(UPS)、逆变器和电源管理单 元。 1.4.3 Internet连接性 Microchip现成的TCP/IP、以太网驱动器以及软件调制解调器应用程序库支持用于 Internet连接的以太网和调制解调器应用。 1.4.4 语音和音频 dsPC器件可支持多种音频应用,例如消除噪音和回声、语音识别以及语音回放。它 还可用作高端音频应用中主DSP的附属芯片,以处理其他任务,例如数字调谐、均衡 器等等。 1.4.5 传感器控制 较小的dsPIC器件是高级传感器控制的理想选择。A/D转换器和串行通信外设与电源 管理功能结合使用,可创建智能传感器接口模块。 1.4.6汽车 Microchip Technology Inc.通过QS-9000和ISO/TS-16949认证,生产汽车温度级部 件。通常,我们的产品具有很长的使用寿命以支持汽车应用要求的典型产品使用寿命。 DS70151ACN第14页 2007 Microchip Technology Inc
dsPIC30F 数字信号控制器入门 DS70151A_CN 第 14 页 2007 Microchip Technology Inc. 1.4 应用 现在,您已对 dsPIC 架构有了基本的了解,可以考虑 dsPIC 器件是否适合您的特定应 用。 dsPIC 器件的应用场合举不胜举,但这里只讨论 dsPIC 器件的最常见应用: 1.4.1 电机控制 对于无法由基本 8 位单片机实现的电机控制功能而言, dsPIC 器件是一种理想选择。 无刷直流电机、交流感应电机以及开关磁阻电机都可用 dsPIC 器件来控制。该应用可 能需要无传感器控制、转矩管理、变速、定位或伺服控制。 dsPIC 器件还可处理噪音 消除和能效应用。 1.4.2 电源转换和监控 快速 A/D 转换器和多个 PWM 模块使得 dsPIC 器件非常适用于许多电源转换和电源管 理应用。 dsPIC 器件还可控制复杂设备的不间断电源 (UPS)、逆变器和电源管理单 元。 1.4.3 Internet 连接性 Microchip 现成的 TCP/IP、以太网驱动器以及软件调制解调器应用程序库支持用于 Internet 连接的以太网和调制解调器应用。 1.4.4 语音和音频 dsPIC 器件可支持多种音频应用,例如消除噪音和回声、语音识别以及语音回放。它 还可用作高端音频应用中主 DSP 的附属芯片,以处理其他任务,例如数字调谐、均衡 器等等。 1.4.5 传感器控制 较小的 dsPIC 器件是高级传感器控制的理想选择。 A/D 转换器和串行通信外设与电源 管理功能结合使用,可创建智能传感器接口模块。 1.4.6 汽车 Microchip Technology Inc. 通过 QS-9000 和 ISO/TS-16949 认证,生产汽车温度级部 件。通常,我们的产品具有很长的使用寿命以支持汽车应用要求的典型产品使用寿命
dsPIC30F数字信号 MICROCHIP 控制器入门 第2章Microchip开发工具 2.1 简介 现在您已选择了一款符合您应用的dsPIC器件,需要开发工具的支持。开发过程可分 为以下三步: ·编写代码 ·调试代码 ·编程器件 此时,您需要一种工具实现上述功能,而MPLAB®集成开发环境(IDE)就是支持开 发工具的关键。首先,您会发现MPLAB ICD2在线调试器是高性价比的调试和编程解 决方案。MPLAB ICD2可与任何dsPIC开发板配合使用,从而成为理想的学习平台。 2.2 MPLAB IDE MPLAB IDE允许您自始至终在同一个环境中开发项目。您无需使用单独的编辑器、汇 编器/编译器和编程实用程序来创建、调试及编程应用程序。MPLAB IDE可以控制该 过程的所有事宜,如图2-1所示。记住,MPLAB IDE是免费的! 图2-1: MPLAB⑧集成开发环境 MPLAB®IDE 编写代码 调试 编程 ·MPLAB®ASM30* ·MPLAB®ICD2 ·MPLAB®ICD2 ·MPLAB®C30 MPLAB®ICE4000 PRO MATE®II ·MPLAB®LINK30* ·MPLAB®SIM30* 。 MPLAB®PM3 *ASM30、LINK30和SIM30包含在MPLAB1DE中(免费)。 2007 Microchip Technology Inc. DS70151A_CN第15页
dsPIC30F 数字信号 控制器入门 2007 Microchip Technology Inc. DS70151A_CN 第15 页 第 2 章 Microchip 开发工具 2.1 简介 现在您已选择了一款符合您应用的 dsPIC 器件,需要开发工具的支持。开发过程可分 为以下三步: • 编写代码 • 调试代码 • 编程器件 此时,您需要一种工具实现上述功能,而 MPLAB® 集成开发环境 (IDE)就是支持开 发工具的关键。首先,您会发现 MPLAB ICD 2 在线调试器是高性价比的调试和编程解 决方案。 MPLAB ICD 2 可与任何 dsPIC 开发板配合使用,从而成为理想的学习平台。 2.2 MPLAB IDE MPLAB IDE 允许您自始至终在同一个环境中开发项目。您无需使用单独的编辑器、汇 编器 / 编译器和编程实用程序来创建、调试及编程应用程序。 MPLAB IDE 可以控制该 过程的所有事宜,如图 2-1 所示。记住, MPLAB IDE 是免费的! 图 2-1: MPLAB® 集成开发环境 MPLAB® IDE 编写代码 • MPLAB® ASM30* • MPLAB® C30 • MPLAB® LINK30* 调试 • MPLAB® ICD 2 • MPLAB® ICE 4000 • MPLAB® SIM30* 编程 • MPLAB® ICD 2 • PRO MATE® II • MPLAB® PM3 * ASM30、LINK30 和 SIM30 包含在 MPLAB IDE 中(免费)