MICROCHIP dsPIC33FJXXXGPX06, dsPIC33FJXXXGPX08, dsPIC33FJXXXGPX10 Technical data

dsPIC33FJXXXGPX06/X08/X10
数据手册
高性能 16
数字信号控制器
2007 Microchip Technology Inc. DS70286A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。
Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
Microchip 愿与那些注重代码完整性的客户合作。
Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的 软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含 的英文部分,因为其中提供了有关 Microchip 产品性能和使用 情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的 任何差错不承担任何责任。建议参考 Microchip Technology Inc. 的英文原版文档。
本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron dsPIC、 K
EELOQ、 KEELOQ 徽标、 microID、MPLAB、 PIC、
PICmicroPICSTARTPRO MATE、 rfPIC 和 SmartShunt
均为 Microchip Technology Inc. 在美国和其他国家或地区的注 册商标。
AmpLabFilterLabLinear Active ThermistorMigratable MemoryMXDEVMXLABSEEVALSmartSensor The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标。
Analog-for-the-Digital AgeApplication Maestro CodeGuarddsPICDEMdsPICDEM.netdsPICworks dsSPEAKECANECONOMONITORFanSense FlexROMfuzzyLABIn-Circuit Serial Programming ICSPICEPICMindiMiWiMPASMMPLAB Certified 徽标、MPLIBMPLINKPICkitPICDEMPICDEM.net PICLABPICtailPowerCalPowerInfoPowerMate PowerToolREAL ICErfLABSelect ModeSmart SerialSmartTelTotal Endurance、 UNI/O、 WiperLock 和 ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地
区的商标。
SQTP Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。
© 2007, Microchip Technology Inc. 版权所有。
Microchip Gresham
印度的设计中心均通过了
MCU与dsPIC® DSC、KEELOQ
设、非易失性存储器和模拟产品方面的质量体系流程均符合
16949:2002
系也已通过了
位于美国亚利桑那州
的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和
。此外 ,
Microchip
ISO 9001:2000
Chandler和Tem p e
ISO/TS-16949:2002
®
跳码器件、串行
在开发系统的设计和生产方面的质量体
认证。
与位于俄勒冈州
认证。公司在
EEPROM
®
PIC
、单片机外
ISO/TS-
DS70286A_CN ii 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10
高性能 16 位数字信号控制器
工作范围:
• DC – 40 MIPS (3.0-3.6V、 -40°C 至 +85°C 时为
40 MIPS
工业级温度范围 (-40°C +85°C
高性能 DSC CPU
改进型哈佛架构
•C编译器优化的指令集
•16位宽数据总线
•24位宽指令
可寻址最大 4M 指令字的线性程序存储空间
可寻址最大 64 KB 的线性数据存储空间
•83条基本指令:多为单字 / 单周期指令
•16个 16 位通用寄存器
两个 40 位累加器:
- 带舍入和饱和选择
灵活和强大的寻址模式:
- 间接寻址、模寻址和位反转寻址
软件堆栈
• 16 x 16 位小数 / 整数乘法运算
• 32/16 位和 16/16 位除法运算
单周期乘-累加运算:
-DSP运算的累加器回写操作
- 双数据取操作
可将最多 40 位数据左移或右移最多 16
直接存储器访问 (DMA):
•8通道硬件 DMA
•2 KB双端口 DMA 缓冲区 (DMA RAM),用于存
储通过 DMA 传输的数据:
- 允许在 CPU 执行代码期间在 RAM 和外设间
传输数据 (不额外占用周期)
大多数外设支持 DMA
中断控制器:
中断响应延时为 5 个周期
•118个中断向量
最多 63 个中断源
最多 5 个外部中断
•7个可编程优先级
•5个处理器异常
数字 I/O
最多 85 个可编程数字 I/O 引脚
最多 24 个引脚上具有唤醒 / 电平变化中断功能
输出引脚可驱动 3.0V 3.6V 的电压
所有数字输入引脚可承受 5V 的电压
所有 I/O 引脚的最大拉 / 灌电流为 4 mA
片上闪存和 SRAM
闪存程序存储器,最大 256 KB
数据 SRAM,最大 30 KB (包括 2 KB DMA RAM
系统管理:
灵活的时钟选择:
- 外部振荡器、晶振、谐振器和内部 RC 振荡器
- 全集成 PLL
- 极低抖动 PLL
上电延时定时器
振荡器起振定时器 / 稳定器
自带 RC 振荡器的看门狗定时器
故障保护时钟监视器
多个复位源
功耗管理:
片上 2.5V 稳压器
实时时钟源切换
可快速唤醒的空闲、休眠和打盹模式
定时器 / 捕捉 / 比较 /PWM
定时器 / 计数器,最多 9 16 位定时器:
- 最多可以配对作为 4 32 位定时器使用
-1个定时器可依靠外部 32.768 kHz 振荡器作
为实时时钟使用
- 可编程预分频器
输入捕捉 (最多 8 路通道):
- 上升沿捕捉、下降沿捕捉或上升 / 下降沿捕捉
-16位捕捉输入功能
- 每路捕捉通道都带有 4 字深度的 FIFO 缓冲区
输出比较 (最多 8 路通道):
-1个或 2 个 16 位比较模式
-16位无毛刺 PWM 模式
2007 Microchip Technology Inc. DS70286A_CN 第 1
dsPIC33FJXXXGPX06/X08/X10
通信模块:
•3线 SPI (最多 2 个模块):
- 帧支持简单编解码器的 I/O 接口
- 支持 8 位和 16 位数据
- 支持所有串行时钟格式和采样模式
2
•I
C™ (最多 2 个模块):
- 完全支持多主机从模式
-7位和 10 位寻址
- 总线冲突检测和仲裁
- 集成信号调理
- 从地址掩码
•UART(最多 2 个模块):
- 检测到地址位时产生中断
- 出现 UART 错误时产生中断
- 检测到启动位时将器件从休眠模式唤醒
-4字符深度的发送和接收 FIFO 缓冲区
-LIN总线支持
- 硬件 IrDA
- 高速波特率模式
- 使用 CTS RTS 的硬件流控制
数据转换器接口 (Data Converter Interface DCI)模块:
- 编解码器接口
- 支持 I
- 最多 16 位数据字,每帧最多 16
-4字深度的发送和接收缓冲区
增强型 CAN ECAN™ 模块) 2.0B active 版本
(最多 2 个模块):
- 最多 8 个发送缓冲区和 32 个接收缓冲区
-16个接收过滤器和 3 个屏蔽寄存器
- 用于诊断和总线监视的环回模式、监听模式和
监听所有报文模式
- 收到 CAN 报文时唤醒器件
- 自动处理远程发送请求
- 使用 DMA FIFO 模式
- DeviceNet™ 寻址支持
®
编解码
2
S AC’97 协议
模数转换器 (Analog-to-Digital ConvertersADC):
一个器件中最多 2 ADC 模块
•10位 1.1 Msps 或 12 位 500 Ksps 转换:
-2、 4 或 8 路同时采样
- 最多 32 路带自动扫描功能的输入通道
- 可手动启动转换或与 4 个触发源中的一个同步
- 休眠模式下仍可进行转换
- 积分非线性误差最大为 ±1 LSb
- 微分非线性误差最大为 ±1 LSb
CMOS 闪存技术:
低功耗高速闪存技术
全静态设计
•3.3V(±10%)工作电压
工业级温度
低功耗
封装:
•100引脚 TQFP (14x14x1 mm 12x12x1 mm
•80引脚 TQFP (12x12x1 mm)
•64引脚 TQFP (10x10x1 mm)
注: 关于每个器件的具体外设特性,请参见相
应的器件数据表。
DS70286A_CN 2 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10
dsPIC33F 产品系列
下表列出了每个系列的器件名称、引脚数、存储容量和 可用的外设,表后还附有它们的引脚图。
dsPIC33F 系列器件具有一种子系列,即通用系列,它 是各种 16 MCU 嵌入式应用的理想选择。
其中带有编解码器接口的器件非常适合语音和音频处理 应用。
dsPIC33F 通用系列器件
闪存程序
器件
dsPIC33FJ64GP206 64 64 8 9 8 8 1
dsPIC33FJ64GP306 64 64 16 9 8 8 1
dsPIC33FJ64GP310 100 64 16 9 8 8 1
dsPIC33FJ64GP706 64 64 16 9 8 8 1
dsPIC33FJ64GP708 80 64 16 9 8 8 1
dsPIC33FJ64GP710 100 64 16 9 8 8 1
dsPIC33FJ128GP206 64 128 8 9 8 8 1
dsPIC33FJ128GP306 64 128 16 9 8 8 1
dsPIC33FJ128GP310 100 128 16 9 8 8 1
dsPIC33FJ128GP706 64 128 16 9 8 8 1
dsPIC33FJ128GP708 80 128 16 9 8 8 1
dsPIC33FJ128GP710 100 128 16 9 8 8 1
dsPIC33FJ256GP506 64 256 16 9 8 8 1
dsPIC33FJ256GP510 100 256 16 9 8 8 1
dsPIC33FJ256GP710 100 256 30 9 8 8 1
1RAM 中包括 2 KB DMA RAM
2: 最大 I/O 引脚数包括与外设功能复用的引脚。
引脚
存储器
KB
RAM
KB
(1)
输出比较
输入捕捉
16 位定时器
标准 PWM
接口
编解码器
ADC
1 ADC
18 路通道
1 ADC
18 路通道
1 ADC
32 路通道
2 ADC
18 路通道
2 ADC
24 路通道
2 ADC
32 路通道
1 ADC
18 路通道
1 ADC
18 路通道
1 ADC
32 路通道
2 ADC
18 路通道
2 ADC
24 路通道
2 ADC
32 路通道
1 ADC
18 路通道
1 ADC
32 路通道
2 ADC
32 路通道
(2)
C™
SPI
2
CAN
UART
221 053 PT
222 053 PT
222 085PF, PT
222 253 PT
222 269 PT
222 285PF, PT
221 053 PT
222 053 PT
222 085PF, PT
222 253 PT
222 269 PT
222 285PF, PT
222 153 PT
222 185PF, PT
222 285PF, PT
I
增强型
封装
最大 I/O 引脚数
2007 Microchip Technology Inc. DS70286A_CN 3
dsPIC33FJXXXGPX06/X08/X10
引脚图
64 引脚 TQFP
DDCORE
CSDO/RG13
CSDI/RG12
CSCK/RG14
RG1
RF1
RG0
OC8/CN16/RD7
V
VDD
RF0
OC7/CN15/RD6
OC6/IC6/CN14/RD5
OC2/RD1
OC3/RD2
OC4/RD3
OC5/IC5/CN13/RD4
AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2
SDO2/CN10/RG8
AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4
AN2/SS1
PGC3/EMUC3/AN1/V
PGD3/EMUD3/AN0/V
COFS/RG15
SCK2/CN8/RG6
SDI2/CN9/RG7
MCLR
/CN11/RG9
SS2
AN3/CN5/RB3
REF-/CN3/RB1
REF+/CN2/RB0
VSS VDD
/CN4/RB2
646362616059585756
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dsPIC33FJ64GP206
dsPIC33FJ128GP206
171819202122232425
DD
AVSS
AV
U2CTS/AN8/RB8
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
AN9/RB9
545352
55
27
26
SS
V
VDD
TDO/AN11/RB11
TMS/AN10/RB10
TCK/AN12/RB12
504951
48
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
47
PGD2/EMUD2/SOSCI/T4CK/CN1/RC13
46
OC1/RD0 IC4/INT4/RD11
45 44
IC3/INT3/RD10 IC2/U1CTS
43 42
IC1/INT1/RD8
41
V
SS
40
OSC2/CLKO/RC15
39
OSC1/CLKIN/RC12
38
V
DD
37
SCL1/RG2
36
SDA1/RG3
35
U1RTS
34
U1RX/SDI1/RF2
33
U1TX/SDO1/RF3
32
31
30
29
28
/AN14/RB14
TDI/AN13/RB13
U2TX/CN18/RF5
U2RX/CN17/RF4
U2RTS
AN15/OCFB/CN12/RB15
/INT2/RD9
/SCK1/INT0/RF6
DS70286A_CN 第 4 页 2007 Microchip Technology Inc.
引脚图 (续)
64 引脚 TQFP
dsPIC33FJXXXGPX06/X08/X10
DDCORE
CSDO/RG13
CSDI/RG12
CSCK/RG14
RG1
RF1
RG0
OC8/CN16/RD7
V
VDD
RF0
OC7/CN15/RD6
OC6/IC6/CN14/RD5
OC5/IC5/CN13/RD4
OC4/RD3
OC3/RD2
OC2/RD1
AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2
SDO2/CN10/RG8
AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4
AN2/SS1
PGC3/EMUC3/AN1/V
PGD3/EMUD3/AN0/V
COFS/RG15
SCK2/CN8/RG6
SDI2/CN9/RG7
MCLR
/CN11/RG9
SS2
AN3/CN5/RB3
REF-/CN3/RB1
REF+/CN2/RB0
VSS
VDD
/CN4/RB2
646362616059585756
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dsPIC33FJ64GP306
dsPIC33FJ128GP306
171819202122232425
DD
AVSS
AV
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
545352
55
27
26
SS
V
VDD
AN9/RB9
TDO/AN11/RB11
TMS/AN10/RB10
U2CTS/AN8/RB8
TCK/AN12/RB12
504951
48
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
47
PGD2/EMUD2/SOSCI/T4CK/CN1/RC13
46
OC1/RD0 IC4/INT4/RD11
45 44
IC3/INT3/RD10 IC2/U1CTS
43 42
IC1/INT1/RD8
41
V
SS
40
OSC2/CLKO/RC15
39
OSC1/CLKIN/RC12
38
V
DD
37
SCL1/RG2
36
SDA1/RG3
35
U1RTS
34
U1RX/SDI1/RF2
33
U1TX/SDO1/RF3
32
31
30
29
28
/AN14/RB14
TDI/AN13/RB13
U2RTS
U2TX/SCL2/CN18/RF5
U2RX/SDA2/CN17/RF4
AN15/OCFB/CN12/RB15
/INT2/RD9
/SCK1/INT0/RF6
2007 Microchip Technology Inc. DS70286A_CN 第 5
dsPIC33FJXXXGPX06/X08/X10
引脚图 (续)
64 引脚 TQFP
DDCORE
CSDO/RG13
CSDI/RG12
CSCK/RG14
RG1
C1TX/RF1
RG0
OC8/CN16/RD7
V
VDD
C1RX/RF0
OC7/CN15/RD6
OC6/IC6/CN14/RD5
OC5/IC5/CN13/RD4
OC4/RD3
OC3/RD2
OC2/RD1
AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2
SDO2/CN10/RG8
AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4
AN2/SS1
PGC3/EMUC3/AN1/V
PGD3/EMUD3/AN0/V
COFS/RG15
SCK2/CN8/RG6
SDI2/CN9/RG7
MCLR
/CN11/RG9
SS2
AN3/CN5/RB3
REF-/CN3/RB1
REF+/CN2/RB0
VSS
VDD
/CN4/RB2
646362616059585756
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dsPIC33FJ256GP506
171819202122232425
DD
AVSS
AV
U2CTS/AN8/RB8
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
545352
55
27
26
SS
V
VDD
AN9/RB9
TDO/AN11/RB11
TMS/AN10/RB10
TCK/AN12/RB12
504951
48
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
47
PGD2/EMUD2/SOSCI/T4CK/CN1/RC13
46
OC1/RD0 IC4/INT4/RD11
45 44
IC3/INT3/RD10 IC2/U1CTS
43 42
IC1/INT1/RD8
41
V
SS
40
OSC2/CLKO/RC15
39
OSC1/CLKIN/RC12
38
V
DD
37
SCL1/RG2
36
SDA1/RG3
35
U1RTS
34
U1RX/SDI1/RF2
33
U1TX/SDO1/RF3
32
31
30
29
28
/AN14/RB14
TDI/AN13/RB13
U2RTS
U2TX/SCL2/CN18/RF5
U2RX/SDA2/CN17/RF4
AN15/OCFB/CN12/RB15
/INT2/RD9
/SCK1/INT0/RF6
DS70286A_CN 第 6 页 2007 Microchip Technology Inc.
引脚图 (续)
64 引脚 TQFP
dsPIC33FJXXXGPX06/X08/X10
DDCORE
CSDO/RG13
CSDI/RG12
CSCK/RG14
C2TX/RG1
C1TX/RF1
C2RX/RG0
OC8/CN16/RD7
V
VDD
C1RX/RF0
OC7/CN15/RD6
OC6/IC6/CN14/RD5
OC2/RD1
OC3/RD2
OC4/RD3
OC5/IC5/CN13/RD4
AN16/T2CK/T7CK/RC1 AN17/T3CK/T6CK/RC2
SDO2/CN10/RG8
AN5/IC8/CN7/RB5 AN4/IC7/CN6/RB4
AN2/SS1
PGC3/EMUC3/AN1/V
PGD3/EMUD3/AN0/V
COFS/RG15
SCK2/CN8/RG6
SDI2/CN9/RG7
MCLR
/CN11/RG9
SS2
AN3/CN5/RB3
REF-/CN3/RB1
REF+/CN2/RB0
VSS VDD
/CN4/RB2
646362616059585756
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dsPIC33FJ64GP706
dsPIC33FJ128GP706
171819202122232425
DD
AVSS
AV
U2CTS/AN8/RB8
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
AN9/RB9
545352
55
27
26
SS
V
VDD
TDO/AN11/RB11
TMS/AN10/RB10
TCK/AN12/RB12
504951
48
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
47
PGD2/EMUD2/SOSCI/T4CK/CN1/RC13
46
OC1/RD0 IC4/INT4/RD11
45 44
IC3/INT3/RD10 IC2/U1CTS
43 42
IC1/INT1/RD8
41
V
SS
40
OSC2/CLKO/RC15
39
OSC1/CLKIN/RC12
38
V
DD
37
SCL1/RG2
36
SDA1/RG3
35
U1RTS
34
U1RX/SDI1/RF2
33
U1TX/SDO1/RF3
32
31
30
29
28
/AN14/RB14
TDI/AN13/RB13
U2RTS
U2TX/SCL2/CN18/RF5
U2RX/SDA2/CN17/RF4
AN15/OCFB/CN12/RB15
/INT2/RD9
/SCK1/INT0/RF6
2007 Microchip Technology Inc. DS70286A_CN 第 7
dsPIC33FJXXXGPX06/X08/X10
引脚图 (续)
80 引脚 TQFP
COFS/RG15
AN16/T2CK/T7CK/RC1
AN17/T3CK/T6CK/RC2
AN18/T4CK/T9CK/RC3
AN19/T5CK/T8CK/RC4
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
MCLR
SS2/CN11/RG9
V
V
TMS/AN20/INT1/RA12
TDO/AN21/INT2/RA13
AN5/CN7/RB5
AN4/CN6/RB4
AN3/CN5/RB3
AN2/SS1
/CN4/RB2
PGC3/EMUC3/AN1/CN3/RB1
PGD3/EMUD3/AN0/CN2/RB0
CSCK/RG14
AN23/CN23/RA7
AN22/CN22/RA6
C2RX/RG0
CSDO/RG13
CSDI/RG12
792280
1
2
3
4
5
6
7
8
9
10
11
SS
DD
12
13
14
15
16
17
18
19
20
21
2324252627282930313233
C2TX/RG1
75
767877
dsPIC33FJ64GP708
dsPIC33FJ128GP708
DDVDDCORE
C1TX/RF1
C1RX/RF0
727473
OC8/CN16/RD7
V
7170696867666564636261
OC7/CN15/RD6
34
IC5/RD12
OC4/RD3
OC3/RD2
OC6/CN14/RD5
OC5/CN13/RD4
IC6/CN19/RD13
37
36
35
OC2/RD1
PGC2/EMUC2/SOSCO/T1CK/ CN0/RC14
60
PGD2/EMUD2/SOSCI/CN1/RC13
59
OC1/RD0
58
IC4/RD11
57
IC3/RD10
56
IC2/RD9
55
IC1/RD8
54
SDA2/INT4/RA3
53
SCL2/INT3/RA2
52
SS
V
51
50
OSC2/CLKO/RC15 OSC1/CLKIN/RC12
49
DD
V
48
SCL1/RG2
47
SDA1/RG3
46
SCK1/INT0/RF6
45
SDI1/RF7
44
SDO1/RF8
43
U1RX/RF2
42
U1TX/RF3
41
40
39
38
SS
DD
AV
AV
-/RA9 +/RA10
REF
V
REF
V
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
AN9/RB9
U2CTS/AN8/RB8
AN10/RB10
SS
DD
V
V
AN11/RB11
TCK/AN12/RB12
/AN14/RB14
TDI/AN13/RB13
U2RTS
AN15/OCFB/CN12/RB15
/CN21/RD15
U2TX/CN18/RF5
U2RX/CN17/RF4
IC7/U1CTS/CN20/RD14
IC8/U1RTS
DS70286A_CN 第 8 页 2007 Microchip Technology Inc.
引脚图 (续)
100 引脚 TQFP
COFS/RG15
AN29/RE5
AN30/RE6
AN16/T2CK/T7CK/RC1
AN17/T3CK/T6CK/RC2
AN18/T4CK/T9CK/RC3 AN19/T5CK/T8CK/RC4
PGC3/EMUC3/AN1/CN3/RB1
PGD3/EMUD3/AN0/CN2/RB0
AN31/RE7
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
SS2/CN11/RG9
TMS/RA0
AN20/INT1/RA12
AN21/INT2/RA13
AN5/CN7/RB5 AN4/CN6/RB4
AN3/CN5/RB3
AN2/SS1
/CN4/RB2
V
MCLR
V
V
DD
SS
DD
dsPIC33FJXXXGPX06/X08/X10
DDCORE
AN23/CN23/RA7
AN26/RE2
CSDO/RG13
CSDI/RG12
AN28/RE4
AN27/RE3
99
100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 24
25
CSCK/RG14
95
969897
AN22/CN22/RA6
AN25/RE1
AN24/RE0
RG0
9294939190898887868584838281807978
dsPIC33FJ64GP310
dsPIC33FJ128GP310
DD
RF0
V
RG1
RF1
OC6/CN14/RD5
OC5/CN13/RD4
IC6/CN19/RD13
IC5/RD12
OC4/RD3
OC3/RD2
V
OC8/CN16/RD7
OC7/CN15/RD6
OC2/RD1
76
77
V
SS
75
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
74
PGD2/EMUD2/SOSCI/CN1/ RC13
73
OC1/RD0
72
IC4/RD11
71
IC3/RD10
70
IC2/RD9
69
IC1/RD8
68
INT4/RA15
67
INT3/RA14
66
V
SS
65
OSC2/CLKO/RC15
64
OSC1/CLKIN/RC12
63
V
DD
62
TDO/RA5
61
TDI/RA4
60
SDA2/RA3
59
SCL2/RA2
58
SCL1/RG2
57
SDA1/RG3
56
SCK1/INT0/RF6
55
SDI1/RF7
54
SDO1/RF8
53
U1RX/RF2
52
U1TX/RF3
51
26
2829303132333435363738
27
SS
DD
AV
AV
-/RA9 +/RA10
PGC1/EMUC1/AN6/OCFA/RB6
PGD1/EMUD1/AN7/RB7
REF
V
AN8/RB8
REF
V
AN9/RB9
41
40
39
SS
DD
V
V
/RF13
TCK/RA1
AN11/RB11
AN10/RB10
AN12/RB12
U2RTS
U2CTS/RF12
45
44
43
42
AN13/RB13
AN14/RB14
4647484950
SS
DD
V
V
AN15/OCFB/CN12/RB15
/CN20/RD14
/CN21/RD15
U2TX/CN18/RF5
U2RX/CN17/RF4
IC8/U1RTS
IC7/U1CTS
2007 Microchip Technology Inc. DS70286A_CN 第 9
dsPIC33FJXXXGPX06/X08/X10
引脚图 (续)
100 引脚 TQFP
DDCORE
COFS/RG15
V
AN29/RE5
AN30/RE6 AN31/RE7
AN16/T2CK/T7CK/RC1
AN17/T3CK/T6CK/RC2
AN18/T4CK/T9CK/RC3 AN19/T5CK/T8CK/RC4
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
MCLR
SS2/CN11/RG9
AN20/INT1/RA12
AN21/INT2/RA13
AN2/SS1
PGC3/EMUC3/AN1/CN3/RB1
PGD3/EMUD3/AN0/CN2/RB0
V
V
TMS/RA0
AN5/CN7/RB5
AN4/CN6/RB4
AN3/CN5/RB3
/CN4/RB2
DD
SS
DD
RG1
DD
C1RX/RF0
C1TX/RF1
V
AN23/CN23/RA7
AN26/RE2
CSDO/RG13
CSDI/RG12
AN28/RE4
AN27/RE3
99
100
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CSCK/RG14
95
969897
AN22/CN22/RA6
AN25/RE1
AN24/RE0
RG0
929493
91908988878685848382818079
dsPIC33FJ256GP510
OC6/CN14/RD5
OC5/CN13/RD4
IC6/CN19/RD13
V
OC8/CN16/RD7
OC7/CN15/RD6
IC5/RD12
OC4/RD3
78
OC3/RD2
77
OC2/RD1
76
75
V
SS
74
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14
73
PGD2/EMUD2/SOSCI/CN1/RC13
OC1/RD0
72
IC4/RD11
71
IC3/RD10
70
IC2/RD9
69
IC1/RD8
68
INT4/RA15
67
66
INT3/RA14
V
SS
65
OSC2/CLKO/RC15
64
OSC1/CLKIN/RC12
63
V
DD
62
TDO/RA5
61
TDI/RA4
60
SDA2/RA3
59
SCL2/RA2
58
SCL1/RG2
57
SDA1/RG3
56
SCK1/INT0/RF6
55
SDI1/RF7
54
SDO1/RF8
53
U1RX/RF2
52
51
U1TX/RF3
26
2829303132333435363738
27
SS
DD
AV
AV
-/RA9 +/RA10
PGC1/EMUC1/AN6/OCFA/RB6
PGD1/EMUD1/AN7/RB7
REF
V
REF
V
AN8/RB8
AN9/RB9
41
40
39
SS
DD
V
V
/RF13
TCK/RA1
AN11/RB11
AN10/RB10
AN12/RB12
U2RTS
U2CTS/RF12
45
44
43
42
AN13/RB13
AN14/RB14
AN15/OCFB/CN12/RB15
4647484950
SS
DD
V
V
/CN20/RD14
/CN21/RD15
IC8/U1RTS
IC7/U1CTS
U2TX/CN18/RF5
U2RX/CN17/RF4
DS70286A_CN 10 2007 Microchip Technology Inc.
引脚图 (续)
100 引脚 TQFP
COFS/RG15
AN29/RE5
AN30/RE6
AN16/T2CK/T7CK/RC1
AN17/T3CK/T6CK/RC2 AN18/T4CK/T9CK/RC3
AN19/T5CK/T8CK/RC4
PGC3/EMUC3/AN1/CN3/RB1
PGD3/EMUD3/AN0/CN2/RB0
AN31/RE7
SCK2/CN8/RG6
SDI2/CN9/RG7
SDO2/CN10/RG8
SS2/CN11/RG9
TMS/RA0
AN20/INT1/RA12 AN21/INT2/RA13
AN5/CN7/RB5 AN4/CN6/RB4
AN3/CN5/RB3
AN2/SS1
/CN4/R B2
V
MCLR
V
V
DD
SS
DD
dsPIC33FJXXXGPX06/X08/X10
DDCORE
AN23/CN23/RA7
AN26/RE2
CSDO/RG13
CSDI/RG12
AN28/RE4
AN27/RE3
99
100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CSCK/RG14
95
969897
AN22/CN22/RA6
AN25/RE1
AN24/RE0
C2RX/RG0
9294939190898887868584838281807978
dsPIC33FJ64GP710 dsPIC33FJ128GP710 dsPIC33FJ256GP710
DD
C1RX/RF0
V
C2TX/RG1
C1TX/RF1
OC6/CN14/RD5
OC5/CN13/RD4
IC6/CN19/RD13
IC5/RD12
OC4/RD3
OC3/RD2
V
OC8/CN16/RD7
OC7/CN15/RD6
OC2/RD1
76
77
75
V
SS
74
PGC2/EMUC2/SOSCO/T1CK/CN0/RC14 PGD2/EMUD2/SOSCI/CN1/RC13
73
OC1/RD0
72
71
IC4/RD11
IC3/RD10
70
IC2/RD9
69
68
IC1/RD8 INT4/RA15
67
66
INT3/RA14
V
SS
65
OSC2/CLKO/RC15
64
OSC1/CLKIN/RC12
63
DD
V
62
TDO/RA5
61
TDI/RA4
60
SDA2/RA3
59
SCL2/RA2
58
SCL1/RG2
57
SDA1/RG3
56
SCK1/INT0/RF6
55
SDI1/RF7
54
SDO1/RF8
53
U1RX/RF2
52
51
U1TX/RF3
26
2829303132333435363738
27
SS
DD
AV
AV
-/RA9 +/RA10
REF
V
PGD1/EMUD1/AN7/RB7
PGC1/EMUC1/AN6/OCFA/RB6
AN8/RB8
REF
V
AN9/RB9
AN10/RB10
41
40
39
SS
DD
V
V
/RF13
TCK/RA1
AN11/RB11
AN12/RB12
U2RTS
U2CTS/RF12
42
AN13/RB13
43
AN14/RB14
44
45
4647484950
SS
DD
V
V
AN15/OCFB/CN12/RB15
/CN20/RD14
/CN21/RD15
U2TX/CN18/RF5
U2RX/CN17/RF4
IC8/U1RTS
IC7/U1CTS
2007 Microchip Technology Inc. DS70286A_CN 第 11
dsPIC33FJXXXGPX06/X08/X10
目录
dsPIC33F 产品系列................................................................................................................................................................................ 3
1.0 器件概述 ..................................................................................................................................................................................... 13
2.0 CPU............................................................................................................................................................................................ 17
3.0 存储器构成 ................................................................................................................................................................................. 29
4.0 闪存程序存储器 .......................................................................................................................................................................... 67
5.0
复位 .......................................................................................................................................................................................... 73
6.0 中断控制器 ................................................................................................................................................................................. 79
7.0 直接存储器访问 (DMA......................................................................................................................................................... 125
8.0 振荡器配置 ............................................................................................................................................................................... 135
9.0 节能特性 ................................................................................................................................................................................... 143
10.0 I/O 端口..................................................................................................................................................................................... 145
11.0 Timer1 ...................................................................................................................................................................................... 147
12.0 Timer2/3Timer4/5Timer6/7 Timer8/9 ......................................................................................................................... 149
13.0 输入捕捉 ................................................................................................................................................................................... 155
14.0 输出比较 ................................................................................................................................................................................... 157
15.0 串行外设接口 (SPI)............................................................................................................................................................... 161
2
C ............................................................................................................................................................................................ 169
16.0 I
17.0 通用异步收发器 (UART....................................................................................................................................................... 179
18.0 增强型 CAN ECAN™)模块 ................................................................................................................................................. 187
19.0 数据转换器接口 (DCI)模块 ................................................................................................................................................... 217
20.0 10 /12 位模数转换器 (ADC).............................................................................................................................................. 231
21.0 特殊功能 ................................................................................................................................................................................... 245
22.0 指令集汇总 ............................................................................................................................................................................... 253
23.0 开发支持 ................................................................................................................................................................................... 261
24.0 电气特性 ................................................................................................................................................................................... 265
25.0 封装信息 ................................................................................................................................................................................... 305
附录 A:“PS”(原型样片)器件和最终产品器件之间的差异......................................................................................................... 311
附录 B: 版本历史............................................................................................................................................................................. 312
索引 ................................................................................................................................................................................................... 313
Microchip 网站.................................................................................................................................................................................... 319
变更通知客户服务 .............................................................................................................................................................................. 319
客户支持............................................................................................................................................................................................. 319
读者反馈表 ......................................................................................................................................................................................... 320
产品标识体系...................................................................................................................................................................................... 321
致客户
我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。 出版物的质量将随新文档及更新版本的推出而得到提升。
如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 CTRC@microchip.com,或将本 数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。
最新数据手册
欲获得本数据手册的最新版本,请查询我公司的网站:
http://www.microchip.com
查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A是DS30000A 版本。
勘误表
现有器件可能带有一份勘误表,描述了实际运行与数据手册中记载内容之间存在的细微差异以及建议的变通方法。一旦我们了解到 器件 / 文档存在某些差异时,就会发布勘误表。勘误表上将注明其所适用的硅片版本和文件版本。
欲了解某一器件是否存在勘误表,请通过以下方式之一查询:
Microchip 网站 http://www.microchip.com
当地 Microchip 销售办事处 (见最后一页)
在联络销售办事处时,请说明您所使用的器件型号、硅片版本和数据手册版本 (包括文献编号)。
客户通知系统
欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。
DS70286A_CN 12 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

1.0 器件概述

注: 本数据手册总结了
dsPIC33FJXXXGPX06/X08/X10 器件的功 能。但是不应把本手册当作无所不包的参 考手册来使用。如需了解本数据手册的补 充信息,请参见 《dsPIC33F 系列参考手
册》 。请参 见 Microchip 网站 (www.microchip.com)了解最新的dsPIC33F 系列参考手册》章节。
本文档涉及以下器件的具体信息:
• dsPIC33FJ64GP206
• dsPIC33FJ64GP306
• dsPIC33FJ64GP310
• dsPIC33FJ64GP706
• dsPIC33FJ64GP708
• dsPIC33FJ64GP710
• dsPIC33FJ128GP206
• dsPIC33FJ128GP306
• dsPIC33FJ128GP310
• dsPIC33FJ128GP706
• dsPIC33FJ128GP708
• dsPIC33FJ128GP710
• dsPIC33FJ256GP506
• dsPIC33FJ256GP510
• dsPIC33FJ256GP710
dsPIC33FJXXXGPX06/X08/X10 通用系列器件包括具
有多种引脚数 (6480 100)、不同程序存储容量
64 KB128 KB 和 256 KB)和不同 RAM 容量(8 KB
16 KB 30 KB)的器件。
这使此系列器件适合于多种高性能数字信号控制应用。 器件的引脚与 PIC24H 系列器件的引脚兼容,并且还与 dsPIC30F 系列器件高度兼容。这样便于根据应用对特定 功能、计算资源和系统成本要求等方面的需求,在不同 系列器件之间移植。
dsPIC33FJXXXGPX06/X08/X10 系列器件采用强大的 16 位架构,此架构将数字信号处理器 (Digital Signal ProcessorDSP)的计算能力与单片机 (MCU)的控
制特性无缝地集成在一起。这种集成的功能对于需要高 速、重复计算和控制的应用非常理想。
DSP 引擎、两个 40 位累加器、支持除法运算的硬件、 桶形移位寄存器、 17 x 17 位乘法器、大的 16 位工作寄 存器阵列和多种数据寻址模式,共同为
dsPIC33FJXXXGPX06/X08/X10 中央处理单元(Central Processing Unit, CPU)提供广泛的数学处理能力。灵
活而确定的中断处理与功能强大的外设相结合,使得 dsPIC33FJXXXGPX06/X08/X10 器件非常适合控制应 用。此外,直接存储器访问(DMA)允许数据在多个外 设和专用 DMA RAM 之间进行无 CPU 开销的传输。可 靠的现场可编程闪存程序存储器确保能对使用 dsPIC33FJXXXGPX06/X08/X10 器件的应用进行扩展。
1-1 给出了 dsPIC33FJXXXGPX06/X08/X10 系列器 件中内核和外设模块的一般框图。表 1-1 列出了引脚图 中显示的各引脚的功能。
2007 Microchip Technology Inc. DS70286A_CN 13
dsPIC33FJXXXGPX06/X08/X10

1-1 dsPIC33FJXXXGPX06/X08/X10 一般框图

PSV
和表
数据访问
控制模块
Y 数据总线
23
地址锁存器
程序存储器
数据锁存器
OSC2/CLKO
OSC1/CLKI
中断
控制器
23
时序 发生
FRC/LPRC
振荡器
高精度
带隙 参考
稳压器
23
至各模块的 控制信号
8
PCU
堆栈 控制 逻辑
地址总线
24
指令
译码和
控制
上电延时
起振定时器
PCH PCL
程序计数器
定时器
振荡器
上电 复位
看门狗 定时器
欠压 复位
16
循环 控制 逻辑
X 数据总线
16
数据锁存器
X RAM
地址
锁存器
ROM
指令寄存器
引擎
DSP
除法支持
16
数据锁存器
Y RAM
地址
锁存器
16
地址发生器单元
锁存器
16
16
EA
多路开关
16
立即数数据
16 x 16
W
寄存器阵列
16
16位ALU
DMA
RAM
DMA
控制器
16
16
16
16
PORTA
PORTB
PORTC
PORTD
PORTE
PORTF
PORTG
VDDCORE/VCAP
DD 和 VSS
V
定时器
1-9
IC1-8
MCLR
输出比较 /
PWM1-8
CN1-23
DCI
SPI1,2
ADC1,2
I2C1,2
ECAN1,2
UART1,2
注: 并非在所有器件的引脚配置中都实现了全部的引脚或功能。请参见引脚图了解每个器件上的特定引脚和功能的信息。
DS70286A_CN 14 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

1-1 引脚说明

引脚名称
AN0-AN31 I Analog
AV
DD PP
AVSS PP
CLKI CLKO
CN0-CN23 I ST
COFS CSCK CSDI CSDO
C1RX C1TX C2RX C2TX
PGD1/EMUD1 PGC1/EMUC1 PGD2/EMUD2 PGC2/EMUC2 PGD3/EMUD3 PGC3/EMUC3
IC1-IC8 I ST
MCLR
OCFA OCFB OC1-OC8
OSC1 OSC2
RA0-RA7 RA9-RA10 RA12-RA15
RB0-RB15 I/O ST
RC1-RC4 RC12-RC15
RD0-RD15 I/O ST
RE0-RE7 I/O ST
RF0-RF8 RF12-RF13
RG0-RG3 RG6-RG9 RG12-RG15
SCK1 SDI1 SDO1 SS1 SCK2 SDI2 SDO2 SS2
图注: CMOS = CMOS 兼容输入或输出; Analog = 模拟输入
引脚 类型
I
O
I/O I/O
I
O
I
O
I
O
I/O
I
I/O
I
I/O
I
I/P ST
I I
O
I
I/O
I/O I/O I/O
I/O I/O
I/O ST
I/O I/O I/O
I/O
I
O I/O I/O
I
O I/O
ST = CMOS 电平的施密特触发器输入; O = 输出; I = 输入; P = 电源
缓冲器
类型
ST/CMOS
ST ST ST
ST
ST
ST ST ST ST ST ST
ST ST
ST/CMOS
ST ST ST
ST ST
ST ST ST
ST ST
— ST ST ST
— ST
模拟输入通道。
模拟模块的正电源。 模拟模块的参考地。 外部时钟源输入。总是与 OSC1 引脚功能相关联。
晶振输出。在晶振模式下,连接到晶体或谐振器。也可选择在 RC EC 模式下用作
CLKO。总是与 OSC2 引脚功能相关联。
输入电平变化通知输入。 可将所有输入软件编程为内部弱上拉。
数据转换器接口帧同步引脚。 数据转换器接口串行时钟输入 / 输出引脚。 数据转换器接口串行数据输入引脚。 数据转换器接口串行数据输出引脚。
ECAN1 总线接收引脚。 ECAN1 总线发送引脚。 ECAN2 总线接收引脚。 ECAN2 总线发送引脚。
编程 / 调试通信通道 1 使用的数据 I/O 引脚。 编程 / 调试通信通道 1 使用的时钟输入引脚。 编程 / 调试通信通道 2 使用的数据 I/O 引脚。 编程 / 调试通信通道 2 使用的时钟输入引脚。 编程 / 调试通信通道 3 使用的数据 I/O 引脚。 编程 / 调试通信通道 3 使用的时钟输入引脚。
捕捉输入 1 至 8。
主复位输入。此引脚为低电平有效的器件复位输入端。 比较故障 A 输入 (对于比较通道 123 4)。
比较故障 B 输入 (对于比较通道 567 8)。 比较输出 1 至 8。
晶振输入。配置为 RC 模式时为 ST 缓冲器输入;否则为 CMOS 输入。 晶振输出。在晶振模式下,连接到晶体或谐振器。也可选择在 RC EC 模式下用作
CLKO
PORTA 是双向 I/O 端口。
PORTB 是双向 I/O 端口。 PORTC 是双向 I/O 端口。
PORTD 是双向 I/O 端口。 PORTE 是双向 I/O 端口。 PORTF 是双向 I/O 端口。
PORTG 是双向 I/O 端口。
SPI1 的同步串行时钟输入 / 输出。 SPI1 数据输入。 SPI1 数据输出。 SPI1 从同步或帧脉冲 I/O SPI2 的同步串行时钟输入 / 输出。 SPI2 数据输入。 SPI2 数据输出。 SPI2 从同步或帧脉冲 I/O
说明
2007 Microchip Technology Inc. DS70286A_CN 15
dsPIC33FJXXXGPX06/X08/X10
1-1 引脚说明 (续)
引脚名称
SCL1 SDA1 SCL2 SDA2
SOSCI SOSCO
TMS TCK TDI TDO
T1CK T2CK T3CK T4CK T5CK T6CK T7CK T8CK T9CK
U1CTS U1RTS U1RX U1TX U2CTS U2RTS U2RX U2TX
V
DD P—
VDDCORE P—
SS P—
V
VREF+ I Analog
REF- I Analog
V
图注: CMOS = CMOS 兼容输入或输出; Analog = 模拟输入
引脚 类型
I/O I/O I/O I/O
I
O
I I I
O
I I I I I I I I I
I
O
I
O
I
O
I
O
ST = CMOS 电平的施密特触发器输入; O = 输出; I = 输入; P = 电源
缓冲器
类型
ST ST ST ST
ST/CMOS
ST ST ST
ST ST ST ST ST ST ST ST ST
ST
ST
ST
ST
说明
I2C1 的同步串行时钟输入 / 输出。 I2C1 的同步串行数据输入 / 输出。 I2C2 的同步串行时钟输入 / 输出。 I2C2 的同步串行数据输入 / 输出。
32.768 kHz 低功耗晶振输入;否则为 CMOS 输入。
32.768 kHz 低功耗晶振输出。 JTAG 测试模式选择引脚。
JTAG 测试时钟输入引脚。 JTAG 测试数据输入引脚。 JTAG 测试数据输出引脚。
Timer1 外部时钟输入。 Timer2 外部时钟输入。 Timer3 外部时钟输入。 Timer4 外部时钟输入。 Timer5 外部时钟输入。 Timer6 外部时钟输入。 Timer7 外部时钟输入。 Timer8 外部时钟输入。 Timer9 外部时钟输入。
UART1 允许发送。 UART1 请求发送。 UART1 接收。 UART1 发送。 UART2 允许发送。 UART2 请求发送。 UART2 接收。 UART2 发送。
外设逻辑和 I/O 引脚的正电源。 CPU 逻辑滤波电容连接。
逻辑和 I/O 引脚的参考地。 模拟参考电压 (高电压)输入。 模拟参考电压 (低电压)输入。
DS70286A_CN 16 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

2.0 CPU

注: 本数据手册总结了
dsPIC33FJXXXGPX06/X08/X10 器件的功 能。但是不应把本手册当作无所不包的参 考手册来使用。如需了解本数据手册的补 充信息,请参见 《dsPIC33F 系列参考手
请参见 Microchip 网站
册》 (www.microchip.com)了解最新的dsPIC33F 系列参考手册》章节。
dsPIC33FJXXXGPX06/X08/X10 CPU 模块采用 16
(数据)的改进型哈佛架构,具有增强指令集,其中包
括对 DSP 的强大支持。 CPU 具有 24 位指令字,指令 字带有长度可变的操作码字段。程序计数器 (Program CounterPC)为 23 位宽,可以寻址最大 4M x 24 位 的用户程序存储空间。实际实现的程序存储容量因器件 而异。单周期指令预取机制可帮助维持吞吐量并使指令 的执行具有预测性。除了改变程序流的指令、双字传送
MOV.D)指令和表指令以外,所有指令都在单个周期
内执行。使用 DO REPEAT 指令支持无开销的程序循 环结构,这两条指令在任何时间都可以被中断。
dsPIC33FJXXXGPX06/X08/X10 器件在编程模型中有 16 16 位工作寄存器。每个工作寄存器都可以充当数
据、地址或地址偏移量寄存器。第 16 个工作寄存器
W15)作为软件堆栈指针(Sta ck PointerSP),用
于中断和调用。
dsPIC33FJXXXGPX06/X08/X10指令集具有两类指令 MCU 类指令和 DSP 类指令。这两类指令无缝地集成到
单个 CPU 中。指令集包含多种寻址模式,指令的设计 可使 C 编译器的效率达到最优。对于大多数指令, dsPIC33FJXXXGPX06/X08/X10 能够在每个指令周期 内执行一次数据 (或程序数据)存储器读取、一次工作 寄存器 (数据)读取、一次数据存储器写入以及一次程 序 (指令)存储器读取操作。因此,支持 3 操作数指 令,允许在单个周期内执行 A + B = C 这样的操作。
2-1
给出了
dsPIC33FJXXXGPX06/X08/X10

2.1 数据寻址概述

数据空间可以作为 32K 字或 64 KB 寻址,并被分成两 块,称为 X Y 数据存储区。每个存储块有各自独立的 地址发生单元 (Address Generation Unit, AGU)。 MCU 类指令只通过 X 存储空间 AGU 进行操作,可将整 个存储器映射作为一个线性数据空间访问。某些 DSP指 令通过 X Y AGU 进行操作以支持双操作数读操作,
CPU
的框图。图
的编程模型。
2-2
给出了
这样会将数据地址空间分成两个部分。X 和 Y 数据空间 的边界视具体器件而定。
X Y 地址空间都支持无开销循环缓冲区 (模寻址模 式)。模寻址省去了 DSP 算法的软件边界检查开销。此 外,X AGU 的循环寻址可以用于任何 MCU 类指令。X AGU 还支持位反转寻址,大幅简化了基 2 FFT 算法对 输入或输出数据的重新排序。
可以选择将数据存储空间映射的高 32 KB 映射到由 8 位 程序空间可视性页 (Program Space Visibility Page, PSVPAG)寄存器定义的任何 16K 程序字边界内的程序 空间内。程序空间到数据空间的映射功能让任何指令都 能象访问数据空间一样访问程序空间。数据空间还包括 2 KB DMA RAM,它主要用于 DMA 数据传输,但也 可用作通用 RAM

2.2 DSP 引擎概述

DSP 引擎具有一个高速 17 x 17 位乘法器、一个 40ALU、两个 40 位饱和累加器和一个 40 位双向桶形移 位寄存器。该桶形移位寄存器能在单个周期内将一个 40 位的值右移或左移最多 16 位。DSP 指令可以无缝地与 所有其他指令一起操作,且设计为能获得最佳实时性 能。MAC 指令和其他相关指令可以在同一个周期内,同 时完成从存储器中取两个数据操作数,将两个 W 寄存器 相乘并累加,且可选择使结果饱和。这要求 RAM 数据 存储空间对于这些指令拆分为两块,但对于所有其他指 令保持线性。数据空间分块是通过将某些工作寄存器专 用于每个地址空间,以透明和灵活的方式实现的。

2.3 MCU 的特性

dsPIC33FJXXXGPX06/X08/X10 具有一个由 MCU ALUDSP 引擎共用的 17 x 17 位单周期乘法器。此乘法 器可以进行有符号、无符号和混合符号的乘法运算。使 用 17 x 17 位乘法器进行 16 x 16 位乘法运算不仅允 许您执行混合符号的乘法运算,而且对于 (-1.0) x (-1.0) 这样的特殊运算也可以得到准确结果。
dsPIC33FJXXXGPX06/X08/X10 支持小数和整数的 16/16 位和 32/16 位除法运算。所有的除法指令都是迭
代操作。它们必须在一个 REPEAT 循环内执行,总执行 时间为 19 个指令周期。在这 19 个周期的任一周期内可 以中断除法运算而不会丢失数据。
一个 40 位的桶形移位寄存器用于在单个周期内将数据 左移或右移 16 位。 MCU DSP 指令都可以使用该桶 形移位寄存器。
2007 Microchip Technology Inc. DS70286A_CN 17
dsPIC33FJXXXGPX06/X08/X10

2-1 dsPIC33FJXXXGPX06/X08/X10 CPU 内核框图

PSV 和表 数据访问 控制模块
Y 数据总线
23
23
地址锁存器
程序存储器
数据锁存器
中断
控制器
X 数据总线
8
23
PCU
堆栈 控制 逻辑
地址总线
24
指令
译码和
控制
至各模块的
控制信号
程序计数器
16
PCH PCL
循环 控制 逻辑
16
DSP 引擎
除法支持
16
数据锁存器
X RAM
地址
锁存器
16
地址发生器单元
ROM 锁存器
指令寄存器
数据锁存器
16
Y RAM
地址
锁存器
16
EA 多路开关
16
立即数数据
16 x 16
W 寄存器阵列
16
16
控制器
DMA
RAM
DMA
16
16
16 ALU
16
至外设模块
DS70286A_CN 18 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

2-2 dsPIC33FJXXXGPX06/X08/X10 编程模型

W0/WREG
W1
W2
W3
W4
DSP 操作数
寄存器
DSP 地址 寄存器
W5
W6
W7
W8
W9
W10
W11
W12/DSP 偏移量
W13/DSP 回写
W14/ 帧指针
W15/ 堆栈指针
D0D15
PUSH.S 影子寄存器
DO 影子寄存器
图注
工作寄存器
DSP
累加器
PC22
7
7
22
22
TBLPAG
PSVPAG
AD39 AD0AD31
ACCA
ACCB
0
数据表页地址
0
DOSTART
程序空间可视性页地址
15
15
DOEND
SPLIM 堆栈指针限制寄存器
AD15
PC0
程序计数器
0
0
RCOUNT
DCOUNT
REPEAT 循环计数器
0
DO 循环计数器
0
DO 循环起始地址
DO 循环结束地址
15
CORCON
OA OB SA SB
2007 Microchip Technology Inc. DS70286A_CN 第 19
OAB SAB
SRH
DA DC
IPL2 IPL1
RA
IPL0 OV
SRL
0
内核配置寄存器
N
C
Z
状态寄存器
dsPIC33FJXXXGPX06/X08/X10

2.4 CPU 控制寄存器

CPU 控制寄存器包括:
SRCPU 状态寄存器
CORCON:内核控制寄存器

寄存器 2-1 SRCPU 状态寄存器

R-0 R-0 R/C-0 R/C-0 R-0 R/C-0 R -0 R/W-0
OA OB SA
(1)
bit 15 bit 8
SB
(1)
OAB SAB DA DC
R/W-0
(2)
IPL<2:0>
R/W-0
(3)
(2)
R/W-0
(3)
R-0 R/W-0 R/W-0 R/W-0 R/W-0
RA N OV Z C
bit 7 bit 0
图注:
C = 只可清零位 R = 可读位 U = 未实现位,读为 0 S = 只可置 1 位 W = 可写位 -n = POR 时的值 1 = 10 = 清零 x = 未知
bit 15
OA累加器 A 溢出状态位
1 = 累加器 A 溢出 0 = 累加器 A 未溢出
bit 14
OB累加器 B 溢出状态位
1 = 累加器 B 溢出 0 = 累加器 B 未溢出
bit 13
SA:累加器 A 饱和 “粘住”状态位
(1)
1 = 累加器 A 饱和或在某时已经饱和 0 = 累加器 A 未饱和
bit 12
SB:累加器 B 饱和 “粘住”状态位
(1)
1 = 累加器 B 饱和或在某时已经饱和 0 = 累加器 B 未饱和
bit 11
OAB: OA OB 组合的累加器溢出状态位
1 = 累加器 A B 已经溢出 0 = 累加器 A B 都未溢出
bit 10
SAB: SA 和 SB 组合的累加器 “粘住”状态位
1 = 累加器 A B 饱和或在过去某时已经饱和 0 = 累加器 A B 都未饱和
注: 此位可被读取或清零 (但不能置 1)。清零此位的同时将清零 SA SB
bit 9
DA DO 循环活动位 1 = 正在进行 DO 循环
0 = 不在进行 DO 循环
1: 此位可被读取或清零 (但不能置 1)。
2IPL<2:0> 位与 IPL<3> 位(CORCON<3>)组合形成 CPU 中断优先级。如果 IPL<3> = 1,那么括号中的
值表示 IPL。当 IPL<3> = 1 时,禁止用户中断。
3: 当 NSTDIS INTCON1<15>= 1 时, IPL<2:0> 状态位是只读的。
DS70286A_CN 20 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10
寄存器 2-1 SRCPU 状态寄存器 (续)
bit 8
bit 7-5
bit 4
bit 3
bit 2
bit 1
bit 0
DCMCU ALU 半进位 / 借位
1 = 结果的第 4 个低位 (对于字节大小的数据)或第 8 个低位 (对于字大小的数据)发生了进位 0 = 结果的第 4 个低位 (对于字节大小的数据)或第 8 个低位 (对于字大小的数据)未发生进位
IPL<2:0>CPU 中断优先级状态位
111 = CPU 中断优先级为 7 15),禁止用户中断 110 = CPU 中断优先级为 6 14 101 = CPU 中断优先级为 5 13 100 = CPU 中断优先级为 4 12 011 = CPU 中断优先级为 3 11 010 = CPU 中断优先级为 2 10 001 = CPU 中断优先级为 1 9 000 = CPU 中断优先级为 0 8
RA REPEAT 循环活动位 1 = 正在进行 REPEAT 循环
0 = 不在进行 REPEAT 循环
NMCU ALU 负标志位
1 = 结果为负 0 = 结果为非负 (零或正值)
OV MCU ALU 溢出标志位 此位用于有符号的算术运算(二进制补码)。它表示量值上的溢出,这种溢出将导致符号位改变状态。
1 = 有符号算术运算中发生溢出 (本次运算) 0 = 未发生溢出
ZMCU ALU 全零标志位
1 = 影响 Z 位的任何运算在过去某时已将该位置 1 0 = 影响 Z 位的最近一次运算已将该位清零 (即运算结果非零)
CMCU ALU 进位 / 借位
1 = 结果的最高位发生了进位 0 = 结果的最高位未发生进位
标志位
(2)
标志位
1: 此位可被读取或清零 (但不能置 1)。
2IPL<2:0> 位与 IPL<3> 位(CORCON<3>)组合形成 CPU 中断优先级。如果 IPL<3> = 1,那么括号中的
值表示 IPL。当 IPL<3> = 1 时,禁止用户中断。
3: 当 NSTDIS INTCON1<15>= 1 时, IPL<2:0> 状态位是只读的。
2007 Microchip Technology Inc. DS70286A_CN 21
dsPIC33FJXXXGPX06/X08/X10

