[b]引言 [/b] 嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序4部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。 不管是在科研設(shè)備中還是在家用微波爐中,都可以看到嵌入式控制技術(shù)的影子,嵌入式控制技術(shù)已經(jīng)成功的應(yīng)用在各種領(lǐng)域中,并且越來越廣泛的進(jìn)入到人們的生活中。 在控制電路的設(shè)計中,數(shù)據(jù)的輸入/輸出端口是控制器完成數(shù)據(jù)輸出和接收功能的關(guān)鍵部分,因此這一部分電路設(shè)計的好壞關(guān)系到控制器能否正常工作。 1 數(shù)字輸入端口邏輯設(shè)計分析 以控制器為中心,按照數(shù)據(jù)的流向分,控制器的端口分為數(shù)字輸入端和數(shù)字輸出端兩種,其中最簡單的一種I/O形式是數(shù)字輸入。下面從最簡單的數(shù)字輸入端設(shè)計來討論在輸入端口設(shè)計中遇到的實際問題和解決方法。由于控制器的數(shù)據(jù)輸入輸出引腳數(shù)量少,并且在使用時要分時復(fù)用,因此一般控制器和外部設(shè)備之間使用緩沖器或鎖存器連接。如圖1所示,緩沖器74HC244放置在處理器和外部器件之間,當(dāng)處理器要讀取連接在外部接口上的設(shè)備信號時,處理器通過READ引腳使74HC244輸出引腳有效。這樣,外部設(shè)備數(shù)據(jù)就能夠通過74HC244的A0"A3和B0"B3引腳傳輸?shù)?4HC244的緩沖器中,然后被送到數(shù)據(jù)總線上,微控制器就能夠讀入設(shè)備的數(shù)據(jù)了。
圖1 圖1所示的接口方式適合于輸入端少的情況,而對于現(xiàn)在面向便攜式設(shè)備的SoC設(shè)計,不僅要求性能高、體積小,更要求功耗低。一般而言,SoC的靜態(tài)功耗很小,而對負(fù)載電容充放電的動態(tài)功耗很大。如果總線上掛著很多功能設(shè)備,那么會導(dǎo)致總線的電容負(fù)載很大。如果總線與片外設(shè)備聯(lián)系,那么控制器還要驅(qū)動很長的片外連線以及片外設(shè)備。如果系統(tǒng)設(shè)計有許多數(shù)字輸入端,那么采用74HC244這種輸入方案就會有些問題。這是由于74HC244三態(tài)輸出端的最小電容值為20 pF,比SoC內(nèi)部各節(jié)點的電容負(fù)載0.05 pF高出三個量級,過多的74HC244連接會使處理器數(shù)據(jù)總線上的電容負(fù)載值比較大,使得數(shù)據(jù)總線無法接收數(shù)據(jù)。 為了減小電容對數(shù)據(jù)輸入的影響,可以對圖1所示的方案改進(jìn)成如圖2所示的方案,采用數(shù)據(jù)選擇器來替代74HC244,比如用74HC257。74HC257輸出端的最大電容值為15 pF,比74HC244的輸出端電容稍小一些。從圖2中可以看到,采用74HC257可以使控制器的一條數(shù)據(jù)總線連接兩條輸入端,這就相當(dāng)于一條數(shù)據(jù)總線的輸入電容值只有7.5 pF。當(dāng)然,也可以采用8選1的數(shù)字邏輯電路,比如74LS138或74HC151,但是它們沒有三態(tài)功能,因此要與74HC244結(jié)合使用,來提供數(shù)字輸入功能。這樣能使處理器每條數(shù)據(jù)總線的輸入電容降為只使用74HC244時的1/8。
圖2 如果系統(tǒng)設(shè)計中不需要對多于數(shù)據(jù)總線數(shù)量的數(shù)字輸入端進(jìn)行同時取樣,以上的74HC244和74HC257方案就完全可以適用。如果在系統(tǒng)設(shè)計中,要求必須同時取樣大量的數(shù)字輸入端,就必須在電路設(shè)計中使用鎖存器來鎖存數(shù)據(jù)。在電路設(shè)計中,經(jīng)常使用的鎖存器是74HC374和74HC574,這兩種鎖存器的功能相當(dāng)。由于74HC574的輸入引腳和輸出引腳分列在集成塊的兩邊,這樣的排列使制作印刷電路板時的布線比較簡單;另一方面,74HC574的輸出電容值為15 pF,這個值與74HC244的輸出電容值幾乎一樣,因此在設(shè)計中一般選用74HC574,電路連接如圖3所示,使用鎖存器可以同時取樣大量的數(shù)據(jù)輸入端。 數(shù)據(jù)選擇器可以降低每條總線的負(fù)載電容值,而不能同時取樣數(shù)據(jù)輸入端。使用數(shù)據(jù)鎖存器,會增大數(shù)據(jù)總線的電容負(fù)載,這樣就必須在取樣數(shù)據(jù)線的數(shù)量和采用數(shù)據(jù)選擇器的數(shù)量之間找到一個恰當(dāng)?shù)狞c。 圖4給出了一個較好的解決方案。在電路中,移位寄存器74HC597被級聯(lián)在一起,并且與控制器的總線相連接, 這樣可以給處理器提供大量的數(shù)字輸入引腳,同時每條總線上的電容負(fù)載值又可以達(dá)到最小。 74HC597是移位寄存器,它有8個觸發(fā)器與輸入引腳相連,這些觸發(fā)器是邊沿觸發(fā)的輸入鎖存器;同時,74HC597有另外的8個邊沿觸發(fā)的鎖存器串聯(lián)在一起,構(gòu)成移位寄存器。在圖4中,當(dāng)膠粘邏輯一個上升沿信號給RCLK時,數(shù)據(jù)輸入引腳的信號被同時取樣,接下來處理器通過膠粘邏輯傳送一個信號給 SRLOAD,使取樣得到的數(shù)據(jù)從輸入鎖存器移入移位寄存器。在移位寄存器內(nèi),處理器通過SRCLK使數(shù)據(jù)每一時鐘周期移動一位,數(shù)據(jù)在READ端允許讀出時,由D0引腳送到數(shù)據(jù)總線上。 還可以對這個電路進(jìn)行簡單變形,將74HC597的QH信號引腳通過一個多路緩沖器連接到每一條數(shù)據(jù)總線上,比如采用
74HC244,這樣改進(jìn)后,減少了處理串行數(shù)據(jù)的時間,并且可以一次讀出。 2 數(shù)據(jù)輸入端口保護(hù)設(shè)計分析 前面已經(jīng)討論了多種解決微處理器數(shù)據(jù)總線和外部設(shè)備接口的方法,下面將從實踐的角度討論避免系統(tǒng)外部干擾的方法。 在電路設(shè)計中,使CMOS器件的輸入端懸空是一種不良的設(shè)計習(xí)慣,因為CMOS器件是電壓控制,而未被連接的輸入端有靠近CMOS門檻電壓輸入的趨勢,使得芯片內(nèi)部的三極管作不必要的開關(guān)動作,這既增加了噪聲干擾,又耗費(fèi)了系統(tǒng)的功率。一般,使用上拉電阻或下拉電阻,把未被連接的輸入引腳與電源或接地點連接,使它們有一個確定的電壓值。CMOS輸入引腳的最大輸入電流非常小,只有1 μA左右,因此選用1 MΩ作為上拉電阻或下拉電阻。 在許多嵌入式系統(tǒng)中,輸入引腳的有效電壓一般是5 V以上或為負(fù)值(對地),在這種情況下,使用幾個電阻就可以防止輸入引腳過壓。如圖5所示,CMOS集成塊內(nèi)部的2個二極管可以把電壓鉗位在CMOS器件輸入電壓值,這2個二極管是高速CMOS器件(74HC系列)靜電保護(hù)措施的一部分。 如圖6所示,在輸入端連接2個肖特基二極管,這樣可以更安全的保護(hù)輸入端口,但是成本會高一些。前端電壓降到集成塊內(nèi)部2個二極管導(dǎo)通電壓的1/3,內(nèi)部的2個二極管不會導(dǎo)通,電流全部通過前端正向偏壓的肖特基二極管。這種電壓保護(hù)電路在有些應(yīng)用設(shè)計中是必須的。在一般設(shè)計中,沒有輸入引腳需要這樣的額外保護(hù),因為這樣的外部電壓保護(hù)需要使用非常講究的印刷電路板,并且往電路板上安裝這些元件也需要一些制造成本,對于只采用無源元件的設(shè)計來說,這個安裝成本是不能忽略的。
圖3
圖4
圖5
給出了另外一種保護(hù)方法,它有兩種作用:一是電容和電阻構(gòu)成一個低通濾波器,用來減小輸入信號的尖脈沖,而低頻信號能夠通過;二是低通濾波器還有靜電保護(hù)的功能。 下面討論這種設(shè)計,如果是理想電容器,1個0.1 μF的電容串聯(lián)一個22 kΩ電阻就能夠提供靜電保護(hù)。但是實際器件是不會工作在理想狀態(tài)下的,在電路中,有等效串聯(lián)電阻和等效串聯(lián)電感存在,如圖8所示。
圖7
電容生產(chǎn)商通常會給出圖表,用來描述他們生產(chǎn)的電容器的典型ESR(等效串聯(lián)電阻)和ESL(等效串聯(lián)電感),方便設(shè)計者建立適當(dāng)?shù)碾娐纺P停治鲭娐返墓ぷ髟?。但是建立這樣的模型還是很困難,因為電路模型中有些器件的參數(shù)是不好確定的。解決這一困難的方法只有通過實驗去驗證,這要增加試驗設(shè)備的成本。 電路中的防靜電保護(hù)裝置還有瞬態(tài)電壓抑制器TVS(Transient Voltage Suppressor),它是一種二極管形式的高效能保護(hù)器件。當(dāng)TVS二極管的兩極受到反向瞬態(tài)高能量沖擊時,它能以10-12秒量級的速度,將其兩極間的高阻抗變?yōu)榈妥杩?,吸收高達(dá)數(shù)kW的浪涌功率,使兩極間的電壓箝位于一個預(yù)定值,有效地保護(hù)電子線路中的精密元器件,免受各種浪涌脈沖的損壞。由于它具有響應(yīng)時間快、瞬態(tài)功率大、漏電流低、擊穿電壓偏差小、箝位電壓較易控制、無損壞極限、體積小等優(yōu)點,已廣泛應(yīng)用于計算機(jī)、數(shù)碼相機(jī)等精密電子設(shè)備的保護(hù)電路中。如圖9所示,是一個在實踐中被很好保護(hù)的輸入引腳,其中L1是電感線圈,用來減少射頻干擾。 圖9所示電路對于大多數(shù)設(shè)計來說顯得過分復(fù)雜,但如果不使用光電隔離器件,對于精密的設(shè)計或者條件要求嚴(yán)格的設(shè)計來說,圖9所示電路是最好的。在這樣的設(shè)計中,元件價格和電路板元件位置的排列也是要考慮的要素。 由于在制造金屬膜電阻時,金屬線中插入了一些絕緣層來改變金屬線的幾何結(jié)構(gòu)以達(dá)到一個準(zhǔn)確的電阻值,而這使得靜電容易從絕緣面滲入金屬層。使用這種類型電阻構(gòu)成的電路有兩種后果:第一,當(dāng)有靜電電壓時,實際有效電阻值會比其標(biāo)稱值小;第二,容易形成電離通道,改變電阻的實際值。表面貼片電阻有另外一個問題,那就是當(dāng)有靜電電壓時,它們與金屬層的焊接點會形成發(fā)熱點,這是由于金屬表面不均勻的電流密度引起的。這樣會造成貼片電阻被靜電電流燒毀,在電路中選用電阻時,普通的炭膜電阻是最好的選擇。 圖9光電隔離器件也可以用于數(shù)字輸入
引腳靜電保護(hù)和防干擾,它們可以用來隔離幾kV的電壓,而輸入設(shè)備必須提供比CMOS門電路需要的電流大1000 倍的輸入電流給光電隔離器件。光電隔離器件轉(zhuǎn)換速度比較慢,并且在設(shè)計中還要考慮如何保護(hù)光電隔離器件中的LED不受靜電的破壞,設(shè)計中,要根據(jù)設(shè)計的需要進(jìn)行合適的選擇。 結(jié)語 輸入接口設(shè)計是
嵌入式控制器系統(tǒng)的關(guān)鍵部分,因為
嵌入式控制器外部數(shù)據(jù)的接收,外部設(shè)備狀態(tài)的反饋都要通過接口才能交給處理器。設(shè)計輸入
端口時主要考慮兩個方面的實際情況:一是負(fù)載能力,即輸入信號能否被控制器接收,二是靜電的防護(hù),現(xiàn)在很多處理器采用CMOS工藝封裝,這能夠滿足低功耗的要求,同時對靜電防護(hù)要求更高。