娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

MC9S12XS128 PWM輸出配置

發(fā)布者:DreamyEclipse最新更新時間:2024-08-22 來源: cnblogs關鍵字:MC9S12XS128  PWM  輸出配置 手機看文章 掃描二維碼
隨時隨地手機看文章

一、PWM資源介紹

1.1 MC9S12 PWM特性

  • 8個具有可編程周期和占空比的獨立PWM通道

  • 4個時鐘源

  • 每個PWM通道具有專用計數(shù)器

  • 每個通道可以選擇有效電平極性

  • 每個PWM通道可以使能 / 禁止

  • 每個通道可選擇輸出波形的對齊方式

  • 分辨率:8位(8通道);16位(4通道)

1.2 PWM 8通道8位引腳

芯片引腳分布如下:

image-20211003101230537

二、PWM寄存器介紹

介紹寄存器前先看一下,PWM 的模塊框圖

image-20211003101417437

從框圖可以看到 PWM 的配置主要分為:時鐘選擇、使能、極性、對齊、PWM 通道等多個方面進行控制,下面一次介紹各個寄存器

2.1 時鐘選擇寄存器

2.1.1 時鐘源

PWM 有四種時鐘源,時鐘源如下:

  • Clock A (Ch 0, Ch 1, Ch 4, Ch 5)

  • Clock SA (Scaled A; Ch 0, Ch 1, Ch 4, Ch 5)

  • Clock B (Ch 2, Ch 3, Ch 6, Ch 7)

  • Clock SB (Scaled B; Ch 2, Ch 3, Ch 6, Ch 7)

時鐘源的選擇通過 PWMCLK 寄存器來控制,寄存器位如下:

image.png

寄存器各個位功能

寄存器位功能
PCLK7、6、3、2 — PWM通道 7、6、3、2 時鐘選擇1 = 選擇Clock SB 為PWM通道 7、6、3、2 的時鐘源。
0 = 選擇Clock B 為PWM通道 7、6、3、2 的時鐘源。
PCLK5、4、1、0 — PWM通道 5、4、1、0 時鐘選擇1 = 選擇Clock SA 為PWM通道 5、4、1、0 的時鐘源。
0 = 選擇Clock A 為PWM通道 5、4、1、0 的時鐘源。

2.1.2 分頻器

時鐘頻率不能直接作為 PWM 定時器的時鐘頻率的,一般要經(jīng)過分頻才能使用,總線時鐘到定時器時鐘經(jīng)過的分頻器如下:

image-20211003102351701

PWMPRCLK 寄存器用于獨立選擇時鐘源A、B的預分頻系數(shù),寄存器結(jié)構(gòu)如下:

image.png

分頻值與寄存器位的關系表為:

PCKx2PCKx1PCKx0Value of Clock x
000Bus Clock
001Bus Clock / 2
010Bus Clock / 4
011Bus Clock / 8
100Bus Clock / 16
101Bus Clock / 32
110Bus Clock / 64
111Bus Clock / 128

PWMSCLA 和 PWMSCLB對應的 A、B的定時器分頻

PWMSCLA寄存器

image.png

PWMSCLB寄存器

image.png

定時器頻率計算公式:

image-20211003102954674

當 PWM 全為 0 時,分頻值為 255 ;其他給多少值,分頻多少

2.2 定時器通道寄存器

控制 PWM 輸出波形占空比的寄存器主要有三個,

image-20211003104100831

PWM Channel Counter Registers (PWMCNTx):定時計數(shù)器,按照設定的時鐘頻率自加,寫0復位

image.png

該寄存器任何時刻可以讀寫,但向計數(shù)器中寫入任何值會引起計數(shù)器復位到$00,且計數(shù)器方向被設置為向上計數(shù)

PWM Channel Period Registers (PWMPERx):周期寄存器,設定 PWM 的占空比周期,寫255復位

image.png

PWM Channel Duty Registers (PWMDTYx):占空比寄存器,設定 PWM 的占空比,寫255復位

image.png

2.3 PWM 極性選擇寄存器

PWM Polarity Register (PWMPOL)

image.png

PPOLx——Pulse Width Channel x Polarity

  • 1 = PWM 通道x 周期起始時輸出為高電平,當?shù)竭_占空比寄存器設定值時變?yōu)榈碗娖健?/p>

  • 0 = PWM 通道x 周期起始時輸出為低電平,當?shù)竭_占空比寄存器設定值時變?yōu)楦唠娖健?/p>

image-20211003104625163

補充 PWMDTYx 、PWMPERx、PPOLx 三個寄存器在臨界條件下,PWM 的輸出情況

