8259A概述
8259A是專門為了對8085A和8086/8088進行中斷控制而設計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設定是在初始化時通過軟件進行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài),編程狀態(tài)是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態(tài)。
8259A主要功能
功能:就是在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當前優(yōu)先級最高的中斷請求,再將此請求送到cpu的INTR端;當cpu響應中斷并進入中斷子程序的處理過程后,中斷控制器仍負責對外部中斷請求的管理。
8259A的主要功能如下:
①一片8259A可以接受并管理8級可屏蔽中斷請求,通過8片8259A級聯(lián)可擴展至63級可屏蔽中斷優(yōu)先控制。
②對每一級中斷都可以通過程序來屏蔽或允許。
③在中斷響應周期,8259A可為CPU提供相應的中斷類型碼。
④具有多種工作方式,并可通過編程來加以選擇。
8259a的5種工作方式
1.中斷優(yōu)先權方式
8259A中斷優(yōu)先權的管理方式有固定優(yōu)先權方式和自動循環(huán)優(yōu)先權方式兩種。
1)固定優(yōu)先權方式
在固定優(yōu)先權方式中,IR7~IR0的中斷優(yōu)先權的級別是由系統(tǒng)確定的。
它們由高到低的優(yōu)先級順序是:IR0,IR1,IR2,…,IR7,其中,IR0的優(yōu)先級最高,IR7的優(yōu)先級最低。當有多個IRi請求時,優(yōu)先權判決器(PR)將它們與當前正在處理的中斷源的優(yōu)先權進行比較,選出當前優(yōu)先權最高的IRi,向CPU發(fā)出中斷請求INT,請求為其服務。
(2)自動循環(huán)優(yōu)先權方式
在自動循環(huán)優(yōu)先權方式中,IR7~IR0優(yōu)先權級別是可以改變的。
其變化規(guī)律是:當某一個中斷請求IRi服務結束后,該中斷的優(yōu)先權自動降為最低,而緊跟其后的中斷請求IR(i+1)的優(yōu)先權自動升為最高,IR7~IR0優(yōu)先權級別按如下所示的右循環(huán)方式改變。
假設在初始狀態(tài)IR0有請求,CPU為其服務完畢,IR0優(yōu)先權自動降為最低,排在IR7之后,而其后的IR1的優(yōu)先權升為最高,其余依次類推。這種優(yōu)先權管理方式,可以使8個中斷請求都擁有享受同等優(yōu)先服務的權利。
在自動循環(huán)優(yōu)先權方式中,按確定循環(huán)時的最低優(yōu)先權的方式不同,又分為普通自動循環(huán)方式和特殊自動循環(huán)方式兩種。
普通自動循環(huán)方式的特點是:IR7~IR0中的初始最高優(yōu)先級由系統(tǒng)指定,即指定IR0的優(yōu)先級最高,以后按右循環(huán)規(guī)則進行循環(huán)排隊。
而特殊自動循環(huán)方式的特點是:IR7~IR0中的初始最低優(yōu)先級,由用戶通過置位優(yōu)先權命令指定。
2.中斷嵌套方式
8259A的中斷嵌套方式分為完全嵌套和特殊完全嵌套兩種。
(1)完全嵌套方式
完全嵌套方式是8259A在初始化時自動進入的一種最基本的優(yōu)先權管理方式.
其特點是:中斷優(yōu)先權管理為固定方式,即IR0優(yōu)先權最高,IR7優(yōu)先權最低,在CPU中斷服務期間(即執(zhí)行中斷服務子程序過程中),若有新的中斷請求到來,只允許比當前服務的中斷請求的優(yōu)先權“高”的中斷請求進入,對于“同級”或“低級”的中斷請求禁止響應。
(2)特殊完全嵌套方式
特殊完全嵌套方式是8259A在多片級聯(lián)方式下使用的一種最基本的優(yōu)先權管理方式。
其特點是:中斷優(yōu)先權管理為固定方式,IR7~IR0的優(yōu)先順序與完全嵌套規(guī)定相同;與完全嵌套方式不同之處是在CPU中斷服務期間,除了允許高級中斷請求進入外,還允許同級中斷請求進入,從而實現(xiàn)了對同級中斷請求的特殊嵌套。
在級聯(lián)方式下,主片通常設置為特殊完全嵌套方式,從片設置為完全嵌套方式。當主片為某一個從片的中斷請求服務時,從片中的IR7~IR0的請求都是通過主片中的某個IRi請求引入的。因此從片的IR7~IR0對于主片IRi來說,它們屬于同級,只有主片工作于特殊完全嵌套方式時,從片才能實現(xiàn)完全嵌套。
3.中斷屏蔽方式
中斷屏蔽方式是對8259A的外部中斷源IR7~IR0實現(xiàn)屏蔽的一種中斷管理方式,有普通屏蔽方式和特殊屏蔽方式兩種。
(1)普通屏蔽方式
普通屏蔽方式是通過8259A的中斷屏蔽寄存器(IMR)來實現(xiàn)對中斷請求IRi的屏蔽。由編程寫入操作命令字OCW1,將IMR中的Di位置1,以達到對IRi(i=0~7)中斷請求的屏蔽。
(2)特殊屏蔽方式
特殊屏蔽方式允許低優(yōu)先級中斷請求中斷正在服務的高優(yōu)先級中斷。這種屏蔽方式通常用于級聯(lián)方式中的主片,對于同一個請求IRi上連接有多個中斷源的場合,可以通過編程寫入操作命令字OCW3來設置或取消。
在特殊屏蔽方式中,可在中斷服務子程序中用中斷屏蔽命令來屏蔽當前正在處理的中斷,同時可使ISR中的對應當前中斷的相應位清0,這樣一來不僅屏蔽了當前正在處理的中斷,而且也真正開放了較低級別的中斷請求。
在這種情況下,雖然CPU仍然繼續(xù)執(zhí)行較高級別的中斷服務子程序,但由于ISR中對應當前中斷的相應位已經(jīng)清0,如同沒有響應該中斷一樣。所以,此時對于較低級別的中斷請求,8259A仍然能產(chǎn)生INT中斷請求,CPU也會響應較低級別的中斷請求。
4.中斷結束方式
中斷結束方式是指CPU為某個中斷請求服務結束后,應及時清除中斷服務標志位,否則就意味著中斷服務還在繼續(xù),致使比它優(yōu)先級低的中斷請求無法得到響應。中斷服務標志位存放在中斷服務寄存器(ISR)中,當某個中斷源IRi被響應后,ISR中的Di位被置1,服務完畢應及時清除。
8259A提供了以下三種中斷結束方式:
(1)自動結束方式
自動結束方式是利用中斷響應信號的第二個負脈沖的后沿,將ISR中的中斷服務標志位清除。
這種中斷服務結束方式是由硬件自動完成的,需要注意的是:ISR中為“1”位的清除是在中斷響應過程中完成的,并非中斷服務子程序的真正結束,若在中斷服務子程序的執(zhí)行過程中有另外一個比當前中斷優(yōu)先級低的請求信號到來,因8259A并沒有保存任何標志來表示當前服務尚未結束,致使低優(yōu)先級中斷請求進入,打亂正在服務的程序,因此這種方式只適合用在沒有中斷嵌套的場合。
(2)普通結束方式
普通結束方式是通過在中斷服務子程序中編程寫入操作命令字OCW2,向8259A傳送一個普通EOI(endofinterrupt)命令(不指定被復位的中斷的級號)來清除ISR中當前優(yōu)先級別最高位。
由于這種結束方式是清除ISR中優(yōu)先權級別最高的那一位,適合使用在完全嵌套方式下的中斷結束。因為在完全嵌套方式下,中斷優(yōu)先級是固定的,8259A總是響應優(yōu)先級最高的中斷,保存在ISR中的最高優(yōu)先級的對應位,一定對應于正在執(zhí)行的服務程序。
(3)特殊結束方式
特殊結束方式是通過在中斷服務子程序中編程寫入操作命令字OCW2,向8259A傳送一個特殊EOI命令(指定被復位的中斷的級號)來清除ISR中的指定位。
由于在特殊EOI命令中明確指出了復位ISR中的哪一位,不會因嵌套結構出現(xiàn)錯誤。因此,它可以用于完全嵌套方式下的中斷結束,更適用于嵌套結構有可能遭到破壞的中斷結束。
5.中斷觸發(fā)方式
8259A中斷請求輸入端IR7~IR0的觸發(fā)方式有電平觸發(fā)和邊沿觸發(fā)兩種,由初始化命令字ICW1中的LTIM位來設定。
當LTIM設置為1時,為電平觸發(fā)方式,8259A檢測到IRi(i=0~7)端有高電平時產(chǎn)生中斷。在這種觸發(fā)方式中,要求觸發(fā)電平必須保持到中斷響應信號有效為止,并且在CPU響應中斷后,應及時撤銷該請求信號,以防止CPU再次響應,出現(xiàn)重復中斷現(xiàn)象。
當LTIM設置為0時,為邊沿觸發(fā)方式,8259A檢測到IRi端有由低到高的跳變信號時產(chǎn)生中斷。
-
8259A
+關注
關注
0文章
6瀏覽量
8321 -
中斷屏蔽
+關注
關注
0文章
4瀏覽量
6772 -
中斷控制
+關注
關注
0文章
26瀏覽量
8957
發(fā)布評論請先 登錄
相關推薦
8259A芯片是一種什么類型的芯片?從硬件看中斷之8259A

求助!!!protues的8259仿真問題
請問有關于shadow register的工作方式的詳細介紹文檔嗎?
介紹UPS電源的四種工作方式
8251A編程字的相關資料分享
GPIO基本結構和工作方式介紹
串行口的工作方式0介紹
AD級聯(lián)的工作方式配置和AD雙排序的工作方式配置詳細說明

評論