寄存器 2-2 CORCON:内核控制寄存器

U-0 U-0 U-0 R/W-0 R/W-0 R-0 R-0 R-0
—USEDT
bit 15 bit 8
R/W-0 R/W-0 R/W-1 R/W-0 R/C-0 R/W-0 R/W-0 R/W-0
SATA SATB SATDW ACCSAT IPL3
bit 7 bit 0
图注:
R = 可读位 W = 可写位 -n = POR 时的值 1 = 置 1 0 = 清零 x = 未知 U = 未实现位,读为 0
bit 15-13 未实现:读为 0
bit 12
bit 11
bit 10-8
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
US: DSP 乘法无符号 / 有符号控制位
1 = DSP 引擎执行无符号乘法运算 0 = DSP 引擎执行有符号乘法运算
EDTDO 循环提前终止控制位 1 = 在当前循环迭代结束时终止执行 DO 循环
0 = 无影响 DL<2:0>:DO 循环嵌套层级状态位
111 = 正在进行 7 DO 循环嵌套
001 = 正在进行 1 DO 循环嵌套 000 = 正在进行 0 DO 循环嵌套
SATA AccA 饱和使能位
1 = 使能累加器 A 饱和 0 = 禁止累加器 A 饱和
SATB AccB 饱和使能位
1 = 使能累加器 B 饱和 0 = 禁止累加器 B 饱和
SATDW DSP 引擎的数据空间写饱和使能位
1 = 使能数据空间写饱和 0 = 禁止数据空间写饱和
ACCSAT累加器饱和模式选择位
1 = 9.31 饱和 (超饱和) 0 = 1.31 饱和 (正常饱和)
IPL3CPU 中断优先级状态位 3
1 = CPU 中断优先级大于 7 0 = CPU 中断优先级等于或小于 7
PSV数据空间中程序空间可视性使能位
1 = 程序空间在数据空间中可视 0 = 程序空间在数据空间中不可视
RND舍入模式选择位
1 = 使能有偏 (常规)舍入 0 = 使能无偏 (收敛)舍入
IF整数或小数乘法器模式选择位
1 = 使能 DSP 乘法运算的整数模式 0 = 使能 DSP 乘法运算的小数模式
C = 只可清零位
(1)
(2)
(1)
(2)
DL<2:0>
PSV RND IF
1: 此位将总是读为 0
2IPL3 位与 IPL<2:0> 位(SR<7:5>)组合形成 CPU 中断优先级。
DS70286A_CN 22 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

