历史上的今天
返回首页

历史上的今天

今天是:2025年08月21日(星期四)

正在发生

2019年08月21日 | STM32F429--STM32的PWM占空比产生与测量

2019-08-21 来源:eefocus

一、PWM波形的产生;


使用定时器2 (TIM2)PA5端口输出。

通过配置


TIM_TimeBaseStructure.TIM_Period= 1000 - 1;


TIM_TimeBaseStructure.TIM_Prescaler= 9000 - 1;


TIM_OCInitStructure.TIM_Pulse= 300 ;


三个参数,TIM_Prescaler控制计数频率,此处9000即计数频率为90M/9000 = 10Khz,即计数一次的时间为0.1ms,TIM_Period控制PWM波周期时间,此处1000即PWM波的周期为1000*0.1ms = 100ms;TIM_Pulse控制有效电平时间,此处300即有效电平时间为300*0.1ms=30ms;调用初始化程序,上点即产生PWM波信号。


二、PWM波占空比的测量:


捕获输入通过定时器5(TIM5)通道二PA1端口;


初始化函数同课堂使用的函数,此处略写。


下面详写捕获中断服务函数。

定义五个变量


TIM5CH1_CAPTURE_STA 存放输入捕获状态     


TIM5CH1_CAPTURE_VAL存放输入捕获值(TIM2/TIM5是32位)


CATCH2 存放第一次触发中断到第二次触发中断的时间;


CATCH3 存放第二次触发中断到第三次触发中断的时间;


okflag 捕获结束标志位;


捕获原理:通过获取第一次触发中断到第二次触发中断的时间,和第二次到第三次触发的时间,两次时间求和即为总时间,即周期,然后用     (前文产生PWM波使用的是高电平有效);


一个成功的捕获周期顺序如上图标识1-2-3所示:


过程1:原本初始化之后,该中断为下降沿触发,所以当检测到有下降沿时进入到该中断服务函数,此时


if(TIM5CH1_CAPTURE_STA & 0x80)


if(TIM5CH1_CAPTURE_STA&0X40)


以上两个if均不成立,所以程序直接进入最后一个else中,先进行清空操作,然后把STA标志位次高位置1,表示捕获到了第一次,捕获了一个下降沿,初始化定时器5(TIM5),然后开启定时器,将中断捕获触发信号改为上升沿触发,下一次为上升沿触发;


过程2:第二次进入该中断服务函数时


if(TIM5CH1_CAPTURE_STA&0X40)


成立,进入第二个阶段,将标志位STA最高位置1,表示捕获完第二次,将当前时间存入全局变量:CATCH2中,初始化定时器5(TIM5),然后开启定时器,将中断捕获触发信号改为下降沿触发,下一次为下降沿触发。


过程3:第三次进入该中断服务函数时:


if(TIM5CH1_CAPTURE_STA & 0x80)


成立,进入第三阶段,获取当前定时器时间,放入全局变量CATCH3,即第二次捕获到第三次捕获时间间隔,即高电平时间,将全局标志位okflag置1,通知main函数接下来可以打印到串口了。

main 函数中新建变量Comp存放占空比,total存放CATCH2+CATCH3即总时间,周期。用高电平时间CATCH3/total即占空比。


三、运行结果:


测出占空比为29%,与实际值在误差允许范围内近似相等,程序正确。

推荐阅读

史海拾趣

Hitron公司的发展小趣事

机顶盒,全称为数字视频变换盒,是连接电视机与外部信号源的重要设备,具有高度的专业性和广泛的科普意义。作为信息家电的一员,机顶盒不仅实现了数模转换,让用户能够在模拟电视上观看数字电视节目,还通过接入互联网,极大地丰富了电视节目的选择,提升了观看体验。

从广义上讲,机顶盒涵盖了从模拟频道增补器到现代的数字卫星机顶盒(DVB-S)、数字地面机顶盒(DVB-T)、有线电视数字机顶盒(DVB-C)以及IPTV机顶盒等多种类型。这些机顶盒不仅接收来自有线电缆、卫星天线、宽带网络及地面广播的信号,还提供了电子节目指南、网页浏览等增值服务,使电视机成为了一个能够与用户进行互动的智能终端。

在技术层面,机顶盒的工作原理可概括为接收、解码和显示三个步骤。它首先通过内置的调谐器接收数字电视信号,随后由内部的解码器将信号转换成电视可识别的视频和音频流,最终通过电视机呈现给用户。随着技术的不断进步,机顶盒已能支持高清、甚至4K超高清视频播放,为用户带来更为细腻的画面和震撼的音效。

未来,机顶盒市场将继续保持稳定增长态势,技术创新与智能化将成为重要的发展方向。高清化、超高清化、人工智能及云计算等技术的应用,将使机顶盒不仅限于基本的电视信号接收与解码功能,而是向智能化、多功能化方向迈进,为用户提供更加便捷、智能的生活体验。

ABLIC公司的发展小趣事

