历史上的今天
返回首页

历史上的今天

今天是:2025年03月22日(星期六)

2021年03月22日 | 飞思卡尔16位单片机(八)——PWM模块测试

2021-03-22 来源:eefocus

一、PWM模块介绍

       PWM在工业领域应用很广,是实现D/A转换和精确脉冲序列输出的有效手段。许多单片机都设置了PWM输出功能。XEP100单片机的PWM模块具有如下特点:


(1)XEP100单片机具有8个可编程的PWM通道,与单片机的PP0—PP7管脚复用。每个通道的周期和占空比是可以独立控制的,8个通道都是8位精度的。通过设置寄存器PWMCTL可以将相邻的两个通道连接成一个16位精度的PWM通道,因此一个XEP100单片机可以提供4个16位精度的PWM通道;

(2)每个PWM通道都有独立的计数器;

(3)每个通道都可以设置为使能或禁能状态;

(4)每个通道占空比的极性是可以通过软件选择的,通过设置寄存器PWMPOL实现,相应的位置1为高电平有效,清0为低电平有效;

(5)周期和占空比循环是双缓冲的,在每个周期结束时,更新的设置就可以生效;

(6)每个通道可以独立的设置为左对齐和中央对齐模式,通过设置寄存器PWMCAE进行设置;

(7)PWM模块有4个时钟(A、B、SA和SB)能够提供宽范围的频率;

(8)可编程的时钟选择逻辑;

(9)紧急停止功能。


       PWM在控制中应用广泛,可以用于电机调速,舵机控制,步进电机控制等,在本实验中,我们只介绍如何使用单片机的PWM模块来产生PWM信号。关于PWM的深层次的应用,读者可以自己研究练习。


二、例程测试

        在这个实验中,我们通过单片机的PWM模块输出一路1Hz的方波信号,并用这个方波型号对LED灯进行控制。


在这个实验的程序中,主要的代码是PWM模块的初始化,如下所示


void init_pwm(void) 

 {

  PWMCTL_CON01= 1;   //联结通道0,1为16位的PWM

  PWMPOL_PPOL1= 1;   //通道01的极性为高电平有效

  PWMPRCLK = 0x55;   //A时钟和B时钟的分频系数为32,频率为1MHz

  PWMSCLA  =  100;   //SA时钟频率为5KHz

  PWMSCLB  =  100;   //SB时钟频率为5KHz

  PWMCLK =0x02;      //通道01用SA时钟作为时钟源

  PWMCAE   = 0x00;   //脉冲模式为左对齐模式

  PWMPER01  = 5000;  //通道01的周期为1Hz 

  PWMDTY01  = 1000;  //通道01的占空比为20%  

  PWME_PWME1 = 1;    //使能通道01

 }

        为了能够看懂代码,我们对PWM模块的工作原理进行简单介绍。XEP100单片机的PWM模块可以独立生成8路8位的PWM信号,可以将这8路PWM信号,两两级联成4路16位的PWM信号,PWMCTL_CON01= 1;这一句就是将0通道和1通道级联成一个16位的PWM通道。PWMPOL_PPOL1= 1;设置级联后的01通道极性为高电平有效。


        PWM模块的时钟来源是总线时钟,为了用来生成PWM信号,PWM模块可以生成自己内部的时钟,它内部有4个时钟,分别为A、B、SA、SB。其中A和B时钟通过总线分频得到,SA和SB时钟通过A和B时钟分频得到。在这个代码中,PWMPRCLK = 0x55;将A和B时钟的分频系数都设置为32,由于总线时钟的频率设置为32MHz,所以A和B时钟的频率为1MHz。PWMSCLA和PWMSCLB寄存器用来设置SA和SB时钟的分频系数,程序中设置为100,以A和SA为例,Clock SA=Clock A/(2*PWMSCLA),所以SA和SB时钟的频率为5KHz。PWMCLK =0x02;这一句将01通道的时钟源设置为SA时钟。


        PWMCAE=0x00; 将脉冲模式为左对齐模式。


        PWMPER01和PWMDTY01分别用来设置PWM的周期和占空比,PWMPER01设置PWM的周期,代码中PWMPER01的值为5000,由于SA时钟的频率为5KHz,时钟的周期为0.2ms,所以PWM的周期为0.2ms*5000=1s。PWMDTY01设置PWM的占空比,占空比的值为PWMDTY01/PWMPER01=1000/5000=20%。


        最后将01通道使能,设置之后01通道就会源源不断的输出方波信号,频率为1Hz,占空比为20%。将PWM信号与LED灯连接起来就可以看到LED以1Hz的频率闪烁。

