dsPIC30F电机与电源系列数字信号控制器原理与应用

出版时间:2007-4  出版社:北航大学  作者:何礼高  页数:591  
Tag标签:无  

内容概要

  《dsPIC30F电机与电源系列数字信号控制器原理与应用》介绍了dsPIC30F电机与电源变换系列DSC的结构原理,讨论了体系结构中各功能模块的编程应用,列举了用于电机控制和电源应用中的实例及部分程序清单。

书籍目录

第1章 绪论1.1 电机控制和电源变换技术的发展11.2 微处理器在电机调速和电源变换技术中的应用31.3 用于电机和电源数字控制系统的DSP的特点5第2章 dsPIC30F电机控制及电源变换系列DSC的主要性能2.1 基本性能特征92.2 芯片类型与引脚功能112.2.1 dsPIC30F电机控制和电源变换系列芯片概况112.2.2 dsPIC30F电机控制和电源变换系列芯片的引脚功能122.3 器件绝对极限参数值162.4 dsPIC30F器件型号表示方法172.5 dsPIC30F电机控制和电源变换系列DSC器件外形封装17第3章 dsPIC30F系列DSC的CPU结构3.1 编程模型223.1.1 软件堆栈指针243.1.2 CPU寄存器283.2 算术逻辑单元333.3 指令流343.4 除法支持373.5 DSP引擎383.5.1 乘法器393.5.2 数据累加器和加法/减法器423.5.3 四舍五入逻辑443.5.4 数据空间写饱和443.5.5 桶形移位器453.5.6 DSP 引擎陷阱事件453.6 循环结构463.6.1 REPEAT 循环结构463.6.2 DO循环结构473.7 dsPIC30F CPU内核寄存器映射51第4章 存储器结构4.1 程序计数器544.2 从程序存储器存取数据544.2.1 表指令综述564.2.2 表地址的生成574.2.3 程序存储器低位字访问574.2.4 程序存储器高位字访问574.2.5 程序存储器中的数据存储584.3 来自数据空间的程序空间可视性584.3.1 PSV的配置584.3.2 X和Y数据空间的PSV映射594.3.3 PSV时序594.3.4 在REPEAT循环中使用PSV604.3.5 PSV和指令停顿604.4 写程序存储器604.5 数据存储器604.5.1 数据存储器空间624.5.2 数据对齐方式634.6 Near 数据存储器63第5章 地址发生器5.1 数据空间地址发生器单元655.1.1 X地址发生器单元655.1.2 Y地址发生器单元655.1.3 地址发生器单元和DSP指令655.2 指令寻址模式665.2.1 文件寄存器指令665.2.2 MCU乘法指令675.2.3 MOVE和累加器指令675.2.4 MAC指令685.2.5 其他指令695.3 指令停止695.3.1 地址寄存器相依性695.3.2 先写后读相依性规则705.3.3 指令停止周期715.4 模寻址725.4.1 模起始和结束地址选择725.4.2 模起始地址735.4.3 模结束地址735.4.4 模地址计算735.4.5 与模寻址SFR相关的数据依赖关系745.4.6 W地址寄存器的选择755.4.7 模寻址的适用性765.4.8 递增模缓冲区的模寻址的初始化765.4.9 递减模缓冲区的模寻址的初始化775.5 位反转寻址785.5.1 位反转寻址简介785.5.2 位反转寻址操作795.5.3 模寻址和位反转寻址805.5.4 与XBREV相关的数据相依性805.5.5 位反转修改量805.5.6 位反转寻址代码示例815.5.7 控制寄存器说明82第6章 中断6.1 中断向量与优先级866.1.1 中断向量表866.1.2 备用向量表876.1.3 复位顺序876.1.4 CPU优先级状态886.1.5 中断优先级886.2 不可屏蔽陷阱916.2.1 软陷阱916.2.2 硬陷阱926.2.3 禁止中断指令936.2.4 中断操作946.2.5 从休眠和空闲模式唤醒956.2.6 A/D转换器外部转换请求956.2.7 外部中断支持966.3 中断处理时序966.3.1 单周期指令的中断延迟966.3.2 双周期指令的中断延迟9720.2.11 特殊功能寄存器复位状态47820.2.12 复位模块使用中要注意的问题47820.3 看门狗定时器和低功耗模式47920.3.1 低功耗模式47920.3.2 休眠模式47920.3.3 空闲模式48220.3.4 低功耗指令与中断同时发生48320.3.5 看门狗定时器48320.3.6 看门狗定时器和低功耗模式使用中的问题48620.4 低压检测模块48620.4.1 LVD控制位和跳变点的选择48720.4.2 LVD工作原理48920.4.3 LVD模块使用中的有关问题49020.5 器件配置寄存器49020.5.1 器件配置寄存器49120.5.2 配置位描述49520.5.3 器件标识寄存器496第21章 指令系统21.1 dsPIC30F指令的分类49721.2 dsPIC30F指令的操作数49721.3 指令长度和执行周期49821.4 dsPIC30F指令简述499第22章 开发环境与工具22.1 MPLAB IDE集成开发环境软件51022.1.1 dsPIC语言套件51222.1.2 第3方C编译器51222.2 仿真器与在线调试器51222.2.1 MPLAB SIM软件模拟器51222.2.2 MPLAB ICE 4000在线仿真器51322.2.3 MPLAB ICD 2在线调试器51422.2.4 PRO MATE II通用器件编程器51522.3 应用程序库51522.3.1 数学库51522.3.2 DSP算法库51522.3.3 DSP滤波器设计软件实用程序51622.3.4 外设驱动程序库51622.3.5 CAN库51722.3.6 实时操作系统51722.3.7 OSEK操作系统51822.3.8 TCP/IP协议栈51822.3.9 V0.22/V0.22bis和V0.32规范51922.4 dsPIC30F硬件开发板51922.4.1 dsPICDEM MC1电机控制开发板及配套组件51922.4.2 dsPICDEM 2.0开发板52022.5 使用MPLAB IDE实现嵌入式系统设计的一般步骤52122.5.1 创建文件52222.5.2 使用项目向导52322.5.3 使用项目窗口52622.5.4 设置编译选项52622.5.5 编译项目52822.5.6 编译错误疑难解答53022.5.7 使用MPLAB SIM软件模拟器进行调试53122.5.8 生成映射文件53422.5.9 汇编代码的调试53522.5.10 用户系统在线调试接口设计537第23章 dsPIC30F用于单相交流电机调速控制23.1 交流感应电机的V/F控制53923.2 单相交流感应电机的启动和运行54023.3 单相感应电机变频调速的逆变器功率主电路54123.4 dsPIC30F2010组成的控制电路54223.5 3桥臂两相SPWM控制策略及编程54323.5.1 SPWM调制54423.5.2 产生正弦波的查表方法54723.5.3 ADC采样和PWM输出设置550第24章 dsPIC30F用于交流电机矢量控制24.1 感应电机矢量控制的实现步骤55424.2 坐标变换的实现55524.2.1 CLARKE变换55524.2.2 PARK变换55524.2.3 PARK反变换55624.2.4 CLARKE反变换55624.3 磁通观察器55724.4 PI控制55824.5 空间矢量调制55924.6 源程序说明56024.6.1 变量定义和定标56024.6.2 UserParms.h56124.6.3 ACIM.c56124.6.4 InitCurModel.c56224.6.5 CalcRef.s56224.6.6 CalcVel.s56224.6.7 ClarkePark.s56224.6.8 CurModel.s56324.6.9 FdWeak.s56324.6.10 InvPark.s56324.6.11 MeasCur.s56424.6.12 OpenLoop.s56424.6.13 PI.s56424.6.14 ReadADC0.s56424.6.15 SVGen.s56424.6.16 Trig.s564第25章 dsPIC30F在无刷直流电机控制方面的应用25.1电机的运行与PWM调速控制56725.2 开环控制57025.3 闭环控制574第26章 dsPIC30F在电源变换器中的应用26.1 组合式三相/单相可编程数字逆变电源58326.2 电流SPWM倍频调制方式及数字实现58426.3 电压/电流双环数字PI控制58626.4 控制程序设计587参考文献5906.3.3 从中断返回986.3.4 中断延迟的特殊条件986.4 中断控制和状态寄存器986.5 中断设置流程1216.5.1 初始化1216.5.2 中断服务程序1216.5.3 陷阱服务程序1226.5.4 中断禁止122第7章 闪存程序存储器7.1 表指令操作1237.1.1 使用读表指令1247.1.2 使用写表指令1257.2 控制寄存器1267.2.1 NVMCON寄存器1277.2.2 NVM地址寄存器1287.2.3 NVMKEY寄存器1297.3 运行时自编程1307.3.1 RTSP工作原理1307.3.2 闪存编程操作1317.3.3 写入器件配置寄存器135第8章 电可擦除数据只读存储器8.1 数据EEPROM编程简介1378.2 EEPROM编程算法1388.2.1 EEPROM单字编程算法1388.2.2 EEPROM行编程算法1388.3 数据EEPROM存储器字写入1398.3.1 擦除数据EEPROM存储器的1个字1398.3.2 写数据EEPROM存储器中的1个字1408.4 写数据EEPROM存储器中的1行1418.4.1 擦除数据EEPROM的1行1418.4.2 写数据EEPROM存储器的1行1428.5 读数据EEPROM存储器143第9章 输入/输出端口9.1 I/O端口控制寄存器1449.1.1 TRIS寄存器1459.1.2 PORT寄存器1459.1.3 LAT寄存器1459.2 外设复用1509.3 端口描述1529.4 电平变化通知引脚1529.4.1 CN 控制寄存器1539.4.2 CN的配置和操作1549.4.3 休眠和空闲模式下的CN工作155第10章 定时器10.1 定时器的类型15610.1.1 A类型定时器15710.1.2 B类型定时器15710.1.3 C类型定时器15810.2 控制寄存器15910.3 工作模式16210.3.1 定时器模式16210.3.2 使用外部时钟输入的同步计数器模式16410.3.3 使用外部时钟输入的A类型定时器异步计数器模式16510.3.4 使用快速外部时钟源的定时器工作原理16610.3.5 门控时间累加模式16610.4 定时器预分频器16810.5 定时器中断16810.6 读/写16位定时器模块寄存器16910.6.1 写16位定时器16910.6.2 读16位定时器16910.7 低功耗32 kHz晶振输入16910.8 32位定时器配置17010.9 32位定时器的工作模式17110.9.1 定时器模式17110.9.2 同步计数器模式17210.9.3 异步计数器模式17310.9.4 门控时间累加模式17310.10 读/写32位定时器17410.11 低功耗状态下的定时器工作17410.11.1 休眠模式下的定时器工作17410.11.2 空闲模式下的定时器工作17510.11.3 Timer1中断唤醒器件应用示例17510.12 使用定时器模块的外设17610.12.1 输入捕捉/输出比较的时基17610.12.2 A/D特殊事件触发信号17610.12.3 定时器作为外部中断引脚17610.12.4 I/O引脚控制176第11章 输入捕捉11.1 输入捕捉寄存器17811.2 定时器选择17911.3 输入捕捉事件模式18011.3.1 简单捕捉事件18011.3.2 预分频器捕捉事件18111.3.3 边沿检测模式18211.4 捕捉缓冲器的操作18311.4.1 输入捕捉缓冲器非空18411.4.2 输入捕捉溢出18411.5 输入捕捉中断18411.6 UART自动波特率支持18511.7 低功耗状态下的输入捕捉工作18511.7.1 休眠模式下的输入捕捉工作18511.7.2 空闲模式下的输入捕捉工作18511.7.3 器件从休眠/空闲中唤醒18611.8 I/O引脚控制18611.9 与输入捕捉模块相关的特殊功能寄存器表186第12章 输出比较12.1 输出比较寄存器18912.2 工作模式19012.2.1 单比较匹配模式19012.2.2 双比较匹配模式19412.2.3 脉宽调制模式20012.3 低功耗状态下的输出比较工作20512.3.1 休眠模式下的输出比较工作20512.3.2 空闲模式下的输出比较工作20512.4 I/O引脚控制206第13章 正交编码器接口13.1 控制和状态寄存器20913.2 可编程数字噪声滤波器21413.3 正交解码器21613.3.1 超前/滞后测试说明21713.3.2 计数方向状态21813.3.3 编码器计数方向21813.3.4 正交速率21813.4 16位向上/向下位置计数器21813.4.1 位置计数器的使用21913.4.2 使用MAXCNT复位位置计数器21913.4.3 使用索引复位位置计数器22013.5 QEI用作备用16位定时器/计数器22313.5.1 向上/向下定时器的工作22313.5.2 定时器外部时钟22313.5.3 定时器门控操作22413.6 正交编码器接口中断22413.7I/O 引脚控制22413.8 低功耗模式下的QEI 工作22513.8.1 器件进入休眠模式22513.8.2 器件进入空闲模式22513.9 复位的影响22613.10 正交编码器使用中应注意的问题226第14章 电机控制脉宽调制模块14.1 多种MCPWM 模块22714.2 控制寄存器22914.3 PWM时基23814.3.1 自由运行模式23914.3.2 单事件模式24014.3.3 向上/向下计数模式24014.3.4 PWM时基预分频器24014.3.5 PWM时基后分频器24014.3.6 PWM时基中断24014.3.7 PWM周期24114.4 PWM占空比比较单元24214.4.1 PWM占空比精度24214.4.2 边沿对齐的PWM24414.4.3 单事件PWM 工作24414.4.4 中心对齐的PWM24514.4.5 占空比寄存器缓冲24614.5 互补PWM输出模式24714.6 死区时间控制24814.6.1 死区时间发生器24814.6.2 死区时间分配24914.6.3 死区时间范围25014.6.4 死区时间失真25014.7 独立PWM 输出模式25114.8 PWM输出改写25114.8.1 互补输出模式的改写控制25214.8.2 改写同步25214.8.3 输出改写示例25214.9 PWM输出和极性控制25414.9.1 输出极性控制25414.9.2 PWM输出引脚复位状态25414.10 PWM故障引脚25414.10.1 故障引脚使能位25514.10.2 故障状态25514.10.3 故障输入模式25514.10.4 故障引脚优先级25614.10.5 故障引脚软件控制25614.10.6 故障时序示例25714.11 PWM更新锁定25814.12 PWM特殊事件触发器25814.12.1 特殊事件触发器使能25914.12.2 特殊事件触发器后分频器25914.13 器件低功耗模式下的工作25914.13.1 休眠模式下的PWM工作25914.13.2 空闲模式下的PWM工作26014.14 用于器件仿真的特殊功能26014.15 与PWM模块有关的寄存器映射表260第15章 串行外设接口15.1 dsPIC30F的SPI模块26315.2 状态和控制寄存器26415.3 工作模式26715.3.1 8位与16位工作模式26715.3.2 主控模式和从动模式26815.3.3 SPI错误处理27415.3.4 SPI仅启用接收功能时的工作原理27415.3.5 帧SPI模式27415.4 SPI主控模式时钟频率27815.5 低功耗模式下的工作27915.5.1 休眠模式27915.5.2 空闲模式28015.6 与SPI模块相关的特殊功能寄存器280第16章 I2C通信模块16.1 dsPIC30F的I2C模块28216.2 I2C总线特性28316.2.1 总线协议28416.2.2 报文协议28516.3 控制和状态寄存器28616.4 使能I2C操作29216.4.1 使能I2C I/O29216.4.2 I2C中断29216.4.3 当作为总线主器件工作时设置波特率29316.5 作为主器件在单主机环境下通信29416.5.1 产生启动总线事件29516.5.2 发送数据到从器件29616.5.3 接收来自从器件的数据29816.5.4 应答产生29916.5.5 产生停止总线事件30016.5.6 产生重复启动总线事件30116.5.7 建立完整的主器件报文30216.6 作为主器件在多主机环境下通信30216.6.1 多主机工作30316.6.2 主器件时钟同步30316.6.3 总线仲裁与总线冲突30416.6.4 检测总线冲突和重新发送报文30416.6.5 启动条件期间的总线冲突30416.6.6 重复启动条件期间的总线冲突30516.6.7 报文位发送期间的总线冲突30516.6.8 停止条件期间的总线冲突30516.7 作为从器件通信30516.7.1 采样接收的数据30616.7.2 检测启动和停止条件30616.7.3 检测地址30616.7.4 接收来自主器件的数据31116.7.5 发送数据到主器件31316.8 I2C总线的连接注意事项31416.9 在PWRSAV指令执行期间的模块操作31516.9.1 器件进入休眠模式31516.9.2 器件进入空闲模式31516.10 复位的影响31616.11 I2C器件的地址格式31616.12 I2C总线通信中的若干问题316第17章 通用异步收发器模块17.1 控制寄存器31917.2 UART波特率发生器32217.3 UART配置32517.3.1 使能UART32517.3.2 禁止UART32517.3.3 备用UART I/O引脚32517.4 UART发送器32617.4.1 发送缓冲器32717.4.2 发送中断32717.4.3 设置UART发送32817.4.4 中止字符的发送32917.5 UART接收器32917.5.1 接收缓冲器33017.5.2 接收器错误处理33017.5.3 接收中断33117.5.4 设置UART接收33117.6 使用UART 进行9 位通信33217.6.1 ADDEN控制位33317.6.2 设置9位发送33317.6.3 设置使用地址检测模式的9位接收33317.7 接收中止字符33417.8 初始化33417.9 UART的其他特性33617.9.1 环回模式下的UART33617.9.2 自动波特率支持33617.10 UART在CPU休眠和空闲模式下的工作33717.11 与UART模块相关的寄存器33717.12 UART通信设计中可能出现的问题及解决方法337第18章 CAN总线模块18.1 dsPIC30F集成的CAN模块组成的总线网络33918.2 CAN模块特点33918.3 CAN模块的控制寄存器34018.3.1 CAN控制和状态寄存器34818.3.2 CAN发送缓冲寄存器34918.3.3 CAN接收缓冲寄存器35218.3.4 报文接收过滤器35518.3.5 接收过滤器屏蔽寄存器35618.3.6 CAN波特率寄存器35718.3.7 CAN模块错误计数寄存器35918.3.8 CAN中断寄存器35918.4 CAN模块的实现36218.5 CAN模块工作模式37018.5.1 正常工作模式37018.5.2 禁止模式37018.5.3 环回模式37118.5.4 监听模式37118.5.5 配置模式37218.5.6 监听所有报文模式37218.6 报文接收37218.6.1 接收缓冲器37218.6.2 报文接收过滤器37518.6.3 接收器溢出37618.6.4 复位的影响37818.6.5 接收错误37818.6.6 接收中断37918.7 发送38118.7.1 实时通信和发送报文缓冲38118.7.2 发送报文缓冲器38218.7.3 发送报文优先级38218.7.4 报文发送38318.7.5 发送报文中止38318.7.6 发送边界条件38518.7.7 复位的影响38718.7.8 发送错误38718.7.9 发送中断38918.8 错误检测38918.8.1 错误状态39018.8.2 错误模式和错误计数器39018.8.3 错误标志寄存器39118.9 CAN波特率39118.9.1 位时序39218.9.2 预分频器设置39218.9.3 传播段39318.9.4 相位段39318.9.5 采样点39418.9.6 同步39418.9.7 时间段编程39518.10 中断39518.10.1 中断确认39618.10.2 ICODE位39618.11 时间标记39718.12 CAN模块I/O39718.13 CPU低功耗模式下的工作39718.13.1 休眠模式下的工作39718.13.2 CPU空闲模式下的CAN模块工作399第19章 10位A/D转换器19.1 dsPIC30F的10位A/D转换器的结构40019.2 控制寄存器40219.3 A/D转换结果缓冲器40219.4 A/D转换术语和转换过程40719.5 A/D模块配置40919.6 参考电压源的选择41019.7 A/D转换时钟的选择41019.8 采样模拟输入的选择41119.8.1 配置模拟端口引脚41119.8.2 通道0输入选择41119.8.3 通道1、2 和3输入选择41219.9 模块使能41319.10 采样/转换过程的说明41319.10.1 采样/保持通道的数量41319.10.2 同时采样使能41319.11 如何开始采样41419.11.1 手工41419.11.2 自动41519.12 如何停止采样和开始转换41519.12.1 手工41619.12.2 对转换触发计时41719.12.3 事件触发转换开始42119.13 采样/转换工作的控制42519.13.1 监视采样/转换状态42519.13.2 产生A/D中断42519.13.3 中止采样42519.13.4 中止转换42519.14 如何将转换结果写入缓冲器的说明42619.14.1 每次中断前的转换次数42619.14.2 缓冲器大小造成的限制42619.14.3 缓冲器填充模式42619.14.4 缓冲器填充状态42619.15 转换过程示例42719.15.1 单个通道的多次采样和转换示例42719.15.2 扫描所有模拟输入时的A/D转换示例42819.15.3 在扫描其他4个输入时频繁采样3个输入示例42919.15.4 使用双8字缓冲器示例43119.15.5 使用交替多路开关A、多路开关B输入选择示例43119.15.6 使用同时采样对8个输入进行采样的示例43419.15.7 使用顺序采样对8个输入进行采样的示例43519.16 A/D采样要求43719.17 读取A/D转换结果缓冲器43719.18 传递函数43819.19 A/D转换的精度/误差43919.20 连接注意事项43919.21 初始化44019.22 在休眠和空闲模式下工作44119.22.1 不使用RC A/D时钟的CPU休眠模式44119.22.2 使用RC A/D时钟的CPU休眠模式44119.22.3 CPU空闲模式下的A/D工作44119.23 复位的影响44219.24 与10位A/D转换器相关的特殊功能寄存器44219.25 关于A/D转换器系统性能的优化442第20章 系统综合特性20.1 振荡器系统及其工作原理44420.1.1 振荡器系统功能综述44520.1.2 CPU时钟机制44620.1.3 振荡器配置44720.1.4 振荡器控制寄存器44920.1.5 主振荡器45120.1.6 晶体振荡器/陶瓷谐振器45220.1.7 为晶振、时钟模式、C1、C2和RS确定最佳的值45420.1.8 外部时钟输入45620.1.9 外部RC振荡器45620.1.10 锁相环45820.1.11 低功耗32 kHz晶体振荡器45920.1.12 振荡器起振定时器46020.1.13 内部快速RC振荡器46020.1.14 内部低功耗RC振荡器46020.1.15 故障保护时钟监视器46120.1.16 可编程振荡器后分频器46220.1.17 时钟切换工作原理46320.1.18 振荡器电路出现的非正常现象及处理措施46620.2 复位模块46720.2.1 复位控制寄存器46820.2.2 复位时的时钟源选择46920.2.3 上电复位47020.2.4 外部复位47120.2.5 软件复位指令47220.2.6 看门狗超时复位47220.2.7 欠压复位47220.2.8 使用RCON状态位47420.2.9 器件复位时间47420.2.10 器件起振时间曲线476

图书封面

图书标签Tags

评论、评分、阅读与下载


    dsPIC30F电机与电源系列数字信号控制器原理与应用 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7