PWMDTYxPWMPERxPPOLxPWMx 輸出
$00> $001低電平
$00> $000高電平
xx$001高電平
xx$000低電平
>= PWMPERxxx1高電平
>= PWMPERxxx0低電平

2.4 PWM 使能/禁止寄存器

PWM Enable Register (PWME)

image.png

Channel x Enable

  • 1 = PWM 通道x 使能。

  • 0 = PWM 通道x 禁止。

2.5 PWM 輸出對齊寄存器

MC9S12 的 PWM 輸出有兩者對齊方式,左對齊和中央對齊

左對齊

image-20211003112826601

在左對齊模式中,8位計數(shù)器配置為向上累加計數(shù)器,它和占空比寄存器和周期寄存器兩個寄存器比較。當PWM 計數(shù)器和占空比計數(shù)器中的值相等,輸出翻轉(zhuǎn),PWM 計數(shù)器和周期寄存器的值匹配時復位計數(shù)器并同時從雙緩沖器中載入周期和占空比計數(shù)器值。計數(shù)器從0計數(shù),到周期寄存器-1結(jié)束

中央對齊

image-20211003113020808

這種模式下8位計數(shù)器作為一個向上&向下計數(shù)器,當計數(shù)器值為0時,向上計數(shù)。計數(shù)器和占空比寄存器及周期寄存器比較,當PWM 計數(shù)器和占空比寄存器值相匹配時,輸出翻轉(zhuǎn),PWM 計數(shù)器和周期寄存器匹配改變計數(shù)器方向,從向上計數(shù)變?yōu)橄蛳掠嫈?shù),當PWM計數(shù)器遞減,和占空比計數(shù)器再次匹配時,輸出再次改變。當PWM計數(shù)器遞減到0,計數(shù)方向從向下計數(shù)變?yōu)橄蛏嫌嫈?shù),并從雙緩沖器中載入周期寄存器和占空比寄存器值。計數(shù)器從0加到周期寄存器中的值并減回0,因此有效周期為PWMPERx*2

PWM Center Align Enable Register (PWMCAE)

image.png

CAEx — Center Aligned Output Mode on channel x

  • 1 = 通道x 以中央對齊輸出方式工作。

  • 0 = 通道x 以左對齊輸出方式工作。

2.6 PWM 級聯(lián)寄存器

2個8位PWM 通道可以被連接成一個16位 PWM通道,如下圖

image-20211003173929837

級聯(lián)后的 PWM 通道數(shù)以及對應寄存器如下

CONxxPWMExPPOLxPCLKxCAExPWMx OUTPUT
CON67PWME7PPOL7PCLK7CAE7PWM7
CON45PWME5PPOL5PCLK5CAE5PWM5
CON23PWME3PPOL3PCLK3CAE3PWM3
CON01PWME1PPOL1PCLK1CAE1PWM1

PWM Control Register (PWMCTL) 級聯(lián)控制寄存器

image.png

CONxy——Concatenate channels x and y

  • 1 = 通道x和y被連接成一個16位PWM通道。

  • 0 = 通道x和y為兩個獨立的8位PWM。

三、PWM配置實例

配置 PWM 一般按照下面6步驟配置()內(nèi)是相關的寄存器

  • 禁止PWM (PWME)

  • 選擇PWM時鐘,預分頻和分頻 (PWMPRCLK, PWMSCLA, PWMSCLB, PWMCLK)

  • 選擇極性(PWMPOL)

  • 選擇對齊方式 (PWMCAE)

  • 編程占空比和周期 (PWMDTYx, PWMPERx)

  • 使能PWM (PWME)

初始化子程序示例

  void PWM_Init(void)

  {

        PWME = 0x00;         //禁止PWM模塊

        PWMPRCLK = 0x06;        //CLOCKA的預分頻設置為6

        PWMSCLA = 125; //SA的分頻因子設置為125

        PWMCLK = 0x01; //通道0選擇SA作為PWM時鐘

        PWMPER0 = 200;     //通道0周期寄存器設置為200

        PWMDTY0 = 0; //通道0占空比寄存器設置

        PWMPOL = 0x01; //PWM輸出先為高電平,之后變?yōu)榈碗娖?p>        PWMCAE = 0x00; //左對齊輸出

        PWMCTL = 0x00;         //不級聯(lián)

        PWME = 0x01; //使能PWM通道0

  } 


關鍵字:MC9S12XS128  PWM  輸出配置 引用地址:MC9S12XS128 PWM輸出配置

