十脉波宽度调变(PulseWidthModulation).docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十脉波宽度调变(PulseWidthModulation)

第十一章 脈波寬度調變(Pulse Width Modulation) 簡介 脈波寬度調變(Pulse Width Modulation,(PWM))基本的控制原理是根據輸入信號的大小,調整輸出脈波的寬度,而此脈波的頻率為固定。 如圖11-1(a)所示是一個正弦波的正半週波形,若取樣點如圖11-1(a) 所示,根據取樣值的大小,來決定脈波的寬度。因此就可以得到如圖11-1(b)所示的脈衝列。 圖11-1:PWM基本控制原理 PWM的輸出時序如圖11-2所示。PWM輸出有兩個名詞需要注意到:Period和Duty Cycle。當PWM輸出由此次變High到下一次變High的時間稱為Period;而PWM輸出保持在High(1)的時間除以Period,稱呼它為PWM的Duty Cycle。 圖11-2:PWM輸出時序圖 ET44M210的PWM ET44M210微控制器提供兩組16位元解析度的PWM輸出。PWM0是連接到PORT A的Bit 7,PWM1是連接到PORT C的Bit 5。 因為ET44M210微控制器的PWM輸出是16位元的解析度,因此Duty Cycle是由2個暫存器所決定:Duty Cycle High Byte(DT0H;DT1H)和Duty Cycle Low Byte(DT0L;DT1L)。DT0H:DT0L是針對PWM0所設定的暫存器;DT1H:DT1L是針對PWM1所設定的暫存器,統稱為DTX。 另外ET44M210也定義了一組16位元的Duty Cycle Latch暫存器,Duty Cycle Latch暫存器是由2個暫存器所決定:Duty Cycle Latch High Byte(DL0H;DL1H)和Duty Cycle Latch Low Byte(DL0L;DL1L)。DL0H:DL0L是針對PWM0所設定的暫存器;DL1H:DL1L是針對PWM1所設定的暫存器,統稱為DLX。Duty Cycle Latch暫存器是唯讀的暫存器。 PWM的Period也是由2個暫存器所決定:Period High Byte(PRD0H;PRD1H)和Period Low Byte(PRD0L;PRD1L)。PRD0H:PRD0L是針對PWM0所設定的暫存器;PRD1H:PRD1L是針對PWM1所設定的暫存器,統稱為PRDX。 在ET44M210內部有2個與PWM有關的16位元計數器:TMR0和TMR1。TMR0是針對PWM0所設定的計數器;TMR1是針對PWM1所設定的計數器,統稱為TMRX。 當PWM啟動之後,System Clock就會送到TMRX開始上數,此時會將PWM輸出接腳設為1,在此同時會分別與DLX與PRDX做比較;當TMRX的值等於DLX的值時,PWM輸出接腳會設為0。當TMRX的值等於PRDX的值時,會將PWM輸出接腳設為1,並且將TMRX清除為0,同時PWM的中斷旗標也會設為1。當TMRX被清除為0的同時,會將DTX的值Latch在DLX內。 Note:當要改變Period時必須先將PWM的功能Disable。 Duty Cycle的計算公式入下所示: Duty Cycle=(DTX+1)×(2∕FSCO) FSCO=System Clock Period的計算公式入下所示: Period=(PRDX+2)×(2∕FSCO) FSCO=System Clock 如圖11-3所示為PWM的功能方塊圖。 圖11-3:PWM功能方塊圖 與PWM相關的暫存器 中斷旗標暫存器(Interrupt Flag Register) – INTF (0x11) 7 6 5 4 3 2 1 0 ADIF RBFIF PWM1IF PWM0IF EINT1F EINT0F TCCOF FRCOF Bit 4 ~ Bit 5 (PWM0IF PWM1IF): PWM中斷旗標: 當TMRX等於PRDX時,中斷條件成立,此位元設為1。以軟體指令清除。 PWM Duty Cycle暫存器(PWM Duty) – DT0L (0x21)/DT0H (0x22) DT1L (0x27)/DT1H (0x28) DT0L 7 6 5 4 3 2 1 0 DT07 DT06 DT05 DT04 DT03 DT02 DT01 DT00 DT0H 7 6 5 4 3 2 1 0 DT0F DT0E DT0D DT0C DT0B DT0A DT09 DT08 DT1L 7 6 5 4 3 2 1 0 DT17 DT16 DT15 DT14 DT13 DT12 DT11 DT10 DT1H 7 6 5 4 3 2

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档