鎖存器

鎖存器

鎖存器(Latch)是一種對脈衝電平敏感的存儲單元電路,它們可以在特定輸入脈衝電平作用下改變狀態。鎖存,就是把信號暫存以維持某種電平狀態。鎖存器的最主要作用是快取,其次完成高速的控制器與慢速的外設的不同步問題,再其次是解決驅動的問題,最後是解決一個 I/O 口既能輸出也能輸入的問題。鎖存器是利用電平控制數據的輸入,它包括不帶使能控制的鎖存器和帶使能控制的鎖存器。

基本介紹

  • 中文名:鎖存器
  • 外文名:Latch
  • 性質:一種對脈衝電平敏感的存儲單元
  • 特點:可以在特定輸入脈衝電平作用下
描述,原理,套用場合,注意事項,

描述

鎖存器,Latch,是數字電路中的一種具有記憶功能的邏輯元件。鎖存,就是把信號暫存以維持某種電平狀態,在數字電路中則可以記錄二進制數位訊號“0”和“1”。
只有在有鎖存信號時輸入的狀態被保存到輸出,直到下一個鎖存信號。通常只有0和1兩個值。
邏輯結構與功能表
8位鎖存器74LS373的邏輯圖如圖所示。其中使能端G加入CP信號,D為數據信號。輸出控制信號為0時,鎖存器的數據通過三態門進行輸出。
鎖存器
累加Latch:
微處理器運算器部分主要電路結構。
作用是防止算術邏輯單元(Arithmetic Logic Unit, ALU) 的輸出通過累加器(A)直接反饋到ALU的輸入端。

原理

CMOS反相器的功能是可以使輸出獲得跟輸入相反的邏輯值,那如果把兩個反相器的輸入跟輸出連線在一起會出現什麼情況呢?我們來看下圖,假設某個時刻反相器A的輸入是1,那么其輸出會是0;因為A的輸出連線到B的輸入端,即反相器B的輸入為0,那么其輸出會變為1;又因為B的輸出連線到A的輸入端,即B輸出的1反饋回A的輸入,對剛才假設的“A的輸入為1”進行了確認和加強。此時A的輸入確實為1,按A和B的輸入輸出連線關係,又走了一遍剛才的路程,如此循環,結果是反相器A的輸出穩定為0,反相器B的輸出穩定為1。這個結構的電路有兩個穩定的狀態,一般稱之為雙穩態電路。可見類似的雙穩態電路可以穩定地保持其節點中的值(數據),具有記憶功能,這就是鎖存器工作的原理。
鎖存器原理1鎖存器原理1
從上面介紹可看出,首尾相接的兩個反相器構成了互相反饋耦合的形態,這就是鎖存器的基本電路結構。但是這裡是基於一個假設,假設反相器A的輸入為1,那么它的輸出為0,兩個反相器連在一起通過互相反饋加強,則能保持0和1兩個值。如果沒有這個假設,它能保存的值將是不確定的。這類似於“雞生蛋還是蛋生雞”的謎局,要將此電路當鎖存器使用,就必須打破這個“是輸入先有0,還是輸出先反饋回1”的僵局。於是給它加了兩個輸入端,由於反相器只有1個輸入,因此改用或非門來代替。電路結構如下圖,根據或非門“只要有一個輸入為1,其輸出就為0”的特性,當R為1時,雖然有反饋存在,也可以強制輸出Q=0;當S為1時,則強制輸出Q=1。這就是R-S鎖存器,R意為Reset,清零的意思;S意為Set,置1的意思。
鎖存器原理2鎖存器原理2
R-S鎖存器的結構是最基本的鎖存結構,實際套用中一般會進行各種改造和擴展,至少會加一個輸入端作為控制信號,該信號有效時,鎖存器能持續地輸入、輸出數據。其控制信號一般為高電平,因此鎖存器是一種對脈衝電平敏感的存儲單元電路,可以在特定輸入脈衝電平作用下改變狀態。鎖存器的最主要作用是快取,除了特殊用途如異步電路或很簡單的邏輯,其他場合已經很少直接套用鎖存器,因為其結構簡單而且對電平敏感,不適合在主流的對時鐘敏感的積體電路中套用。一般都是使用以鎖存器為基礎的觸發器或暫存器。

套用場合

所謂鎖存器,就是輸出端的狀態不會隨輸入端的狀態變化而變化,僅在有鎖存信號時輸入的狀態才被保存到輸出,直到下一個鎖存信號到來時才改變。
鎖存器多用於積體電路中,在數字電路中作為時序電路的存儲元件,在某些運算器電路中有時採用鎖存器作為數據暫存器
封裝為獨立的產品後也可以單獨套用,數據有效延遲於時鐘信號有效。這意味著時鐘信號先到,數據信號後到。
在某些套用中,單片機的I/O 口上需要外接鎖存器。例如,當單片機連線片外存儲器時,要接上鎖存器,這是為了實現地址的復用。假設,MCU連線埠其中的 8 路的 I/O 管腳既要用於地址信號又要用於數據信號,這時就可以用鎖存器先將地址鎖存起來。
8051訪問外部存儲器時P0口和P2口共同做為地址匯流排,P0口常接鎖存器再接存儲器。以防止匯流排間的衝突。而P2口直接接存儲器。因為單片機內部時序只能鎖住P2口的地址,如果用P0口傳輸數據時不用鎖存器的話,地址就改變了。
看看8051單片機匯流排操作的時序圖對我們很有幫助。由於數據匯流排地址匯流排共用P0口,所以要分時復用。先送地址信息,由ALE使能鎖存器將地址信息鎖存在外設的地址端,然後送數據信息和讀寫使能信號,在指定的地址進行讀寫操作。
使用鎖存器來區分開單片機的地址和數據,8051系列的單片機用的比較多,也有一些單片機內部有地址鎖存功能,如8279就不用鎖存器了。

注意事項

並不是一定要接鎖存器,要看其地址線和數據線的安排,只有數據和地址線復用的情況下才會需要鎖存器,其目的是防止在傳數據時,地址線被數據所影響! 這是由單片機數據與地址匯流排復用造成的,接 RAM 時加鎖存器是為了鎖存地址信號
如果單片機匯流排接口只作一種用途,不需要接鎖存器;如果單片機的匯流排接口要作兩種用途,就要用兩個鎖存器。例如:一個口要控制兩個 LED,對第一個 LED 送數據時,“打開”第一個鎖存器而“鎖住”第二個鎖存器,使第二個 LED 上的數據不變。對第二個 LED 送數據時,“打開”第二個鎖存器而“鎖住”第一個鎖存器,使第一個 LED 上的數據不變。如果單片機的一個口要做三種用途,則可用三個鎖存器,操作過程相似。然而在實際套用中,我們並不這樣做,只用一個鎖存器就可以了,並用一根 I/O 口線作為對鎖存器的控制之用(接 74373 的LE,而OE可恆接地)。所以,就這一種用法而言,可以把鎖存器視為單片機的 I/O 口的擴展器。

相關詞條

熱門詞條

聯絡我們