《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 一种MCU时钟系统的设计

一种MCU时钟系统的设计

2008-08-20
作者:朱良辰 胡越黎 冉 峰

  摘? 要: 介紹了一個基于MCU內(nèi)核的時鐘系統(tǒng)" title="時鐘系統(tǒng)">時鐘系統(tǒng)的設計,給出了其電路結構并詳細地分析了系統(tǒng)的工作原理。該系統(tǒng)能生成兩相不重疊時鐘,利用靜態(tài)鎖存器" title="鎖存器">鎖存器保存動態(tài)信息,提供三種電源管理方式以適應低功耗應用。在上華(CSMC)0.6μm工藝庫下,利用Cadence EDA工具對電路進行了仿真,仿真結果驗證了設計的準確性。

  關鍵詞: 微控制器? 時鐘系統(tǒng)? 兩相不重疊時鐘

?

  時鐘系統(tǒng)是微控制器(MCU)的一個重要部分,它產(chǎn)生的時鐘信號" title="時鐘信號">時鐘信號要貫穿整個芯片。時鐘系統(tǒng)設計得好壞關系到芯片能否正常工作。在工作頻率較低的情況下,時鐘系統(tǒng)可以通過綜合產(chǎn)生,即用Verilog/VHDL語言描述電路,并用EDA工具進行綜合。然而,用工具綜合存在電路性能低、優(yōu)化率不高的問題,不適合應用在各種高性能微處理器芯片上。而采用人工設計邏輯并手工輸入電路圖甚至物理版圖的方式,能使設計的電路靈活,性能更好?;谶@些考慮,設計了一個MCU時鐘系統(tǒng)。

1 基本時鐘輸入的選擇

  CPU核分微處理器(MPU)和微控制器(MCU),兩者的基本時鐘一般都以單頻方波的形式提供。時鐘有三種產(chǎn)生方式[1]:

  (1)用晶體振蕩器產(chǎn)生精確而穩(wěn)定的時鐘信號;

  (2)用壓控振蕩器產(chǎn)生可調(diào)頻率范圍較寬的時鐘信號;

  (3)結合以上兩種技術,用壓控振蕩器生成時鐘信號。

  基本時鐘信號的產(chǎn)生可以有芯片外和芯片內(nèi)兩種方法。但是時鐘信號必須是穩(wěn)定的信號,對于穩(wěn)定度要求特別高的場合(如MPU和MCU),采用芯片外提供是必不可少的。故本設計采用外接晶振的方法。

2 兩相時鐘方案

  時鐘技術是決定和影響電路功耗的主要因素,時鐘偏差是引起電路競爭冒險的主要原因。為了消除競爭、提高頻率、降低功耗,在基本時鐘方案方面,MPU和MCU一般有三種選擇:單相時鐘、多相時鐘和沿觸發(fā)方案。在當前的設計中,沿觸發(fā)方案由于在數(shù)據(jù)傳遞方面有一定困難已很少被使用。單相時鐘方案因為在時序和傳輸上比較簡單可靠,在所有的方案中使用的晶體管也是最少,所以被一些高性能芯片使用,如DEC公司(現(xiàn)被HP公司并購)的Alpha21664微處理器。但是,對CMOS電路來說,采用單相時鐘就無法使用動態(tài)電路,而且因組合邏輯塊中邏輯元件的速度高低都受到限制而呈現(xiàn)困難。

  圖1是一個單相有限狀態(tài)機,圓圈內(nèi)為組合邏輯塊CL。

?

  設TL+TH=TP,其中TP為時鐘周期,TH和TL分別為時鐘高電平" title="高電平">高電平和低電平時間。如果要使時鐘定時與數(shù)據(jù)無關,則最長的傳播延遲必須小于TP,信號(甚至可能是由于內(nèi)部競爭冒險產(chǎn)生的尖峰所造成的假信號)到達CL輸出端可能取的最短時間必須大于TH。令τCL代表CL延遲范圍,則:

  