在过去的六年里,ABLIC实现了高盈利,这得益于其不断创新的产品线和市场策略。为了进一步拓展业务,ABLIC将目光投向了欧洲市场。欧洲作为全球电子产业的重要区域,对于模拟半导体的需求持续增长。ABLIC凭借其在小型、低功耗和精确模拟半导体产品方面的优势,积极在欧洲市场寻求合作机会,为公司的长远发展奠定了坚实基础。

General Electric Company公司的发展小趣事
明确应用场合对电源电压、输出电流、增益精度等参数的需求。
百事通科技(BUDDIES)公司的发展小趣事

为了降低成本、提高效率,百事通科技(BUDDIES)开始着手进行产业链整合。公司与上下游企业建立了紧密的合作关系,通过优化供应链、共享资源等方式,实现了产业链的协同发展。这一举措不仅提高了公司的运营效率,还增强了公司的市场竞争力。

启英泰伦(Chiplntelli)公司的发展小趣事

随着技术的不断进步和市场需求的日益增长,启英泰伦的芯片产品历经了多次迭代。从最初的AI语音芯片,到后来的AI语音Wi-Fi芯片、AI语音BLE芯片,公司形成了系列化的芯片产品布局。这些芯片广泛应用于智能家居、智能家电、智慧照明等领域,为客户提供了更自然、更简单、更智能的人机交互体验。启英泰伦的芯片产品在市场上获得了广泛的认可,服务客户超过5000家,累计装机量突破2000万台。

Enterpoint公司的发展小趣事

Enterpoint公司起源于一个由几位电子工程领域的专家组成的创业团队。当时,他们看到了电子行业中对于高效、可靠的数据处理解决方案的迫切需求,于是决定创立Enterpoint公司,专注于开发这一领域的创新产品。团队初期面临着资金短缺、技术挑战和市场认知度低等多重困难,但他们凭借着对技术的热情和坚持,不断研发新产品,逐渐在电子行业中崭露头角。

问答坊 | AI 解惑

基于SRAM的可重配置电路

基于SRAM的可重配置PLD(可编程逻辑器件)的出现,为系统设计者动态改变运行电路中PLD的逻辑功能创造了条件。PLD使用SRAM单元来保存字的配置数据决定了PLD内部互连和功能,改变这些数据,也就改变了器件的逻辑功能。由于SRAM的数据是易失的,因此这 ...…

查看全部问答>

pcb 检查列表规范

希望能对大家有用…

查看全部问答>

培训中遇到的问题

老师,我们现在正在编写与步进电机有关的程序,步进电机正反转程序已经编写好的。接下来将编写步进电机画直线的程序,但对与怎样编写,我们一点思路都没有的,老师,给我们提的思路吧。…

查看全部问答>

德州仪器高性能模拟器件在大学生电子设计中的应用与快速选型指南

本帖最后由 paulhyde 于 2014-9-15 04:00 编辑 德州仪器高性能模拟器件在大学生电子设计中的应用与快速选型指南 两部分需要一起下载才能解压 [ 本帖最后由 open82977352 于 2009-7-27 18:07 编辑 ]  …

查看全部问答>

开关电源

我做了个开关电源,变压器吱吱的响,是怎么回事啊?希望和大家探讨一下…

查看全部问答>

IAR5.4生成可执行文件

小弟看了很多人用IAR生成可执行.bin格式的文件,为什么我用他们的方法我生成的.bin文件居然有700M,很是郁闷,不知道是怎么一回事啊。在Category理得output converter里面我选择输出格式是binary。按理说也就2M左右吧,居然这么大,大家有遇到这种问 ...…

查看全部问答>

wince LCD驱动的问题

我用的是市场买的2440开发板,配夏普LQ121S1LG45液晶自己开发驱动。 夏普LQ121S1LG45的pdf资料网上找不到,我只找到了LQ121S1LG41和LQ121S1LG61的,它们参数都一样,目前我计算的是下面的一组参数,可以很清晰的显示静态开机画面了,但显示画面几 ...…

查看全部问答>

动态加载键盘过滤驱动的问题

在DDK中我学winio源码一样创建一个dll来动态加载键盘过滤驱动kbfiltr.sys,可是总是在StartService时出错,错误号为ERROR_SERVICE_DISABLED,可换成winio.sys就行了。我似乎看到过键盘驱动好像是不能动态加载的,可又不确定。 所以总结一下,我想 ...…

查看全部问答>

给大家一本我的看家好书,铁道出版的台湾的数据结构

这本书我本想私藏,但想想还是共享吧,让大家都看到什么叫好书,比起国内的数据结构我看强百倍,国内的我看就晕,本来很简单确讲得很难,也不知道作者明白不明白.更有甚者还传道解惑呢!唯一不足不是PDF的 [ 本帖最后由 ddllxxrr 于 2010-10-9 06:13 编辑 ...…

查看全部问答>

变频器中的IGBT是如何选择正确的参数?

假设额定功率100KW,三相380V * 1.414 大约按500V计算,2个IGBT组成半桥,单IGBT占空比0.4,则计算出实际电流大约为:100K/500/0.4/2=250A,一般加倍选则,所以应该选500A/1200V的IGBT模块 因为IGBT导通时会有浪涌电流,有时候会很大甚至超过管子的 ...…

查看全部问答>