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