?

  (1)式表明,信號通過CL的每一個延遲都必須介于TH和TP之間。正是這種雙邊約束特性使單相時鐘難以實現(xiàn)。對于多相時鐘,則可以消除這種雙邊約束,而使其轉化為單邊約束。圖2(a)所示為采用兩相非重疊時鐘Φ1和Φ21×Φ2=0),對應時鐘波形示于圖2(b),T1和T3分別是Φ1和Φ2為高電平時的時間,T2是Φ1到Φ2之間電平為低的時間,T4則是Φ2到Φ1之間電平為低的時間。當Φ2電平變高時信號開始通過CL傳輸,并且必須在Φ1電平變低之前結束。于是得:

  

 

 

  其中,Tp=T1+T2+T3+T4

  這樣就可把雙邊約束(1)式簡化為單邊約束(2)式了。無論是有效信號或是無效信號,都可以以任意快的速度通過CL而不會造成競爭[2]。

  當然,相數(shù)過多又會使設計復雜度提高,因此這里選擇了兩相不重疊時鐘。

3 時鐘系統(tǒng)邏輯電路設計

3.1 兩相不重疊時鐘產(chǎn)生的方法

  兩相不重疊時鐘產(chǎn)生電路如圖3所示。clk為外部晶振產(chǎn)生的送入MCU的單相時鐘,I1是MCU內(nèi)部產(chǎn)生的保護信號,正常工作時I1為低電平,發(fā)生故障時(如由于噪聲干擾導致/PSEN和/RD、/WR同時有效的錯誤發(fā)生時)I1變成高電平而關閉時鐘;當系統(tǒng)復位時,會使得圖3中I1為低電平,恢復clk的輸入。由于正常情況下PD為低電平,所以clk等同于經(jīng)過三個非門變成圖中的單相輸入信號,加到用“或非”門交叉而構成的R-S觸發(fā)器,單相時鐘從左邊加到一個“或非”門上,反相后加到另一個“或非”門上,這樣得到的CK1和CK2是不重疊的[3]。單相時鐘與雙相時鐘的對應關系如圖3所示。

?

  當信號V變成高電平時(因為正常工作時PD一直保持為0),M1管關斷,信號就一直保存在靜態(tài)鎖存器中。每當時鐘信號變高時,就把靜態(tài)鎖存器的輸出傳給W,使得W一直處于低電平而不影響“或非”門A1,故圖3中A1可以簡化為二輸入。

  在時鐘受到一個邏輯信號(也就是門控時鐘)控制的情況下,可能會有一些動態(tài)節(jié)點不被刷新。為了避免這種錯誤,采用由一個NMOS控制管M2加兩個交叉耦合反相器組成靜態(tài)鎖存器。其中反饋管采用的倒比W/L很小(<1),可以作為電平恢復器件,這樣有利于保存信息[4]。

3.2? 二分頻" title="二分頻">二分頻電路

  通常把一周期指令的執(zhí)行時間稱為一個機器周期,并進一步劃分為2~6個狀態(tài)(高速MCU到標準MCU),每一狀態(tài)有兩相時鐘,即為兩個節(jié)拍,每個節(jié)拍持續(xù)一個振蕩周期。如何向芯片內(nèi)部提供一個兩節(jié)拍的時鐘信號呢?這就需要二分頻電路對外部振蕩信號進行分頻,使得在每個時鐘的前半周期,節(jié)拍1信號有效;后半周期,節(jié)拍2信號有效。

  二分頻電路是由兩個靜態(tài)鎖存器組成的觸發(fā)器,如圖4所示。其中CK1和CK2是兩相不重疊時鐘,當CK1=0,CK2=1時,靜態(tài)鎖存器b的輸出經(jīng)過一個反相器提供CK3和CK4,使得CK3=0,CK4=1;經(jīng)過半個周期后,CK1=1,CK2=0,M4斷開,低電平信號存儲在靜態(tài)鎖存器a中,使CK3的值不變,這樣CK3延續(xù)了一個周期的低電平(高電平),就形成了兩分頻,如此形成的時鐘信號周期增加一倍。CK4由CK3經(jīng)過一個反相器形成,兩者相位相反。

?

