一、PWM資源介紹
1.1 MC9S12 PWM特性
8個具有可編程周期和占空比的獨立PWM通道
4個時鐘源
每個PWM通道具有專用計數(shù)器
每個通道可以選擇有效電平極性
每個PWM通道可以使能 / 禁止
每個通道可選擇輸出波形的對齊方式
分辨率:8位(8通道);16位(4通道)
1.2 PWM 8通道8位引腳
芯片引腳分布如下:
二、PWM寄存器介紹
介紹寄存器前先看一下,PWM 的模塊框圖
從框圖可以看到 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 寄存器來控制,寄存器位如下:
寄存器各個位功能
寄存器位 | 功能 |
---|---|
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)過的分頻器如下:
PWMPRCLK 寄存器用于獨立選擇時鐘源A、B的預分頻系數(shù),寄存器結(jié)構(gòu)如下:
分頻值與寄存器位的關系表為:
PCKx2 | PCKx1 | PCKx0 | Value of Clock x |
---|---|---|---|
0 | 0 | 0 | Bus Clock |
0 | 0 | 1 | Bus Clock / 2 |
0 | 1 | 0 | Bus Clock / 4 |
0 | 1 | 1 | Bus Clock / 8 |
1 | 0 | 0 | Bus Clock / 16 |
1 | 0 | 1 | Bus Clock / 32 |
1 | 1 | 0 | Bus Clock / 64 |
1 | 1 | 1 | Bus Clock / 128 |
PWMSCLA 和 PWMSCLB對應的 A、B的定時器分頻
PWMSCLA寄存器
PWMSCLB寄存器
定時器頻率計算公式:
當 PWM 全為 0 時,分頻值為 255 ;其他給多少值,分頻多少
2.2 定時器通道寄存器
控制 PWM 輸出波形占空比的寄存器主要有三個,
PWM Channel Counter Registers (PWMCNTx):定時計數(shù)器,按照設定的時鐘頻率自加,寫0復位
該寄存器任何時刻可以讀寫,但向計數(shù)器中寫入任何值會引起計數(shù)器復位到$00,且計數(shù)器方向被設置為向上計數(shù)
PWM Channel Period Registers (PWMPERx):周期寄存器,設定 PWM 的占空比周期,寫255復位
PWM Channel Duty Registers (PWMDTYx):占空比寄存器,設定 PWM 的占空比,寫255復位
2.3 PWM 極性選擇寄存器
PWM Polarity Register (PWMPOL)
PPOLx——Pulse Width Channel x Polarity
1 = PWM 通道x 周期起始時輸出為高電平,當?shù)竭_占空比寄存器設定值時變?yōu)榈碗娖健?/p>
0 = PWM 通道x 周期起始時輸出為低電平,當?shù)竭_占空比寄存器設定值時變?yōu)楦唠娖健?/p>
補充 PWMDTYx 、PWMPERx、PPOLx 三個寄存器在臨界條件下,PWM 的輸出情況
PWMDTYx | PWMPERx | PPOLx | PWMx 輸出 |
---|---|---|---|
$00 | > $00 | 1 | 低電平 |
$00 | > $00 | 0 | 高電平 |
xx | $00 | 1 | 高電平 |
xx | $00 | 0 | 低電平 |
>= PWMPERx | xx | 1 | 高電平 |
>= PWMPERx | xx | 0 | 低電平 |
2.4 PWM 使能/禁止寄存器
PWM Enable Register (PWME)
Channel x Enable
1 = PWM 通道x 使能。
0 = PWM 通道x 禁止。
2.5 PWM 輸出對齊寄存器
MC9S12 的 PWM 輸出有兩者對齊方式,左對齊和中央對齊
左對齊
在左對齊模式中,8位計數(shù)器配置為向上累加計數(shù)器,它和占空比寄存器和周期寄存器兩個寄存器比較。當PWM 計數(shù)器和占空比計數(shù)器中的值相等,輸出翻轉(zhuǎn),PWM 計數(shù)器和周期寄存器的值匹配時復位計數(shù)器并同時從雙緩沖器中載入周期和占空比計數(shù)器值。計數(shù)器從0計數(shù),到周期寄存器-1結(jié)束
中央對齊
這種模式下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)
CAEx — Center Aligned Output Mode on channel x
1 = 通道x 以中央對齊輸出方式工作。
0 = 通道x 以左對齊輸出方式工作。
2.6 PWM 級聯(lián)寄存器
2個8位PWM 通道可以被連接成一個16位 PWM通道,如下圖
級聯(lián)后的 PWM 通道數(shù)以及對應寄存器如下
CONxx | PWMEx | PPOLx | PCLKx | CAEx | PWMx OUTPUT |
---|---|---|---|---|---|
CON67 | PWME7 | PPOL7 | PCLK7 | CAE7 | PWM7 |
CON45 | PWME5 | PPOL5 | PCLK5 | CAE5 | PWM5 |
CON23 | PWME3 | PPOL3 | PCLK3 | CAE3 | PWM3 |
CON01 | PWME1 | PPOL1 | PCLK1 | CAE1 | PWM1 |
PWM Control Register (PWMCTL) 級聯(lián)控制寄存器
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
}
上一篇:單片機是如何與電腦進行通信的,電子工程師必知內(nèi)容
下一篇:MC9S12XS128 事件處理
推薦閱讀最新更新時間:2025-06-28 07:03







設計資源 培訓 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領先的新器件
- 意法半導體STM32MP23x:突破成本限制的工業(yè)AI應用核心
- 意法半導體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- LTC3119IFE 5V、500kHz 寬輸入穩(wěn)壓器的典型應用電路
- BPC292封裝的SPC58 C,E,G和N線的微型插座模塊
- FRDM-17C724EVB: Freedom套件 - MPC17C724, 0.4 A雙H橋
- LTC695-3.3 的典型應用 - 3.3V 微處理器監(jiān)控電路
- 使用 Analog Devices 的 LTC6263HMS 的參考設計
- FSA3000 兩端口高速 MHL 交換機的典型移動 MHL 應用
- LTC3633AIFE 1.5V 1MHz 雙相降壓穩(wěn)壓器的典型應用電路
- NCV33074ADR2G 運算放大器用作 LED 驅(qū)動器的典型應用
- 4463-915-PDK,用于 Si4463 915-MHz 射頻收發(fā)器的 EZRadio-PRO 無線開發(fā)套件
- CN0313
- 納祥科技2W 24位數(shù)字功放NX4920,可用于AI語音播報、WIFI播放器
- 常用解調(diào)器的定義和工作原理
- 從性能與網(wǎng)絡傳輸出發(fā),講講鐵威馬MAX系列為什么一騎絕塵
- 惠普選中Hailo下一代人工智能加速器,革新零售業(yè)與酒店業(yè)運營模式
- 跨國商務溝通困局破解之道:時空壺 W4Pro 全場景應用解析
- 從矢量降噪到雙向同傳,時空壺 W4Pro 如何重構(gòu) AI 同傳技術標準?
- LoRa+NB-IoT雙模融合,地下車庫信號盲區(qū)電梯場景等的冗余通信
- LoRa與UWB的“定位之戰(zhàn)”,成本敏感場景高精度需求的場景切割
- 時空壺X1再升級:引領AI同傳新時代,革新演講翻譯體驗
- ARXML 規(guī)則下 ECU 總線通訊與 ADTF 測試方案