STM32毕业设计论文.docx

上传人:小飞机 文档编号:4925144 上传时间:2023-05-23 格式:DOCX 页数:35 大小:305.27KB
返回 下载 相关 举报
STM32毕业设计论文.docx_第1页
第1页 / 共35页
STM32毕业设计论文.docx_第2页
第2页 / 共35页
STM32毕业设计论文.docx_第3页
第3页 / 共35页
STM32毕业设计论文.docx_第4页
第4页 / 共35页
STM32毕业设计论文.docx_第5页
第5页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32毕业设计论文.docx》由会员分享,可在线阅读,更多相关《STM32毕业设计论文.docx(35页珍藏版)》请在三一办公上搜索。

1、基于STM32定时器产生PWM的研究作者姓名:222专业班级:222指导老师:222摘要随着科技水平的提高,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就是某个频率占

2、空比的方波,其应用领域包括测量,通信,功率控制 与变换,电动机控制、伺服控制、甚至某些音频放大器,因此研究?咖技 术具有十分重要的现实意义。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 imp

3、ortant 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 f

4、requency 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,定时器,PWMStudy for the output of PWM produce by

5、 timer of STM32 Based on MDKAbstract: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 applicati

6、on 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 PW

7、M 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.Key words:STM32, timer, PWM目录第1章前言51.1 ARM应用背景51.2研究内

8、容61.3研究成果7第2章STM32处理器概述82.1 STM32 简介82.2内部资源102.3 CORTEX-M3内核简介 102.4 STM32定时器简介122.4.1 通用定时器122.4.2 高级控制定时器122.4.3 小结15第3章 PWM概述163.1 原理163.1.1 PWM 模式163.1.2互补输出与死区插入 193.2 PWM输出的实现21第4章 软件设计224.1开发环境224.1.1 STM32的开发软件224.1.2 MDK370 224.2 软件实现 234.2.1 设计标准234.2.2 程序流程图25第五章测试及结果265.1 JTAG仿真器介绍265.2

9、 测试 275.3现象及结果28结论 31致谢32参考文献33第1章前言1.1 ARM应用背景如今,学习一种处理器的就有许多ARM内核的处理器可供使用,现在社会已 步入嵌入式学习阶段。在嵌入式领域,8位处理器已经不再胜任一些复杂的应用, 比如GUI,TCP/IP,FILESYSTEM等,而ARM芯片凭借强大的处理能力和极低的功耗, 非常适合这些场合。现在越来越多的产品在选型的时候考虑到使用ARM处理器, ARM的应用是相当的广泛。ARM的嵌入式控制应用如:汽车、电子设备、保安设备、大容量存储器、调 制解调器、打印机等。一个典型的ARM嵌入式工业控制系统的功能模块如图1-1 所示。图1-1 AR

10、M嵌入式工业控制系统的功能模块目前已有超过85%的无线通信设备采用了 ARM技术,ARM以其高性能和低成 本,在该领域的地位日益巩固。ARM在此方面的应用如:手提式计算机、移动电 话、PDA等。随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此 外,ARM在语音及视频处理上进行了优化,并获得广泛支持。ARM技术在目前流行的数字音频播放器、数字机顶盒、游戏机、数码相机、 数字式电视机、GPS、机顶盒中得到广泛采用。现在流行的数码相机和打印机中 绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了 ARM技术。如图1-2所示是基于ARM技术的数码相机的功能模块。图1-2基

11、于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 引脚,而

12、通道1到3的互补输出分别对应PB.13、PB.14和PB.15引脚,中止输 入引脚为PB.12。将这些引脚分别接入示波器,在示波器上观查相应通道占空比 的方波Mo本文第一章讲述了该论文写作背景,主要阐述了 ARM应用范畴,以及该论文 研究的内容;第二章讲述了该研究课题使用的开发板的内部资源和开发板核心芯 片STM32F103C8的各项参数;第三章着重介绍了 PWM的原理及实现方法;第四章 介绍了本研究的软件设计模块;第五章介绍了测试方法和结果。1.3研究成果配置好各通道后,编译运行工程;点击MDK的Debug菜单,点击Start/Stop Debug Session;通过示波器察看 PA.08

