dsPIC30F6010A/6015 增强型闪存16位数字信号控制器(DSC)
1.0 器件概述
图1-1: dsPIC30F6010A框图
图1-2: dsPIC30F6015框图
表1-1: dsPIC30F6010A/6015 I/O引脚说明
2.0 CPU架构概述
2.1 内核概述
2.2 编程模型
2.2.1 软件堆栈指针/帧指针
2.2.2 状态寄存器
2.2.3 程序计数器
图2-1: dsPIC30F6010A/6015编程模型
2.3 除法支持
表2-1: 除法指令
2.4 DSP引擎
表2-2: DSP指令汇总
图2-2: DSP引擎框图
2.4.1 乘法器
2.4.2 数据累加器和加法器/减法器
2.4.3 桶形移位器
3.0 存储器构成
3.1 程序地址空间
图3-1: dsPIC30F6010A/60150的程序存储空间映射
表3-1: 程序空间地址构成
图 3-2: 访问程序空间中的数据的地址生成方式
3.1.1 使用表指令访问程序存储器中的数据
图3-3: 程序数据表访问(最低有效字)
图3-4: 程序数据表访问(最高字节)
3.1.2 使用程序空间可视性访问程序存储器中的数据
图3-5: 将数据空间映射到程序空间的操作
3.2 数据地址空间
3.2.1 数据存储空间映射
图3-6: dsPIC30F6010A/6015 数据空间存储器映射
图3-7: 使用MCU(MAC类)和DSP指令对数据空间寻址示例
3.2.2 数据空间
表3-2: 无效存储器访问的结果
3.2.3 数据空间宽度
3.2.4 数据对齐
图3-8: 数据对齐
3.2.5 Near数据空间
3.2.6 软件堆栈
图3-9: CALL 堆栈帧
3.2.7 数据RAM保护功能
表3-3: 内核寄存器映射
4.0 地址发生器单元
4.1 指令寻址模式
4.1.1 文件寄存器指令
4.1.2 MCU指令
表4-1: 支持的基本寻址模式
4.1.3 传送指令和累加器指令
4.1.4 MAC指令
4.1.5 其他指令
4.2 模寻址
4.2.1 起始地址和结束地址
4.2.2 W地址寄存器选择
图4-1: 模寻址操作示例
4.2.3 模寻址的应用
4.3 位反转寻址
4.3.1 位反转寻址的实现
图4-2: 位反转地址示例
表4-2: 位反转地址序列(16项)
表4-3: XBREV寄存器的位反转地址修改量
5.0 中断
5.1 中断优先级
表5-1: 中断向量表
5.2 夊位过程
5.2.1 夊位源
5.3 陷阱
5.3.1 陷阱源
5.3.2 硬陷阱和软陷阱
图5-1: 陷阱向量
5.4 中断过程
图5-2: 中断堆栈帧
5.5 备用向量表
5.6 快速现场保护
5.7 外部中断请求
5.8 从休眠和空闲模式唤醒
表5-2: dsPIC30F6010A中断控制器寄存器映射
表5-3: dsPIC30F6015中断控制器寄存器映射
6.0 闪存程序存储器
6.1 在线串行编程(ICSP)
6.2 运行时自编程(RTSP)
6.3 表指令操作综述
图 6-1: 表和NVM寄存器寻址
6.4 RTSP操作
6.5 RTSP控制寄存器
6.5.1 NVMCON寄存器
6.5.2 NVMADR寄存器
6.5.3 NVMADRU寄存器
6.5.4 NVMKEY寄存器
6.6 编程操作
6.6.1 闪存程序存储器的编程算法
6.6.2 擦除程序存储器的一行
例6-1: 擦除程序存储器的一行
6.6.3 装载写锁存器
例6-2: 装载写锁存器
6.6.4 启动编程序列
例6-3: 启动编程序列
表6-1: NVM寄存器映射
7.0 数据EEPROM存储器
7.1 读数据EEPROM
例7-1: 读数据EEPROM
7.2 擦除数据EEPROM
7.2.1 擦除数据EEPROM的一块
例7-2: 数据EEPROM块擦除操作
7.2.2 擦除数据EEPROM的一个字
例7-3: 数据EEPROM字擦除操作
7.3 写数据EEPROM
7.3.1 写数据EEPROM的一个字
例7-4: 数据EEPROM字写操作
7.3.2 写数据EEPROM的一块
例7-5: 数据EEPROM块写操作
7.4 写校验
7.5 防止误写入
8.0 I/O端口
8.1 并行I/O(PIO)端口
图8-1: 专用端口的结构框图
图8-2: 共用端口的结构框图
8.2 配置模拟端口引脚
8.2.1 I/O端口写/读时序
例8-1: 端口写/读示例
表8-1: dsPIC30F6010A端口寄存器映射
表8-2: dsPIC30F6015端口寄存器映射
8.3 输入状态变化通知模块
表8-3: 输入状态变化通知寄存器映射(Bit 15-8)
表8-4: dsPIC30F6010A的输入状态变化通知寄存器映射(Bit 7-0)
表8-5: dsPIC30F6015的输入状态变化通知寄存器映射(Bit 7-0)
9.0 Timer1模块
图9-1: 16位Timer1模块框图(A类定时器)
9.1 定时器门控操作
9.2 定时器预分频器
9.3 休眠模式下的定时器操作
9.4 定时器中断
9.5 实时时钟
图9-2: 建议的Timer1 LP振荡器RTC元件
9.5.1 RTC振荡器工作
9.5.2 RTC 中断
表9-1: Timer1寄存器映射
10.0 Timer2/3模块
图10-1: dsPIC30f6010A的32位TIMER2/3框图
图10-2: dsPIC30f6015的32位TIMER2/3框图
图10-3: dsPIC30f6010A的16位TIMER2框图(B类定时器)
图10-4: dsPIC30f6015的16位TIMER2框图(B类定时器)
图10-5: 16位TIMER3框图(C类定时器)
10.1 定时器门控操作
10.2 ADC事件触发信号
10.3 定时器预分频器
10.4 休眠模式下的定时器操作
10.5 定时器中断
表10-1: Timer2/3寄存器映射
11.0 Timer4/5 模块
图11-1: 32位TIMER4/5 框图
图11-2: 16位TIMER4框图(B类定时器)
图11-3: 16位TIMER5框图(C类定时器)
表11-1: Timer4/5 寄存器映射
12.0 输入捕捉模块
12.1 简单捕捉事件模式
12.1.1 捕捉预分频器
图12-1: 输入捕捉模式框图
12.1.2 捕捉缓冲器操作
12.1.3 Timer2和Timer3选择模式
12.1.4 霊尔传感器模式
12.2 休眠和空闲模式下的输入捕捉工作
12.2.1 CPU休眠模式下的输入捕捉
12.2.2 CPU空闲模式下的输入捕捉
12.3 输入捕捉中断
表12-1: 输入捕捉寄存器映射
13.0 输出比较模块
图13-1:输出比较模式框图
13.1 Timer2和Timer3选择模式
13.2 简单输出比较匹配模式
13.3 双输出比较匹配模式
13.3.1 单脉冲模式
13.3.2 连续脉冲模式
13.4 简单PWM模式
13.4.1 PWM的输入引脚故障保护
13.4.2 PWM周期
公式13-1:PWM周期
图13-2: PWM 输出时序
13.5 CPU休眠模式下的输出比较操作
13.6 CPU空闲模式下的输出比较操作
13.7 输出比较中断
表13-1: 输出比较寄存器映射
14.0 正交编码器接口(QEI)模块
图14-1: 正交编码器接口框图
14.1 正交编码器接口逻辑
14.2 16位递增/递减位置计数器模式
14.2.1 位置计数器错误校验
14.2.2 位置计数器夊位
14.2.3 计数方向状态
14.3 位置测量模式
14.4 可编程数字噪声滤波器
14.5 备用16位定时器/计数器
14.6 CPU休眠模式下的QEI模块操作
14.6.1 CPU休眠模式下的QEI操作
14.6.2 CPU休眠模式下的定时器操作
14.7 CPU空闲模式下的QEI模块操作
14.7.1 CPU空闲模式下的QEI操作
14.7.2 CPU空闲模式下的定时器操作
14.8 正交编码器接口中断
表14-1: QEI寄存器映射
15.0 电机控制PWM模块
图15-1: PWM模块框图
15.1 PWM时基
15.1.1 自由运行模式
15.1.2 单事件模式
15.1.3 连续递增/递减计数模式
15.1.4 双更新模式
15.1.5 PWM时基预分频器
15.1.6 PWM时基后分频器
15.2 PWM周期
公式 15-1: PWM周期
公式 15-2: PWM周期(递增/递减计数模式)
公式15-3: PWM分辨率
15.3 边沿对齐PWM
图15-2: 边沿对齐PWM
15.4 中心对齐PWM
图15-3: 中心对齐PWM
15.5 PWM占空比比较单元
15.5.1 占空比寄存器缓冲器
15.5.2 占空比立即更新
15.6 互补PWM操作
15.7 死区时间发生器
15.7.1 死区时间发生器
15.7.2 死区时间分配
表15-1: 死区时间选择位
15.7.3 死区时间范围
图15-4: 死区时间时序图
15.8 独立的PWM输出
15.9 单脉冲PWM操作
15.10 PWM输出改写
15.10.1 互补输出模式
15.10.2 改写同步
15.11 PWM输出和极性控制
15.11.1 输出引脚控制
15.12 PWM 故障引脚
15.12.1 故障引脚使能位
15.12.2 故障状态
15.12.3 故障引脚优先级
15.12.4 故障输入模式
15.13 PWM更新锁定
15.14 PWM特殊事件触发器
15.14.1 特殊事件触发器后分频器
15.15 CPU休眠模式下的PWM操作
15.16 CPU空闲模式下的PWM操作
表15-2: 8输出PWM寄存器映射
16.0 SPI模块
16.1 操作功能说明
16.1.1 字和字节通信
16.1.2 SDOx禁止
图16-1: SPI框图
图16-2: SPI主/从连接
16.2 帧SPI支持
16.3 从选择同步
16.4 CPU休眠模式下的SPI操作
16.5 CPU空闲模式下的SPI操作
表16-1: SPI1寄存器映射
表16-2: SPI2寄存器映射
17.0 I2C模块
17.1 操作功能说明
17.1.1 各种I2C模式
17.1.2 I2C模式下的引脚配置
图17-1: 编程模型
17.1.3 I2C寄存器
图17-2: I2C框图
17.2 I2C模块地址
表17-1: dsPIC30F支持的7位I2C从地址
17.3 I2C 7位从模式的工作
17.3.1 从模式发送
17.3.2 从模式接收
17.4 I2C 10位从模式的工作
17.4.1 10位地址从模式发送
17.4.2 10位地址从模式接收
17.5 自动时钟延长
17.5.1 发送时钟延长
17.5.2 接收时钟延长
17.5.3 7位寻址时的时钟延长(STREN = 1)
17.5.4 10位寻址时的时钟延长 (STREN = 1)
17.6 软件控制的时钟延长(STREN = 1)
17.7 中断
17.8 斜率控制
17.9 IPMI支持
17.10 广播呼叫地址支持
17.11 I2C主模式支持
17.12 I2C主模式下的工作
17.12.1 I2C主发送
17.12.2 I2C主接收
17.12.3 波特率发生器
17.12.4 时钟仲裁
17.12.5 多主器件通信、总线冲突与总线仲裁
17.13 CPU休眠和空闲模式期间I2C模块的工作
17.13.1 CPU休眠模式期间I2C的工作
17.13.2 CPU空闲模式期间I2C的工作
表17-2: I2C寄存器映射
18.0 通用异步收发器(UART)模块
18.1 UART模块概述
图18-1: UART发送器框图
图18-2: UART接收器框图
18.2 使能和设置UART
18.2.1 使能UART
18.2.2 禁止UART
18.2.3 设定数据、奇偶校验以及停止位选择
18.3 发送数据
18.3.1 8位数据模式下的发送
18.3.2 9位数据模式下的发送
18.3.3 发送缓冲器(UxTXB)
18.3.4 发送中断
18.3.5 发送间隔字符
18.4 接收数据
18.4.1 在8位或9位数据模式下接收
18.4.2 接收缓冲器(UxRXB)
18.4.3 接收中断
18.5 接收错误处理
18.5.1 接收缓冲器溢出错误(OERR位)
18.5.2 帧错误(FERR)
18.5.3 奇偶校验错误(PERR)
18.5.4 空闲状态
18.5.5 接收间隔字符
18.6 地址检测模式
18.7 环回模式
18.8 波特率发生器(BRG)
公式18-1: 波特率
18.9 自动波特率支持
18.10 UART在CPU休眠和空闲模式下的工作
18.10.1 UART在CPU休眠模式下的工作
18.10.2 UART在CPU空闲模式下的工作
表 18-1: UART1寄存器映射
表 18-2: UART2寄存器映射
19.0 CAN模块
19.1 概述
19.2 帧类型
图 19-1: CAN缓冲器和协议引擎框图
19.3 工作模式
19.3.1 初始化模式
19.3.2 禁止模式
19.3.3 正常工作模式
19.3.4 监听模式
19.3.5 错误识别模式
19.3.6 环回模式
19.4 报文接收
19.4.1 接收缓冲器
19.4.2 报文验收过滤器
19.4.3 报文验收过滤器屏蔽寄存器
19.4.4 接收溢出
19.4.5 接收错误
19.4.6 接收中断
19.5 报文发送
19.5.1 发送缓冲器
19.5.2 发送报文优先级
19.5.3 发送过程
19.5.4 中止报文发送
19.5.5 发送错误
19.5.6 发送中断
19.6 波特率设置
19.6.1 位时序
图 19-2: CAN位时序
19.6.2 预分频比设置
公式19-1: 时钟发生器的时间份额
19.6.3 传播段
19.6.4 相位段
19.6.5 采样点
19.6.6 同步
表19-1: dsPIC30F6010A和6015器件的CAN1寄存器映射
表19-2: dsPIC30F6010A的CAN2寄存器映射
20.0 10位高速模数转换器(ADC)模 块
图20-1: 10位高速A/D功能框图
20.1 A/D结果缓冲器
20.2 转换操作
20.3 选择转换顺序
20.4 通过编程触发转换
20.5 中止转换
20.6 选择A/D转换时钟
公式20-1: A/D转换时钟
表20-1: A/D转换时钟计算
20.7 A/D转换速度
表20-1: 10位A/D转换速率参数
图20-2: A/D转换器参考电压原理图
20.7.1 1 Msps时的配置指导原则
20.7.2 750 ksps时的配置指导原则
20.7.3 600 ksps时的配置指导原则
20.8 A/D采集要求
图20-3: A/D转换器模拟输入模块
20.9 模块掉电模式
20.10 CPU休眠和空闲模式下的A/D操作
20.10.1 CPU休眠模式下的A/D操作
20.10.2 CPU空闲模式下的A/D操作
20.11 夊位的影响
20.12 输出格式
图20-4: A/D输出数据格式
20.13 配置模拟端口引脚
20.14 连接注意事项
表20-2: ADC寄存器映射
21.0 系统集成
21.1 振荡器系统概述
表21-1: 振荡器工作模式
图21-1: 振荡器系统框图
21.2 振荡器配置
21.2.1 初始时钟源选择
表21-2:用于时钟选择的配置位值
21.2.2 振荡器起振定时器(OST)
21.2.3 LP振荡器控制
21.2.4 锁相环(PLL)
表21-3: PLL频率范围
21.2.5 快速RC振荡器(FRC)
表21-4: FRC调节
21.2.6 低功耗RC振荡器(LPRC)
21.2.7 故障保护时钟监视器
21.2.8 防止意外写入OSCCON
21.3 夊位
图21-2: 夊位系统框图
21.3.1 POR:上电夊位
图21-3: 上电延时序列(MCLR连接至Vdd)
图21-4: 上电延时序列(MCLR未连接至Vdd):情形1
图21-5: 上电延时序列(MCLR未连接至Vdd):情况2
21.3.2 BOR:可编程欠压夊位
图21-6: 外部上电夊位电路(用于缓慢Vdd上电的情况)
表21-5: RCON寄存器的初始化条件:情形1
表21-6: RCON寄存器的初始化条件:情形2
21.4 看门狗定时器(WDT)
21.4.1 看门狗定时器操作
21.4.2 使能和禁止WDT
21.5 省电模式
21.5.1 休眠模式
21.5.2 空闲模式
21.6 器件配置寄存器
21.7 外设模块禁止(PMD)寄存器
21.8 在线调试器
表21-7: 系统集成寄存器映射(dsPIC30F6010A)
表21-8: 系统集成寄存器映射(dsPIC30F6015)
表21-9: 器件配置寄存器映射
22.0 指令集汇总
表22-1: 操作码描述中使用的符号
表22-2: 指令集汇总表
23.0 开发支持
23.1 MPLAB集成开发环境软件
23.2 MPASM 汇编器
23.3 MPLAB C18和MPLAB C30 C编译器
23.4 MPLINK目标链接器/ MPLIB目标库管理器
23.5 MPLAB ASM30汇编器、 链接器和库管理器
23.6 MPLAB SIM软件模拟器
23.7 MPLAB ICE 2000高性能在线仿真器
23.8 MPLAB REAC ICE在线仿真器系统
23.9 MPLAB ICD 2在线调试器
23.10 MPLAB PM3器件编程器
23.11 PICSTART Plus开发编程器
23.12 PICkit 2开发编程器
23.13 演示、开发和评估板
24.0 电气特性
24.1 直流特性
表24-1: dsPIC30F6010A的工作速度(MIPS)与电压
表24-2: dsPIC30F6015的工作速度(MIPS)与电压
表24-3: 热工作条件
表24-4: 热封装特性
表24-5: 直流温度和电压规范
表24-6: 直流特性:工作电流(Idd)
表24-7: 直流特性:空闲电流(Iidle)
表24-8: 直流特性:掉电电流(Ipd)
表24-9: 直流特性:I/O引脚输入规范
表24-10: 直流特性:I/O引脚输出规范
图24-1: 欠压夊位特性
表24-11: 电气特性BOR
表24-12: DC特性:程序和EEPROM
24.2 交流特性和时序参数
表24-13: 温度和电压规范——交流
图24-2: 器件时序规范的负载条件
图24-3: 外部时钟时序
表24-14: 外部时钟时序要求
表24-15: PLL时钟时序规范(Vdd = 2.5V至5.5V)
表24-16: PLL抖动
表24-17: 内部时钟时序示例
表24-18: 交流特性:内部FRC抗抖动性、准确性和漂移(2)
表24-19: 内部LPRC精度
图24-4: CLKOUT和I/O时序特性
表24-20: CLKOUT和I/O时序要求
图24-5: 夊位、看门狗定时器、振荡器起振定时器和上电延时定时器的时序特性
表24-21: 夊位、看门狗定时器、振荡器起振定时器、上电延时定时器和欠压夊位时序要求
图24-6: 带隙启动时间特性
表24-22: 带隙启动时间要求
图24-7: Timer1、2、3、4和5外部时钟时序特性
表24-23: Timer1外部时钟时序要求
表24-24: Timer2和Timer4外部时钟时序要求
表24-25: Timer3和Timer5外部时钟时序要求
图24-8: TimerQ(QEI模块)外部时钟时序特性
表24-26: QEI模块外部时钟时序要求
图24-9: 输入捕捉(CAPx)时序特性
表24-27: 输入捕捉时序要求
图24-10: 输出比较(OCx)时序特性
表24-28: 输出比较模块时序要求
图24-11: OC/PWM模块时序特性
表24-29: 简单OC/PWM模式时序要求
图24-12: 电机控制PWM模块故障时序特性
图24-13: 电机控制PWM模块时序特性
表24-30: 电机控制PWM模块时序要求
图24-14: QEA/QEB输入特性
表24-31: 正交编码器时序要求
图24-15: QEI模块索引脉冲时序特性
表24-32: QEI索引脉冲时序要求
图24-16: SPI模块主模式(CKE = 0)时序特性
表24-33: SPI主模式(CKE = 0)时序特性
图24-17: SPI模块主模式(CKE = 1)时序特性
表24-34: SPI模块主模式(CKE = 1)时序特性
图24-18: SPI模块从模式(CKE = 0)时序特性
表24-35: SPI模块从模式(CKE = 0)时序要求
图24-19: SPI模块从模式(CKE = 1)时序特性
表24-36: SPI模块从模式(CKE = 1)时序要求
图24-20: I2C总线启动/停止位时序特性(主模式)
图24-21: I2C总线数据时序特性(主模式)
表24-37: I2C总线数据时序要求(主模式)
图24-22: I2C总线启动/停止位时序特性(从模式)
图24-23: I2C总线数据时序特性(从模式)
表24-38: I2C总线数据时序要求(主模式)
图24-24: CAN模块I/O时序特性
表24-39: CAN模块I/O时序要求
表24-40: 10位/高速A/D模块规范(1)
图24-25: 10位高速A/D转换时序特性 (CHPS = 01、SIMSAM = 0、ASAM = 0且SSRC = 000)
图24-26: 10位高速A/D转换时序特性 (CHPS = 01、SIMSAM = 0、ASAM = 1、SSRC = 111且SAMC = 00001)
表24-41: 10位高速A/D转换时序要求
25.0 封装信息
25.1 封装标识信息
附录A: 版本历史
附录B: 器件比较
表 B-1: dsPIC30F6010和dsPIC30F6010A的比较
附录C: 从dsPIC30F6010移椊到dsPIC30F6010A
索引
Microchip网站
变更通知客户朊务
客户支持
读者反馈表
产品标识体系
联系方式