2014-09-02 32 views
2

我正在使用STM32系列微控制器。 (具體使用STM32F072BDISCOVERY板)。輸出比較和脈寬調製功能有什麼區別?

我在理解定時器及其各種模式的使用方面遇到了一些麻煩。具體而言,「輸出比較」(OC)模式有很多選項,「PWM」模式有其他選項。 RM0091參考手冊的編寫方式就好像它們是兩種截然不同的操作模式。我也在使用新的HAL驅動程序,並且有不同的API可以使用OC和PWM。

但是,在我看來,PWM基本上是輸出比較功能的一個子集/用例,其中定時器通道被配置爲直接驅動硬件輸出。

我錯過了OC和PWM模式之間有什麼區別嗎?產生PWM波形而不是輸出比較功能?

+0

OC用於測量佔空比,週期,頻率等,PWM用於產生具有特定佔空比,週期,頻率等的方波。換句話說,OC輸入並輸出PWM 。 – 2014-09-02 20:28:21

+1

@FiddlingBits,你描述的是輸入捕捉,定時器的另一個功能。我沒有深入調查,因爲我不打算使用它,但據我所知,輸入觸發器會將計數器的值存儲在寄存器中。當定時器值達到寄存器中設置的值時,輸出比較會發生。 – mbmcavoy 2014-09-02 20:45:24

+0

你說得對。我在想IC。 – 2014-09-03 14:16:57

回答

0

輸出比較只能使50%的佔空比(如果在切換模式)PWM可以使不同的佔空比,因爲它與一個定時中斷,並輸出組合比較

0

PWM是輸出比較功能的功能。

AVR微控制器的區別可以從操作的模式的每個定時器的描述中推斷出/計數器

操作模式,即,在T/C和 輸出比較引腳的行爲由波形 生成模式(WGMn3:0)和比較輸出模式(COMnx1:0)位的組合來定義。

比較輸出模式位不會影響計數序列,而波形產生模式位會產生 。 COMnx1:0位控制 產生的PWM輸出是否應反轉(反轉 或非反轉PWM)。對於非PWM模式的COMnx1:0位控制 輸出是否應設置,以清除或肘節在輸出的描述比較 匹配

早些時候比較單元

的比較器連續比較TCNTn與輸出 比較寄存器(OCRnx)。如果TCNT等於OCRnx比較器信號 匹配。一次匹配將在下一個 定時器時鐘週期設置輸出比較標誌(OCFnx)。 ... 波形發生器根據波形發生模式 (WGMn3:0)位和比較輸出模式(COMnx1:0)位設置的工作模式,使用匹配信號產生一個 輸出。

這裏是在相同的部分所指出的另一個區別:

OCRnx寄存器爲雙任何十二脈衝寬度調製(PWM)模式時緩衝。對於正常和清零定時器比較(CTC)操作模式,禁用雙緩衝。雙緩衝使OCRnx比較寄存器的更新同步,以防止發生奇數長度,非對稱PWM脈衝,從而使輸出無毛刺。

相關問題