13、、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%。STM32处理器概述2.1 STM32 简介24STM32F103xx增强型系列使用高性能的ARM/Cortex-M3/32位的RISC内核, 工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM), 丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含

14、2 个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的 通信接口 :多达2个I2C和SPI、3个USART、一个USB和一个CAN。STM32F103xx增强型系列工作于-40C至+ 105 C的温度范围,供电电压 2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。完整的STM32F103xx增强型系列产品包括从36脚至100脚的五种不同封装 形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产 品中所有外设的基本介绍。这些丰富的外设配置,使得STM32F103xx增强型微控制器适合于多种应用 场合:电机驱动和应用控制;医疗和手持设备; PC

15、外设和GPS平台;工业应用:可编程控制器、变频器、打印机和扫描仪;警报系统,视频对讲,和暖气通风空调系统;2.1.1 STM32F103C8 的参数STM32开发板核心芯片的参数如表2-1表2-1器件功能和配置(STM32F103xx增强型)SSPlX&CtS11B2F1O3KXSHB2PLO3VI闪存依宇节)3264326412B33641286412SRAM (字节)1020102020102020定时器通用23233233高级1111通信SPI12122122I3C1212212aUSART33233233嘲1111111ON1111111海用/口埔=1263251日012位同步版2 过

16、通道2L0通道2 山通道CPU频率72fflz工作电压2.。至 3.6V工作浪度T0至珊11 C / -40至+闽 C封装VWPM36LQFP48LQFP 冏UJFP100, DGA10Q芯片引脚图如图2-2:g g y e *Scoc&nijj-CL CL . CL fiZ EL Fl n rl FlQ tn o no 2j tn in 05 A O- CLVBAT ZPC13-TAMPER-RrC 匚 匚PC15OSC32_aLTT 匚PDOOSC IN 匚PD1 OSC.OLFT 匚 NRSTl vss禹匚/ Zz-1 4-64? C2 41 4C 33 2? i,26. 3& g93.

17、,32LQFP4SVDCA 匚 &PAWKUP C1DFA1 r iiPA2 E3C q K 25 27, 26奴M 14 15 1日口何怕M出表罢,24 /二3二二ULIULJUDUU1_|L|L|L|L OJA 二册 oEd sn- L# 净 ? 图2-2 STM32F103xx增强型LQPFP48管脚图2.2内部资源STM32有丰富的内部资源,如下所示: RealView MDK (Miertocontroller Development Kit)基于 ARM 微控制器 的专业嵌入式开发工具;内置闪存存储器;内置SRAM;嵌套的向量式中断控制器(NVIC);外部中断/事件控制器(EXTI

18、);时钟和启动;自举模式;DMA; RTC(实时时钟)和后备寄存器;窗口看门狗; I2C总线;通用同步/异步接受发送器(USART);串行外设接口(SPI);控制器区域网络(CAN);通用串行总线(USB);通用输入输出接口(GPIO); ADC(模拟/数字转换器);温度传感器;串行线JTAG调试口(SWJ-DP)。2.3 Cortex-M3内核简介Cortex-M3内核包含一个适用于传统Thumb和新型Thumb-2指令的译码器、 一个支持硬件乘法和硬件除法的先进ALU、控制逻辑和用于连接处理器其他部件 的接口。Cortex-M3处理器是首款基于 ARMv7-M架构的ARM处理器。中央 Co

