通常采用的有三種I/O控制方式:程序控制方式、中斷控制方式和直接存儲器存取方式。
在進行微機控制系統設計時,可按不同要求來選擇各外圍設備的控制方式。
1.程序控制方式
程序控制I/O方式是指CPU和外圍設備之間的信息傳送是在程序控制下進行的。它又可分為無條件I/O方式和查詢式I/O方式。
(1)無條件I/O方式
無條件傳送方式的工作原理如圖1所示。
![]() 圖1 無條件傳送方式I/O接口的電路原理圖
(2)查詢式I/O方式
查詢式I/O方式也稱為條件傳送方式。按查詢式I/O方式傳送信息時,CPU和外圍設備的I/O接口除需設置數據端口外,還要有狀態端口。查詢式I/O接口電路的原理框圖如圖2所示。 ![]() 圖2 查詢式I/O方式接口電路的原理框圖
查詢式I/O方式是微機控制系統中經常采用的方式。假設某微機控制系統中采用查詢式對1#、2#、3#三個外圍設備進行I/O管理,其查詢和I/O處理的簡化程序流程圖如圖3所示。
![]() 圖3 查詢式I/O處理簡化程序流程圖
2.中斷控制I/O方式
為了提高CPU的效率和使系統具有良好的實時性,可以采用中斷控制I/O方式。
在中斷傳送時的接口電路如圖4所示。 ![]() 圖4 中斷傳送方式的接口電路
微機控制系統中,可能設計有多個中斷源,且多個中斷源可能同時提出中斷請求。多重中斷處理必須注意如下四個問題:
(1)保存現場和恢復現場。
(2)正確判斷中斷源。
(3)實時響應。
(4)按優先權順序處理。
3.直接存儲器存。DMA)方式
利用中斷方式進行數據傳送,可以大大提高CPU的利用率。但在中斷方式下,仍必須通過CPU執行程序來完成數據的傳送。每進行一次數據傳送,就要執行一次中斷過程,其中保護和恢復斷點、保護和恢復寄存器內容的操作與數據傳送沒有直接關系,但會花費掉CPU的不少時間。 DMA的工作流程如圖5所示。
![]() 圖5 DMA的工作流程圖
實現上述操作的DMA控制器的硬件框圖如圖6所示。 ![]() 圖6 DMA控制器框圖
![]() 圖7 8237A的內部編程結構和外部連接 |
電工學習網 ( )
GMT+8, 2021-12-6 21:19