上一篇:單片機是如何與電腦進行通信的,電子工程師必知內(nèi)容
下一篇:MC9S12XS128 事件處理

推薦閱讀最新更新時間:2025-06-28 07:03

基于單片機MC9S12XS128的汽車BCM的設計
  Freescale的S12系列16位MCU在車身控制系統(tǒng)中應用廣泛,用于車身控制器BCM、門鎖模塊、RKE接收器、智能執(zhí)行器、燈光模塊等車身ECU中。在某整車廠開發(fā)的BCM中,采用MC9S12XS128做為中央處理器,實現(xiàn)了車身控制的大部分功能,包括門鎖控制、燈光控制、雨刷控制、車窗控制和防盜報警,還實現(xiàn)了CAN/LIN網(wǎng)關功能,通過CAN總線接收車速和碰撞信號,從而實現(xiàn)安全駕駛和緊急操作,通過LIN總線接收來自雨量傳感器的信號,控制雨刷的快速、慢速或間歇操作。下面從硬件設計和軟件設計中的關鍵技術方面介紹MC9S12XS128在BCM中的應用。   1 硬件設計   1.1 MC9S12XS128簡介   MC9S12X
[單片機]
基于單片機<font color='red'>MC9S12XS128</font>的汽車BCM的設計
最強干貨!一文帶你了解PWM技術
PWM有著非常廣泛的應用,比如直流電機的無極調(diào)速,開關電源、逆變器等等,個人認為,要充分理解或掌握模擬電路、且有所突破,很有必要吃透這三個知識點: PWM 電感 紋波 PWM是一種技術手段,PWM波是在這種技術手段控制下的脈沖波,如果你不理解是把握不住PWM波的! 如下圖所示,這種比喻很形象也很恰當,希望對學習的朋友有所幫助與啟發(fā)。 PWM全稱Pulse Width Modulation:脈沖寬度調(diào)制(簡稱脈寬調(diào)制,通俗的講就是調(diào)節(jié)脈沖的寬度),是電子電力應用中非常重要的一種控制技術,在理解TA之前我們先來了解幾個概念 。 脈沖波的基本信息如下圖所示: 脈沖周期T:單位是時間,比如納秒ns、微妙μ
[嵌入式]
最強干貨!一文帶你了解<font color='red'>PWM</font>技術
直流電機控制(PWM)+普中51單片機+江科大自化協(xié)
1 實驗現(xiàn)象 2 實驗原理 通過按鍵來控制PWM占空比實現(xiàn)對直流電機的調(diào)速,數(shù)碼管則顯示當前速度擋位信息。 (1)直流電機的控制是通過設置PWM波的占空比來控制直流電機的轉(zhuǎn)速,占空比越大,轉(zhuǎn)速越快,越小轉(zhuǎn)速越低; (2)單片機的I/O口是不能直接驅(qū)動電機的,所以還需要用一個驅(qū)動芯片。如 LG9110、CMO825、L298 等。驅(qū)動芯片可以將單片機I/O輸出信號放大,這樣電機中流過的電流足夠大,電機才能轉(zhuǎn)起來。 (3)直流電機只有兩根電源線,直流電機的兩根電源線是不分正負極的。假設兩根電源線代號分別為A、B。 當A線接正極,B線接負極時,電機正轉(zhuǎn)(反轉(zhuǎn));那么當B線接正極,A線接負極時,電機反轉(zhuǎn)(正轉(zhuǎn))。 3 參考程序
[單片機]
直流電機控制(<font color='red'>PWM</font>)+普中51單片機+江科大自化協(xié)
工程師筆記|TIM DMA burst 輸出變頻 PWM 波形
1.問題背景 客戶需要 MCU 輸出一組變頻的 PWM 波形來控制外圍器件,并且不同頻率脈沖的個數(shù)也不同。STM32U5 芯片擁有 TIM1/TIM8 高級定時器,還有通用定時器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。 TIM 模塊中,可通過修改 ARR 寄存器的值來修改 PWM 的頻率。如果使用 TIM1/TIM8 或者 TIM15/TIM16/TIM17,則可以通過修改 RCR 與 CCR 寄存器,來控制脈沖個數(shù)及占空比。由于要同時修改多個 TIM 寄存器,需要使用 TIM 的 DMA burst 功能來實現(xiàn)此需求。 2.TIM DMA burst STM32 片內(nèi)部分 TIM
[單片機]
工程師筆記|TIM DMA burst <font color='red'>輸出</font>變頻 <font color='red'>PWM</font> 波形
foc電機控制需要幾個pwm foc控制算法介紹
foc電機控制需要幾個pwm FOC(Field-Oriented Control)電機控制需要使用兩個PWM信號來控制電機,具體分為一般PWM和擴展PWM兩種。 一般PWM用于控制電機的直流母線電壓,其輸出頻率一般為幾千赫茲,可以有效地抑制電機的噪聲和震動。通過PWM的占空比來調(diào)節(jié)直流電壓,從而實現(xiàn)對電機的調(diào)速和調(diào)轉(zhuǎn)矩。一般PWM一般由開發(fā)板或者控制芯片的內(nèi)置模塊實現(xiàn)。 擴展PWM用于控制電機的電流,其輸出頻率的設置一般要遠遠低于一般PWM的頻率,以保證電路的穩(wěn)定性和控制精度。擴展PWM的任務是將控制算法的電流控制命令轉(zhuǎn)換為電機的相電流,從而實現(xiàn)對電機的轉(zhuǎn)矩和速度控制。在FOC控制中,擴展PWM一般需要由開發(fā)者根據(jù)自身電
[嵌入式]
HPM6000系列PWM波盡在掌握
概 述 在進行電機類、電源類應用開發(fā)時,如何使用PWM定時器模塊靈活、高效的實現(xiàn)所需 PWM波形的輸出,是眾多開發(fā)者關注的問題。在上篇文章里,我們介紹了PWM定時器模塊內(nèi)的一些概念,以及如何生成普通PWM的過程。本篇內(nèi)容將繼續(xù)介紹互補PWM、同步 PWM、錯相 PWM以及PWM如何使用ACMP封波等內(nèi)容。 互補PWM 關于相同的代碼部分,此處不再重復講解,請參考《上篇》的普通PWM的講解。 此處設置了 3 個比較器:cmp_config 與 cmp_config 用來生成中心對稱 PWM,cmp_config 作為 PWM 影子寄存器的更新事件源,當 CNT 等于 cmp_config 時,影子寄存器寫入寄存器內(nèi)生效。
[嵌入式]
HPM6000系列<font color='red'>PWM</font>波盡在掌握
通過STM32實現(xiàn)PWM呼吸燈的教程
一,知識理論基礎 什么是呼吸燈: 顧名思義,就是一個燈。燈的亮度的變化,由亮變暗,從暗變亮,有一個漸變,規(guī)律的變化,像是人的呼吸,是燈的呼吸,所以叫呼吸燈。而要讓燈可以達到這樣的變化,我們要讓stm32的IO口上輸出一個可調(diào)的電平,這時我們就要用到PWM,那什么是PWM呢,我們繼續(xù)往下看。 什么是定時器: 講PWM我們要先認識stm32的定時器,PWM是定時器的功能之一。STM32F103有TIME1和TIME8高級定時器,TIME2TIME5通用定時器,還有TIME6和TIME7基本定時器。我們要使用的STM32F103C8T6只具有4個定時器,TIME1TIME4. 那么定時器有什么功能呢?定時、輸出比較
[單片機]
通過STM32實現(xiàn)<font color='red'>PWM</font>呼吸燈的教程
S3C2440開發(fā)板裸機程序系列09—PWM控制舵機
1. Timer1的PWM控制舵機 S3C2440的Timer0、Timer1、Timer2和Timer3具有PWM功能,以前的blog已經(jīng)敘述過,詳見: S3C2440開發(fā)板裸機程序系列05—定時器PWM TQ2440開發(fā)板的Timer0的TOUT0輸出連接了Beep,所以,這次利用Timer1的TOUT1輸出來連接舵機的控制信號。 舵機的內(nèi)部有一個基準電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。通過調(diào)整控制信號的高電平寬度,即可實現(xiàn)舵機不同轉(zhuǎn)角的控制。 舵機控制原理詳見:舵機的原理和控制 程序思路很簡單: 設置GPB1為TOUT1的輸出格
[單片機]
S3C2440開發(fā)板裸機程序系列09—<font color='red'>PWM</font>控制舵機
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 新竹市| 乐业县| 云安县| 婺源县| 吉安县| 东港市| 襄汾县| 鄯善县| 科技| 中江县| 福安市| 津南区| 黄平县| 江津市| 尚志市| 高陵县| 乐陵市| 福海县| 永登县| 保定市| 南澳县| 陇川县| 饶河县| 新兴县| 合川市| 永德县| 晋城| 崇信县| 育儿| 鹰潭市| 昭苏县| 蕉岭县| 临汾市| 盐边县| 霸州市| 榆中县| 大渡口区| 灯塔市| 乾安县| 江陵县| 贵州省|