19、rtex-M3内核使用3级流水线哈佛架构,运用分支预测、单周期乘法和硬件除 法功能实现了出色的效率(1.25DMIPS/MHz)。Cortex-M3处理器是一个32位处 理器,带有32位宽的数据路径、寄存器库和基于传统ARM7处理器的系统只支持 访问对齐的数据,沿着对齐的字边界即可对数据进行访问和存储。Cortex-M3处 理器采用非对齐数据访问方式,使非对齐数据可以在单核访问中进行传输。Cortex-M3处理器是专为那些对成本和功耗非常敏感但同时对性能要求又相 当高的应用而设计的。凭借缩小的内核尺寸和出色的中断延迟性能、集成的系统 部件、灵活的配置、简单的高级编程和强大的软件系统,Corte

20、x-M3处理器将成 为从复杂的芯片系统到低端微控制器等各种系统的理想解决方案。表 2-3为 Cortex-M3处理器与ARM7作比较。表 2-3 Cortex-M3 与 ARM7 相比较比胶顼目ARM7Cortex-MS桀构ARNMT冯,诺帔皇)指令和教据总据共用,会出现瓶颈ARMv7-M哈佛)指据总场分*无瓶颈指令棠32位AKM指令+ 16位Thumb指令 两套指令之间需要进行蛇态切换Thiiinb.Tlniiiib-i 集16 M2位指令可直接混写,无需状态切换流水域3诅.勒谡若出现转移贝需要圳新流木线损夫惨重3 流水M +分支预削出现转移时流水蜴无需刷新几乎无损失性能O.gSTMTPWT

21、I* : ARLf tiT::.2DMIPS.Mirz功耗0.28iuW.HzO.lQmW.Nffiz低功耗模式无值部封面积06加nit2 (仅内核:0一86皿F荷核十外设中断羿且二断IRQN三MTFFIQ 太少,大量外检不得不复用中断不可屏蔽中断NMI + 17对个物理中断 每个每个都可也占一个中断,效率高中断延诅24F2个时钟周期,援慢U个时钟肉期,最快只需S个中断压栈软件手工压栈,代-长且效率低硬件自动压栈,无需代码且效率高存储器保护无8废存储器保护单元(MPU)内技寄存器寄存器多击,纭门复车,匚技富寄存器不分可(5P除细结构简单工作模式?种工作模式,比较复杂,口.官志程碟式!:涯模式荏

22、在.而羊乘除法指令务周期乘法指令无除-指令单周期乘期指明21周期国兆指令位操作无访区外设寄存器需分 喉藏写七步走先进的Bit-band位操作技术豆苍亍三牛,】字史器P1无T Z系统节抽定时无可置系统节拍定时器,有利于操作系系移植2.4 STM32定时器简介2.4.1 通用定时器网STM32F103xx增强型系列产品中内置了多达3个同步的标准定时器。每个定 时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个 独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出, 在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。它们还 能通过定时器链接功能

23、与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一个标准定时器都能用于产生PWM 输出。每个定时器都有独立的DMA请求机制。2.4.2 高级控制定时器22高级控制定时器(TIM1)由一个16位的自动装载计数器组成,它由一个可 编程预分频器驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获), 或者产生输出波形(输出比较,?咖,嵌入死区时间的互补PWM等)。使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形 周期从几个微秒至几个毫秒的调节。高级控制(TIM1)和通用(TIMx)定时器是完全 独立的,它们不共享任何资源,它们可以同步操作。

24、高级控制定时器(TIM1)可以被看成是一个分配到6个通道的三相PWM发生 器,它还可以被当成一个完整的通用定时器。四个独立的通道可以用于:输入捕获;输出比较;产生PWM(边缘或中心对齐模式);单脉冲输出 ;反相PWM输出,具有程序可控的死区插入功能;配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16 位PWM发生器时,它具有全调制能力(0100%)。在调试模式下,计数器可以被冻结。很多功能都与标准的TIM定时器相同, 内部结构也相同,因此高级控制定时器可以通过定时器链接功能与TIM定时器协 同操作,提供同步或事件链接功能。TIM1定时器的功能包括:16位上,下,上/下自动装

25、载计数器;16位可编程预分频器,计数器时钟频率的分频系数为165535之间的 任意数值;4个独立通道:-输入捕获;-输出比较;-PWM生成(边缘或中间对齐模式);-单脉冲模式输出;-死区时间可编程的互补输出。使用外部信号控制定时器和定时器互连的同步电路;在指定数目的计数器周期之后更新定时器寄存器;刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态;如下事件发生时产生中断/DMA:-更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部 /外部触发);-触发事件(计数器启动,停止,初始化或者由内部/外部触发计数);-输入捕获;-输出比较;-刹车信号输入。时基单元可编程高级控制定