推荐阅读

史海拾趣

FSP [FSP TECHNOLOGY INC.]公司的发展小趣事

FSP TECHNOLOGY INC. 发展故事集

故事一:创立与初期发展

FSP Technology Inc.(全汉企业股份有限公司)成立于1993年,总部位于台湾。在创立之初,公司便专注于电源供应器的研发与生产,凭借其专业的技术团队和敏锐的市场洞察力,迅速在行业中崭露头角。当时,随着计算机技术的飞速发展,对稳定、高效的电源需求日益增长,FSP抓住了这一机遇,专注于提供高品质的电源产品,赢得了市场的初步认可。公司通过不断优化产品设计和提升生产效率,逐渐建立起一定的市场份额和品牌影响力。

故事二:技术创新与品牌拓展

进入21世纪后,FSP Technology加大了技术创新的投入,致力于研发更加高效、环保的电源解决方案。公司先后推出了多款符合国际能效标准的产品,如80 PLUS认证系列电源,这些产品凭借其出色的性能和稳定的品质,在市场上获得了广泛好评。同时,FSP也积极拓展国际市场,通过参加国际展会、建立海外销售网络等方式,将品牌和产品推向全球。这一时期,FSP的品牌知名度和市场占有率均实现了显著提升。

故事三:ODM/OEM业务的蓬勃发展

随着全球电子产业链的分工日益细化,FSP Technology积极调整业务结构,大力发展ODM/OEM业务。公司凭借强大的研发实力和灵活的生产能力,为众多国际知名品牌提供定制化的电源解决方案。这些合作不仅丰富了FSP的产品线,也进一步提升了公司的技术水平和市场竞争力。同时,通过与国际品牌的深度合作,FSP的品牌影响力也得到了进一步扩大。

故事四:绿色能源解决方案的推广

近年来,随着全球对环保和可持续发展的重视,FSP Technology积极响应时代号召,致力于推广绿色能源解决方案。公司结合自身的技术优势,开发了一系列高效、节能的电源产品,广泛应用于数据中心、通信基站、智能家居等领域。这些产品不仅降低了客户的运营成本,也为全球节能减排事业做出了积极贡献。FSP的绿色能源解决方案得到了市场的广泛认可,进一步巩固了其在行业中的领先地位。

故事五:持续研发与未来展望

面对日益激烈的市场竞争和不断变化的客户需求,FSP Technology始终保持对技术创新的热情与追求。公司不断加大研发投入,积极探索新的技术和应用领域,如边缘计算、5G通信、工业互联网等。同时,FSP也密切关注行业动态和市场趋势,灵活调整战略方向,确保在未来的发展中始终保持领先地位。展望未来,FSP将继续秉承“服务、专业、创新”的经营理念,为全球客户提供更加优质、高效的电源解决方案。

芯海科技(CHIPSEA)公司的发展小趣事

随着市场需求的不断升级,芯海科技在ADC芯片的基础上,开始研发自主知识产权的8位MCU(微控制器)内核。经过数年的努力,公司成功将8位MCU内核技术应用于消费类电子产品市场,如小家电、电子玩具等。这一技术的突破进一步巩固了芯海科技在电子行业的地位,并为其后续发展提供了有力支撑。

ENOCEAN公司的发展小趣事

2010年,EnOcean公司成功成为国际标准组织ISO/IEC的成员。这一里程碑事件标志着EnOcean的技术和产品在全球范围内得到了广泛认可。通过参与制定无线传感网络的国际标准,EnOcean进一步巩固了其在行业内的领先地位,为推广其无线无源传输技术奠定了坚实基础。

