許多系統(tǒng)需要固定或可編程的數(shù)字時(shí)鐘波形。在PCB面積受限的應(yīng)用中,微控制器通常產(chǎn)生這些信號(hào)。本文介紹了使用ADuC702x模擬微控制器生成時(shí)鐘的三種方法。
時(shí)鐘生成的經(jīng)典解決方案是切換微控制器的通用輸出之一。如果計(jì)時(shí)器可用,則可以將其配置為在每次溢出時(shí)補(bǔ)充中斷服務(wù)例程中的通用輸出。這種類型的完全可編程數(shù)字波形生成允許可編程占空比,但中斷延遲限制了其速度和精度?;?a target="_blank">ARM7的ADuC702x具有可變的中斷延遲。這種變化會(huì)在生成的信號(hào)上產(chǎn)生抖動(dòng)。這種方法的另一個(gè)缺點(diǎn)是,必須以高優(yōu)先級(jí)處理計(jì)時(shí)器中斷,以保持正確的計(jì)時(shí)。理想情況下,數(shù)字波形生成不應(yīng)涉及內(nèi)核。
一種不涉及內(nèi)核的解決方案使用集成PWM(脈寬調(diào)制器)。這種方法還允許可變占空比。時(shí)鐘分辨率取決于PWM開(kāi)關(guān)頻率寄存器的大小和內(nèi)核時(shí)鐘頻率。該解決方案的主要優(yōu)點(diǎn)是沒(méi)有CPU負(fù)載,并且可以產(chǎn)生從幾赫茲到幾十兆赫茲的寬范圍頻率。ADuC702x系列集成PWM模塊,如圖1所示。
圖1.ADuC7026 原理框圖
該解決方案的缺點(diǎn)是PWM生成時(shí)鐘的精度取決于內(nèi)部時(shí)鐘的精度,并且它使用完整的三相PWM模塊,而該模塊最初并非用于此目的。使用外部3 kHz晶體而不是精度為±32%的片內(nèi)振蕩器可以提高精度,但這會(huì)增加成本、尺寸和功率預(yù)算。
較小的解決方案包括使用門和觸發(fā)器。ADuC702x系列包括一個(gè)可編程邏輯陣列(PLA),可用于實(shí)現(xiàn)膠合邏輯。該P(yáng)LA由16個(gè)可編程門和觸發(fā)器組成,完全可以通過(guò)軟件進(jìn)行配置。一個(gè)非常簡(jiǎn)單的時(shí)鐘可以只使用一個(gè)NOT門和一個(gè)觸發(fā)器進(jìn)行編程,如圖2所示。
圖2.使用PLA的可編程時(shí)鐘
觸發(fā)器可通過(guò)內(nèi)核時(shí)鐘、內(nèi)部 32kHz 振蕩器、定時(shí)器1 或通用輸入進(jìn)行計(jì)時(shí)。時(shí)鐘頻率可以非常靈活,但占空比無(wú)法編程。該解決方案的最大優(yōu)點(diǎn)是它只占用了非常小的芯片塊。ADuC702x上集成了非專用門,具有極大的靈活性。
下表總結(jié)了這三種方法的特點(diǎn)。雖然每種方法都有優(yōu)點(diǎn),但只有應(yīng)用程序才能確定哪一種是最合適的解決方案。
表1:ADuC702x系列三種方法的比較
最低速度 | 最大速度 | 優(yōu)勢(shì) | 弊 | |
通用信息總局 | 使用 T1:1/2^32 |
中斷延遲: 5 到 50 個(gè) 時(shí)鐘周期 |
可變占空比 |
抖動(dòng) 中央處理器負(fù)載 使用計(jì)時(shí)器 |
脈寬調(diào)制 | 核心時(shí)鐘/ (2 × PWMDAT0.max) = 344 Hz |
核心時(shí)鐘/ (2 × PWMDAT0最?。?= 22 MHz |
無(wú) CPU 負(fù)載 可變占空比 |
使用三相PWM模塊 |
PLA | 使用 T1:1/2^33 | 核心時(shí)鐘 / 2 |
無(wú) CPU 負(fù)載 僅使用 1 個(gè)聚乳酸元件 |
并非每個(gè) GPIO 都可以用作 PLA 輸出 可能使用計(jì)時(shí)器 固定占空比 |
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7454瀏覽量
150851 -
PWM
+關(guān)注
關(guān)注
114文章
5118瀏覽量
213164 -
計(jì)時(shí)器
+關(guān)注
關(guān)注
1文章
416瀏覽量
32605
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論