26、时器的主要部分是一个16位计数器和与其相关的自动 装载寄存器。这个计数器可以向上计数、向下计数或者向上向下双向计数。此计 数器时钟由预分频器分频得到。计数器、自动装载寄存器和预分频器寄存器可以由软件读写,即使计数器还在运行读写仍然有效。时基单元包含:计数器寄存器(TIM1_CNT);预分频器寄存器(TIM1_PSC);自动装载寄存器(TIM1_ARR);周期计数寄存器(TIM1_RCR);自动装载寄存器是预先装载的。写或读自动重装载寄存器将访问预装载寄存 器。根据在TIM1_CR1寄存器中的自动装载预装载使能位(ARPE)的设置,预装载 寄存器的内容被永久地或在每次的更新事件UEV时传送到影子

27、寄存器。当计数 器达到溢出条件(向下计数时的下溢条件)并当TIM1_CR1寄存器中的UDIS位等 于0时,产生更新事件。更新事件也可以由软件产生。随后会详细描述每一种 配置下更新事件的产生。计数器由预分频器的时钟输出CK_CNT驱动,仅当设置了计数器TIM1_CR1 寄存器中的计数器使能位(CEN)时,CK_CNT才有效。(有关更多的计数器使能的 细节,请参见控制器的从模式描述)。注:真正的计数器使能信号CNT_EN是在CEN后的一个时钟周期后被设置。 预分频器描述。预分频器可以将计数器的时钟频率按1到65536之间的任意值分频。它是 基于一个(在TIM1_PSC寄存器中的)16位寄存器控制的

28、16位计数器。因为这个 控制寄存器带有缓冲器,它能够在工作时被改变。新的预分频器的参数在下一次 更新事件到来时被采用。图2-4和图2-5给出了一些在预分频器工作时,更改其参数的情况下计数器 操作的例子。5 rLmmowinnnrwwiTmer ctack ck_cnt |11|111门 l ll 11 ll 匚啊诞伦gi油口 质)网同阳司顷( 01厂旬.始 rUDfl afe event (JEV)一Pnescslercanir neaisier Q j1/ Mite a value in TIM1_PSCPfff scaiei ixnrar丫iPnea taler counr-a图2-4当预

29、分频器的参数从1变到2时,计数器的时序图ckcpsc -TLrLrLrLrLrLrLrLrLrLrLrLrLrLrLnChT_EN |Timer ck)ck = Cl_CNT _LnmwwnnCounter reaistw厂问问同用同切一 6Update ei*ent (UEV)PreKslerconinjI negierAtrte a value in TlFnescaJer bufferPneswler ccwntBr图2-5当预分频器的参数从1变到4时,计数器的时序图2.4.3 小结经过比较和针对设计需要,使用定时器预分频器和RCC时钟控制预分频器, 可以实现脉冲宽度和波形周期从几个微秒

30、至几个毫秒的调节。高级控制(TIM1) 和通用(TIMx)定时器是完全独立的,不共享任何资源,可以同步操作。高级控 制定时器(TIM1)还可以被看成是一个分配到6个通道的三相PWM发生器,它还可 以被当成一个完整的通用定时器。因此该设计选择高级控制定时器(TIM1)。第3章PWM概述3.1原理PWM是Pulse Width Modulation的缩写,中文意思就是脉冲宽度调制,简 称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有 效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应 用的控制方式,其应用领域包括测量,通信,功率控制与变换,电动机控制、 伺