Electron Products Inc公司的发展小趣事

EPI一直非常重视产品的品质管理。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测、包装等各个环节都进行严格把控。此外,EPI还注重持续改进,不断引入先进的生产技术和设备,提升产品的质量和性能。这些举措使得EPI的产品在市场上享有很高的声誉和口碑。

ERP公司的发展小趣事

在21世纪初,一家名为“电子智链”的ERP公司在中国电子行业崭露头角。创始人李明是一位资深电子工程师,他意识到电子企业面临的管理挑战和数字化转型的机遇。电子智链初期专注于为中小型电子企业提供定制化的ERP解决方案,帮助企业优化供应链管理、生产计划和财务管理。通过不断创新和积累客户反馈,电子智链逐渐在电子行业树立了良好的口碑。

Concurrent Logic公司的发展小趣事

Concurrent Logic公司的创立源于一群工程师对并行计算和逻辑设计的热爱。在公司成立初期,他们面临着巨大的挑战。由于资金有限,他们不得不在狭小的办公室内开始他们的创新之旅。初创团队的成员们夜以继日地工作,开发并优化他们的第一个产品——一款高性能的并行处理芯片。尽管条件艰苦,但他们的努力和热情为公司的未来奠定了坚实的基础。

问答坊 | AI 解惑

求助:s3c44b0-uclinux下基于i2c总线eeprom驱动和测试程序

如果谁有请发一份给我,好像我的24c08不能读写,有关的资料也是可以的 email:yudh@leihua.com                    -----thanks!!!…

查看全部问答>

PLC、DCS、FCS三大控制系统的区别

   目前,在连续型流程生产自动控制(PA)或习惯称之谓工业过程控制中,有三大控制系统,即PLC、DCS和FCS。它们各自的基本特点如下:1、 PLC (1)从开关量控制发展到顺序控制、运送处理,是从下往上的。 (2)连续PID控制等多功能,PI ...…

查看全部问答>

物联网攻坚战:各厂商抢滩国家标准制高点

“现在的家电只是插了一根电源线,独立工作;而将来处于信息状态后,将彻底改变人们生活。”说起“物联网”,华为创新孵化中心主任楚庆举例道,联网的冰箱在坏了之后,可主动与厂家联系,并说明故障原因,甚至在消费者还没有发现冰箱坏的时候,就可 ...…

查看全部问答>

向各位高手请教

请问各位高手,要学习嵌入式系统要学习哪些基础知识?…

查看全部问答>

分辨率问题

在wm5  显示分辨率为240*320的手机上开发的软件,放到现实分别率为480*640的手机上软件界面显示很不正常,该怎么解决?可以通过设置手机的参数来使软件正常显示吗?…

查看全部问答>

请教关于BOOT跳到OAL的疑问???

在boot的最后调用了 OEMLaunch 函数 从BOOT跳到了 oal的Startup 以下是OEMLaunch 的原型: void OEMLaunch(DWORD dwImageStart, DWORD dwImageLength, DWORD dwLaunchAddr, const ROMHDR *pRomHdr) 其中第三个参数dwLaunchAddr是通过VATOPA转换 ...…

查看全部问答>

求关于G2553 timeA设置和SCI通信的例子,谢谢了,在线等

RT   求关于G2553  timeA设置和SCI通信的例子,谢谢了,在线等…

查看全部问答>

共用体中能放结构体么?

如果我这么写 struct register {       unsigned char Byte_LL;       unsigned char Byte_LH;       unsigned char Byte_HL;       unsigned char Byte_H ...…

查看全部问答>

感谢大家常来光顾创意板块 分享点书籍资料给大家

休息了好一阵子 现在逐步回归 感谢大家常来光顾创意板块 分享点书籍资料给大家 大家放心下载  全部免费! [ 本帖最后由 cardin6 于 2013-8-30 16:10 编辑 ]…

查看全部问答>

晒WEBENCH设计的过程+ 我把WEBENCH搞迷糊了

具体情况请看图片: 一、设计时钟时,将中间一个输出设为0 二、点开始设计 三、WEBENCH想了好久好久 四、最后给个:我没办法了 …

查看全部问答>