已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 STM32 定时器产生 PWM 的研究 摘要 随着科技水平的提高 ARM 的应用越来越广泛 With the develop of technology ARM is used in various situations 旨在对 ARM 的深入学习 论文对 STM32 定时器产生 PWM 脉冲宽度调制 输 出进行了研究 On the intention of study on ARM timer of STM32 produce pulses PWM width modulation is studied in this paper PWM 就是某个频率占空比的方波 其应用领域包括测量 通信 功率控制 与变换 电动机控制 伺服控制 甚至某些音频放大器 因此研究 PWM 技术具有十分重要的现实意义 PWM is the square wave which has a sure duty cycle and frequency Its application fields include measurement communication power control and transform motor control servo control even some audio amplifier Therefore it is important to research PWM technology 本设计采用 STM32 定时器产生 PWM It is easy to use the timer of STM32 to produce PWM output STM32 的 PWM 由定时器产生 PWM 的周期即定时器定时的时间 通过计算方 波的频率 占空比 配置定时器和 IO 口 最后用示波器显示相应通道占空比的 方波即可 PWM is produced by the timer of STM32 The cycle of PWM is the timer s regular time By calculating the frequency of square wave duty cycle configuring the timer and IO then use oscilloscope displayed the PWM 经对 STM32 开发板的研究学习 通过对 STM32 定时器等的配置 用 示波器显示 完成了 PWM 输出 Based on the STM32 by configuring the timer of STM32 PWM is displayed by oscilloscope 关键词关键词 STM32 定时器 PWM StudyStudy forfor thethe outputoutput ofof PWMPWM produceproduce byby timertimer ofof STM32STM32 BasedBased onon MDKMDK Abstract With the development of technology ARM is used in various situations On the intention of study on ARM timer of STM32 produce pulses PWM width modulation is studied in this paper PWM is the square wave which has a sure duty cycle and frequency Its application fields include measurement communication power control and transform motor control servo control even some audio amplifier Therefore it is important to research PWM technology It is easy to use the timer of STM32 to produce PWM output PWM is produced by the timer of STM32 The cycle of PWM is the timer s regular time By calculating the frequency of square wave duty cycle configuring the timer and IO then use oscilloscope displayed the PWM Based on the STM32 by configuring the timer of STM32 PWM is displayed by oscilloscope KeyKey wordswords STM32 timer PWM 目录 第 1 章 前言 5 1 1 ARM 应用背景 5 1 2 研究内容 6 1 3 研究成果 7 第 2 章 STM32 处理器概述 8 2 1 STM32 简介 8 2 2 内部资源 10 2 3 CORTEX M3 内核简介 10 2 4 STM32 定时器简介 12 2 4 1 通用定时器 12 2 4 2 高级控制定时器 12 2 4 3 小结 15 第 3 章 PWM 概述 16 3 1 原理 16 3 1 1 PWM 模式 16 3 1 2 互补输出与死区插入 19 3 2 PWM 输出的实现 21 第 4 章 软件设计 22 4 1 开发环境 22 4 1 1 STM32 的开发软件 22 4 1 2 MDK370 22 4 2 软件实现 23 4 2 1 设计标准 23 4 2 2 程序流程图 25 第五章 测试及结果 26 5 1 JTAG 仿真器介绍 26 5 2 测试 27 5 3 现象及结果 28 结论 31 致谢 32 参考文献 33 ARM 处理器 ADC I O 接口 键盘 RAM LED 传感器 转换器 LCD DAC EPROM主机 第第 1 章章 前言前言 1 1 ARM 应用背景应用背景 如今 学习一种处理器的就有许多ARM内核的处理器可供使用 现在社会已 步入嵌入式学习阶段 在嵌入式领域 8位处理器已经不再胜任一些复杂的应用 比如GUI TCP IP FILESYSTEM等 而ARM芯片凭借强大的处理能力和极低的功 耗 非常适合这些场合 现在越来越多的产品在选型的时候考虑到使用ARM处理 器 ARM的应用是相当的广泛 ARM 的嵌入式控制应用如 汽车 电子设备 保安设备 大容量存储器 调 制解调器 打印机等 一个典型的 ARM 嵌入式工业控制系统的功能模块如图 1 1 所示 输入输出 图 1 1 ARM 嵌入式工业控制系统的功能模块 目前已有超过 85 的无线通信设备采用了 ARM 技术 ARM 以其高性能和低 成本 在该领域的地位日益巩固 ARM 在此方面的应用如 手提式计算机 移 动电话 PDA 等 随着宽带技术的推广 采用 ARM 技术的 ADSL 芯片正逐步获得竞争优势 此 外 ARM 在语音及视频处理上进行了优化 并获得广泛支持 ARM 技术在目前流行的数字音频播放器 数字机顶盒 游戏机 数码相机 数字式电视机 GPS 机顶盒中得到广泛采用 现在流行的数码相机和打印机中 绝大部分采用 ARM 技术 手机中的 32 位 SIM 智能卡也采用了 ARM 技术 如图 1 2 所示是基于 ARM 技术的数码相机的功能模块 9 ARM 处理器 LCD 控制器 主机 接口 CCDADC 控制电路和 编码电路 存储器 图 1 2 基于 ARM 技术的数码相机的功能模块 1 2 研究内容研究内容 本设计旨在加深对 ARM 的学习 巩固大学四年所学专业知识 提升动手能 力和思考问题解决问题的能力 本设计选择意法半导体的 STM32F 开发板 通过 对该开发板的研究学习 和对 STM32F103C8T6 芯片的学习 掌握其各种外设功 能 通过对 TIM1 定时器进行控制 使之各通道输出插入死区的互补 PWM 输出 各通道输出频率均为 17 57KHz 其中 通道 1 输出的占空比为 50 通道 2 输 出的占空比为 25 通道 3 输出的占空比为 12 5 各通道互补输出为反相输出 TIM1 定时器的通道 1 到 4 的输出分别对应 PA 08 PA 09 PA 10 和 PA 11 引脚 而通道 1 到 3 的互补输出分别对应 PB 13 PB 14 和 PB 15 引脚 中止输 入引脚为 PB 12 将这些引脚分别接入示波器 在示波器上观查相应通道占空 比的方波 12 本文第一章讲述了该论文写作背景 主要阐述了 ARM 应用范畴 以及该论 文研究的内容 第二章讲述了该研究课题使用的开发板的内部资源和开发板核 心芯片 STM32F103C8 的各项参数 第三章着重介绍了 PWM 的原理及实现方法 第四章介绍了本研究的软件设计模块 第五章介绍了测试方法和结果 1 3 研究成果研究成果 配置好各通道后 编译运行工程 点击 MDK 的 Debug 菜单 点击 Start Stop Debug Session 通过示波器察看 PA 08 PA 09 PA 10 PB 13 PB 14 PB 15 的输出波形 其中 PA 08 和 PB 13 为第一通道和互补通道 PB 09 和 PB 14 为第二通道和其互补通道 PB 10 和 PB 15 为第三通道和其互补通道 第一通道显示占空比为 50 第二通道 占空比为 25 第三通道占空比为 12 5 第第 2 2 章章 STM32STM32 处理器概述处理器概述 2 12 1 STM32STM32 简介简介 24 24 STM32F103xx 增强型系列使用高性能的 ARM Cortex M3 32 位的 RISC 内核 工作频率为 72MHz 内置高速存储器 高达 128K 字节的闪存和 20K 字节的 SRAM 丰富的增强 I O 端口和联接到两条 APB 总线的外设 所有型号的器件都包含 2 个 12 位的 ADC 3 个通用 16 位定时器和一个 PWM 定时器 还包含标准和先进 的通信接口 多达 2 个 I2C 和 SPI 3 个 USART 一个 USB 和一个 CAN STM32F103xx 增强型系列工作于 40 至 105 的温度范围 供电电压 2 0V 至 3 6V 一系列的省电模式保证低功耗应用的要求 完整的 STM32F103xx 增强型系列产品包括从 36 脚至 100 脚的五种不同封 装形式 根据不同的封装形式 器件中的外设配置不尽相同 下面给出了该系 列产品中所有外设的基本介绍 这些丰富的外设配置 使得 STM32F103xx 增强型微控制器适合于多种应用 场合 电机驱动和应用控制 医疗和手持设备 PC 外设和 GPS 平台 工业应用 可编程控制器 变频器 打印机和扫描仪 警报系统 视频对讲 和暖气通风空调系统 2 1 12 1 1 STM32F103C8STM32F103C8 的参数的参数 STM32 开发板核心芯片的参数如表 2 1 表表 2 12 1 器件功能和配置器件功能和配置 STM32F103xx STM32F103xx 增强型增强型 芯片引脚图如图 2 2 图图 2 22 2 STM32F103xxSTM32F103xx 增强型增强型 LQPFP48LQPFP48 管脚图管脚图 2 22 2 内部资源内部资源 STM32 有丰富的内部资源 如下所示 RealView MDK Miertocontroller Development Kit 基于 ARM 微控制器 的专业嵌入式开发工具 内置闪存存储器 内置 SRAM 嵌套的向量式中断控制器 NVIC 外部中断 事件控制器 EXTI 时钟和启动 自举模式 DMA RTC 实时时钟 和后备寄存器 窗口看门狗 I2C 总线 通用同步 异步接受发送器 USART 串行外设接口 SPI 控制器区域网络 CAN 通用串行总线 USB 通用输入输出接口 GPIO ADC 模拟 数字转换器 温度传感器 串行线 JTAG 调试口 SWJ DP 2 32 3 Cortex M3Cortex M3 内核简介内核简介 Cortex M3 内核包含一个适用于传统 Thumb 和新型 Thumb 2 指令的译码器 一个支持硬件乘法和硬件除法的先进 ALU 控制逻辑和用于连接处理器其他部 件的接口 Cortex M3 处理器是首款基于 ARMv7 M 架构的 ARM 处理器 中央 Cortex M3 内核使用 3 级流水线哈佛架构 运用分支预测 单周期乘法和硬件 除法功能实现了出色的效率 1 25DMIPS MHz Cortex M3 处理器是一个 32 位 处理器 带有 32 位宽的数据路径 寄存器库和基于传统 ARM7 处理器的系统只 支持访问对齐的数据 沿着对齐的字边界即可对数据进行访问和存储 Cortex M3 处理器采用非对齐数据访问方式 使非对齐数据可以在单核访问中进行传输 Cortex M3 处理器是专为那些对成本和功耗非常敏感但同时对性能要求又 相当高的应用而设计的 凭借缩小的内核尺寸和出色的中断延迟性能 集成的 系统部件 灵活的配置 简单的高级编程和强大的软件系统 Cortex M3 处理 器将成为从复杂的芯片系统到低端微控制器等各种系统的理想解决方案 表 2 3 为 Cortex M3 处理器与 ARM7 作比较 表表 2 3 Cortex M3 与与 ARM7 相比较相比较 2 4 STM32 定时器简介定时器简介 2 4 1 通用定时器通用定时器 22 22 STM32F103xx 增强型系列产品中内置了多达 3 个同步的标准定时器 每个 定时器都有一个 16 位的自动加载递加 递减计数器 一个 16 位的预分频器和 4 个独立的通道 每个通道都可用于输入捕获 输出比较 PWM 和单脉冲模式输 出 在最大的封装配置中可提供最多 12 个输入捕获 输出比较或 PWM 通道 它 们还能通过定时器链接功能与高级控制定时器共同工作 提供同步或事件链接 功能 在调试模式下 计数器可以被冻结 任一个标准定时器都能用于产生 PWM 输出 每个定时器都有独立的 DMA 请求机制 2 4 2 高级控制定时器高级控制定时器 22 22 高级控制定时器 TIM1 由一个 16 位的自动装载计数器组成 它由一个可 编程预分频器驱动 它适合多种用途 包含测 输入信号的脉冲宽 输入捕获 或者产生输出波形 输出比较 PWM 嵌入死区时间的互补 PWM 等 使用定时器预分频器和 RCC 时钟控制预分频器 可以实现脉冲宽 和波形 周期从几个微秒至几个毫秒的调节 高级控制 TIM1 和通用 TIMx 定时器是完 全独 的 它们 共享任何资源 它们可以同步操作 高级控制定时器 TIM1 可以被看成是一个分配到 6 个通道的三相 PWM 发生 器 它还可以被当成一个完整的通用定时器 四个独立的通道可以用于 输入捕获 输出比较 产生 PWM 边缘或中心对齐模式 单脉冲输出 反相 PWM 输出 具有程序可控的死区插入功能 配置为 16 位标准定时器时 它与 TIMx 定时器具有相同的功能 配置为 16 位 PWM 发生器时 它具有全调制能力 0 100 在调试模式下 计数器可以被冻结 很多功能都与标准的 TIM 定时器相同 内部结构也相同 因此高级控制定时器可以通过定时器链接功能与 TIM 定时器 协同操作 提供同步或事件链接功能 TIM1 定时器的功能包括 16 位上 下 上 下自动装载计数器 16 位可编程预分频器 计数器时钟频 的分频系数为 1 65535 之间 的任意数值 4 个独 通道 输入捕获 输出比较 PWM 生成 边缘或中间对齐模式 单脉冲模式输出 死区时间可编程的互补输出 使用外部信号控制定时器和定时器互连的同步电 在指定数目的计数器周期之后更新定时器寄存器 刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态 如下事件发生时产生中断 DMA 新 计数器向上溢出 向下溢出 计数器初始化 通过软件或者内 部 外部触发 触发事件 计数器启动 停止 初始化或者由内部 外部触发计数 输入捕获 输出比较 刹车信号输入 时基单元 可编程高级控制定时器的主要部分是一个 16 位计数器和与其相关的自动 装载寄存器 这个计数器可以向上计数 向下计数或者向上向下双向计数 此 计数器时钟由预分频器分频得到 计数器 自动装载寄存器和预分频器寄存器可以由软件读写 即使计数器 还在运 读写仍然有效 时基单元包含 计数器寄存器 TIM1 CNT 预分频器寄存器 TIM1 PSC 自动装载寄存器 TIM1 ARR 周期计数寄存器 TIM1 RCR 自动装载寄存器是预先装载的 写或读自动重装载寄存器将访问预装载寄 存器 根据在 TIM1 CR1 寄存器中的自动装载预装载使能位 ARPE 的设置 预 装载寄存器的内容被永久地或在每次的更新事件 UEV 时传送到影子寄存器 当 计数器达到溢出条件 向下计数时的下溢条件 并当 TIM1 CR1 寄存器中的 UDIS 位等于 0 时 产生 新事件 更新事件也可以由软件产生 随后会详细描述每 一种配置下更新事件的产生 计数器由预分频器的时钟输出 CK CNT 驱动 仅当设置 计数器 TIM1 CR1 寄存器中的计数器使能位 CEN 时 CK CNT 才有效 有关 多的计数器使能的 细节 请参见控制器的从模式描述 注 真正的计数器使能信号 CNT EN 是在 CEN 后的一个时钟周期后被设置 预分频器描述 预分频器可以将计数器的时钟频 按 1 到 65536 之间的任意值分频 它是 基于一个 在 TIM1 PSC 寄存器中的 16 位寄存器控制的 16 位计数器 因为这 个控制寄存器带有缓冲器 它能够在工作时被改变 新的预分频器的参数在下 一次更新事件到来时被采用 图 2 4 和 图 2 5 给出 一些在预分频器工作时 改其参数的情况下计数 器操作的例子 图图 2 42 4 当预分频器的参数从当预分频器的参数从 1 1 变到变到 2 2 时 计数器的时序图时 计数器的时序图 图图 2 52 5 当预分频器的参数从当预分频器的参数从 1 1 变到变到 4 4 时 计数器的时序图时 计数器的时序图 2 4 3 小结小结 经过比较和针对设计需要 使用定时器预分频器和 RCC 时钟控制预分频器 可以实现脉冲宽 和波形周期从几个微秒至几个毫秒的调节 高级控制 TIM1 和通用 TIMx 定时器是完全独 的 共享任何资源 可以同步操作 高级控 制定时器 TIM1 还可以被看成是一个分配到 6 个通道的三相 PWM 发生器 它还 可以被当成一个完整的通用定时器 因此该设计选择高级控制定时器 TIM1 第第 3 章章 PWM 概述概述 3 1 原理原理 PWM 是 Pulse Width Modulation 的缩写 中文意思就是脉冲宽度调制 简 称脉宽调制 它是利用微处理器的数字输出来对模拟电路进行控制的一种非常 有效的技术 其控制简单 灵活和动态响应好等优点而成为电力电子技术最广 泛应用的控制方式 其应用领域包括测量 通信 功率控制与变换 电动机 控制 伺服控制 调光 开关电源 甚至某些音频放大器 因此研究基 于 PWM 技术的正负脉宽数控调制信号发生器具有十分重要的现实意义 PWM 是一种对模拟信号电平进行数字编码的方法 通过高分辨率计数器的 使用 方波的占空比被调制用来对一个具体模拟信号的电平进行编码 PWM 信 号仍然是数字的 因为在给定的任何时刻 满幅值的直流供电要么完全有 ON 要么完全无 OFF 电压或电流源是以一种通 ON 或断 OFF 的重复脉冲序列被 加到模拟负载上去的 通的时候即是直流供电被加到负载上的时候 断的时候 即是供电被断开的时候 只要带宽足够 任何模拟值都可以使用 PWM 进行编码 多数负载 无论是电感性负载还是电容性负载 需要的调制频率高 10Hz 通 常调制频率为 1kHz 到 200kHz 之间 占空比是接通时间与周期之比 调制频率 为周期的倒数 目前 运动控制系统或电动机控制系统中实现PWM的方法主要有传统的数字 电路方式 专用的PWM集成电路 单片机实现方式和可编程逻辑器件实现方式 用传统的数字电路实现PWM 电路设计较复杂 体积大 抗干扰能力差 系统的 控制周期较长 专用的PWM集成电路或带有PWM的单片机价格较高 对于单片机 中无PWM输出功能的情况 实现PWM将消耗大量的时间 大大降低了CPU的效率 而且得到的PWM信号精度不太高 15 3 1 1 PWM 模式模式 脉冲宽 调制模式可以产生一个由 TIM1 ARR 寄存器确定频 由 TIM1 CCRx 寄存器确定占空比的信号 在 TIM1 CCMRx 寄存器中的 OCxM 位写入 110 PWM 模式 1 或 111 PWM 模式 2 能够独 地设置每个通道工作在 PWM 模式 每个 OCx 输出一路 PWM 必须通过设置 TIM1 CCMRx 寄存器 OCxPE 位使能相应的预装载寄存器 最后还要设置 TIM1 CR1 寄存器的 ARPE 位使能自 动重装载的预装载寄存器 在向上计数或中心对称模式中 因为仅当发生一个更新事件的时候 预装载寄存器才能被传送到影子寄存 器 因此在计数器开始计数之前 必须通过设置 TIM1 EGR 寄存器中的 UG 位来 初始化所有的寄存器 OCx 的极性可以通过软件在 TIM1 CCER 寄存器中的 CCxP 位设置 它可以 设置为高电平有效活和低电平有效 OCx 输出通过 CCxE CCxNE MOE OSSI 和 OSSR 位 在 TIM1 CCER 和 TIM1 BDTR 寄存器中 的组合控制 在 PWM 模式 模式 1 或模式 2 下 TIM1 CNT 和 TIM1 CCRx 始终在进 比 较 依据计数器的计数方向 以确定是否符合 TIM1 CCRx TIM1 CNT 或者 TIM1 CNT TIM1 CCRx 根据 TIM1 CR1 寄存器中 CMS 位的状态 定时器能够产 生边沿对齐的或中央对齐的 PWM 信号 PWM 边沿对齐模式 向上计数配置 当 TIM1 CR1 寄存器中的 DIR 位为低的时候执 向上计数 当 TIM1 CNTTIM1 CCRx 时参考信号 OCxREF 为低 否则 为高 如果 TIM1 CCRx 中的比较值大于 TIM1 ARR 中的自动重装载值 则 OCxREF 保持为 1 该模式下 能产生 0 的 PWM 波形 PWM 中央对齐模式 当 TIM1 CR1 寄存器中的 CMS 位 为 00 时为中央对齐模式 所有其他的配 置对 OCxREF OCx 信号都有相同的作用 根据 同的 CMS 位的设置 比较标志 可能在计数器向上计数时被置 1 在计数器向下计数时被置 1 或在计数器向 上和向下计数时被置 1 TIM1 CR1 寄存器中的计数方向位 DIR 由硬件 新 要用软件修改它 图 3 2 给出 一些中央对齐的 PWM 波形的 子 TIM1 ARR 8 PWM 模式 1 TIM1 CR1 寄存器中的 CMS 01 在中央对齐模式 1 时 当计数器向下计 数时标志被设置 21 图图 3 23 2 中央对齐的中央对齐的 PWMPWM 波形波形 APR 8 APR 8 3 1 2 互补输出与死区插入互补输出与死区插入 高级控制定时器 TIM1 能够输出两 互补信号并且能够管 输出的瞬时关 断和接通 这段时间通常被称为死区 应该根据连接到输出的器件和它们的特 性 电平转换的延时 电源开关的延时等 来调整死区时间 配置 TIM1 CCER 寄存器中的 CCxP 和 CCxNP 位 可以为每一个输出独 地选择极性 主输出 OCx 或互补输出 OCxN 互补信号 OCx 和 OCxN 通过下 控 制位的组合进 控制 TIM1 CCER 寄存器的 CCxE 和 CCxNE 位 TIM1 BDTR 和 TIM1 CR2 寄存器中的 MOE OISx OISxN OSSI 和 OSSR 位 带刹车功能的互补 输出通道 OCx 和 OCxN 的控制位 特别的是 在转换到 IDLE 状态时 MOS 下 到 0 死区被激活 同时设置 CCxE 和 CCxNE 位将插入死区 如果存在刹车电 则还要设置 MOE 位 每一个通道都有一个 10 位的死区发生器 参考信号 OCxREF 可以产生 2 输出 OCx 和 OCxN 如果 OCx 和 OCxN 为高有效 OCx 输出信号与参考信号相同 只是它的上升沿相对于参考信号的上 升沿有一个延迟 OCxN 输出信号与参考信号相反 只是它的上升沿相对于参考信号的 下 沿有一个延迟 如果延迟大于当前有效的输出宽 OCx 或 OCxN 则 会产生相应的脉冲 图 3 3 3 4 显示 死区发生器的输出信号和当前参考信号 OCxREF 之间的关系 假设 CCxP 0 CCxNP 0 MOE 1 CCxE 1 并且 CCxNE 1 图图 3 33 3 带死区插入的互补输出带死区插入的互补输出 图图 3 43 4 死区波形延迟大于负脉冲死区波形延迟大于负脉冲 3 2 PWM 输出的实现输出的实现 12 STM32 的高级定时器时钟 TIM1CLK 为固定 72MHz TIM1 预分频为 0 x0 系 统高速时钟不分频 所以 TIM1 计数器时钟频率为 72MHz I O 口时钟为固定 值 50MHz PA8 PA9 PA10 PA11 设为推拉模式 TIM1 在下面定义的频率下工作 TIM1 频率 TIM1CLK TIM1 Period 1 17 57 KHz TIM1 CC1 寄存器的值为 0 x7FFF 所以 TIM1 CH1 和 TIM1 CH1N 产生一个频 率为 17 57KHz 的信号 这个信号的占空比为 TIM1 CH1 占空比 TIM1 CCR1 TIM1 Period 1 50 TIM1 CC2 寄存器的值为 0 x3FFF 所以 TIM1 CH2 和 TIM1 CH2N 产生一个 17 57KHz 的信号 它的占空比为 TIM1 CH2 占空比 TIM1 CCR2 TIM1 Period 1 25 TIM1 CC3 寄存器的值为 0 x1FFF 所以 TIM1 CH3 和 TIM1 CH3N 产生一个 17 57KHz 的信号 它的占空比为 TIM1 CH3 占空比 TIM1 CCR3 TIM1 Period 1 12 5 TIM1 波形可以在示波器上显示出来 输出信号观察 下列引脚分别依次接到示波器上 两个一组 示波器接线正接触线下列 引脚 负接触线接地 GND TIM1 CH1 pin PA8 TIM1 CH1N pin PB13 TIM1 CH2 pin PA9 TIM1 CH2N pin PB14 TIM1 CH3 pin PA10 TIM1 CH3N pin PB15 TIM1 CH4 pin PA11 第第 4 4 章章 软件设计软件设计 4 1 开发环境开发环境 4 1 14 1 1 STM32STM32 的开发软件的开发软件 STM32 自问世至今 采用过如下软件 皆有利弊 IAR IAR 是 STM32 开发使用最多的软件平台 IAR 官方提供 IAR for ARM 两种 类型的版本供免费评估 32K 学习版 只能支持编译 32K 目标代码 等效无时 间限制 30 天评估版 无编译代码限制 MDK 自从 keil 被 ARM 收购以后 在 keil 中集成了 ARM 自己的编译器 改名 MDK RIDE 该软件支持 GCC 编译器开发 STM32 产品 该套开发板使用 keilmdk370 开发 软件 该软件使用简单 keil 是众多单片机应用开发的优秀软件之一 它集编 辑编译仿真于一体 支持汇编 PLM 语言和 C 语言的程序设计 界面清晰 易 学易懂 这里选用的是 keilmdk370 4 1 2 节着重介绍 4 1 24 1 2 MDK370MDK370 11 11 Real View MDK Miertocontroller Development Kit 是 ARM 公司最先推 出的基于 ARM 微控制器的专业嵌入式开发工具 它采用了 ARM 的最新技术编工 具 RVCT 集成了享誉全球的 Vision IDE 因此特别易于使用 同时具备非 常高的性能 它适合不同层次的开发者使用 包括专业的应用程序开发工程师 和嵌入式软件开发的入门者 MDK 包括符合工业标准的 Real View 编译工具 测试器以及实时内核等组件 支持所有基于 ARM 的设备 能帮助工程师按照计 划完成项目 MDK 提供启动代码生成向导 提高开发效率 MDK 提供强大的设备模拟器 缩短开发周期 目标设备的所有组件都可仿真 代码可在整个设备上运行 完全的目标硬 件仿真 完整的目标 高效指令集仿真 中断仿真 片内外围设备有 ADC DAC EBI Timers UART CAN I2C 包含外部信号和 I O 充足的仿真信息 包含 在设备数据库里 MDK 提供高效的性能开发工具 MDK 支持最新的 Cortex M3 处理器 Cortex M3 处理器是 ARM 公司推出的最新的针对微控制应用的内核 提供业界领先的高性能和低成本解决方案 将成为 MCU 应用的热点和主流 但是目前能支持 Cortex M3 构架的开发工具很少 包括 SDT ADS1 2 等多 数开发工具都不支持 MDK 是目前性价比最高的支持 Cortex M3 处理器的 开发工具 MDK 集成了 Flash 编程模块 MDK 提供业界最好的 Vision IDE 易学易懂 4 2 软件实现软件实现 4 2 14 2 1 设计标准设计标准 该设计对 TIM1 定时器进行控制 使之各通道输出插入死区的互补 PWM 输出 各通道输出频率均为 17 57KHz I O 口时钟为固定值 50MHz PA8 PA9 PA10 PA11 设为推拉模式 其中 通道 1 输出的占空比为 50 通道 2 输出的占空比为 25 通道 3 输 出的占空比为 12 5 各通道互补输出为反相输出 TIM1 定时器的通道 1 到 4 的输出分别对应 PA 08 PA 09 PA 10 引脚 而通道 1 到 3 的互补输出分别对 应 PB 13 PB 14 和 PB 15 引脚 这些处理器引脚在开发板上已经以插针形式引 出 由于 TIM1 计数器的时钟频率为 72MHz 各通道输出频率 fTIM1 为 17 57KHz 根据 fTIM1 TIM1CLK TIM1 Period 1 可得到 TIM1 预分频器 的 TIM1 Period 为 0 xFFFF 根据通道输出占空比 TIM1 CCRx TIM1 Period 1 可以得到各通道比较 捕获寄存器的计数值 其中 TIM1 CCR1 寄存器的值 0 x7FFF TIM1 CCR2 寄存器的值为 0 x3FFF TIM1 CCR3 寄存器的值为 0 x1FFF 程序部分原代码 Channel 1 2 3 and 4 Configuration in PWM mode TIM1 OCInitStructure TIM1 OCMode TIM1 OCMode PWM2 TIM1 OCInitStructure TIM1 OutputState TIM1 OutputState Enable TIM1 OCInitStructure TIM1 OutputNState TIM1 OutputNState Enable TIM1 OCInitStructure TIM1 Pulse CCR1 Val TIM1 OCInitStructure TIM1 OCPolarity TIM1 OCPolarity Low TIM1 OCInitStructure TIM1 OCNPolarity TIM1 OCNPolarity Low TIM1 OCInitStructure TIM1 OCIdleState TIM1 OCIdleState Set TIM1 OCInitStructure TIM1 OCNIdleState TIM1 OCIdleState Reset TIM1 OC1Init TIM1 OCInitStructure TIM1 Pulse CCR2 Val TIM1 OC2Init TIM1 OCInitStructure TIM1 Pulse CCR3 Val TIM1 OC3Init 运行过程 1 使用 Keil uVision3 编译链接工程 2 点击 MDK 的 Debug 菜单 点击 Start Stop Debug Session 3 通过示波器察看 PA 08 PA 09 PA 10 PB 13 PB 14 PB 15 的输出波形 其中 PA 08 和 PB 13 为一组 PB 09 和 PB 14 为一组 PB 10 和 PB 15 为一组 4 2 24 2 2 程序流程图程序流程图 整个设计程序流程如图 4 1 所示 否 是 否 是 初始化 TIM1 设置 配置 各通道配置为 PWM 模式 TIM1 计数使能 输出使能 读通道数据 输出 第第 5 章章 测试及结果测试及结果 5 1 JTAG 仿真器介绍仿真器介绍 11 J Link 是支持仿真 ARM 内核芯片的 JTAG 仿真器 配合 IAR EWARM ADS KEIL WINARM RealView 等集成开发环境支持所有 ARM7 ARM9 内 核芯片的仿真 通过 RDI 接口和各集成开发环境无缝连接 操作方便 连接方 便 简单易学 是学习开发 ARM 最好最实用的开发工具 DQ 电子推出的 J LinkV7 仿真器采用原版固件 参照原版原理图 经过 DQ 团队的长时间精工制作 板型合理 元件布局美观大方 走线严谨精致 并且 每一个产品都经过功能和老化测试 功能完全与原版一致 支持在线升级 J Link ARM 主要特点 IAR EWARM 集成开发环境无缝连接的 JTAG 仿真器 支持所有 ARM7 ARM9 内核的芯片 以及 cortexM3 包括 Thumb 模式 支持 ADS IAR KEIL WINARM REALVIEW 等几乎所有的开发环境 下载速度高达 ARM7 600kB s ARM9 550kB s 通过 DCC 最高可达 800 kB s 最高 JTAG 速度 12MHz 目标板电压范围 1 2V 3 3V 自动速度识别功能 监测所有 JTAG 信号和目标板电压 完全即插即用 使用 USB 电源 可接通 J12 跳线给目标板供电 出厂时未接通 带 USB 连接线和 20 芯 JTAG 连接排线 支持多 JTAG 器件串行连接 标准 20 芯 JTAG 仿真插头 带 J Link TCP IP server 允许通过 TCP IP 网络使用 J Link 支持的内核 ARM7TDMI Rev 1 ARM7TDMI Rev 3 ARM7TDMI S Rev 4 ARM720T CORTEXM3 5 2 测试测试 在电脑主机 USB 接口上插入开发板的电源线和 J LINK 的连接线 同时给示 波器供电 示波器两个通道接线的负接线与开发板 STM32 的 GND 连接 正接线 分别接通道 n n 1 2 3 和其互补通道 其中 通道 1 到 3 的输出分别对应 PA 08 PA 09 PA 10 引脚 而通道 1 到 3 的互补输出分别对应 PB 13 PB 14 PB 15 引脚 前序工作准备好后 再在 Keil uVision3 环境里 打开 TIM1 的工程 编译连接运行 观察示波器图像 并记录 5 3 现象及结果现象及结果 通道 1 和其互补通道 频率为 17 57kHz 占空比为 50 PWM 输出显示如图 5 1 图 5 1 通道 1 与其互补通道的 PWM 输出图 通道 2 频率 17 57 kHz 占空比为 25 其互补通道频率 17 57 kHz 占空比为 75 PWM 输出显示如图 5 2 图 5 2 通道 2 与其互补通道的 PWM 输出图 通道 3 频率 17 57 kHz 占空比为 12 5 其互补通道频率 17 57 kHz 占空比 为 87 5 PWM 输出显示如图 5 3 图 5 3 通道 3 与其互补通道的 PWM 输出图 结论结论 通过对 TIM1 定时器进行控制 使之各通道输出插入死区的互补 PWM 输出 各通道输出频率均为 17 57KHz 其中 通道 1 输出的占空比为 50 通道 2 输出的占空比为 25 通道 3 输 出的占空比为 12 5 各通道互补输出为反相输出 TIM1 定时器的通道 1 到 3 的输出分别对应 PA 08 PA 09 PA 10 引脚 而 通道 1 到 3 的互补输出分别对应 PB 13 PB 14 和 PB 15 引脚 将这些引脚分别 接入示波器正接线 GND 引脚接示波器负接线 在示波器上看到了相应通道占 空比的 PWM 输出 致谢致谢 本论文从最初的选题到系统设计 程序编写直到论文的撰写过程中都得到 了刘易老师的悉心指导与指正 您细心教导和热心关怀使得我能够顺利完成本 文 同时 刘易老师在每次论文检查过程中都极其负责任 提出很好的意见和 建议 使得我的论文有了更完善的体系结构和更丰富的内容 刘老师热心的工 作态度 严谨的治学态度 也使我受益匪浅 终生难忘 同时要感谢我们测控专业陈茂林同学 你细心地给我分析该设计的设计流程 耐 心地讲解程序运行过程 并给设计的不足提出很好的建议和方针 是你的帮助 让 我对本设计理解更透彻 在此表示衷心地感谢 毕业在即 大学四年我过的很充实快乐 大学刚开始的时候 在不熟悉的 环境中 感觉很迷茫 不知道怎样走过自己的四年大学生涯 是班主任王敏老师 给我了很大的帮助 让自己的目标更清晰 在后面的两年里 接触学习很多专 业知识 班主任周建斌老师给予我们的关心 给我们鼓舞 让自己在学习上有了 很多自信 还有很多专业课老师 刘易老师 周伟老师 王磊老师 吴旖旎老师 等谢谢你们给予我学习上的指导和帮助 是你们的孜孜不倦 让我成长了许多 大学里我并不孤独 在室友和同学们陪伴下 我度过了愉快的四年 在此 衷心感谢大家 参考文献参考文献 1 康华光 电子技术基础模拟部分第四版 M 北京 高等教育出版社 1999 6 2 阎石 数字电子技术基础第四版 M 北京 高等教育出版社 1999 6 3 王福瑞等 单片微机测控系统设计大全 M 北京航空航天大学出版社 1998 331 337 4 宁改娣 杨拴科 DSP 控制器原理及应用 M 科学出版社 2002 5 周立功等 ARM嵌入式系统基础教程 M 北京 北京航空航天大学出版社 2005 1 6 周立功等 ARM嵌入式系统实验教程 M 北京 北京航空航天大学出版社 2005 1 7 唐清善 Protel DXP高级实例教程 M 中国水利水电出版社 2004 4 8 罗浩等 一种新的基于ARM的数据采集系统设计 J 信阳师范学院学报 自然科学版 2006 4 9 秦伟等 基于ARM 处理器的数据采集系统的设计 J 自动化技术与应用 2006 年第10 期 10 杜春雷 ARM体系结构与编程 清华大学出版社 2003 11 李宁 ARM开发工具ReaIView MDK使用入门 M 北京航空航天大学出版社 2008 12 李宁 基于MDK的STM32处理器开发应用 M 北京航空航天大学出版社 2008 13 刘黎明等 单片机与嵌入式系统应用 J 英文刊名MICROCON TROLLER EMBEDDED SYSTEM 2002 7 14 赵葵银 王辉 吴俊 电压空间矢量控制的三相PWM整流器的研究 J 上海第二工业大学 学报 2003 2 43 50 15 吴安顺 高效率抑制PWM逆变器谐波的梯形调制信号 J 电气传动 1987 No6 P10 15 16 Malinowski Mariusz Jasin ski Marek Kazmierkowski Marian P Simple Direct Power Control of Three Phase PWM Rectifier Using Space Vector Modulation J IEEE Transactions on Industrial Electronics 2004 51 2 447 454 17 K S RAJASHEKARA等 Microprocessoy Based Sinusoidal PWM Imverter by DMA Transfer IEEE Trans Ind Electrol Vol IE 29 No1 1982 P46 51 18 GIVSEPPE S BUJA AND GIOVANNI B INDRI Optimal Pulsewidth Modulation for Feeding Ac Motors IEEE Trans Ind Appl Vol IA 13 No1 1977 P38 44 19 S R BOWES等 New PWM Switching Strategy for Microprocessor Controlled Inveter Drives IEE PROCEEDINGS Vol 133 Pt B No4 1986 P237 254 20 S R BOWES等 Suboptimal Switching Strategies for Microprocessor Controlled PWM Inverter Drives IEE PROCEEDINGS Vol 132 Pt B No3 1985 P133 148 21 STM32F10 xxx TIM1 application examples DB OL 22 ARM based 32 bit MCU STM32F103xx Firmware library DB OL 23 Medium density performance line ARM based 32 bit MCU interfaces DB OL 24 STM32F103xx Handbook EB OL 袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年化学研发工程师岗位招聘面试参考题库及参考答案
- 2025年人力资源专员人员招聘面试题库及参考答案
- 工程企业简介范文
- 国有企业人力资源招聘现状与发展教程文件
- 人力资源管理-案例五范文
- 基于商业银行的人力资源管理制度问题分析
- 创业初期管理的特点
- 人力资源规划和配置优化员工利用的重要方式
- 企业中存在的问题反馈和建议
- 医疗服务合同范本解析
- 【社区工作者真题试卷】未来教育2025年社区工作者考试及答案
- 2025年杭州入团考试题库及答案
- 东方航空秋招笔试题及答案
- 2025年大学《文化遗产-国际文化遗产保护》考试备考试题及答案解析
- 《快乐的小河》新课标课件(第二课时)
- 法学生职业规划
- 2025年河北廊坊霸州市公安局公开招聘警务辅助人员100名考试笔试备考试题及答案解析
- 数据安全管理培训
- 2025年双十一全网销售数据解读报告
- 狼疮脑病的护理
- 《海滨小城》教学课件(第二课时)
评论
0/150
提交评论