在數字系統裡,常常需要將某一資訊(輸入)變換為某一特定的程式碼(輸出)。把二進位制碼按一定的規律編排,例如8421碼、格雷碼等,使每組程式碼具有一特定的含義(代表某個數字或控制訊號)稱為編碼。具有編碼功能的邏輯電路稱為編碼器。編碼器有若干個輸入,在某一時刻只有一個輸入訊號被轉換成為二進位制碼。如果一個編碼器有N個輸入端和n個輸出端,則輸出端與輸入端之間應滿足關係N≤2n。例如8線—3線編碼器和10線—4線編碼器分別有8輸入、3位二進位制碼輸出和10輸入、4位二進位制碼輸出。
▲ 4線—2線編碼器
下面分析4輸入、2位二進位制輸出的編碼器的工作原理。
該邏輯電路可以實現如表1所示的功能,即當I0~I3中某一個輸入為1,輸出 Y1Y0即為相對應的程式碼,例如當I1為1時,Y1Y0為01。這裡還有一個問題請讀者注意。當I0為1,I1~I3都為0和I0~I3均為0時Y1Y0 都是00,而這兩種情況在實際中是必須加以區分的,這個問題留待後面加以解決。當然,編碼器也可以設計為低電平有效。
▲ 鍵盤輸入8421BCD碼編碼器
計算機的鍵盤輸入邏輯電路就是由編碼器組成。圖2是用十個按鍵和閘電路組成的8421碼編碼器,其功能如表2所示, 其中S0~S9代表十個按鍵,即對應十進位制數0~9的輸入鍵,它們對應的輸出程式碼正好是8421BCD碼,同時也把它們作為邏輯變數,ABCD 為輸出程式碼(A為最高位),GS為控制使能標誌。
對功能表和邏輯電路進行分析,都可得知:①該編碼器為輸入低電平有效;②在按下S0~S9中任意一個鍵時,即輸入訊號中有一個為有效電平時,GS=1,代表有訊號輸入,而只有S0~S9均為高電平時GS=0,代表無訊號輸入,此時的輸出程式碼0000為無效程式碼。由此解決了前面提出的如何區分兩種情況下輸出都是全0的問題。
▲ 優先編碼器
上述機械式按鍵編碼電路雖然比較簡單,但當同時按下兩個或更多個鍵時,其輸出將是混亂的。在數字系統中,特別是在計算機系統中,常常要控制幾個工作物件,例如微型計算機主機要控制印表機、磁碟驅動器、輸入鍵盤等。當某個部件需要實行操作時,必須先送一個訊號給主機(稱為服務請求),經主機識別後再發出允許操作訊號(稱為服務響應),這裡會有幾個部件同時發出服務請求的可能,而在同一時刻只能給其中一個部件發出允許操作訊號。因此,必須根據輕重緩急,規定好這些控制物件允許操作的先後次序,即優先級別。識別這類請求訊號的優先級別並進行編碼的邏輯部件稱為優先編碼器。4線—2線優先編碼器的功能表如表3所示。
編碼器的工作原理和種類
編碼器(encoder)是將訊號(如位元流)或資料進行編制、轉換為可用以通訊、傳輸和儲存的訊號形式的裝置。編碼器把角位移或直線位移轉換成電訊號,前者稱為碼盤,後者稱為碼尺。按照讀出方式編碼器可以分為接觸式和非接觸式兩種;按照工作原理編碼器可分為增量式和絕對式兩類。增量式編碼器是將位移轉換成周期性的電訊號,再把這個電訊號轉變成計數脈衝,用脈衝的個數表示位移的大小。絕對式編碼器的每一個位置對應一個確定的數字碼,因此它的示值只與測量的起始和終止位置有關,而與測量的中間過程無關。
根據檢測原理,編碼器可分為光學式、磁式、感應式和電容式。根據其刻度方法及訊號輸出形式,可分為增量式、絕對式以及混合式三種。
增量式編碼器:增量式編碼器是直接利用光電轉換原理輸出三組方波脈衝A、B和Z相;A、B兩組脈衝相位差90度,從而可方便的判斷出旋轉方向,而Z相為每轉一個脈衝,用於基準點定位。它的優點是原理構造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合於長距離傳輸。其缺點是無法輸出軸轉動的絕對位置資訊。
絕對式編碼器:絕對式編碼器是直接輸出數字的感測器,在它的圓形碼盤上沿徑向有若干同心碼盤,每條道上有透光和不透光的扇形區相間組成,相鄰碼道的扇區樹木是雙倍關係,碼盤上的碼道數是它的二進位制數碼的位數,在碼盤的一側是光源,另一側對應每一碼道有一光敏元件,當碼盤處於不同位置時,各光敏元件根據受光照與否轉換出相應的電平訊號,形成二進位制數。這種編碼器的特點是不要計數器,在轉軸的任意位置都可讀出一個固定的與位置相對應的數字碼。顯然,碼道必須N條碼道。目前國內已有16位的絕對編碼器產品。
混合式絕對編碼器:混合式絕對編碼器,它輸出兩組資訊,一組資訊用於檢測磁極位置,帶有絕對資訊功能;另一組則完全同增量式編碼器的輸出資訊。
在數字系統裡,常常需要將某一資訊(輸入)變換為某一特定的程式碼(輸出)。把二進位制碼按一定的規律編排,例如8421碼、格雷碼等,使每組程式碼具有一特定的含義(代表某個數字或控制訊號)稱為編碼。具有編碼功能的邏輯電路稱為編碼器。編碼器有若干個輸入,在某一時刻只有一個輸入訊號被轉換成為二進位制碼。如果一個編碼器有N個輸入端和n個輸出端,則輸出端與輸入端之間應滿足關係N≤2n。例如8線—3線編碼器和10線—4線編碼器分別有8輸入、3位二進位制碼輸出和10輸入、4位二進位制碼輸出。
▲ 4線—2線編碼器
下面分析4輸入、2位二進位制輸出的編碼器的工作原理。
該邏輯電路可以實現如表1所示的功能,即當I0~I3中某一個輸入為1,輸出 Y1Y0即為相對應的程式碼,例如當I1為1時,Y1Y0為01。這裡還有一個問題請讀者注意。當I0為1,I1~I3都為0和I0~I3均為0時Y1Y0 都是00,而這兩種情況在實際中是必須加以區分的,這個問題留待後面加以解決。當然,編碼器也可以設計為低電平有效。
▲ 鍵盤輸入8421BCD碼編碼器
計算機的鍵盤輸入邏輯電路就是由編碼器組成。圖2是用十個按鍵和閘電路組成的8421碼編碼器,其功能如表2所示, 其中S0~S9代表十個按鍵,即對應十進位制數0~9的輸入鍵,它們對應的輸出程式碼正好是8421BCD碼,同時也把它們作為邏輯變數,ABCD 為輸出程式碼(A為最高位),GS為控制使能標誌。
對功能表和邏輯電路進行分析,都可得知:①該編碼器為輸入低電平有效;②在按下S0~S9中任意一個鍵時,即輸入訊號中有一個為有效電平時,GS=1,代表有訊號輸入,而只有S0~S9均為高電平時GS=0,代表無訊號輸入,此時的輸出程式碼0000為無效程式碼。由此解決了前面提出的如何區分兩種情況下輸出都是全0的問題。
▲ 優先編碼器
上述機械式按鍵編碼電路雖然比較簡單,但當同時按下兩個或更多個鍵時,其輸出將是混亂的。在數字系統中,特別是在計算機系統中,常常要控制幾個工作物件,例如微型計算機主機要控制印表機、磁碟驅動器、輸入鍵盤等。當某個部件需要實行操作時,必須先送一個訊號給主機(稱為服務請求),經主機識別後再發出允許操作訊號(稱為服務響應),這裡會有幾個部件同時發出服務請求的可能,而在同一時刻只能給其中一個部件發出允許操作訊號。因此,必須根據輕重緩急,規定好這些控制物件允許操作的先後次序,即優先級別。識別這類請求訊號的優先級別並進行編碼的邏輯部件稱為優先編碼器。4線—2線優先編碼器的功能表如表3所示。
編碼器的工作原理和種類
編碼器(encoder)是將訊號(如位元流)或資料進行編制、轉換為可用以通訊、傳輸和儲存的訊號形式的裝置。編碼器把角位移或直線位移轉換成電訊號,前者稱為碼盤,後者稱為碼尺。按照讀出方式編碼器可以分為接觸式和非接觸式兩種;按照工作原理編碼器可分為增量式和絕對式兩類。增量式編碼器是將位移轉換成周期性的電訊號,再把這個電訊號轉變成計數脈衝,用脈衝的個數表示位移的大小。絕對式編碼器的每一個位置對應一個確定的數字碼,因此它的示值只與測量的起始和終止位置有關,而與測量的中間過程無關。
根據檢測原理,編碼器可分為光學式、磁式、感應式和電容式。根據其刻度方法及訊號輸出形式,可分為增量式、絕對式以及混合式三種。
增量式編碼器:增量式編碼器是直接利用光電轉換原理輸出三組方波脈衝A、B和Z相;A、B兩組脈衝相位差90度,從而可方便的判斷出旋轉方向,而Z相為每轉一個脈衝,用於基準點定位。它的優點是原理構造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合於長距離傳輸。其缺點是無法輸出軸轉動的絕對位置資訊。
絕對式編碼器:絕對式編碼器是直接輸出數字的感測器,在它的圓形碼盤上沿徑向有若干同心碼盤,每條道上有透光和不透光的扇形區相間組成,相鄰碼道的扇區樹木是雙倍關係,碼盤上的碼道數是它的二進位制數碼的位數,在碼盤的一側是光源,另一側對應每一碼道有一光敏元件,當碼盤處於不同位置時,各光敏元件根據受光照與否轉換出相應的電平訊號,形成二進位制數。這種編碼器的特點是不要計數器,在轉軸的任意位置都可讀出一個固定的與位置相對應的數字碼。顯然,碼道必須N條碼道。目前國內已有16位的絕對編碼器產品。
混合式絕對編碼器:混合式絕對編碼器,它輸出兩組資訊,一組資訊用於檢測磁極位置,帶有絕對資訊功能;另一組則完全同增量式編碼器的輸出資訊。