![微機系統(tǒng)與接口課件:Ch5_5f第五章 數(shù)字量輸入輸出(5)_第1頁](http://file4.renrendoc.com/view/c3be505182b8cdca19b6378cc7277e4e/c3be505182b8cdca19b6378cc7277e4e1.gif)
![微機系統(tǒng)與接口課件:Ch5_5f第五章 數(shù)字量輸入輸出(5)_第2頁](http://file4.renrendoc.com/view/c3be505182b8cdca19b6378cc7277e4e/c3be505182b8cdca19b6378cc7277e4e2.gif)
![微機系統(tǒng)與接口課件:Ch5_5f第五章 數(shù)字量輸入輸出(5)_第3頁](http://file4.renrendoc.com/view/c3be505182b8cdca19b6378cc7277e4e/c3be505182b8cdca19b6378cc7277e4e3.gif)
![微機系統(tǒng)與接口課件:Ch5_5f第五章 數(shù)字量輸入輸出(5)_第4頁](http://file4.renrendoc.com/view/c3be505182b8cdca19b6378cc7277e4e/c3be505182b8cdca19b6378cc7277e4e4.gif)
![微機系統(tǒng)與接口課件:Ch5_5f第五章 數(shù)字量輸入輸出(5)_第5頁](http://file4.renrendoc.com/view/c3be505182b8cdca19b6378cc7277e4e/c3be505182b8cdca19b6378cc7277e4e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章 數(shù)字量輸入輸出(5)*概念:總線、接口電路、接口芯片、端口地址 *中斷及其處理 中斷控制器8259 *定時器/計數(shù)器 *并行/串行I/O DMA電路與應(yīng)用1并行通信回顧1、數(shù)據(jù)的各位同時在多根并行傳輸線上進行傳輸。 多根數(shù)據(jù)線距離短、線路費用高 (空間時間)2、并行通信適于短距離、高速通信;長距離通信 串行通信2串行通信基礎(chǔ)串行通信:將數(shù)據(jù)分解成二進制位用一條信號線,一位一位順序傳送的方式串行通信的優(yōu)勢:用于通信的線路少,因而在遠距離通信時可以極大地降低成本串行通信適合于遠距離數(shù)據(jù)傳送,也常用于速度要求不高的近距離數(shù)據(jù)傳送PC系列機上鍵盤、鼠標(biāo)器與主機間采用串行數(shù)據(jù)傳送31. 異步通信
2、串行通信時的數(shù)據(jù)、控制和狀態(tài)信息都使用同一根信號線傳送收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程),才能解決傳送速率、信息格式、位同步、字符同步、數(shù)據(jù)校驗等問題串行異步通信以字符為單位進行傳輸,其通信協(xié)議是起止式異步通信協(xié)議4起止式異步通信協(xié)議起始位每個字符開始傳送的標(biāo)志,起始位采用邏輯0電平起始位校驗位停止位空閑位數(shù)據(jù)位低位高位字符0/10/10/10/110111數(shù)據(jù)位數(shù)據(jù)位緊跟著起始位傳送。由58個二進制位組成,低位先傳送校驗位用于校驗是否傳送正確;可選擇奇檢驗、偶校驗或不傳送校驗位停止位表示該字符傳送結(jié)束。停止位采用邏輯1電平,可選擇1、1.5或2位空閑位傳送字符之間的邏輯1電平,表示沒
3、有進行傳送5數(shù)據(jù)傳輸速率數(shù)據(jù)傳輸速率也稱比特率(Bit Rate)每秒傳輸?shù)亩M制位數(shù)bps字符中每個二進制位持續(xù)的時間長度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù)當(dāng)進行二進制數(shù)碼傳輸,且每位時間長度相等時,比特率還等于波特率(Baud Rate)過去,串行異步通信的數(shù)據(jù)傳輸速率限制在50 bps到9600 bps之間?,F(xiàn)在,可以達到115200 bps或更高62. 同步通信以一個數(shù)據(jù)塊(幀)為傳輸單位,每個數(shù)據(jù)塊附加1個或2個同步字符,最后以校驗字符結(jié)束同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,但硬件電路比較復(fù)雜串行同步通信主要應(yīng)用在網(wǎng)絡(luò)當(dāng)中同步字符數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)校驗字符73. 傳輸制式全雙工站A站B站A站B
4、站A站B半雙工單工示例84. 調(diào)制解調(diào)器調(diào)制(Modulating)把數(shù)字信號轉(zhuǎn)換為電話線路傳送的模擬信號解調(diào)(Demodulating)將電話線路的模擬信號轉(zhuǎn)換為數(shù)字信號調(diào)制解調(diào)器MODEM具有調(diào)制和解調(diào)功能的器件合制在一個裝置9串行接口標(biāo)準(zhǔn)RS-232C美國電子工業(yè)協(xié)會EIA制定的通用標(biāo)準(zhǔn)串行接口1962年公布,1969年修訂1987年1月正式改名為EIA-232D設(shè)計目的是用于連接調(diào)制解調(diào)器現(xiàn)已成為數(shù)據(jù)終端設(shè)備DTE(例如計算機)與數(shù)據(jù)通信設(shè)備DCE(例如調(diào)制解調(diào)器)的標(biāo)準(zhǔn)接口可實現(xiàn)遠距離通信,也可近距離連接兩臺微機屬于網(wǎng)絡(luò)層次結(jié)構(gòu)中的最低層:物理層1011異步串行通信接口標(biāo)準(zhǔn)RS-42
5、2使用差分信號,傳輸速率提高到10Mbps,傳輸距離延長到4000英尺,允許在一條平衡總線上連接最多10個接收器。RS-232使用非平衡參考地的信號。支持點對多的雙向通信。RS422通過兩對雙絞線可以全雙工工作收發(fā)互不影響RS-485增加了多點、雙向通信能力,即允許多個發(fā)送器連接到同一條總線上。RS-485采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器12RS-232C的引腳定義232C接口標(biāo)準(zhǔn)使用一個25針連接器絕大
6、多數(shù)設(shè)備只使用其中9個信號,所以就有了9針連接器13RS-232引腳14RS-232C的引腳(1)TxD:發(fā)送數(shù)據(jù)串行數(shù)據(jù)的發(fā)送端RxD:接收數(shù)據(jù)串行數(shù)據(jù)的接收端15RS-232C的引腳(2)RTS:請求發(fā)送當(dāng)數(shù)據(jù)終端設(shè)備準(zhǔn)備好送出數(shù)據(jù)時,就發(fā)出有效的RTS信號,用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)備接收數(shù)據(jù)CTS:清除發(fā)送(允許發(fā)送)當(dāng)數(shù)據(jù)通信設(shè)備已準(zhǔn)備好接收數(shù)據(jù)終端設(shè)備的傳送數(shù)據(jù)時,發(fā)出CTS有效信號來響應(yīng)RTS信號RTS和CTS是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間一對用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號16RS-232C的引腳(3)DTR:數(shù)據(jù)終端準(zhǔn)備好通常當(dāng)數(shù)據(jù)終端設(shè)備一加電,該信號就有效,表明數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒DS
7、R:數(shù)據(jù)裝置準(zhǔn)備好通常表示數(shù)據(jù)通信設(shè)備(即數(shù)據(jù)裝置)已接通電源連到通信線路上,并處在數(shù)據(jù)傳輸方式DTR和DSR也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間的聯(lián)絡(luò)信號,例如應(yīng)答數(shù)據(jù)接收17RS-232C的引腳(4)GND:信號地為所有的信號提供一個公共的參考電平CD:載波檢測(DCD)當(dāng)本地調(diào)制解調(diào)器接收到來自對方的載波信號時,通知終端準(zhǔn)備接收數(shù)據(jù)的信號RI:振鈴指示當(dāng)調(diào)制解調(diào)器接收到對方的撥號信號期間,該引腳信號作為電話鈴響的指示、保持有效18RS-232C的引腳(5)保護地(機殼地)起屏蔽保護作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或大地TxC:發(fā)送器時鐘控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時
8、鐘信號RxC:接收器時鐘控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信號19RS-232C的連接微機利用232C接口連接調(diào)制解調(diào)器,用于實現(xiàn)通過電話線路的遠距離通信微機利用232C接口直接連接進行短距離通信。這種連接不使用調(diào)制解調(diào)器,所以被稱為零調(diào)制解調(diào)器(Null Modem)連接20連接調(diào)制解調(diào)器電話線MODEM微機2345678202223456782022MODEM23456782022數(shù)據(jù)裝置準(zhǔn)備好DSR數(shù)據(jù)終端準(zhǔn)備好DTR發(fā)送數(shù)據(jù)TxD接收數(shù)據(jù)RxD請求發(fā)送RTS允許發(fā)送CTS信號地GND載波檢測CD振鈴指示RI微機2345678202221不使用聯(lián)絡(luò)信號的3線相連方式微機TxDRxDGND微機
9、為了交換信息,TxD和RxD應(yīng)當(dāng)交叉連接程序中不必使RTS和DTR有效也不應(yīng)檢測CTS和DSR是否有效 22“偽”使用聯(lián)絡(luò)信號的3線相連方式RTS和CTS各自互接,DTR和DSR各自互接表明請求傳送總是允許、數(shù)據(jù)裝置總準(zhǔn)備好微機DSRDTRTxDRxDRTSCTSGND微機23使用聯(lián)絡(luò)信號的多線相連方式通信比較可靠所用連線較多,不如前者經(jīng)濟微機DSRDTRTxDRxDRTSCTSGND微機24RS-232C的電氣特性232C接口采用EIA電平高電平為3V25V 低電平為3V25V實際常用12V或15V標(biāo)準(zhǔn)TTL電平高電平:2.4V5V低電平:0V0.4V相互轉(zhuǎn)換252627RS-232接口電路
10、2829長線收發(fā)器Liner-Tranceiver30長線收發(fā)器Liner-Tranceiver31長線收發(fā)器Liner-Tranceiver32異步串行通信控制器(接口芯片:Ins8250, i8251)串行傳輸,需要并行到串行和串行到并行的轉(zhuǎn)換,并按照傳輸協(xié)議發(fā)送和接收每個字符(或數(shù)據(jù)塊)這些工作可由軟件實現(xiàn),也可用硬件實現(xiàn)通用異步接收發(fā)送器UART是串行異步通信的接口電路芯片IBM PC/XT機的UART芯片是INS 8250338250的內(nèi)部結(jié)構(gòu)8250實現(xiàn)了起止式串行異步通信協(xié)議,支持全雙工通信通信字符可選擇數(shù)據(jù)位為58位停止位1、1.5或2位可進行奇偶校驗具有奇偶、幀和溢出錯誤檢測
11、電路8250支持的數(shù)據(jù)傳輸速率為509600bps34異步串行通信控制器接口芯片Ins82501M10M時鐘頻率PC/XT機: 外接1.8432MHZ(內(nèi)置波特率發(fā)生器,16分頻+內(nèi)分頻)波特率=1.8432MHz/除數(shù)寄存器值/16/DOSTR數(shù)據(jù)輸出選通=/IOW;/ADS:地址選通/DISTR 數(shù)據(jù)輸入選通,接/IORMT主復(fù)位信號35UART內(nèi)部結(jié)構(gòu)P289圖5.53RXDTXD接收時鐘 RxC發(fā)送時鐘 TxC溢出錯誤幀格式錯誤奇偶錯誤36Ins8250內(nèi)部結(jié)構(gòu)P289 Fig.5.53中斷UARTMODEM16X波特率串行輸出輸入1M10M(TTL)握手線37 DLAB Regist
12、er (PC COM1 )A2 -A0000 0 3F8 寫發(fā)送寄存器讀接收寄存器 000 1 3F8 除(分頻系)數(shù)寄存器低字節(jié)001 1 3F9 除(分頻系)數(shù)寄存器高字節(jié)001 0 3F9 中斷允許R(1允許P293圖5.59)010 X 3FA 中斷識別R(P294圖5.60)011 * 3FB 通信線路控制R( 除數(shù)標(biāo)志DLAB,字符格式)100 * 3FC MODEM控制R(自檢,RTS請求發(fā)送,DTR數(shù)據(jù)終端準(zhǔn)備好輸出)101 * 3FD 線路狀態(tài)R(P291圖5.56)110 * 3FE MODEM狀態(tài)R(P293圖5.58)111 * 3FF不用 Ins8250寄存器P289
13、 表 5.10 38Ins8250工作過程發(fā)送 數(shù)據(jù)發(fā)送保持寄存器發(fā)送移位寄存器先低后高位Sout端串行移位送出。(Modem控制R)條件: (1)Modem狀態(tài)R (2)線路狀態(tài)R:數(shù)據(jù)發(fā)送保持寄存器空THRE(D6),發(fā)送(移位)寄存器空TEMT(D5)接收 先低后高位Sin端串行移位接收移位寄存器數(shù)據(jù)接收緩沖寄存器。(每16個RCLK脈沖對應(yīng)一個數(shù)據(jù)位:10起始位采樣8次為0才有效(以后中點讀)-起始位(P290圖5.54)條件: 線路狀態(tài)R:正確接收數(shù)據(jù)就緒DR(D0)=1否則出錯/中止符檢測(長0-D4)/幀格式/P校驗D2/溢出D1中斷: 中斷允許寄存器 接收數(shù)據(jù)就緒/發(fā)送寄存器空
14、/接收錯/Modem狀態(tài)變化39串行數(shù)據(jù)的發(fā)送并行數(shù)據(jù)加入起始位、校驗位、停止位串行數(shù)據(jù)CPU發(fā)送保持寄存器發(fā)送移位寄存器同步控制8250SOUT0/10/10/10/1雙緩沖寄存器結(jié)構(gòu)保證數(shù)據(jù)的連續(xù)發(fā)送40串行數(shù)據(jù)的接收并行數(shù)據(jù)檢測接收錯誤刪除起始位、校驗位、停止位串行數(shù)據(jù)CPU接收緩沖寄存器接收移位寄存器同步控制8250SIN0/10/10/10/1雙緩沖寄存器結(jié)構(gòu)保證數(shù)據(jù)的連續(xù)接收41接收錯誤的處理奇偶錯誤PE(Parity Error)若接收到的字符的“1”的個數(shù)不符合奇偶校驗要求幀錯誤FE(Frame Error)若接收到的字符格式不符合規(guī)定(如缺少停止位)溢出錯誤OE(Overru
15、n Error)若接收移位寄存器接收到一個數(shù)據(jù),并送至輸入緩沖器時,CPU還未取走前一個數(shù)據(jù),就會出現(xiàn)數(shù)據(jù)溢出424級中斷接收線路狀態(tài)中斷奇偶錯、溢出錯、幀錯接收器數(shù)據(jù)準(zhǔn)備好中斷發(fā)送保持寄存器空中斷調(diào)制解調(diào)器狀態(tài)中斷清除發(fā)送狀態(tài)改變數(shù)據(jù)終端準(zhǔn)備好狀態(tài)改變振鈴接通變成斷開接收線路信號檢測狀態(tài)改變優(yōu)先權(quán)高優(yōu)先權(quán)高優(yōu)先權(quán)低43初始化編程(約定數(shù)據(jù)通信規(guī)范) MOV AL,10000000B;80H,置線路控制R的D71(DLAB= 1) MOV DX,2FBH ;線路控制R地址,置DLAB波特率計數(shù)值 OUT DX,AL MOV AL,0CH ;置產(chǎn)生9600波特率,除數(shù)鎖存器置低8位 MOV DX
16、,2F8H OUT DX,AL MOV AL,00H ;除數(shù)鎖存器置高8位 INC DX ;不是中斷允許寄存器 OUT DX,AL要求以9600波特率進行異步通訊,每字符8位,2個停止位,允許發(fā)送和接收中斷。異步通訊的端口地址為2F82FFH1843.2KHz/16/9600=12=0CH44初始化編程(P294) MOV AL,00000111B ;DLAB=0,設(shè)置數(shù)據(jù)格式為8位字符,兩個停止位 MOV DX,2FBH ;線路控制寄存器 OUT DX,AL MOV AL,00000011B ;允許發(fā)送器空和接收器滿中斷 MOV DX,2F9H ; 中斷允許寄存器 OUT DX,AL MOV
17、 AL,0000l0llB ;/OUT2/RTS/DTR信號有效 MOV DX,2FCH;Modem控制寄存器 OUT DX,AL DLAB 終止位奇偶校驗位停止位長數(shù)據(jù)位 D7 D6 D5 D4 D3 D2 D1 D0000=無 001奇 011=偶 0=正常 1終止0=1位1 1.5/20=正常 00=5 01=6 10=7 11=8 45中斷編程當(dāng)發(fā)送器空或接收器滿時,8250向CPU申請中斷,中斷服務(wù):INTPRG: PUSHA MOV BX, TBUFPT;發(fā)送區(qū)TBUFPT DW ? MOV DX,2FAH IN AL,DX ;讀中斷識別寄存器內(nèi)容 TEST AL,02H JNZ
18、TRAN ;發(fā)送緩沖器空,轉(zhuǎn)TRANRECV: MOV BX,RBUFPT ;接受區(qū)RBUFPT DW ? MOV DX,2F8H ;否則,接受寄存器,接收數(shù)據(jù) IN AL,DX MOV BX,AL ;存數(shù)據(jù) JMP BACK TRAN:MOV DX,2F8H ;寫發(fā)送寄存器,發(fā)送數(shù)據(jù) MOV AL,BX OUT DX,ALBACK: IRETINC BXMOV AL,20HOUT 20H,AL46Ins8250通信控制1.8250編程:初始化(波特率、格式)2.通信方式一:查詢式:線路狀態(tài) 寫/讀3F8收發(fā)R;簡單,低效 MODEM(握手)查詢 3.通信方式二:中斷:中斷允許4種可選(復(fù)雜、
19、高效,實時)附注:直接應(yīng)用PC機的BIOS調(diào)用實現(xiàn)通信控制:INT 14H47通用同步/異步收發(fā)器i8251Ai8251通用同步異步收發(fā)器DIP28,+5V,C/D(2個寄存器/口地址), RxRDY/TxRDY, 同步64K/異步19.2K , 三檔分頻產(chǎn)生波特率48通用同步/異步收發(fā)器i8251A結(jié)構(gòu)工作時鐘=1/16/64倍波特率(可選)49寫按先后次序區(qū)分,芯片設(shè)計約定:凡是初始化有關(guān)的方式、命令和同步字或者讀取狀態(tài)字,訪問芯片的奇地址,凡是傳送數(shù)據(jù),訪問芯片的偶地址。 異步:模式,控制命令;同步:模式,同步字符,控制命令 中斷:外接電路(RxRDY+TxRDY)i8251A寄存器1R
20、xRDYTxRDYIRQ2RxRDYTxRDYIRQ250i8251A流程圖51(格式和同步/異步參數(shù))方式控制指令-異步模式i8251A模式寄存器S2S1EPPENL2L1B2B1 00:同步方式 01:異步方式(1) 10:異步方式(16) 11:異步方式(64) 00:字符長度為5位 01:字符長度為6位 10:字符長度為7位 11:字符長度為8位1:帶奇偶校驗0:不帶奇偶校驗1:偶校驗0:奇校驗00 無效01 1位停止位10 1.5位停止位11 2位停止位11 1個同步字符,外同步SYNDET為輸入10 1個同步字符,內(nèi)同步SYNDET為輸出01 2個同步字符,外同步SYNDET為輸入
21、00 2個同步字符,內(nèi)同步SYNDET為輸出異步方式:停止位數(shù)同步方式(可忽略)52控制寄存器:搜索同步字符EN,內(nèi)部復(fù)位IR,/RTS,ER清除錯誤標(biāo)志位 ,使TxD成低電平(發(fā)空白字符)SBRK,輸入使能RxE (1允許) ,/DTR,輸出使能TxEN(1允許)工作方式狀態(tài)寄存器:DSR(1=/DSR低電平) , SYNDET(同引腳) FE(Frame Err) OE(Overflow Err), PE(Parity Err奇偶校驗錯誤) TxE(同引腳,串發(fā)送器空) , RxRDY(同引腳,接收器準(zhǔn)備就緒,1=有字符待取走-可作中斷請求或查詢聯(lián)絡(luò)線) TxRDY(1=輸出緩沖區(qū)空)i8
22、251A控制/狀態(tài)寄存器(Ax=1) D7 D6 D5 D4 D3 D2 D1 D0ENIRRTSERSBRK RxE DTR TxEN53串行通信應(yīng)用RS-232電平轉(zhuǎn)換電路外設(shè)/微機54串行通信應(yīng)用SNDINI:MOV DX,CTRL8251 MOV AL,7FH ;將8251A定義為異步方式, OUT DX,AL; 模式寄存器,8位數(shù)據(jù),1位停止位,偶校驗,波特率系數(shù)為64 MOV AL,11H; 控制寄存器,清除錯誤標(biāo)志位,允許發(fā)送。 OUT DX,AL MOV DI,SBUF ;發(fā)送數(shù)據(jù)塊首地址設(shè)置發(fā)送指針 MOV CX,COUNT ;發(fā)送數(shù)據(jù)塊字節(jié)數(shù)/計數(shù)值NEXT:MOV DX,
23、CTRL8251;狀態(tài)寄存器 IN AL,DX AND AL,01H ;查詢TXRDY有效否? JZ NEXT軟件編程: 實驗教材發(fā)送端初始化程序與發(fā)送控制程序 CTRL51為8251A控制/狀態(tài)端口,DATA51為數(shù)據(jù)端口;接收數(shù)據(jù)塊首地址RBUF,發(fā)送數(shù)據(jù)塊首地址SBUF;發(fā)送數(shù)據(jù)塊字節(jié)數(shù)/計數(shù)值COUNT發(fā)送端55串行通信應(yīng)用(續(xù)) MOV DX,DATA8251 MOV AL,DI ;向8251A輸出一個字節(jié)數(shù)據(jù)。 OUT DX,AL INC DI LOOP NEXT :RCVINI: MOV DX,CTRL8251 MOV AL,7FH OUT DX,AL ;初始化8251A。 MO
24、V AL,04H OUT DX,AL ;允許接收接收端56MOV DI,RBUF MOV CX,COUNTRCVNEXT:MOV DX,CTRL8251 IN AL,DX ROR AL,1 ;查詢RXRDY有效否? ROR AL,1 JNC RCVNEXT ROR AL,1 ROR AL,1 ;查詢是否有奇偶校驗錯。 JC RCVERR ; =TEST AL,08H, JNZ MOV DX 8251A數(shù)據(jù)端口 IN AL,DX ;輸入一個字節(jié)到接收數(shù)據(jù)塊。 MOV DI,AL INC DI LOOP RCVNEXT :串行通信應(yīng)用(續(xù):接收)57實驗波形圖其中的TXD兩個bit(10)和TCL
25、OCK 58實驗波形圖根據(jù)實驗程序改寫成周期發(fā)送34H的結(jié)果,(格式字:8位無奇偶1位停止)1空閑0001011001(停止)0001011001 59異步串行通信小結(jié)1、通信格式:起始位數(shù)(1)起始位電平=0,停止,空閑=12、參數(shù):波特率BPS,數(shù)據(jù)位數(shù)(58),奇/偶/無校驗(0,1),停止位數(shù)(1,1.5,2)3、長線收發(fā)與RS232電平-收發(fā)調(diào)試:簡單I/O4、異步通信控制器的工作過程(雙緩沖) 串行異步通信格式(數(shù)據(jù))60CPU(總線)與外設(shè)間的數(shù)據(jù)傳送方式一、 無條件傳送方式二、 條件傳送方式 ( 查詢方式 )三、 中斷傳送方式四、 DMA傳送方式 ( Direct Memory
26、 Access )615.7 直接存儲器存取DMA (Direct Memory Access)CPUDMAC(i8237)內(nèi)存外設(shè)總線響應(yīng)總線請求62 1. 外設(shè)和內(nèi)存之間,直接進行數(shù)據(jù)傳送, 不通過CPU, 傳送效率高。 適用于在內(nèi)存與高速外設(shè)、 或兩個高速外設(shè)之間進行大批量數(shù)據(jù)傳送。 2. 電路結(jié)構(gòu)復(fù)雜,硬件開銷較大。 DMA傳送方式的特點 63 DMA 傳送方式(直接存儲器存取方式)實現(xiàn)方法1.由專用接口芯片 DMA 控制器( 稱 DMAC)控制傳送過程;2.當(dāng)外設(shè)需傳送數(shù)據(jù)時,通過DMAC向CPU發(fā)出總線請求;3.CPU發(fā)出總線響應(yīng)信號,釋放總線; 由CPU控制總線變?yōu)镈MAC控制4
27、. DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)傳送。64i8237-5 DMAC-8088實例DMA65直接存儲器存取DMA控制器DMAC 批量數(shù)據(jù)高速傳輸,關(guān)鍵:總線管理教材P304要求:一般性概念(原理),引腳,操作類型DMA:外部設(shè)備直接對存儲器讀寫(I/O方式) -不需CPU指令(硬件控制高速傳輸)。例:MEM-MEM, MEM-DAC(波型發(fā)生器)ADC-MEM高速采樣。時序/硬件設(shè)計-專門的(可編程)DMAC:初始化:首址、長度、工作模式(4種工作模式單字節(jié)/塊/請求傳輸/級連) (基本參數(shù))請求控制: 多設(shè)備請求時控制優(yōu)先級隊列;總線交接管理(握手:HRQ/DACK)DREQ
28、HRQ HLDA DACKDMA過程: 接管總線( AB/DB/CB),傳輸:地址/字節(jié)計數(shù)結(jié)束:EOP撤HRQ,總線控制交還MPU66性能: DIP40,+5V,分時處理4個通道,尋址/計數(shù)范圍64K 5MHZ下傳輸速率1.6M字節(jié)/S,0.6s/byte) ;工作模式: 單字節(jié)/塊/請求傳輸/級聯(lián); 同時使用通道0和1實現(xiàn)MEMMEM;兩種基本時序:正常/壓縮時序;i8237-5 DMAC67DMA通道的優(yōu)先權(quán)方式固定優(yōu)先權(quán)方式優(yōu)先權(quán)固定通道0優(yōu)先權(quán)最高,通道1其次,通道2再次,通道3最低循環(huán)優(yōu)先權(quán)方式優(yōu)先權(quán)循環(huán)變化最近一次服務(wù)的通道在下次循環(huán)中變成最低優(yōu)先權(quán),其他通道依次輪流相應(yīng)的優(yōu)先權(quán)
29、DMA傳送不存在嵌套688237的引腳功能請求/應(yīng)答信號外設(shè)接口電路向8237的請求信號:DREQ3DREQ08237對外設(shè)接口電路的應(yīng)答信號:DACK3DACK08237向CPU申請總線的信號:HRQ(連至CPU的HOLD)CPU向8237傳送的允許使用總線信號:HLDA698237的引腳功能地址信號 :CPU初始化8237或讀8237狀態(tài)時所需的片選信號A7A0(輸出):8237訪問存儲器的地址信號的低8位。A3A0(輸入):CPU初始化8237或讀8237狀態(tài)時,用于尋址8237內(nèi)部寄存器708237的引腳功能數(shù)據(jù)信號(雙向): DB7DB0CPU為主控時,可以通過I/O讀命令查詢823
30、7的狀態(tài)寄存器的內(nèi)容,或通過I/O寫命令對8237的內(nèi)部寄存器進行編程,數(shù)據(jù)傳送通過DB7DB08237為主控時, DB7DB0輸出要訪問的內(nèi)存地址的高8位,并通過ADSTB鎖存到外部地址鎖存器中,和A7A0輸出的低8位地址一起構(gòu)成16位地址718237的引腳功能地址允許信號:AEN8237作為主控時(8237控制總線),輸出AEN=1。8237作為從控時(CPU控制總線),輸出AEN=0。DMA傳輸結(jié)束信號: (雙向)當(dāng)DMAC內(nèi)部任一通道傳輸結(jié)束,8237發(fā)出若由外部給DMAC送入有效的 ,則強制DMAC內(nèi)部所有通道結(jié)束傳輸。728237的引腳功能MEMR/MEMW:8237發(fā)出的存儲器讀
31、/寫信號IOR/IOW:8237作為主控時,輸出的I/O讀/寫信號。8237作為從控時,CPU發(fā)出的I/O讀/寫信號,用于讀/寫8237738237的引腳功能ADSTB:地址選通信號用于啟動地址鎖存器READY:存儲器或I/O的就緒信號74DMA 時序圖(P304圖5.65)DMA時鐘周期Sx 空閑周期自外設(shè)到外設(shè)自CPU輸出CB輸出CB輸出DB輸出AB輸出CB輸出CB可作外設(shè)片選 自DMAC到CPU交出總線(AB/DB/CB)通常:塊傳輸模式時序75DMA傳輸過程(P303)傳送一個字節(jié)一般需要4個S狀態(tài),主要作用正常情況:S1:產(chǎn)生AEN信號并鎖存A15-A8,表示DMA傳送S2: 產(chǎn)生/
32、DACK信號并送出存儲器地址;響應(yīng)/控制S3: 讀數(shù)據(jù),檢測傳送能否完成,決定是否插入SwS4:寫數(shù)據(jù),完成數(shù)據(jù)傳送特殊情況: A15-A8不變(傳256個字節(jié)才變化一次),省去S1;壓縮讀推遲至S4;(高速讀寫同在S4)擴展(超前)寫提前到S3; 慢速電路:在S3、S4間插Sw使8237Ready端變低四種工作模式對應(yīng)不同周期變化(參考數(shù)據(jù)手冊)768237DMAC4種工作模式(單字節(jié)/塊/請求傳輸/級連)單字節(jié)(SINGLE TRANSFER MODE):CPU與DMAC輪流控制總線,每次DMA只傳送一個字節(jié) (C+-1,A+-1)后 交權(quán)(撤消HRQ),即使DREQ仍有效,CPU也要繼續(xù)
33、執(zhí)行指令,一個總線周期后再次響應(yīng)DMA請求(有可能輪流服務(wù)如DRAM刷新);塊BLOCK傳輸模式: /EOP結(jié)束(高效)連續(xù)傳送直到計數(shù)=0或外部/EOP有效(強制8237退出)-DREQ在DACK后可撤消。請求傳輸模式(DEMAND):(同塊模式但允許DREQ無效暫時打斷過程,每傳送一字節(jié)查詢DREQ信號,有效繼續(xù)傳送,無效退出DMA與外部慢速設(shè)備協(xié)調(diào),當(dāng)前地址和計數(shù)值保持在寄存器中,可繼續(xù)計數(shù))級連模式(CASCADE):擴展通道數(shù)(從片的每一通道作為DMA傳輸,主片則在從片和CPU之間傳遞握手信號,管理SLAVE的優(yōu)先權(quán))(可設(shè)置為重復(fù)模式:EOP控制自動寫入,,重復(fù)傳輸)77DMA傳送
34、類型DMA讀把數(shù)據(jù)由存儲器傳送到外設(shè)由MEMR*有效從存儲器讀出數(shù)據(jù),由IOW*有效把這一數(shù)據(jù)寫入外設(shè)DMA寫把外設(shè)輸入的數(shù)據(jù)寫入存儲器由IOR*有效從外設(shè)輸入數(shù)據(jù),由MEMW*有效把這一數(shù)據(jù)寫入存儲器。DMA檢驗空操作存儲器和I/O控制線保持無效,不進行傳送78存儲器到存儲器的傳送固定使用通道0和通道1通道0的地址寄存器存源區(qū)地址通道1的地址寄存器存目的區(qū)地址,通道1的字節(jié)數(shù)寄存器存?zhèn)魉偷淖止?jié)數(shù)傳送由設(shè)置通道0的軟件請求啟動每傳送一字節(jié)需用8個時鐘周期前4個時鐘周期用通道0地址寄存器的地址從源區(qū)讀數(shù)據(jù)送入8237A的臨時寄存器后4個時鐘周期用通道1地址寄存器的地址把臨時寄存器中的數(shù)據(jù)寫入目的
35、區(qū)79i8237-5 DMAC級連每片8237占用16個端口(A3-A0內(nèi)部譯碼決定)若主8237的某通道(DREQ)連接從8237的HRQ,主8237的該通道應(yīng)設(shè)置為級聯(lián)傳輸模式,但從8237不設(shè)置級聯(lián)傳輸模式,而是設(shè)置其它三種模式之一808237的編程結(jié)構(gòu)81A3 A0(4位地址信號,16個I/O口地址)0H 07H 當(dāng)前(基)地址當(dāng)前(基)字節(jié)數(shù)計數(shù)器 (通道0-3,每個通道順序占2個地址,對應(yīng)4個寄存器,16位,要分高低字節(jié)連續(xù)兩次讀寫)08H(/)寫命令寄存器 讀狀態(tài)寄存器09H ()請求(軟件請求-Ch0-3)0AH()寫屏蔽某一位(按CH),單屏蔽寄存器0BH()模式:模式/加-
36、減計數(shù)/重置/讀-寫0CH()清除高/低觸發(fā)器(0-L/1-H)0DH()讀暫存()主清除(軟件復(fù)位)0EH()清除屏蔽(一次全清),全清除寄存器0FH()寫屏蔽所有位(CH0-3),綜合屏蔽寄存器i8237-5 DMAC的寄存器尋址四個通道公用初始化:4種工作模式(單字節(jié)/塊/請求傳輸/級連),首(基)址、長度(字節(jié)數(shù):觸發(fā)器清零L/H基址寫入)表5.1382控制寄存器控制寄存器8位,4個通道共用,用于設(shè)定8237的信號形式、工作時序、傳輸方向。 端口地址08H信號形式:DREQ/DACK信號的有效形式。工作時序:普通時序(4個時鐘周期完成一次傳輸) 壓縮時序(3個時鐘周期完成一次傳輸)傳輸
37、方向:內(nèi)存 I/O(常用) I/O內(nèi)存(常用) 內(nèi)存內(nèi)存(PC系列機未用)838237A芯片命令字P3088237(控制)命令寄存器(+8H)184控制寄存器PC系列微型機中,BIOS初始化時將控制寄存器設(shè)為00H禁止內(nèi)存內(nèi)存的傳送,允許讀/寫操作,使用正常時序固定優(yōu)先級不擴展寫信號DREQ高電平有效DACK高電平有效858位,設(shè)定DMA的傳輸模式,4個通道的模式寄存器共用一個端口地址,端口地址0BH傳輸模式:單字節(jié)傳輸模式數(shù)據(jù)塊傳輸模式請求傳輸模式級聯(lián)傳輸模式模式寄存器868237模式寄存器(+0BH)不重置自動重置校驗傳輸用來對讀傳輸和寫傳輸功能進行校驗,它是一種虛擬傳輸,8237也會產(chǎn)生
38、存儲器地址信號,但不產(chǎn)生存儲器讀/寫、I/O讀/寫信號,校驗傳輸一般用于器件測試87狀態(tài)寄存器8位,4個通道共用,與控制寄存器共用一個端口地址端口地址08H記錄每個通道是否有請求、傳輸是否結(jié)束888237A芯片狀態(tài)字8237狀態(tài)寄存器(+08H)189暫存寄存器8位 , 端口地址0DH在內(nèi)存內(nèi)存?zhèn)鬏敃r,暫存數(shù)據(jù)。注意:內(nèi)存 I/O傳輸時,數(shù)據(jù)不進入8237內(nèi)部,只存在于數(shù)據(jù)總線上暫存寄存器90基地址寄存器和當(dāng)前地址寄存器每個通道一個基地址寄存器,一個當(dāng)前地址寄存器,16位 ,占用相同的端口地址基地址寄存器:DMA傳輸?shù)膬?nèi)存地址初值,在初始化時由CPU分兩次寫入。當(dāng)前地址寄存器:DMA傳輸過程中
39、,內(nèi)存地址的當(dāng)前值。每傳輸一字節(jié),該寄存器的值增1或減1。CPU可分兩次讀出其值。91基本字節(jié)計數(shù)器和當(dāng)前字節(jié)計數(shù)器每個通道一個基本字節(jié)計數(shù)器,一個當(dāng)前字節(jié)計數(shù)器,16位 ,占用相同的端口地址基字節(jié)計數(shù)器:DMA傳輸?shù)淖止?jié)數(shù)初值,在初始化時由CPU分兩次寫入。8237規(guī)定,初值比實際傳輸?shù)淖止?jié)數(shù)少1當(dāng)前字節(jié)計數(shù)器:DMA傳輸過程中,當(dāng)前的計數(shù)值。每傳輸一字節(jié),該寄存器的值減1。當(dāng)計數(shù)值減到FFFFH時,8237發(fā)出結(jié)束信號EOP。CPU可分兩次讀出其值。92高/低觸發(fā)器端口地址0CHCPU寫入基地址寄存器、基本字節(jié)計數(shù)器時,均分兩次寫入,高/低觸發(fā)器用于控制寫入的值是低8位還是高8位寫入過程:
40、使先/后觸發(fā)器=0。寫入低8位,先/后觸發(fā)器自動置1。寫入高8位,先/后觸發(fā)器自動置0。938237軟件請求寄存器(+09H)四個通道的請求觸發(fā)器構(gòu)成一個請求寄存器(8位)一般情況下,DMA請求由硬件信號DREQ發(fā)出,也可由軟件設(shè)置請求觸發(fā)器來發(fā)出DMA請求。對請求位的置位等效于外部產(chǎn)生一個有效的DREQ信號,二者的優(yōu)先級排隊情況也一樣,軟件請求不受屏蔽寄存器控制,但它只能用于塊傳送方式。存儲器到存儲器的傳送就只能用通道0的軟件請求啟動94單屏蔽寄存器8237單屏蔽寄存器(+0AH)95綜合屏蔽寄存器8237綜合屏蔽寄存器(+0FH)1:屏蔽;0:不屏蔽8237全清除寄存器(0EH),4個通道全開放96復(fù)位命令寄存器對端口0DH寫入0,使8237復(fù)位,其功能等同于硬件復(fù)位端口地址0DH8237復(fù)位后的狀態(tài)為: 控制寄存器 狀態(tài)寄存器 請求寄存器 暫存器 高/低觸發(fā)器 清0屏蔽寄存器 置1 978237對內(nèi)存和I/O的尋址存儲器尋址 在主控模式下,8237可以產(chǎn)生16位存儲器地址信號,地址引腳A7A0輸出地址低8位,高8位地址由數(shù)據(jù)引腳DB7DB0輸 出,經(jīng)地址鎖存器后形成存儲器地址的A15A8。用ADSTB啟動地址鎖存器。當(dāng)系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工包清工合同
- 高層建筑裝修安全合同范例
- 2025年度包裝咨詢行業(yè)集體勞動合同(含員工培訓(xùn))
- 二零二五年度辦公室智能化改造勞動合同模板
- 房屋買賣委托代理合同年
- 電子支付領(lǐng)域的風(fēng)險控制與安全管理
- 農(nóng)業(yè)產(chǎn)業(yè)鏈智能化改造與升級指南
- 合同轉(zhuǎn)包協(xié)議書
- 商品房買賣合同發(fā)布
- 勞務(wù)承包合同書樣本
- DL∕T 974-2018 帶電作業(yè)用工具庫房
- Unit 2 We're going to do some research(教案)-2023-2024學(xué)年湘少版(三起)英語五年級下冊
- 緊密型縣域醫(yī)療衛(wèi)生共同體慢病管理中心運行指南試行等15個指南
- 基金應(yīng)知應(yīng)會專項考試題庫(證券類190題)附有答案
- 快速入門穿越機-讓你迅速懂穿越機
- 水利安全生產(chǎn)風(fēng)險防控“六項機制”右江模式經(jīng)驗分享
- 幼兒園衛(wèi)生保健開學(xué)培訓(xùn)
- 食材配送服務(wù)售后服務(wù)方案
- 新目標(biāo)(goforit)版初中英語九年級(全一冊)全冊教案-unit
- 《如何做一名好教師》課件
- 2016-2023年婁底職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
評論
0/150
提交評論