31、服控制、调光、开关电源,甚至某些音频放大器,因此研究基于PWM技 术的正负脉宽数控调制信号发生器具有十分重要的现实意义。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使 用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍 然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么 完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模 拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电 被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。多数负载(无论是电感性负载还是电容性负

32、载)需要的调制频率高10Hz,通 常调制频率为1kHz到200kHz之间。占空比是接通时间与周期之比;调制频率为 周期的倒数。目前,运动控制系统或电动机控制系统中实现PWM的方法主要有传统的数字 电路方式、专用的PWM集成电路、单片机实现方式和可编程逻辑器件实现方式。 用传统的数字电路实现PWM,电路设计较复杂,体积大,抗干扰能力差,系统的 控制周期较长。专用的PWM集成电路或带有PWM的单片机价格较高。对于单片机中 无PWM输出功能的情况,实现PWM将消耗大量的时间,大大降低了 CPU的效率,而 且得到的PWM信号精度不太高15。3.1.1 PWM 模式脉冲宽度调制模式可以产生一个由TIM1

33、_ARR寄存器确定频率、由TIM1_CCRx寄存器确定占空比的信号。在TIM1_CCMRx寄存器中的OCxM位写入 “110” (PWM模式1)或“111” (PWM模式2),能够独立地设置每个通道工作在PWM 模式,每个OCx输出一路PWM。必须通过设置TIM1_CCMRx寄存器OCxPE位使能 相应的预装载寄存器,最后还要设置TIM1_CR 1寄存器的ARPE位使能自动重装 载的预装载寄存器(在向上计数或中心对称模式中)。因为仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存 器,因此在计数器开始计数之前,必须通过设置TIM1_EGR寄存器中的UG位来 初始化所有的寄存器。OCx

34、的极性可以通过软件在TIM1_CCER寄存器中的CCxP位设置,它可以设 置为高电平有效活和低电平有效。OCx输出通过CCxE、CCxNE、MOE、OSSI和OSSR 位(在TIM1_CCER和TIM1_BDTR寄存器中)的组合控制。在PWM模式(模式1或模式2)下,TIM1_CNT和TIM1_CCRx始终在进行比较, (依据计数器的计数方向)以确定是否符合TIM1_CCRxWTIM1_CNT或者TIM1_CNT WTIM1_CCRx。根据TIM1_CR1寄存器中CMS位的状态,定时器能够产生边沿对 齐的或中央对齐的PWM信号。PWM边沿对齐模式-向上计数配置当TIM1_CR1寄存器中的DIR

35、位为低的时候执行向上计数。当TIM1_CNTTIM1_CCRx时参考信号OCxREF为低,否则为 高。如果TIM1_CCRx中的比较值大于TIM1_ARR中的自动重装载值,则OCxREF 保持为“1”。该模式下不能产生0%的PWM波形。PWM中央对齐模式当TIM1_CR1寄存器中的CMS位不为00时为中央对齐模式(所有其他的配置 对OCxREF/OCx信号都有相同的作用)。根据不同的CMS位的设置,比较标志可能 在计数器向上计数时被置1、在计数器向下计数时被置1、或在计数器向上和向 下计数时被置1。TIM1_CR 1寄存器中的计数方向位(DIR)由硬件更新,不要用软 件修改它。图3-2给出了一

