圖是分級優先級編碼器電路。在維基百科上描述,優先級編碼器是一種電子電路或算法,可將多個二進制輸入壓縮成較少數量的輸出。優先級編碼器的輸出是從最高有效輸入位的零開始的序數的二進制表示。它們通常用于通過處理最高優先級的請求來控制中斷請求?!?/p>
異常優先級編碼器僅對最高階數據線進行編碼。但在許多情況下,不僅需要最高優先級信息,而且還需要次高優先級信息。這里介紹的電路對8行輸入數據的最高優先級信息和次高優先級信息進行編碼。該電路使用標準八進制優先級編碼器74148,它是一個8線到3線(4-2-1)二進制編碼器,具有“低”有效數據輸入和輸出。
第一個編碼器(IC1)生成最高優先級值,例如F。IC1的有效“低”輸出(A0、A1、A2)由門N9到N11反轉并饋送到3線到8線解碼器(74138),需要有源“高”輸入。解碼輸出為“低”有效。解碼器識別最高優先級的數據線,并使用XNOR門(N1到N8)取消該數據值,以保留由第二個編碼器生成的第二高優先級值。
為了理解邏輯,讓輸入數據線表示為L0到L7。Lp是最高優先級線路(有效-“低”),Lq是次高優先級線路(有效-“低”)。因此Lp=0和Lq=0。Lp之上以及Lp和Lq之間的所有線(表示為Lj)都處于邏輯1。Lq邏輯狀態之下的所有線都是不相關的,即“不關心”。這里p是最高優先級值,q是次高優先級值。(顯然,q必須小于p,并且p的最小可能值被視為“1”。)
優先級編碼器IC1生成二進制輸出F2、F1、F0,它表示“低電平有效”格式的p值。補碼后的F2、F1和F0被施加到3線到8線(八個輸出中的一個為“低電平”有效)解碼器74138。讓74138的輸出線表示為M0到M7?,F在在M0到M7中只有一條線是“低”有效的,那就是Mp(其中p的值如上所述)。因此Mp線的邏輯電平為“0”,其他M條線的邏輯電平為“1”。
如圖所示,使用八個XNOR門取消了最高優先級的線。讓XNOR門的輸出線為N0到N7。考慮相應XNOR門的輸入Lp和Mp。因為Mp=0并且Lp=0,所以這個XNOR門的輸出是Np=Lp=1的補碼。所有其他L”都不會改變,因為相應的M”都是1”。因此,數據線N0到N7與L0到L7相同,只是L0到L7中的最高優先級在N0到N7中被取消。
N0到N7中的最高優先級是從L0到L7剩余的第二高優先級,即Nq=0和Nj=1用于q到優先級編碼器2(IC3)以生成代表q的S2、S1、S0。因此提取第二高的優先級值。通過級聯可以恢復第三高的優先級,以此類推。
例如,讓L0到L7=XXX01101。這里最高的“0”行是L6,次高的行是L3(X表示“不關心”)。因此p=6和q=3?,F在第一優先級編碼器的“低”有效輸出將為F2F1F0=001。74138的輸入為110,它輸出M0到M7=11111101。由于M6=0,只有L6由XNOR門補充。
因此,XNOR的輸出為N0到N7=XXX01111?,F在N3=0,“N”的最高優先級為3。優先級編碼器2(IC3)將該值恢復為S2S1S0=100。
-
電路
+關注
關注
172文章
5928瀏覽量
172424 -
編碼器
+關注
關注
45文章
3647瀏覽量
134706
發布評論請先 登錄
相關推薦
評論