版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第1010章章 串行接口和串行接口和DMADMA接口接口 10.1 串行通信的基本概念串行通信的基本概念 v串行通信定義串行通信定義 所謂串行通信就是一條信息的各位數(shù)據(jù)位在所謂串行通信就是一條信息的各位數(shù)據(jù)位在一個信道上一個信道上 按照固定的時間長度被按照固定的時間長度被逐位按順序逐位按順序傳送的通訊方式稱為串行傳送的通訊方式稱為串行 通訊。通訊。 D0 D1 D2 D3 D4 D5 D6 D7 t 串行通信的信息傳送速度低慢,信息率低,但串行串行通信的信息傳送速度低慢,信息率低,但串行 通信的成本低,適合遠(yuǎn)距離傳輸。通信的成本低,適合遠(yuǎn)距離傳輸。 v串行通信的數(shù)據(jù)傳送方式串行通信的數(shù)據(jù)傳送
2、方式 單工:接收方有接收器,發(fā)送單工:接收方有接收器,發(fā)送 方有發(fā)送器,方有發(fā)送器,數(shù)據(jù)只能一條信數(shù)據(jù)只能一條信 道單向傳送道單向傳送 全雙工:接收方和發(fā)送方各有全雙工:接收方和發(fā)送方各有 一組發(fā)送器和接收器,一組發(fā)送器和接收器,數(shù)據(jù)在數(shù)據(jù)在 兩條獨(dú)立的信道上同時進(jìn)行雙兩條獨(dú)立的信道上同時進(jìn)行雙 向傳送向傳送 半雙工:接收方和發(fā)送方各有半雙工:接收方和發(fā)送方各有 一組發(fā)送器和接收器,一組發(fā)送器和接收器,數(shù)據(jù)在數(shù)據(jù)在 一條共享的信道上分時進(jìn)行雙一條共享的信道上分時進(jìn)行雙 向傳送向傳送 發(fā)送器接收器 A站 B站 信號地 單工單工 發(fā)送器 接收器 接收器 發(fā)送器 A站 B站 信號地 全雙工全雙工 發(fā)
3、送器 接收器 發(fā)送器 接收器 A站 B站 信號地 半雙工半雙工 v串行通信的過程串行通信的過程 串口串口 電話線電話線 調(diào)制解調(diào)器調(diào)制解調(diào)器 計算機(jī)計算機(jī) 串行通訊控制器串行通訊控制器 調(diào)制解調(diào)器調(diào)制解調(diào)器 計算機(jī)計算機(jī) 串行通訊控制器串行通訊控制器 串口串口 將并行數(shù)據(jù)轉(zhuǎn)化將并行數(shù)據(jù)轉(zhuǎn)化 為串行數(shù)據(jù),聯(lián)為串行數(shù)據(jù),聯(lián) 絡(luò)絡(luò)CPU和調(diào)制解和調(diào)制解 調(diào)器的通信調(diào)器的通信 為調(diào)制解調(diào)器和為調(diào)制解調(diào)器和 串行通信控制器串行通信控制器 之間提供一個標(biāo)之間提供一個標(biāo) 準(zhǔn)接口,規(guī)定連準(zhǔn)接口,規(guī)定連 線的含義。線的含義。 將數(shù)字信號轉(zhuǎn)化將數(shù)字信號轉(zhuǎn)化 為模擬信號為模擬信號 將模擬信號轉(zhuǎn)化將模擬信號轉(zhuǎn)化 為數(shù)
4、字信號為數(shù)字信號 為調(diào)制解調(diào)器和為調(diào)制解調(diào)器和 串行通信控制器串行通信控制器 之間提供一個標(biāo)之間提供一個標(biāo) 準(zhǔn)接口,規(guī)定連準(zhǔn)接口,規(guī)定連 線的含義。線的含義。 將串行數(shù)據(jù)轉(zhuǎn)化將串行數(shù)據(jù)轉(zhuǎn)化 為并行數(shù)據(jù),聯(lián)為并行數(shù)據(jù),聯(lián) 絡(luò)絡(luò)CPU和調(diào)制解和調(diào)制解 調(diào)器的通信調(diào)器的通信 v串行通信相關(guān)概念串行通信相關(guān)概念 波特率:每秒傳送的數(shù)據(jù)位數(shù)波特率:每秒傳送的數(shù)據(jù)位數(shù) 標(biāo)準(zhǔn)波特率:標(biāo)準(zhǔn)波特率:110 300 600 1200 1800 2400 4800 9600 19200110 300 600 1200 1800 2400 4800 9600 19200 發(fā)送方發(fā)送發(fā)送方發(fā)送1 1個比特位所用的時間長
5、度稱為個比特位所用的時間長度稱為發(fā)送時鐘發(fā)送時鐘。 接受方接受接受方接受1 1個比特位所用的時間長度稱為個比特位所用的時間長度稱為接收時鐘接收時鐘。 起始位起始位 發(fā)送的數(shù)據(jù)發(fā)送的數(shù)據(jù) 1 10 01 10 00 01 1 接收的數(shù)據(jù)接收的數(shù)據(jù) 發(fā)送時鐘發(fā)送時鐘 接收時鐘接收時鐘 注意:串行通信中傳送距離隨著傳送速率的增加而減少。注意:串行通信中傳送距離隨著傳送速率的增加而減少。 波特率因子:收發(fā)時鐘倍頻于波特率的倍數(shù)稱為波特率因子波特率因子:收發(fā)時鐘倍頻于波特率的倍數(shù)稱為波特率因子 波特率因子波特率因子可以是可以是1 1,1616,3232,6464。 例如:如果波特率是例如:如果波特率是3
6、00300,波特率因子是,波特率因子是1616,則發(fā)送時鐘和接,則發(fā)送時鐘和接 收時鐘的頻率是收時鐘的頻率是48004800, 接收時鐘接收時鐘1616倍頻于波特率倍頻于波特率 1 1 0 0 0 0 接收時鐘接收時鐘 接收的數(shù)據(jù)接收的數(shù)據(jù) 8 8個個 起始位中心起始位中心 1616個個 位采樣位采樣 1616個個 位采樣位采樣 檢測到起始位檢測到起始位 異步通信協(xié)議:數(shù)據(jù)以異步通信協(xié)議:數(shù)據(jù)以單個字符為單位單個字符為單位在信道上傳輸,兩在信道上傳輸,兩 個字符之間的傳輸間隔是任意的,所以每個字符的前后要個字符之間的傳輸間隔是任意的,所以每個字符的前后要 加上一些特殊的數(shù)位作為分割位。加上一些
7、特殊的數(shù)位作為分割位。 v串行通信的工作方式串行通信的工作方式 空閑空閑 位位 停止位停止位 1,1.51,1.5或或 2位位 奇偶奇偶 校驗校驗 數(shù)據(jù)位數(shù)據(jù)位(58位位)起始位起始位 不限不限有有/無無 (先低后高位先低后高位) 1位位 0/101110/10/10/10/10/10 LSBMSB 第第n n個字符個字符 第第n+1n+1個字符個字符 起始位起始位:1:1位位, ,低電平,表示一個字符開始傳遞低電平,表示一個字符開始傳遞 數(shù)據(jù)位數(shù)據(jù)位:5:58 8位位, ,先低位后高位先低位后高位 校驗位校驗位:1:1位位/0/0位位, ,奇偶校驗奇偶校驗 停止位停止位:1:1位、位、1.5
8、1.5位或位或2 2位位, ,高電平,表示字符傳遞結(jié)束高電平,表示字符傳遞結(jié)束 異步傳輸?shù)膸袷疆惒絺鬏數(shù)膸袷?接收時鐘接收時鐘 發(fā)送時鐘發(fā)送時鐘 1 1 起始位起始位 0 0 發(fā)送的數(shù)據(jù)發(fā)送的數(shù)據(jù) 收發(fā)時鐘收發(fā)時鐘1616倍頻于波特率倍頻于波特率 接收的數(shù)據(jù)接收的數(shù)據(jù) 采用異步通信時,接收方總是在每個字符的起始位開采用異步通信時,接收方總是在每個字符的起始位開 始的時候進(jìn)行一次時鐘的重新定位,因此當(dāng)收發(fā)時鐘的偏始的時候進(jìn)行一次時鐘的重新定位,因此當(dāng)收發(fā)時鐘的偏 差不大時,不會產(chǎn)生采樣錯誤,但是異步通信的無用比特差不大時,不會產(chǎn)生采樣錯誤,但是異步通信的無用比特 位的比重很大。所以異步通信的
9、特點(diǎn)是位的比重很大。所以異步通信的特點(diǎn)是不要求雙方時鐘完不要求雙方時鐘完 全一致,但傳輸率比較低。全一致,但傳輸率比較低。 同步通信協(xié)議:數(shù)據(jù)以字符組為單位的在信道上傳輸,發(fā)同步通信協(xié)議:數(shù)據(jù)以字符組為單位的在信道上傳輸,發(fā) 送方在傳送的字符組前要加上同步字符,接受方以同步字送方在傳送的字符組前要加上同步字符,接受方以同步字 符作為接收的標(biāo)志。符作為接收的標(biāo)志。 發(fā)送方發(fā)送方 接收方接收方 同步字符同步字符同步字符同步字符字符字符字符字符字符字符 在同步傳輸中,由于收發(fā)雙方一次可以傳遞數(shù)據(jù)單位在同步傳輸中,由于收發(fā)雙方一次可以傳遞數(shù)據(jù)單位 是一個字符組,這就要求接收方要經(jīng)過多次采樣來接收數(shù)是一
10、個字符組,這就要求接收方要經(jīng)過多次采樣來接收數(shù) 據(jù),所以要求雙方時鐘完全一致,但是同步傳輸無用的信據(jù),所以要求雙方時鐘完全一致,但是同步傳輸無用的信 息量較少,所以傳送的效率高。因此同步通信的息量較少,所以傳送的效率高。因此同步通信的特點(diǎn)是發(fā)特點(diǎn)是發(fā) 送率高,但發(fā)送雙方要求嚴(yán)格的相同時鐘周期送率高,但發(fā)送雙方要求嚴(yán)格的相同時鐘周期。 SYNSYNSYNSYNSOHSOHTITLETITLESTXSTX正文正文ETX/ETBETX/ETBBCCBCC 幀信息各部分的含義:幀信息各部分的含義: SYN: SYN: 同步字段同步字段, ,單同步加單同步加1 1個個, ,雙同步加雙同步加2 2個。個。
11、 SOH: SOH: 序始字段序始字段, ,它表示標(biāo)題的開始,標(biāo)題中一般包括源地它表示標(biāo)題的開始,標(biāo)題中一般包括源地 址、目標(biāo)地址和路由指示等信息。址、目標(biāo)地址和路由指示等信息。 TITLE:TITLE:標(biāo)題字段,包括用戶自定義的附加信息。標(biāo)題字段,包括用戶自定義的附加信息。 STX: STX: 文始字段文始字段, ,標(biāo)示正文傳送的開始。標(biāo)示正文傳送的開始。 ETX/ETBETX/ETB:文終:文終/ /組終字段,如果將正文分成很多個數(shù)據(jù)塊組終字段,如果將正文分成很多個數(shù)據(jù)塊 在不同的幀中傳送,每一個分?jǐn)?shù)據(jù)塊后面用組終字符,最后在不同的幀中傳送,每一個分?jǐn)?shù)據(jù)塊后面用組終字符,最后 一個分?jǐn)?shù)據(jù)塊
12、后面用文終字符。一個分?jǐn)?shù)據(jù)塊后面用文終字符。 BCCBCC:效驗位字段,奇偶校驗或:效驗位字段,奇偶校驗或CRCCRC校驗校驗 同步傳輸?shù)男畔袷酵絺鬏數(shù)男畔袷?串行通訊接口標(biāo)準(zhǔn)串行通訊接口標(biāo)準(zhǔn) RS-232CRS-232C接口標(biāo)準(zhǔn)接口標(biāo)準(zhǔn) RS-422ARS-422A接口標(biāo)準(zhǔn)接口標(biāo)準(zhǔn) RS-485RS-485接口標(biāo)準(zhǔn)接口標(biāo)準(zhǔn) RS-232CRS-232C是美國電子工業(yè)協(xié)會制定的一種串行物是美國電子工業(yè)協(xié)會制定的一種串行物 理接口標(biāo)準(zhǔn),現(xiàn)在在微機(jī)中廣泛的使用,它為理接口標(biāo)準(zhǔn),現(xiàn)在在微機(jī)中廣泛的使用,它為數(shù)據(jù)終數(shù)據(jù)終 端設(shè)備端設(shè)備DTE(DTE(計算機(jī)計算機(jī)) )和和數(shù)據(jù)通信設(shè)備數(shù)據(jù)通信
13、設(shè)備DCE(DCE(調(diào)制解調(diào)器調(diào)制解調(diào)器) ) 的連接提供了一個標(biāo)準(zhǔn)的接口。對于的連接提供了一個標(biāo)準(zhǔn)的接口。對于RS-232CRS-232C接口我接口我 們從它的機(jī)械特性,電氣特性和功能特性三個方面介們從它的機(jī)械特性,電氣特性和功能特性三個方面介 紹它。紹它。 vRS-232CRS-232C接口的機(jī)械特性接口的機(jī)械特性 9針接口針接口 25針接口針接口 vRS-232CRS-232C接口的電氣特性接口的電氣特性 RS-232-CRS-232-C采用采用負(fù)邏輯負(fù)邏輯規(guī)定邏輯電平,信號電平與通常的規(guī)定邏輯電平,信號電平與通常的 TTLTTL電平不一致,規(guī)定電平不一致,規(guī)定-5-5-15V-15V表
14、示表示1 1,+5+5+15V15V表示表示0 0,所以,所以 需要在接收端和發(fā)送端進(jìn)行電平的轉(zhuǎn)化。需要在接收端和發(fā)送端進(jìn)行電平的轉(zhuǎn)化。 信號地信號地 +12V+12V +5V+5V-12V-12V 接收器接收器 發(fā)送器發(fā)送器 RS-232CRS-232C電平電平 TTLTTL電平電平TTLTTL電平電平 MC1488MC1488MC1489MC1489 MC1488MC1488和和MC1489MC1489電平轉(zhuǎn)換器電平轉(zhuǎn)換器 vRS-232CRS-232C接口的功能特性(接口的功能特性(信號線的定義信號線的定義) TxDTxD: : 發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù), DTE DCE , DTE DCE R
15、xDRxD: : 接收數(shù)據(jù)接收數(shù)據(jù), DTE DCE , DTE DCE DTR: DTEDTR: DTE準(zhǔn)備好準(zhǔn)備好, DTE DCE , DTE DCE DSR: DCEDSR: DCE準(zhǔn)備好準(zhǔn)備好, DTE DCE , DTE DCE RTS: RTS: 請求發(fā)送請求發(fā)送, DTE DCE , DTE DCE CTS: CTS: 允許發(fā)送允許發(fā)送, DTE DCE , DTE DCE RI: RI: 振鈴指示振鈴指示, DTE DCE , DTE DCE CD: CD: 載波檢測載波檢測, DTE DCE , DTE DCE SG: SG: 信號地信號地 DTEDTE:數(shù)據(jù)終端設(shè)備(計算
16、機(jī)):數(shù)據(jù)終端設(shè)備(計算機(jī)) DCEDCE:數(shù)據(jù)通信設(shè)備(調(diào)制解調(diào)器):數(shù)據(jù)通信設(shè)備(調(diào)制解調(diào)器) 10.2 可編程可編程串行接口控制器串行接口控制器8251A8251A Intel 8251A Intel 8251A是為是為IntelIntel微處理器設(shè)微處理器設(shè) 計的可編程串行通信接口,是通用同步計的可編程串行通信接口,是通用同步/ / 異步接收發(fā)送器。異步接收發(fā)送器。 v 通過編程,可工作在通過編程,可工作在全雙工全雙工的串行通的串行通 信的同步方式或異步方式下。信的同步方式或異步方式下。 v在異步方式傳送時,可用在異步方式傳送時,可用5 58 8位表示字位表示字 符,用符,用1 1位作
17、為奇位作為奇/ /偶校驗,能自動為每偶校驗,能自動為每 個數(shù)據(jù)增加個數(shù)據(jù)增加1 1個啟動位,增加個啟動位,增加1 1個、個、1.51.5個個 或或2 2個停止位,波特率為個停止位,波特率為0 019.2K19.2K。 v在同步方式傳送時,可用在同步方式傳送時,可用5 58 8位表示字位表示字 符,自動插入同步字符,內(nèi)部能自動檢符,自動插入同步字符,內(nèi)部能自動檢 測同步字符,波特率為測同步字符,波特率為0 064K64K。 D D2 2 D D3 3 R RX XD D GNDGND D D4 4 D D5 5 D D6 6 D D7 7 T TX XC C WRWR CSCS C/DC/D R
18、DRD R RX XRDYRDY D D1 1 D D0 0 V VCC CC R RX XC C DTRDTR RTSRTS DSRDSR RESETRESET CLKCLK T TX XD D T TX XE E CTSCTS SYNDETSYNDET T TX XRDY RDY 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1010 1111 1212 1313 1414 2828 2727 2626 2525 2424 2323 2222 2121 2020 1919 1818 1717 1616 1515 8251A8251A 8251A的引腳連接的引腳連接
19、 8251A8251A與與CPUCPU的連接信號的連接信號 內(nèi)部寄存器訪問控制信號,由于內(nèi)部寄存器訪問控制信號,由于8251A8251A只有只有8 8 位數(shù)據(jù)線,將地址總線的位數(shù)據(jù)線,將地址總線的A0A0接入接入8251A8251A的的C/DC/D 端,用來區(qū)分端,用來區(qū)分8251A8251A的內(nèi)部寄存器。的內(nèi)部寄存器。 發(fā)送緩沖器準(zhǔn)備好信號,發(fā)送緩沖器準(zhǔn)備好信號,8251A8251A發(fā)送該信號給發(fā)送該信號給CPUCPU 表明發(fā)送緩沖區(qū)空,可以接收新字符。當(dāng)表明發(fā)送緩沖區(qū)空,可以接收新字符。當(dāng)CPUCPU接到接到 該信號后,就向該信號后,就向8251A8251A傳送一個新字符。傳送一個新字符。
20、 并并- -串轉(zhuǎn)化器空信號,串轉(zhuǎn)化器空信號,8251A8251A發(fā)送該信號發(fā)送該信號 給給CPUCPU,表明并,表明并- -串轉(zhuǎn)化器空,指示了一串轉(zhuǎn)化器空,指示了一 個發(fā)送字符過程的完成。個發(fā)送字符過程的完成。 接收緩沖器準(zhǔn)備好信號,該信號表明接收緩沖器準(zhǔn)備好信號,該信號表明8251A8251A已從外已從外 設(shè)接到一個字符,接收緩沖區(qū)滿。當(dāng)設(shè)接到一個字符,接收緩沖區(qū)滿。當(dāng)CPUCPU接到該信接到該信 號后,就從號后,就從8251A8251A取走一個字符。取走一個字符。 該信號僅用在同步傳輸下。作為該信號僅用在同步傳輸下。作為輸出輸出時,時,8251A8251A工工 作于作于內(nèi)同步方式內(nèi)同步方式
21、,當(dāng),當(dāng)8251A8251A檢測到所要求的同步字檢測到所要求的同步字 符后,該信號變?yōu)橛行щ娖剑絺鬏旈_始;符后,該信號變?yōu)橛行щ娖剑絺鬏旈_始; 作作 為為輸入輸入時,時,8251A8251A工作于工作于外同步外同步方式,從該引腿引方式,從該引腿引 入的正跳變,使入的正跳變,使8251A8251A進(jìn)入同步傳輸。進(jìn)入同步傳輸。 8251A的引腳連接的引腳連接 8251A8251A與外設(shè)的連接信號與外設(shè)的連接信號 8251A和調(diào)試解調(diào)器的收發(fā)聯(lián)絡(luò)信號和調(diào)試解調(diào)器的收發(fā)聯(lián)絡(luò)信號 發(fā)送器數(shù)據(jù)信號端用來發(fā)送器數(shù)據(jù)信號端用來輸出輸出數(shù)據(jù)數(shù)據(jù) 接收器數(shù)據(jù)信號端用來接收器數(shù)據(jù)信號端用來輸入輸入數(shù)據(jù)數(shù)據(jù)
22、接收時鐘接收時鐘 發(fā)送時鐘發(fā)送時鐘 8251A的編程結(jié)構(gòu)的編程結(jié)構(gòu) 指示傳輸過程中的某個錯指示傳輸過程中的某個錯 誤或者當(dāng)前的傳輸狀態(tài)誤或者當(dāng)前的傳輸狀態(tài) 決定接口的工作方式?jīng)Q定接口的工作方式 將輸入線上的串行數(shù)將輸入線上的串行數(shù) 據(jù)轉(zhuǎn)化為并行數(shù)據(jù)。據(jù)轉(zhuǎn)化為并行數(shù)據(jù)。 接收移位寄存器的并行數(shù)據(jù)接收移位寄存器的并行數(shù)據(jù) 隨時通過數(shù)據(jù)總線送至隨時通過數(shù)據(jù)總線送至CPUCPU 接收數(shù)據(jù)總線的并行數(shù)據(jù)接收數(shù)據(jù)總線的并行數(shù)據(jù) 隨時送至移位寄存器。隨時送至移位寄存器。 將并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)將并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù) 據(jù)通過輸出線送出。據(jù)通過輸出線送出。 決定接口工作方式是同步?jīng)Q定接口工作方式是同步 傳輸還是
23、異步傳輸,以及傳輸還是異步傳輸,以及 數(shù)據(jù)幀格式。數(shù)據(jù)幀格式。 在同步方式下,接收并存在同步方式下,接收并存 儲同步字符。儲同步字符。 8251A的端口地址的端口地址 在微機(jī)系統(tǒng)中,地址總線的在微機(jī)系統(tǒng)中,地址總線的A0A0端接入端接入8251A8251A的的C/DC/D端,當(dāng)端,當(dāng) A0A0為為0 0時訪問的是偶地址端口,當(dāng)時訪問的是偶地址端口,當(dāng)A0A0為為1 1時訪問的是奇地址端時訪問的是奇地址端 口,即通過口,即通過C/DC/D端為端為0 0或者或者1 1來區(qū)分內(nèi)部寄存器。來區(qū)分內(nèi)部寄存器。 v模式寄存器對應(yīng)奇地址單元,即模式寄存器對應(yīng)奇地址單元,即C/DC/D端為端為1 1 v同步字
24、符寄存器對應(yīng)奇地址單元,即同步字符寄存器對應(yīng)奇地址單元,即C/DC/D端為端為1 1 v控制寄存器對應(yīng)對于奇地址單元,即控制寄存器對應(yīng)對于奇地址單元,即C/DC/D端為端為1 1 v狀態(tài)寄存器對應(yīng)對于奇地址單元,即狀態(tài)寄存器對應(yīng)對于奇地址單元,即C/DC/D端為端為1 1 v數(shù)據(jù)輸入緩沖器對應(yīng)偶地址單元,即數(shù)據(jù)輸入緩沖器對應(yīng)偶地址單元,即C/DC/D端為端為0 0 v數(shù)據(jù)輸出緩沖器對應(yīng)偶地址單元,即數(shù)據(jù)輸出緩沖器對應(yīng)偶地址單元,即C/DC/D端為端為0 0 如何用如何用2 2個端口地址區(qū)分個端口地址區(qū)分7 7個寄存器呢?個寄存器呢? 8251A的初始化的初始化 8251A初始化的約定初始化的約
25、定 : 芯片復(fù)位后,第一次奇地址寫入芯片復(fù)位后,第一次奇地址寫入 的值作為模式字送模式寄存器。的值作為模式字送模式寄存器。 若模式字規(guī)定若模式字規(guī)定8251A為同步傳輸為同步傳輸 模式,接著往奇地址端口輸出的字模式,接著往奇地址端口輸出的字 節(jié)為同步字符。節(jié)為同步字符。 此后除復(fù)位命令,此后除復(fù)位命令,往奇地址寫入往奇地址寫入 的值將送到控制寄存器,從奇地址的值將送到控制寄存器,從奇地址 讀出的是狀態(tài)寄存器;讀出的是狀態(tài)寄存器; 往偶地址端口寫入的值送數(shù)據(jù)輸往偶地址端口寫入的值送數(shù)據(jù)輸 出寄存器,從偶地址讀出數(shù)據(jù)輸入出寄存器,從偶地址讀出數(shù)據(jù)輸入 寄存器的值。寄存器的值。 模式寄存器模式寄存器
26、 v由于由于8251A8251A可以工作在同步方式下,也可以工作在異步方式可以工作在同步方式下,也可以工作在異步方式 下,模式寄存器有兩種格式,當(dāng)模式寄存器的最低兩位為下,模式寄存器有兩種格式,當(dāng)模式寄存器的最低兩位為0 0 時,時,8251A8251A工作于同步模式,該寄存器為同步模式寄存器。工作于同步模式,該寄存器為同步模式寄存器。 SCSESDEPPENL2L100 0 0 內(nèi)同步內(nèi)同步 1 1 外同步外同步 數(shù)據(jù)位的位數(shù)數(shù)據(jù)位的位數(shù) 00 500 5位位 01 601 6位位 10 710 7位位 11 811 8位位 同步模式同步模式 0 0 無效驗位無效驗位 1 1 有效驗位有效驗
27、位 0 0 奇效驗奇效驗 1 1 偶效驗偶效驗 0202個同步字符個同步字符 1111個同步字符個同步字符 1 C/D v當(dāng)模式寄存器的最低兩位不全為當(dāng)模式寄存器的最低兩位不全為0時,時,8251A工作于異步模式,工作于異步模式, 該寄存器為異步模式寄存器。該寄存器為異步模式寄存器。 1 C/D S2S1EPPENL2L1B2B1 停止位的數(shù)目:停止位的數(shù)目: 0000無意義無意義 011011個停止位個停止位 101.5101.5個停止位個停止位 112112個停止位個停止位 數(shù)據(jù)位的位數(shù)數(shù)據(jù)位的位數(shù) 00 500 5位位 01 601 6位位 10 710 7位位 11 811 8位位 0
28、0 - 00 - 同步模式同步模式 01 - 01 - 波特率因子波特率因子1 1 10 - 10 - 波特率因子波特率因子1616 11 - 11 - 波特率因子波特率因子6464 0 0 無效驗位無效驗位 1 1 有效驗位有效驗位 0 0 奇效驗奇效驗 1 1 偶效驗偶效驗 控制寄存器控制寄存器 EHIRRTSERSBRKRXENDTRTXEN 8251A 8251A芯片復(fù)位后,向奇地址端口寫完模式寄存器和同芯片復(fù)位后,向奇地址端口寫完模式寄存器和同 步字符后(如果是同步方式),以后除了復(fù)位命令外,步字符后(如果是同步方式),以后除了復(fù)位命令外,寫寫 入奇地址端口的值作為控制字送控制寄存器
29、入奇地址端口的值作為控制字送控制寄存器。 1 C/D 發(fā)送允許發(fā)送允許 使使DTR引腿為低電平引腿為低電平 接收允許接收允許 使使TXD引腿為低電平,停止發(fā)送引腿為低電平,停止發(fā)送 使?fàn)顟B(tài)寄存器的出錯標(biāo)志復(fù)位使?fàn)顟B(tài)寄存器的出錯標(biāo)志復(fù)位 使使RTS引腿為低電平引腿為低電平 進(jìn)行內(nèi)部復(fù)位進(jìn)行內(nèi)部復(fù)位 搜索同步字符搜索同步字符 異步模式下的初始化程序舉例:異步模式下的初始化程序舉例: 例:設(shè)例:設(shè)8251A8251A的端口地址是的端口地址是51H51H和和52H52H,采用異步通信方式,采用異步通信方式,7 7位位 數(shù)據(jù)位,數(shù)據(jù)位,2 2個停止位,偶效驗方式,波特率因子為個停止位,偶效驗方式,波特率
30、因子為1616,寫出初,寫出初 始化始化8251A8251A的程序段。的程序段。 MOV ALMOV AL,0FAH0FAH OUT 51HOUT 51H,ALAL 設(shè)置模式設(shè)置模式 寄存器寄存器 11111010 2 2位停止位,偶效驗,位停止位,偶效驗,7 7位數(shù)據(jù)位,位數(shù)據(jù)位, 波特率因子波特率因子1616 MOV ALMOV AL,37H37H OUT 51HOUT 51H,ALAL 設(shè)置控制設(shè)置控制 寄存器寄存器 00110111 請求發(fā)送信號請求發(fā)送信號RTSRTS有效,清除狀態(tài)寄存器有效,清除狀態(tài)寄存器 的出錯標(biāo)志,接收啟動,數(shù)據(jù)終端準(zhǔn)備好的出錯標(biāo)志,接收啟動,數(shù)據(jù)終端準(zhǔn)備好 信
31、號信號DTRDTR有效,發(fā)送啟動。有效,發(fā)送啟動。 同步模式下的初始化程序舉例:同步模式下的初始化程序舉例: 例:設(shè)例:設(shè)8251A8251A的端口地址是的端口地址是51H51H和和52H52H,內(nèi)同步通信方式,同步,內(nèi)同步通信方式,同步 字符的數(shù)目為字符的數(shù)目為2 2個,均為個,均為16H16H,7 7位數(shù)據(jù)位,偶效驗,寫出初始位數(shù)據(jù)位,偶效驗,寫出初始 化化8251A8251A的程序段。的程序段。 MOV ALMOV AL,38H38H OUT 51HOUT 51H,ALAL 設(shè)置模式設(shè)置模式 寄存器寄存器 00111000 2 2個同步字符,采用內(nèi)同步方式,偶個同步字符,采用內(nèi)同步方式,
32、偶 效驗,效驗,7 7位數(shù)據(jù)位。位數(shù)據(jù)位。 MOV ALMOV AL,0B7H0B7H OUT 51HOUT 51H,ALAL 設(shè)置控制設(shè)置控制 寄存器寄存器 10110111 搜索同步字符,請求發(fā)送信號搜索同步字符,請求發(fā)送信號RTSRTS有效,清有效,清 除狀態(tài)寄存器的出錯標(biāo)志,接收啟動,數(shù)除狀態(tài)寄存器的出錯標(biāo)志,接收啟動,數(shù) 據(jù)終端準(zhǔn)備好信號據(jù)終端準(zhǔn)備好信號DTRDTR有效,發(fā)送啟動。有效,發(fā)送啟動。 MOV ALMOV AL,16H16H OUT 51HOUT 51H,ALAL OUT 51HOUT 51H,ALAL 兩個同步字符兩個同步字符 均為均為16H16H 例:設(shè)例:設(shè)8251
33、A8251A的端口地址是的端口地址是51H51H和和52H52H,使,使8251A8251A內(nèi)部復(fù)位,并且內(nèi)部復(fù)位,并且 允許接收,又允許發(fā)送,則程序段為:允許接收,又允許發(fā)送,則程序段為: MOV DX MOV DX,51H 51H MOV AL, 00H MOV AL, 00H OUT DX OUT DX,AL AL ;控制字,停止通信;控制字,停止通信 MOV AL MOV AL,40H40H OUT DX, AL OUT DX, AL ;控制字,置;控制字,置D6=1D6=1,使內(nèi)部復(fù)位,使內(nèi)部復(fù)位 MOV AL MOV AL,0DEH0DEH OUT DX OUT DX,AL AL
34、;模式字,復(fù)位后首次訪問奇地址;模式字,復(fù)位后首次訪問奇地址 MOV AL MOV AL,05H 05H ;控制字,置;控制字,置D0D0、D3=1D3=1,允許接收和發(fā)送,允許接收和發(fā)送 OUT DX OUT DX, ALAL 狀態(tài)寄存器狀態(tài)寄存器 8251A 8251A芯片復(fù)位后,向奇地址端口寫完模式寄存器和同步芯片復(fù)位后,向奇地址端口寫完模式寄存器和同步 字符后(如果是同步方式),以后除了復(fù)位命令外,從字符后(如果是同步方式),以后除了復(fù)位命令外,從奇地址奇地址 端口讀出的值是狀態(tài)寄存器端口讀出的值是狀態(tài)寄存器。 1 C/D DSRSYNDETFEOEPETXERXRDYTXRDY 數(shù)據(jù)
35、輸出緩沖器準(zhǔn)備好數(shù)據(jù)輸出緩沖器準(zhǔn)備好 輸出移位寄存器為空輸出移位寄存器為空 指示奇偶效驗錯誤指示奇偶效驗錯誤 指示覆蓋錯誤指示覆蓋錯誤 與與SYNDETSYNDET引腿電平相同引腿電平相同 指示指示DSRDSR引腿為低電平引腿為低電平 數(shù)據(jù)輸入緩沖器準(zhǔn)備好數(shù)據(jù)輸入緩沖器準(zhǔn)備好 指示幀格式錯誤指示幀格式錯誤 DSRSYNDETFEOEPETXERXRDYTXRDY 狀態(tài)寄存器的狀態(tài)寄存器的T TX XRDY=1RDY=1指示出數(shù)據(jù)輸出緩沖器準(zhǔn)備好,即指示出數(shù)據(jù)輸出緩沖器準(zhǔn)備好,即 輸出緩沖器為空,輸出緩沖器為空,CPUCPU可以向可以向8251A8251A發(fā)送數(shù)據(jù);發(fā)送數(shù)據(jù); 狀態(tài)寄存器的狀態(tài)寄
36、存器的R RX XRDY=1RDY=1指示出數(shù)據(jù)輸入緩沖器準(zhǔn)備好,即指示出數(shù)據(jù)輸入緩沖器準(zhǔn)備好,即 輸入緩沖器滿,輸入緩沖器滿,CPUCPU可以從可以從8251A8251A讀取數(shù)據(jù);讀取數(shù)據(jù); 這兩個狀態(tài)位可以在程序設(shè)計時加以利用,實現(xiàn)對這兩個狀態(tài)位可以在程序設(shè)計時加以利用,實現(xiàn)對8251A8251A 數(shù)據(jù)發(fā)送過程和接收過程的控制。數(shù)據(jù)發(fā)送過程和接收過程的控制。 DSRSYNDETFEOEPETXERXRDYTXRDY 狀態(tài)寄存器的狀態(tài)寄存器的PEPE、OEOE、FEFE位為位為1 1時分別指示出傳輸過程時分別指示出傳輸過程 中的三種錯誤,在程序設(shè)計時可以加以利用,實現(xiàn)對數(shù)據(jù)中的三種錯誤,在程
37、序設(shè)計時可以加以利用,實現(xiàn)對數(shù)據(jù) 傳輸過程中數(shù)據(jù)準(zhǔn)確性的測試。傳輸過程中數(shù)據(jù)準(zhǔn)確性的測試。 系統(tǒng)復(fù)位系統(tǒng)復(fù)位 送模式字送模式字 送同步字符送同步字符1 同步模式?同步模式? N N Y Y 要同步字符要同步字符2? 送同步字符送同步字符2 Y Y N N 送控制字送控制字 內(nèi)部復(fù)位?內(nèi)部復(fù)位? Y Y N N 讀狀態(tài)字讀狀態(tài)字 N N 傳送數(shù)據(jù)傳送數(shù)據(jù) 傳輸結(jié)束?傳輸結(jié)束? N N N N 能傳輸嗎?能傳輸嗎? Y Y 傳輸出錯?傳輸出錯? Y Y 結(jié)束結(jié)束 Y Y 利用狀態(tài)字進(jìn)行編程的舉例:利用狀態(tài)字進(jìn)行編程的舉例: 下面的程序段先對下面的程序段先對8251A8251A初始化,然后對狀態(tài)寄存
38、器的狀初始化,然后對狀態(tài)寄存器的狀 態(tài)位進(jìn)行測試,本程序通過態(tài)位進(jìn)行測試,本程序通過8251A8251A接收接收8080個字符。個字符。 規(guī)定規(guī)定8251A8251A的端口地址是的端口地址是51H51H,52H52H。即控制寄存器和狀態(tài)。即控制寄存器和狀態(tài) 寄存器端口地址為寄存器端口地址為51H51H,數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器的,數(shù)據(jù)輸入寄存器和數(shù)據(jù)輸出寄存器的 端口地址為端口地址為52H52H。字符輸入后,放在。字符輸入后,放在BUFFERBUFFER標(biāo)號所指的內(nèi)存緩標(biāo)號所指的內(nèi)存緩 沖區(qū)中。沖區(qū)中。 程序的外循環(huán)每次循環(huán)接收一個字符,共循環(huán)程序的外循環(huán)每次循環(huán)接收一個字符,共循環(huán)80
39、80次;內(nèi)循次;內(nèi)循 環(huán)對狀態(tài)寄存器的環(huán)對狀態(tài)寄存器的R RX XRDYRDY不斷測試,看不斷測試,看8251A8251A是否從外設(shè)接收到是否從外設(shè)接收到 一個字符,如果接收到就讀入并送內(nèi)存緩沖區(qū);程序還對狀態(tài)一個字符,如果接收到就讀入并送內(nèi)存緩沖區(qū);程序還對狀態(tài) 寄存器的出錯指示位進(jìn)行檢測,如果傳輸過程中出現(xiàn)錯誤就停寄存器的出錯指示位進(jìn)行檢測,如果傳輸過程中出現(xiàn)錯誤就停 止并調(diào)用出錯處理子程序。出錯處理子程序沒有具體給出。止并調(diào)用出錯處理子程序。出錯處理子程序沒有具體給出。 MOV AL, 0FEH MOV AL, 0FEH ;設(shè)置模式字,異步模式,波特率因子為設(shè)置模式字,異步模式,波特率因
40、子為1616 OUT 51H, AL OUT 51H, AL ;8 8個數(shù)據(jù)位,個數(shù)據(jù)位,2 2個停止位,偶校驗個停止位,偶校驗 MOV AL, 37H MOV AL, 37H OUT 51H, AL OUT 51H, AL ;設(shè)置控制字,啟動收發(fā)器工作,清除出錯位設(shè)置控制字,啟動收發(fā)器工作,清除出錯位 MOV DI, 0 MOV DI, 0 ;變址寄存器初始化變址寄存器初始化 MOV CX, 80 MOV CX, 80 ;置循環(huán)次數(shù),共收取置循環(huán)次數(shù),共收取8080個字符個字符 BEGIN:BEGIN: IN AL IN AL,51H 51H ;讀取狀態(tài)寄存器;讀取狀態(tài)寄存器 TEST AL
41、, 02H TEST AL, 02H ;測試;測試R RX XRDYRDY是否為是否為1 1 JZ JZ BEGIN BEGIN ;如果如果R RX XRDYRDY為為0 0,則讀狀態(tài)字繼續(xù)測試,則讀狀態(tài)字繼續(xù)測試 IN AL, 52H IN AL, 52H ;從數(shù)據(jù)輸入寄存器讀取字符從數(shù)據(jù)輸入寄存器讀取字符 MOV DX, OFFSET BUFFERMOV DX, OFFSET BUFFER MOV DX+DI, AL MOV DX+DI, AL ;將將ALAL中字符送緩沖區(qū)中字符送緩沖區(qū) INC DI INC DI ;修改緩沖區(qū)指針修改緩沖區(qū)指針DIDI IN AL, 51H IN AL,
42、 51H ;讀取狀態(tài)寄存器讀取狀態(tài)寄存器 TEST AL, 38H TEST AL, 38H ;測試出錯標(biāo)志位,檢查傳輸有無錯誤測試出錯標(biāo)志位,檢查傳輸有無錯誤 JNZ ERROR JNZ ERROR ;如果有錯,轉(zhuǎn)入出錯處理程序;如果有錯,轉(zhuǎn)入出錯處理程序 LOOP LOOP BEGINBEGIN ;如沒有錯,則繼續(xù)循環(huán)接收下如沒有錯,則繼續(xù)循環(huán)接收下1 1個字符個字符 JMP EXIT JMP EXIT ;如輸入滿如輸入滿8 80 0個字符,則結(jié)束個字符,則結(jié)束 ERROR: CALL ERR_OUT ERROR: CALL ERR_OUT ;調(diào)用出錯處理程序調(diào)用出錯處理程序 EXIT:
43、EXIT: 例:雙機(jī)串口通信例:雙機(jī)串口通信 CPUCPU 8251A8251A TxDTxD RxDRxD SGSG TxCTxC RxCRxC 8251A8251A TxDTxD RxDRxD SGSG TxCTxC RxCRxC CPUCPU 時鐘時鐘時鐘時鐘 EIA/EIA/ TTLTTL 變換變換 EIA/EIA/ TTLTTL 變換變換 要求要求: : 在甲乙兩臺微機(jī)之間進(jìn)行串行通信。甲機(jī)發(fā)送,乙在甲乙兩臺微機(jī)之間進(jìn)行串行通信。甲機(jī)發(fā)送,乙 機(jī)接收。要求把甲機(jī)上開發(fā)的應(yīng)用程序(其長度為機(jī)接收。要求把甲機(jī)上開發(fā)的應(yīng)用程序(其長度為2DH2DH)傳送)傳送 到乙機(jī)中去。采用起止式異步方
44、式,字符長度為到乙機(jī)中去。采用起止式異步方式,字符長度為8 8位,位,2 2位停止位停止 位,波特率因子為位,波特率因子為6464,無校驗,波特率為,無校驗,波特率為48004800。CPUCPU與與8251A8251A之之 間用查詢方式交換數(shù)據(jù)??诘刂贩峙涫牵洪g用查詢方式交換數(shù)據(jù)??诘刂贩峙涫牵?09H309H為命令狀態(tài)口為命令狀態(tài)口 ,30AH30AH為數(shù)據(jù)口。為數(shù)據(jù)口。 由于是近距離傳輸,硬件連接只需由于是近距離傳輸,硬件連接只需TxDTxD、RxDRxD和和SGSG三根線連三根線連 接就能通信,可以不設(shè)接就能通信,可以不設(shè)MODEMMODEM,同時是采用查詢,同時是采用查詢I IO O
45、方式,故方式,故 收發(fā)程序中只需檢查發(fā)收準(zhǔn)備好的狀態(tài)是否置位,即可收收發(fā)程序中只需檢查發(fā)收準(zhǔn)備好的狀態(tài)是否置位,即可收 發(fā)發(fā)1 1個字節(jié)。個字節(jié)。 軟件編程軟件編程: : 接收和發(fā)送程序分開編寫,每個程序段中包括接收和發(fā)送程序分開編寫,每個程序段中包括 8251A8251A初始化,狀態(tài)查詢和輸入輸出幾部分。初始化,狀態(tài)查詢和輸入輸出幾部分。 發(fā)送程序:發(fā)送程序:(略去(略去STACKSTACK和和DATADATA段)段) CODE SEGMENT CODE SEGMENT ASSUME CS:CODE ASSUME CS:CODE SEND PROC SEND PROC START START
46、:MOV DXMOV DX,309H309H MOV ALMOV AL,00H 00H OUT DXOUT DX,AL AL ;控制字,停止通信;控制字,停止通信 MOV ALMOV AL,40H40H OUT DXOUT DX,AL AL ;控制字,內(nèi)部復(fù)位;控制字,內(nèi)部復(fù)位 NOP NOP MOV AL MOV AL,0CFH 0CFH OUT DX OUT DX,AL AL ;模式字(異步,;模式字(異步,2 2位停止位,字符長度位停止位,字符長度 ;為;為8 8位位, , 無校驗無校驗, , 波特率因子為波特率因子為64)64) MOV ALMOV AL,31H31H OUT DX O
47、UT DX,AL AL ;控制字;控制字(RTS(RTS、ERER、和、和TxENTxEN均置位)均置位) MOV CXMOV CX,2DH 2DH ;傳送字節(jié)數(shù);傳送字節(jié)數(shù) MOV SIMOV SI,300H 300H ;發(fā)送區(qū)首址;發(fā)送區(qū)首址 L1 L1:MOV DXMOV DX,309H309H IN ALIN AL,DX DX ;狀態(tài)字;狀態(tài)字 TEST AL, 38H TEST AL, 38H ;查出錯標(biāo)記位;查出錯標(biāo)記位 JNZ ERR JNZ ERR ;ERRERR省略省略 AND ALAND AL,01H 01H ;查狀態(tài)位;查狀態(tài)位D0D0(TxRDYTxRDY)=1=1?
48、JZ L1 JZ L1 ;發(fā)送未準(zhǔn)備好,則等待;發(fā)送未準(zhǔn)備好,則等待 MOV DXMOV DX,30AH 30AH ;數(shù)據(jù)口;數(shù)據(jù)口 MOV AL,MOV AL,SISI ;從發(fā)送區(qū)??;從發(fā)送區(qū)取1 1字節(jié)發(fā)送字節(jié)發(fā)送 OUT DXOUT DX,ALAL INC SI INC SI ;修改內(nèi)存地址;修改內(nèi)存地址 DEC CX DEC CX ;字書數(shù)減;字書數(shù)減1 1 JNZ L1 JNZ L1 ;未發(fā)送完,繼續(xù);未發(fā)送完,繼續(xù) MOV AX MOV AX,4CH4CH INT 21H INT 21H ;已送完,回;已送完,回 DOSDOS SEND ENDPSEND ENDP CODE END
49、SCODE ENDS END STARTEND START 接收程序:接收程序:(略去(略去STACKSTACK和和DATADATA段)段) CODE SEGMENT CODE SEGMENT ASSUME CS:CODE ASSUME CS:CODE REC PROC REC PROC START START:MOV DXMOV DX,309H309H MOV ALMOV AL,00H 00H OUT DXOUT DX,AL AL ;控制字,停止通信;控制字,停止通信 MOV ALMOV AL,40H40H OUT DXOUT DX,AL AL ;控制字,內(nèi)部復(fù)位;控制字,內(nèi)部復(fù)位 NOP
50、NOP MOV AL MOV AL,0CFH 0CFH OUT DX OUT DX,AL AL ;模式字(異步,;模式字(異步,2 2位停止位,字符長度位停止位,字符長度 ;為;為8 8位位, , 無校驗無校驗, , 波特率因子為波特率因子為64)64) MOV ALMOV AL,16H16H OUT DX OUT DX,AL AL ;控制字;控制字(ER(ER、RxENRxEN和和DTRDTR均置位)均置位) MOV CXMOV CX,2DH 2DH ;接收字節(jié)數(shù);接收字節(jié)數(shù) MOV DIMOV DI,400H 400H ;接收區(qū)首址;接收區(qū)首址 L2 L2:MOV DXMOV DX,309
51、H309H IN ALIN AL,DX DX ;狀態(tài)字;狀態(tài)字 TEST AL, 38H TEST AL, 38H ;查出錯標(biāo)記位;查出錯標(biāo)記位 JNZ ERR JNZ ERR ;ERRERR省略省略 AND ALAND AL,02H 02H ;查狀態(tài)位;查狀態(tài)位D1D1(RxRDYRxRDY)=1=1? JZ L2 JZ L2 ;發(fā)送未準(zhǔn)備好,則等待;發(fā)送未準(zhǔn)備好,則等待 MOV DX MOV DX,30AH 30AH ;數(shù)據(jù)口;數(shù)據(jù)口 IN AL IN AL,DXDX MOV MOV DIDI, AL , AL ;從發(fā)送區(qū)??;從發(fā)送區(qū)取1 1字節(jié)發(fā)送字節(jié)發(fā)送 INC DI INC DI ;
52、修改內(nèi)存地址;修改內(nèi)存地址 DEC CX DEC CX ;字書數(shù)減;字書數(shù)減1 1 JNZ L2 JNZ L2 ;未發(fā)送完,繼續(xù);未發(fā)送完,繼續(xù) MOV AX MOV AX,4CH4CH INT 21H INT 21H ;已送完,回;已送完,回 DOSDOS REC ENDPREC ENDP CODE ENDSCODE ENDS END STARTEND START 并行通信和串行通信的比較并行通信和串行通信的比較 v并行通信傳輸速度快,信息率高,不適合遠(yuǎn)距離通信;串行并行通信傳輸速度快,信息率高,不適合遠(yuǎn)距離通信;串行 通信傳輸速度慢,信息率低,適合遠(yuǎn)距離通信。通信傳輸速度慢,信息率低,適合
53、遠(yuǎn)距離通信。 v串行通信在傳遞一個字符的過程中,字符從哪里開始,從哪串行通信在傳遞一個字符的過程中,字符從哪里開始,從哪 里結(jié)束有嚴(yán)格的信息幀的組織格式,串行通信有里結(jié)束有嚴(yán)格的信息幀的組織格式,串行通信有RS-232CRS-232C等成等成 熟的標(biāo)準(zhǔn);并行通信在字符傳遞的過程中,沒有信息幀的組織熟的標(biāo)準(zhǔn);并行通信在字符傳遞的過程中,沒有信息幀的組織 格式,并行通信也沒有標(biāo)準(zhǔn)化。格式,并行通信也沒有標(biāo)準(zhǔn)化。 v串行通信中嚴(yán)格的區(qū)分了異步通信和同步通信方式;在并行串行通信中嚴(yán)格的區(qū)分了異步通信和同步通信方式;在并行 通信中也沒有對異步傳輸和同步傳輸作出嚴(yán)格的規(guī)定。通信中也沒有對異步傳輸和同步傳輸
54、作出嚴(yán)格的規(guī)定。 實際上在并行通信中,如果實際上在并行通信中,如果CPUCPU用一個時鐘信號管理接口用一個時鐘信號管理接口 和外設(shè),那么這種并行傳輸看作是同步傳輸;如果和外設(shè),那么這種并行傳輸看作是同步傳輸;如果CPUCPU和接口和接口 與外設(shè)之間只有應(yīng)答信號,這種并行傳輸看作是異步傳輸。與外設(shè)之間只有應(yīng)答信號,這種并行傳輸看作是異步傳輸。 10.3 DMA控制接口控制接口8237A 考慮外設(shè)與接口的數(shù)據(jù)傳輸方式:考慮外設(shè)與接口的數(shù)據(jù)傳輸方式: 1) 1) 查詢方式:查詢方式:CPU通過程序讀取接口的狀態(tài)寄存器,查詢外通過程序讀取接口的狀態(tài)寄存器,查詢外 設(shè)是否處于就緒狀態(tài),在該方式中設(shè)是否處
55、于就緒狀態(tài),在該方式中CPUCPU的絕大部分時間在循環(huán)的絕大部分時間在循環(huán) 等待,利用率極低。等待,利用率極低。傳輸一個字符的過程中,傳輸一個字符的過程中,CPUCPU全程干預(yù)。全程干預(yù)。 2) 2) 中斷方式:當(dāng)外設(shè)準(zhǔn)備就緒后,發(fā)送中斷請求給中斷方式:當(dāng)外設(shè)準(zhǔn)備就緒后,發(fā)送中斷請求給CPU,要,要 求求CPU提供服務(wù),在該方式中,提供服務(wù),在該方式中,CPUCPU的利用率得到了極大的提的利用率得到了極大的提 高。高。在傳輸一個字符的過程中,在傳輸一個字符的過程中,CPUCPU要進(jìn)行中斷響應(yīng)和中斷返要進(jìn)行中斷響應(yīng)和中斷返 回兩次干預(yù)?;貎纱胃深A(yù)。 雖然中斷技術(shù)使得雖然中斷技術(shù)使得CPU的利用率
56、得到了極大的提高,但是的利用率得到了極大的提高,但是 對于大量數(shù)據(jù)的成批傳輸,該方式仍顯不足。例如一次傳遞對于大量數(shù)據(jù)的成批傳輸,該方式仍顯不足。例如一次傳遞1M1M 字節(jié)的文件,字節(jié)的文件,CPUCPU要進(jìn)行要進(jìn)行100100萬次的中斷服務(wù),每次中斷服務(wù)都萬次的中斷服務(wù),每次中斷服務(wù)都 要經(jīng)過中斷響應(yīng),保存斷點(diǎn),保存現(xiàn)場,處理服務(wù)子程序和中要經(jīng)過中斷響應(yīng),保存斷點(diǎn),保存現(xiàn)場,處理服務(wù)子程序和中 斷返回等過程,使斷返回等過程,使CPUCPU的利用率大幅下降。的利用率大幅下降。 vDMADMA的基本概念的基本概念 為了進(jìn)一步提高為了進(jìn)一步提高CPUCPU的利用率,人們提出了直接內(nèi)存訪文的利用率,
57、人們提出了直接內(nèi)存訪文 技術(shù),即技術(shù),即Direct Memory AccessDirect Memory Access, ,簡稱簡稱DMADMA技術(shù)。技術(shù)。 在在DMADMA方式下,外部設(shè)備利用專門的接口電路直接和內(nèi)存方式下,外部設(shè)備利用專門的接口電路直接和內(nèi)存 進(jìn)行高速的數(shù)據(jù)交換,不需要進(jìn)行高速的數(shù)據(jù)交換,不需要CPUCPU的干預(yù)。這樣在進(jìn)行數(shù)據(jù)傳的干預(yù)。這樣在進(jìn)行數(shù)據(jù)傳 輸時就不需要像中斷那樣要進(jìn)行保護(hù)斷點(diǎn)之類的一系列操作,輸時就不需要像中斷那樣要進(jìn)行保護(hù)斷點(diǎn)之類的一系列操作, 使使CPUCPU的利用率得到大幅度的提高。的利用率得到大幅度的提高。 利用利用DMADMA方式進(jìn)行數(shù)據(jù)傳輸時,
58、當(dāng)然要利用系統(tǒng)中的數(shù)據(jù)方式進(jìn)行數(shù)據(jù)傳輸時,當(dāng)然要利用系統(tǒng)中的數(shù)據(jù) 總線,地址總線和控制總線,但是系統(tǒng)的總線是由總線,地址總線和控制總線,但是系統(tǒng)的總線是由CPUCPU管理控管理控 制的。因此用制的。因此用DMADMA方式進(jìn)行數(shù)據(jù)傳輸?shù)臅r候,接口電路需要向方式進(jìn)行數(shù)據(jù)傳輸?shù)臅r候,接口電路需要向 CPU發(fā)送總線請求,申請發(fā)送總線請求,申請CPUCPU讓出總線,即把總線控制權(quán)交給讓出總線,即把總線控制權(quán)交給 控制控制DMADMA傳輸?shù)慕涌陔娐?。傳輸?shù)慕涌陔娐贰?這種能夠控制系統(tǒng)總線完成外設(shè)與內(nèi)存之間大量數(shù)據(jù)交換這種能夠控制系統(tǒng)總線完成外設(shè)與內(nèi)存之間大量數(shù)據(jù)交換 的接口電路就是的接口電路就是DMADM
59、A控制器??刂破?。 v基本的基本的DMADMA控制器控制器 - - 外設(shè)準(zhǔn)備進(jìn)行外設(shè)準(zhǔn)備進(jìn)行DMADMA操作時,操作時,DMADMA控制器必須能夠控制器必須能夠接收外設(shè)發(fā)來接收外設(shè)發(fā)來 的的DMADMA請求信號請求信號,并,并向向CPUCPU發(fā)送總線請求信號發(fā)送總線請求信號。 - CPU- CPU接收到總線請求信號后,如果同意放棄總線,接收到總線請求信號后,如果同意放棄總線,向向DMADMA控制控制 器發(fā)送總線請求應(yīng)答信號器發(fā)送總線請求應(yīng)答信號。 - DMA- DMA控制器得到總線控制權(quán)后,能向地址總線發(fā)地址信號指控制器得到總線控制權(quán)后,能向地址總線發(fā)地址信號指 示出寫入數(shù)據(jù)的內(nèi)存單元或者讀出
60、數(shù)據(jù)的內(nèi)存單元,因此示出寫入數(shù)據(jù)的內(nèi)存單元或者讀出數(shù)據(jù)的內(nèi)存單元,因此DMADMA 控制器中控制器中必須有地址寄存器必須有地址寄存器存放讀寫數(shù)據(jù)的起始內(nèi)存單元的地存放讀寫數(shù)據(jù)的起始內(nèi)存單元的地 址。而且每傳送一個字節(jié),會址。而且每傳送一個字節(jié),會自動對地址寄存器進(jìn)行修改自動對地址寄存器進(jìn)行修改,指,指 向下一個要傳送的字節(jié)。向下一個要傳送的字節(jié)。 - DMA- DMA控制器應(yīng)該能判斷控制器應(yīng)該能判斷DMADMA過程是否結(jié)束,即一次傳送的字節(jié)過程是否結(jié)束,即一次傳送的字節(jié) 數(shù),因此數(shù),因此DMADMA控制器控制器必須有字節(jié)計數(shù)器必須有字節(jié)計數(shù)器,用來存放要傳遞的字,用來存放要傳遞的字 節(jié)數(shù),并且
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度校園食堂承包與托管全面合作協(xié)議書4篇
- 2024版長途貨物配送合同
- 2025年度專業(yè)稅務(wù)代理記賬公司員工保密與競業(yè)禁止協(xié)議4篇
- 耐火線槽行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 淄博關(guān)于成立鋰電三元正極材料公司可行性報告
- 2025年度個人購房擔(dān)保借款合同房產(chǎn)交易資金監(jiān)管協(xié)議4篇
- 2025年度個人租賃車位合同規(guī)范范本4篇
- 2025年度個人滑翔傘租賃服務(wù)合同4篇
- 2025年度個人股份期權(quán)授予合同樣本4篇
- 2025年度個人家居裝修分期付款合同模板4篇
- 氣管切開患者氣道濕化的護(hù)理進(jìn)展資料 氣管切開患者氣道濕化
- 管理模板:某跨境電商企業(yè)組織結(jié)構(gòu)及部門職責(zé)
- 底架總組裝工藝指導(dǎo)書
- 簡單臨時工勞動合同模板(3篇)
- 聚酯合成反應(yīng)動力學(xué)
- 自動控制原理全套課件
- 上??萍即髮W(xué),面試
- 《五年級奧數(shù)總復(fù)習(xí)》精編課件
- TS2011-16 帶式輸送機(jī)封閉棧橋圖集
- 礦區(qū)道路工程施工組織設(shè)計方案
- 多聯(lián)機(jī)的施工方案與技術(shù)措施
評論
0/150
提交評論