36、些中央对齐的PWM波形的例子-TIM1_ARR=8 ;-PWM模式1;-TIM1_CR1寄存器中的CMS=01,在中央对齐模式1时,当计数器向下计数 时标志被设置。21Gql时er rggierOCjtREFCGRx-45CChIFEEEEQtoOCREF-CCRx = 7CG)dFCMS=D1CMS=1CCMS=11CMS=1Qor11OCjcREFCGRx = 5gIF*1rOCkREF QCRxBCGkIFDCnREF CCRjc = 3CCxIFCME=D1CMS=1CCM5=11CMS=C1CMS =10海=11CMS=01十 CMS-10f 海=11图3-2中央对齐的PWM波形(A

37、PR=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和OCx

38、N的控制位。特别的是,在转换到IDLE状态时(MOS下降到0)死区被 激活。同时设置CCxE和CCxNE位将插入死区,如果存在刹车电路,则还要设置 MOE位。每一个通道都有一个10位的死区发生器。参考信号OCxREF可以产生2 路输出OCx和OCxN。如果OCx和OCxN为高有效:-OCx输出信号与参考信号相同,只是它的上升沿相对于参考信号的上 升沿有一个延迟。-OCxN输出信号与参考信号相反,只是它的上升沿相对于参考信号的下 降沿有一个延迟。如果延迟大于当前有效的输出宽度(OCx或OCxN),则不会产生相应的脉冲。 图3-3,3-4显示了死区发生器的输出信号和当前参考信号OCxREF之间的关

39、系 (假设 CCxP=0、CCxNP=0、MOE=1、CCxE=1 并且 CCxNE=1)。OCxREFOCxIdelayOCxNI delay图3-3带死区插入的互补输出OCxREFIOCxIV A delayOCxN图3-4死区波形延迟大于负脉冲3.2 PWM输出的实现12STM32的高级定时器时钟TIM1CLK为固定72MHz, TIM1预分频为0x0 (系统 高速时钟不分频),所以TIM1计数器时钟频率为72MHzo I/O 口时钟为固定值 50MHz,PA8、PA9、PA10、PA11 设为推拉模式。TIM1在下面定义的频率下工作:TIM1 频率二 TIM1CLK/(TIM1_Per

40、iod + 1) = 17.57 KHz。TIM1 CC1寄存器的值为0x7FFF,所以TIM1_CH1 和TIM1_CH1N 产生一个频 率为17.57KHz的信号,这个信号的占空比为:TIM1_CH1 占空比二 TIM1_CCR1 /(TIM1_Period + 1) = 50%。TIM1 CC2 寄存器的值为 0x3FFF, 所以 TIM1_CH2 和 TIM1_CH2N 产生一个 17.57KHz的信号,它的占空比为:TIM1_CH2 占空比二 TIM1_CCR2 / (TIM1_Period + 1)= 25%。TIM1 CC3 寄存器的值为 0x1FFF, 所以 TIM1_CH3

41、和 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 pi

42、n (PA11)。第4章软件设计4.1开发环境4.1.1 STM32的开发软件STM32自问世至今,采用过如下软件,皆有利弊。-IARIAR是STM32开发使用最多的软件平台IAR官方提供IAR for ARM两 种类型的版本供免费评估:32K学习版,只能支持编译32K目标代码,等效无 时间限制;30天评估版,无编译代码限制。-MDK自从keil被ARM收购以后,在keil中集成了 ARM自己的编译器,改名MDK。-RIDE该软件支持GCC编译器开发STM32产品。该套开发板使用keilmdk370开发 软件,该软件使用简单,keil是众多单片机应用开发的优秀软件之一,它集编 辑编译仿真于一体

43、,支持汇编,PLM语言和C语言的程序设计,界面清晰,易学 易懂。这里选用的是keilmdk370,4.1.2节着重介绍。4.1.2 MDK370111Real View MDK (Miertocontroller Development Kit)是 ARM 公司最先推 出的基于ARM微控制器的专业嵌入式开发工具。它采用了 ARM的最新技术编工具 RVCT,集成了享誉全球的u Vision IDE,因此特别易于使用,同时具备非常高 的性能。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入 式软件开发的入门者。MDK包括符合工业标准的Real View编译工具、测试器以 及实时内核等

44、组件,支持所有基于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.1设计标准该设计对TIM1定时器进行控制,使之各通道输出插入死区的互补PWM输出, 各通道输出频率均为17.57KHz。I/O 口时钟为固定值50MHz,PA8、PA9、PA10、 PA11设为推拉模式。其中,通道1输出的占空比

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号