<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于接口技術(shù)方面的基本知識

          關(guān)于接口技術(shù)方面的基本知識

          作者: 時間:2011-06-01 來源:網(wǎng)絡(luò) 收藏

          CPU與外部設(shè)備、存儲器的連接和數(shù)據(jù)交換都需要通過設(shè)備來實現(xiàn),前者被稱為I/O,而后者則被稱為存儲器。存儲器通常在CPU的同步控制下工作,接口電路比較簡單;而I/O設(shè)備品種繁多,其相應(yīng)的接口電路也各不相同,因此,習(xí)慣上說到接口只是指I/O接口。

          本文引用地址:http://www.ex-cimer.com/article/150666.htm

            一、I/0接口的概念

            1.接口的分類

            I/O接口的功能是負責(zé)實現(xiàn)CPU通過系統(tǒng)總線把I/O電路和外圍設(shè)備聯(lián)系在一起,按照電路和設(shè)備的復(fù)雜程度,I/O接口的硬件主要分為兩大類:

            1)I/O接口芯片

            這些芯片大都是集成電路,通過CPU輸入不同的命令和參數(shù),并控制相關(guān)的I/O電路和簡單的外設(shè)作相應(yīng)的操作,常見的接口芯片如定時/計數(shù)器、中斷控制器、DMA控制器、并行接口等。

            2)I/O接口控制卡

            有若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統(tǒng)總線插槽上。

            按照接口的連接對象來分,又可以將他們分為串行接口、并行接口、鍵盤接口和磁盤接口等。

            2.接口的功能

            由于計算機的外圍設(shè)備品種繁多,幾乎都采用了機電傳動設(shè)備,因此,CPU在與I/O設(shè)備進行數(shù)據(jù)交換時存在以下問題:

            速度不匹配:I/O設(shè)備的工作速度要比CPU慢許多,而且由于種類的不同,他們之間的速度差異也很大,例如硬盤的傳輸速度就要比打印機快出很多。

            時序不匹配:各個I/O設(shè)備都有自己的定時控制電路,以自己的速度傳輸數(shù)據(jù),無法與CPU的時序取得統(tǒng)一。

            信息格式不匹配:不同的I/O設(shè)備存儲和處理信息的格式不同,例如可以分

            為串行和并行兩種;也可以分為二進制格式、ACSII編碼和BCD編碼等。

            信息類型不匹配:不同I/O設(shè)備采用的信號類型不同,有些是數(shù)字信號,而 有些是模擬信號,因此所采用的處理方式也不同。

            基于以上原因,CPU與外設(shè)之間的數(shù)據(jù)交換必須通過接口來完成,通常接口有以下一些功能:

            1)設(shè)置數(shù)據(jù)的寄存、緩沖邏輯,以適應(yīng)CPU與外設(shè)之間的速度差異,接口通常由一些寄存器或RAM芯片組成,如果芯片足夠大還可以實現(xiàn)批量數(shù)據(jù)的傳輸;

            2)能夠進行信息格式的轉(zhuǎn)換,例如串行和并行的轉(zhuǎn)換;

            3)能夠協(xié)調(diào)CPU和外設(shè)兩者在信息的類型和電平的差異,如電平轉(zhuǎn)換驅(qū)動器、數(shù)/?;蚰#瘮?shù)轉(zhuǎn)換器等;

            4)協(xié)調(diào)時序差異;

            5)地址譯碼和設(shè)備選擇功能;

            6)設(shè)置中斷和DMA控制邏輯,以保證在中斷和DMA允許的情況下產(chǎn)生中斷和DMA請求信號,并在接受到中斷和DMA應(yīng)答之后完成中斷處理和DMA傳輸。

            3.接口的控制方式

            CPU通過接口對外設(shè)進行控制的方式有以下幾種:

            1)程序查詢方式

            這種方式下,CPU通過I/O指令詢問指定外設(shè)當前的狀態(tài),如果外設(shè)準備就緒,則進行數(shù)據(jù)的輸入或輸出,否則CPU等待,循環(huán)查詢。

            這種方式的優(yōu)點是結(jié)構(gòu)簡單,只需要少量的硬件電路即可,缺點是由于CPU的速度遠遠高于外設(shè),因此通常處于等待狀態(tài),工作效率很低。

            2)中斷處理方式

            在這種方式下,CPU不再被動等待,而是可以執(zhí)行其他程序,一旦外設(shè)為數(shù)據(jù)交換準備就緒,可以向CPU提出服務(wù)請求,CPU如果響應(yīng)該請求,便暫時停止當前程序的執(zhí)行,轉(zhuǎn)去執(zhí)行與該請求對應(yīng)的服務(wù)程序,完成后,再繼續(xù)執(zhí)行原來被中斷的程序。

            中斷處理方式的優(yōu)點是顯而易見的,它不但為CPU省去了查詢外設(shè)狀態(tài)和等待外設(shè)就緒所花費的時間,提高了CPU的工作效率,還滿足了外設(shè)的實時要求。但需要為每個I/O設(shè)備分配一個中斷請求號和相應(yīng)的中斷服務(wù)程序,此外還需要一個中斷控制器(I/O接口芯片)管理I/O設(shè)備提出的中斷請求,例如設(shè)置中斷屏蔽、中斷請求優(yōu)先級等。

            此外,中斷處理方式的缺點是每傳送一個字符都要進行中斷,啟動中斷控制器,還要保留和恢復(fù)現(xiàn)場以便能繼續(xù)原程序的執(zhí)行,花費的工作量很大,這樣如果需要大量數(shù)據(jù)交換,系統(tǒng)的性能會很低。

            3)DMA(直接存儲器存?。﹤魉头绞?/p>

            DMA最明顯的一個特點是它不是用軟件而是采用一個專門的控制器來控制內(nèi)存與外設(shè)之間的數(shù)據(jù)交流,無須CPU介入,大大提高CPU的工作效率。

            在進行DMA數(shù)據(jù)傳送之前,DMA控制器會向CPU申請總線控制權(quán),CPU如果允許,則將控制權(quán)交出,因此,在數(shù)據(jù)交換時,總線控制權(quán)由DMA控制器掌握,在傳輸結(jié)束后,DMA控制器將總線控制權(quán)交還給CPU。

            二、常見接口

            1.并行接口

            目前,計算機中的并行接口主要作為打印機端口,接口使用的不再是36針接頭而是25針D形接頭。所謂“并行”,是指8位數(shù)據(jù)同時通過并行線進行傳送,這樣數(shù)據(jù)傳送速度大大提高,但并行傳送的線路長度受到限制,因為長度增加,干擾就會增加,容易出錯。

            現(xiàn)在有五種常見的并口:4位、8位、半8位、EPP和ECP,大多數(shù)PC機配有4位或8位的并口,許多利用INTEL386芯片組的便攜機配有EPP口,支持全部IEEE1284并口規(guī)格的計算機配有ECP并口。

            標準并行口4位、8位、半8位:

            4位口一次只能輸入4位數(shù)據(jù),但可以輸出8位數(shù)據(jù);8位口可以一次輸入和輸出8位數(shù)據(jù);半8位也可以。

            EPP口(增強并行口):由INTEL等公司開發(fā),允許8位雙向數(shù)據(jù)傳送,可以連接各種非打印機設(shè)備,如掃描儀、LAN適配器、磁盤驅(qū)動器和CDROM 驅(qū)動器等。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();