3.3 時鐘驅動器及分配

  影響時鐘偏差主要有以下幾個因素:

  ·連接時鐘數(shù)的連線;

  ·時鐘數(shù)的拓撲結構;

  ·時鐘的驅動;

  ·時鐘線的負載;

  ·時鐘的上升及下降時間。

  在MCU內(nèi)部,時鐘信號要驅動大的負載,是負載最重的信號,有可能導致電路延時和時鐘偏差。消除的方法之一是增強驅動能力。設計的驅動器如圖4(二分頻電路除外)所示。最初的時鐘信號由二分頻電路輸出的CK3和CK4提供。值得注意的是,為了提高翻轉速度增加了旁路管[5],即PMOS晶體管M5、M7和NMOS晶體管M6、M8,而且它們的W/L比要取得足夠大(如設計的為350/1),這樣就不需要外部附加自舉電容。當然為了防止導通電流過激(di/dt),可以加入電阻起穩(wěn)定作用。該時鐘驅動器的一個重要特點,就是所產(chǎn)生的兩相不重疊時鐘的相位與時鐘負載無關,輸出Clk3和Clk4能高到VDD電平和低到地電平。

  在MCU內(nèi)部合理分配時鐘網(wǎng)絡。通常有兩種方法:線形緩沖和樹形緩沖。考慮到MCU內(nèi)部時鐘負載比較大,采用圖5所示的樹形緩沖將時鐘電路分成若干分支。時鐘分配的各個分支在各級之間具有相同的相對扇出,同時每個分支所帶負載數(shù)目基本相同,因為不平衡的分支是時鐘歪斜的主要原因。

?

3.4 低功耗設計

  低功耗設計要求時鐘網(wǎng)絡盡量簡單,晶體管尺寸盡量小,并且應盡量減少不必要的電路節(jié)點翻轉,所以設計的MCU一方面要大量采用只有三個元件組成的靜態(tài)鎖存器,參見圖3;另一方面要有三種工作功率管理模式,即正常、空閑、掉電三種方式,以滿足低功耗方式的應用。因此,內(nèi)部所使用的時鐘分三類,第一類送入部分控制器和數(shù)據(jù)通道(CPU核),在低功耗方式(空閑)下時鐘關閉,如圖6中的Clk5和Clk6;第二類用于控制定時器,如Clk1和Clk2;第三類則用于控制中斷電路和串行口的時鐘,如Clk3和Clk4。后兩類不受低功耗方式的限制。

?

  (1)在掉電方式(PD=1)下,時鐘信號發(fā)生器及內(nèi)部所有的功能部件都停止工作。如圖3所示,PD=1時,封鎖一個“與非”門和一個“或非”門,使V一直為低電平,輸給R-S觸發(fā)器的單相時鐘的狀態(tài)被固定,或為低電平或為高電平,這樣整個芯片的時鐘信號被凍結。

  (2)在空閑方式(IDL=1)下,時鐘信號繼續(xù)提供給中斷邏輯、串行口、定時器,但CPU 的時鐘被切斷了。如圖6所示,IDL=1時,“或非”門輸出為低電平,“與非”門輸出為高電平,通過時鐘驅動器使得Clk5=1、Clk6=0,這樣通往CPU的信號就被凍結了。

4 設計驗證與總結

  綜合圖3、圖4、圖6就構成了整個時鐘系統(tǒng)。為了對電路進行邏輯仿真,首先在CADENCE 的 Composer-schematic中調(diào)用CSMC 0.6μm標準單元工藝庫,設置好管子參數(shù),畫出電路圖。然后進入Analog Artist Simulation環(huán)境進行參數(shù)較理想化的電路仿真。其中clk的脈寬為0.5μs,周期為1μs,將各種信號(如PD、IDL)的上升時間和下降時間設置為0.002μs,整個仿真時間取16μs,參考電壓為5V,得到的仿真結果如圖7所示??梢钥吹絀1=1時,通往內(nèi)部的各時鐘信號被封鎖;PD=1時,所有時鐘(Clk1~Clk6)被凍結;而IDL=1時,只有通往CPU的Clk5和Clk6被凍結,因此各信號滿足設計要求。

?

參考文獻

1 王志華,鄧仰東. 數(shù)字集成系統(tǒng)的結構化設計與高層次綜合.北京:清華大學出版社,2000.7

2 L.A. 格拉澤,D.W.多貝爾普爾. 超大規(guī)模集成電路的設計與分析.北京:科學出版社,1991.5

3 M.Morris Mano, Charles R.Kime. Logic?and Computer Design Fundamentals Second Edition Updated. 北京:電子工業(yè)出版社,2002.7

4 Jan M.Rabaey.? Digital Integrated Circuits-A Design Perspective.北京: 清華大學出版社(影印版),1999.2

5 劉 森,周潤得,葛元慶. CMOS數(shù)字電路速度功耗優(yōu)化設計.微電子學, 2000;30(4)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關內(nèi)容