2.5 算术逻辑单元 (ALU

dsPIC33FJXXXGPX06/X08/X10 ALU 16 位宽,并能 进行加法、减法、移位和逻辑运算。除非特别指明,算 术运算一般采用二进制补码。根据不同的运算,ALU 可 能会影响 SR 寄存器中的进位标志位 (C)、全零标志 位(Z)、负标志位 (N)、溢出标志位 (OV)和半进 位标志位 (DC)的值。在减法运算中, C DC 状态 位分别作为借位
根据所使用的指令模式,ALU 可执行 8 位或 16 位运算。 根据指令的寻址模式, ALU 运算的数据可以来自 W 寄 存器阵列或数据存储器。同样,ALU 的输出数据可被写W 寄存器阵列或数据存储单元。
关于每条指令所影响的 SR 位的信息,请参见
dsPIC30F/33F 程序员参考手册》(DS70157B_CN)。
dsPIC33FJXXXGPX06/X08/X10 CPU 融入了对乘法和 除法的硬件支持。它带有专门的硬件乘法器以及支持 16 位除数除法的硬件。

2.5.1 乘法器

通过使用 DSP 引擎的高速 17 x 17 位乘法器,ALU 支 持各种无符号、有符号或混合符号的 MCU 乘法运算:
1. 16 x 16 位有符号
2. 16 x 16 位无符号
3. 16 位有符号 x 5 位 (立即数)无符号
4. 16 位无符号 x 16 位无符号
5. 16 位无符号 x 5 位 (立即数)无符号
6. 16 位无符号 x 16 位有符号
7. 8 位无符号 x 8 位无符号

2.5.2 除法器

除法模块支持具有以下数据长度的 32 /16 位和 16 /16 位有符号和无符号整数除法运算:
1. 32 位有符号 /16 位有符号除法
2. 32 位无符号 /16 位无符号除法
3. 16 位有符号 /16 位有符号除法
4. 16 位无符号 /16 位无符号除法
所有除法指令的商都被放在 W0 中,余数放在 W1 中。 16 位有符号和无符号 DIV 指令可为 16 位除数指定任一 W 寄存器(Wn), 为 32 位被除数指定任意两个连续的 W 寄存器(W(m + 1):Wm)。除法运算中处理除数的每
一位需要一个周期,因此 32 /16 位和 16 /16 位指 令的执行周期数相同。
位和半借位位。

2.6 DSP 引擎

DSP 引擎由一个高速 17 x 17 位乘法器、一个桶形移 位寄存器和一个 40 位加法器 / 减法器 (两个目标累加 器、舍入逻辑和饱和逻辑)组成。
dsPIC33FJXXXGPX06/X08/X10 采用单周期指令流架 构;因此 DSP 引擎的工作不能与 MCU 指令流同时进 行。但是,某些 MCU ALU DSP 引擎资源可由同一条 指令 (如 ED EDAC)同时使用。
DSP 引擎还可以执行固有的不需要其他数据的累加器 ­累加器操作。这些指令是 ADDSUB NEG
通过 CPU 内核控制寄存器 (CORCON)中的各个位, 可以对 DSP 引擎的操作进行多种选择,这些选择如下:
1. 小数或整数 DSP 乘法 (IF)。
2. 有符号或无符号 DSP 乘法 (US)。
3. 常规或收敛舍入 (RND)。
4. AccA 自动饱和使能 / 禁止 (SATA)。
5. AccB 自动饱和使能 / 禁止 (SATB)。
6. 对于写数据存储器,自动饱和使能 /禁止(SATDW)。
7. 累加器饱和模式选择 (ACCSAT)。
2-1 给出了 DSP 指令的汇总。 DSP 引擎的框图如图 2-3 所示。

2-1 DSP 指令汇总

指令 代数运算 ACC 回写
CLR A = 0 ED A = (x – y) EDAC A = A + (x – y) MAC A = A + (x * y) MAC A = A + x MOVSAC
MPY A = x * y MPY A = x MPY.N A = – x * y MSC A = A – x * y
A 中内容将不发 生改变
2
2
2
2
有 无 无 有 无 有
无 无 无 有
2007 Microchip Technology Inc. DS70286A_CN 23
dsPIC33FJXXXGPX06/X08/X10

2-3 DSP 引擎框图

40
进位 / 借位输出
进位 / 借位输入
40 位累加器 A 40 位累加器 B
饱和
加法器
取补
40
40
符号扩展
40
桶形 移位
寄存器
40
16
40
舍入 逻辑
16
X 数据总线
Y 数据总线
33
17
乘法器 / 定标器
16
/ 来自 W 阵列
16
32
32
补零
16
DS70286A_CN 24 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10

2.6.1 乘法器

17 x 17 位乘法器可以进行有符号或无符号运算,其 输出经过定标器进行换算后可支持 1.31 小数(Q31)或 32 位整数结果。无符号操作数经过零扩展后,送入乘法
器输入值的第 17 位。有符号操作数经过符号扩展后,送 入乘法器输入值的第 17 位。17 位 x 17 位乘法器 / 定标 器的输出是 33 位值,它将被符号扩展为 40 位。整型数 据的固有表示形式为有符号的二进制补码值,其中 MSb 定义为符号位。一般来说,N 位二进制补码整数的范围
N-1
N-1
2
-2
0x8000)到 32767 0x7FFF),包括 0 在内。对于
32位整数,数据范围为 -2,147,483,648(0x8000 00002,147,483,647 0x7FFF FFFF)。
当乘法器配置为小数乘法时,数据表示为二进制补码小 数,其中 MSb 定义为符号位,小数点暗含在符号位之 后(QX 格式)。暗含小数点的 N 位二进制补码小数的 范围为 -1.0 到(1 – 2 范围为 -1.0 0x8000)到 0.999969482 0x7FFF), 包括 0 在内,其精度为 3.01518x10
16 x 16 乘法运算将产生 1.31 乘积,其精度为 4.65661
-10
x 10
同一个乘法器还用来支持 MCU 乘法指令,包括整数的 16 位有符号、无符号和混合符号乘法。
MUL 指令可以使用字节或字长度的操作数。字节操作数 将产生 16 位结果,而字操作数将产生 32 位结果,结果 存放在 W 寄存器阵列的指定寄存器中。
– 1。对于 16 位整数,数据范围为 -32768
1-N
)。对 于 16 位小数,Q15 数据
-5
。在小数模式下,

2.6.2 数据累加器和加法器 / 减法器

数据累加器包含一个 40 位加法器 / 减法器,它带有自动 符号扩展逻辑。它可以选择两个累加器 (A B)之一 作为其累加前的源累加器和累加后的目标累加器。对于 ADD LAC 指令,可选择通过桶形移位器在累加之前将 要累加或装入的数据进行换算。
2.6.2.1 加法器 / 减法器、溢出和饱和
加法器 / 减法器是一个 40 位加法器,一侧输入可以选择 为零,而另一侧输入可以是原数据或求补后的数据。对 于加法,进位 / 借位输入为高电平有效,其他输入是原 数据 (没有求补的);对于减法,进位 / 借位 电平有效,其他输入是求补后的数据。加法器 / 减法器 产生溢出状态位 SA/SB OA/OB,这些状态位被锁存 在状态寄存器中并在其中得到反映:
bit 39 溢出:这是灾难性溢出,会破坏累加器的 符号位。
溢出到警戒位 (bit 32 bit 39):这是可恢复的溢 出。每当警戒位彼此不完全一致时,就将把这个状 态位置 1
加法器有一个额外的饱和模块,如果选取的话,饱和模 块将控制累加器的数据饱和。饱和模块使用加法器的结 果、上述的溢出状态位、SAT<A:B>(CORCON<7:6>ACCSAT CORCON<4>)模式控制位,来确定何 时饱和、达到何值为饱和。
状态寄存器中有 6 个支持饱和和溢出的位,它们是:
1. OA
AccA 溢出到警戒位
2. OB
AccB 溢出到警戒位
3. SA
AccA 已饱和 (bit 31 溢出并饱和)
输入为低
AccA 溢出到警戒位并饱和(bit 39 溢出并饱和)
4. SB
AccB 已饱和 (bit 31 溢出并饱和)
AccB 溢出到警戒位并饱和(bit 39 溢出并饱和)
5. OAB
OA OB 的逻辑或 (OR
6. SAB
SA SB 的逻辑或 (OR
每次数据通过加法器 / 减法器,就会修改 OA OB 位。 置 1 时,它们表明最近的操作已溢出到累加器警戒位
bit 32bit 39)。如果 OA OB 位置 1 而且 INTCON1
寄存器中相应的溢出陷阱标志允许位 (OVATE 和 OVBTE)置 1 的话,还可以选择用 OA OB 位产生算 术警告陷阱 (见第 6.0 节 “中断控制器”)。这使得用 户能够立即采取措施,例如,校正系统增益。
2007 Microchip Technology Inc. DS70286A_CN 25
dsPIC33FJXXXGPX06/X08/X10
每次数据通过加法器 / 减法器,就会修改 SA SB 位, 但用户只能对它们进行清零。置 1 时,它们表明累加器 已溢出其最大范围 (对于 32 位饱和是 bit 31,而 40 位 饱和是 bit 39),将发生饱和(如果饱和使能的话)。如 果没有使能饱和,SA 和 SB 置 1 默认为 bit 39 溢出,以 此指示产生了灾难性溢出。如果 INTCON1 寄存器中的 COVTE 位置 1,当饱和被禁止时, SA SB 位将产生 算术警告陷阱。
在状态寄存器 (SR)中,对于溢出和饱和状态位,可 以将 OA OB 的逻辑或形成 OAB 位,将 SA SB 的 逻辑或形成 SAB 位。这样,只需检查状态寄存器中的一 个位,程序员就能判断是否有累加器溢出;检查状态寄 存器中的另一个位,就可以判断是否有累加器饱和。对 于通常要使用两个累加器的复数运算而言,这很有用。
器件支持三种饱和和溢出模式:
1. bit 39 溢出和饱和: 当发生 bit 39 溢出和饱和时,饱和逻辑将最大的 正 9.31 值(0x7FFFFFFFFF)或最小的负 9.31 值( 0x8000000000)装入目标累加器。SA 或 SB 位置 1 并保持直到被用户清零。这称为 “超饱 和”,为错误数据或不可预期的算法问题(例如, 增益计算)提供了保护机制。
2. bit 31 溢出和饱和: 当发生 bit 31 溢出和饱和时,饱和逻辑将最大的 正 1.31 值(0x007FFFFFFF)或最小的负 1.31 值(0x0080000000)装入目标累加器。 SA 或 SB 位置 1 并保持直到被用户清零。当这种饱和 模式生效时,不使用警戒位 (因此 OAOB
OAB 位不会被置 1)。
3. bit 39 灾难性溢出:
加法器的 bit 39 溢出状态位用来将 SA SB 位 置 1 ;这两位置 1 后,将保持状态直到被用户清 零。不进行饱和操作,允许累加器溢出(破坏其 符号位)。如果 INTCON1 寄存器中的COVTE 位 置 1,灾难性溢出会导致一个陷阱异常。
2.6.2.2 累加器 “回写”
MAC 类指令(MPYMPY.N、ED EDAC 除外)可以选 择将累加器高位字 (bit 16 bit 31)的舍入形式写入 数据存储空间,前提是当前指令不对该累加器进行操 作。通过 X 总线寻址组合的 X Y 地址空间,执行回写 操作。支持以下寻址模式:
1. W13,寄存器直接寻址: 非操作目标的累加器的舍入内容以1.15小数形式 写入 W13
2. [W13]+=2,执行后递增的寄存器间接寻址: 非操作目标的累加器的舍入内容以1.15小数形式 写入 W13 指向的地址。然后 W13 递增 2 (对于 字写入)。
2.6.2.3 舍入逻辑
舍入逻辑是一个组合模块,在累加器写(存储)过程中 执行常规的(有偏)或收敛的(无偏)舍入功能。舍入 模式由 CORCON 寄存器中 RND 位的状态决定。它会 产生一个 16 位的 1.15 数据值,该值被送到数据空间写 饱和逻辑。如果指令不指明舍入,就会存储一个截取的
1.15 数据值,简单地丢弃低位字。
常规舍入取累加器的 bit 15,对它进行零扩展并将扩展 后的值加到 ACCxH 字(累加器的 bit 16 bit 31)。如 果 ACCxL 字 (累加器的 bit 0 bit 15)在 0x8000 0xFFFF 之间 (包括 0x8000),则 ACCxH 递增 1。如ACCxL 0x0000 0x7FFF 之间,则 ACCxH 不 变。此算法的结果经过一系列随机舍入操作,值会稍稍 偏大 (正偏)。
除非 ACCxL 等于 0x8000,否则收敛的(或无偏)舍入 操作方式与常规舍入相同。在这种情况下,要对 ACCxH 的最低位 (累加器的 bit 16)进行检测。如果它为 1ACCxH 递增 1。如果它为 0ACCxH 不变。假设 bit 16 本身是随机的,这样的机制将消除任何可能累加的舍入 偏差。
通过 X 总线, SAC SAC.R 指令将目标累加器内容的 截取 (SAC)或舍入 (SAC.R)形式存入数据存储空间
(这受数据饱和的影响,请参见第 2.6.2.4 节 “数据空
间写饱和”)。对于 MAC 类指令,累加器回写操作将以 同样的方式进行,通过 X 总线寻址组合的 MCU X
Y)数据空间。对于此类指令,数据始终要进行舍入。
DS70286A_CN 26 2007 Microchip Technology Inc.
dsPIC33FJXXXGPX06/X08/X10
2.6.2.4 数据空间写饱和
除了加法器 / 减法器饱和,对数据空间进行写操作也会 饱和,但不会影响源累加器的内容。数据空间写饱和逻 辑块接受来自舍入逻辑块的一个 16 位的 1.15 小数值作 为输入,还接受来自源 (累加器)和 16 位舍入加法器 的溢出状态。这些输入经过组合用来选择适当的 1.15 小 数值作为输出,写入数据存储空间中。
如果 CORCON 寄存器中的 SATDW 位置 1,将检测(经 过舍入或截取后的)数据是否溢出,并进行相应的调 整。如果输入数据大于 0x007FFF,则写入数据存储器 中的数据被强制为最大的正 1.15 值, 0x7FFF。如果输 入数据小于0xFF8000,则写入存储器中的数据被强制为 最小的负 1.15 值,0x8000。源累加器的最高位(bit 39 用来决定被检测的操作数的符号。
如果 CORCON 寄存器中的 SATDW 位没有置 1,则输 入数据都将通过,在任何情况下都不会被修改。

2.6.3 桶形移位寄存器

桶形移位寄存器在单个周期内可将数据算术或逻辑右移 或左移最多 16 位。源操作数可以是两个 DSP 累加器中 的任何一个或 X 总线(支持寄存器或存储器中数据的多 位移位)。
移位寄存器需要一个有符号二进制值,用来确定移位操 作的幅度 (位数)和方向。正值将操作数右移。负值则 将操作数左移。值为 0 则不改变操作数。
桶形移位寄存器为 40 位宽,于是,它为 DSP 移位操作 提供了 40 位的结果,而为 MCU 移位操作提供 16 位的 结果。来自 X 总线的数据在桶形移位寄存器中的存放方 式是:右移则数据存放在 bit 16 bit 31,左移则存放 在 bit 0 bit 15
2007 Microchip Technology Inc. DS70286A_CN 27
dsPIC33FJXXXGPX06/X08/X10
注:
DS70286A_CN 28 2007 Microchip Technology Inc.
Loading...
+ 294 hidden pages