串行接口與通信66頁_第1頁
串行接口與通信66頁_第2頁
串行接口與通信66頁_第3頁
串行接口與通信66頁_第4頁
串行接口與通信66頁_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第八章 串行接口1第一節(jié) 串行通信原理一、串行通信基本概念 串行通信:數(shù)據(jù)的各位間串行傳輸,通過單條1位寬傳輸線按順序分時傳送,即通信雙方一次傳輸一個二進制位。 并行通信:數(shù)據(jù)的各位間串行傳輸,通過多條1位寬傳輸線同時傳送,寬度一般為“字節(jié)”或“字”。 串行通信與并行通信是兩種基本的數(shù)據(jù)通信方式。 2 串行通信的優(yōu)點(與并行通信相比): 傳輸距離長(可達數(shù)千公里); 長距離時數(shù)據(jù)傳送速率快,通信時鐘頻率更容易提高(無聯(lián)絡信號); 抗干擾能力強,信號間干擾可忽略(線少); 費用低(線少) ; 傳輸線既傳數(shù)據(jù),又傳聯(lián)絡信息。 串行通信的缺點(與并行通信相比) : 數(shù)據(jù)的串/并轉換; 數(shù)據(jù)格式要求;

2、 位計數(shù)。3二、串行通信綜述 1、串行通信示意圖計算機串行接口MODEM收發(fā)控制計算機串行接口MODEM發(fā)收控制音頻模擬信號非遠程通信時可省略MODEM串行接口計算機收發(fā)控制點點通信時可省略回下頁返回6頁42、串行通信相關問題(1)通信原理通信過程中相關因素 *通信方式方向(單工/半雙工/全雙工)、連接(一對一/一對多/多對多)、異步串行/同步串行; *速度控制波特率、發(fā)送/接收時鐘; *差錯控制硬件(單端/雙端、電壓/電流、信號重復)、軟件(檢錯、糾錯技術); *長距離傳輸信號調(diào)制與解調(diào); *通道共享信道復用。(2)通信協(xié)議如何處理信號線上的信號 *數(shù)據(jù)識別異步串行通信協(xié)議; *數(shù)據(jù)正確性抗

3、干擾、檢驗碼編碼技術。轉上頁回7頁回9頁回11頁回14頁回16頁回17頁5(3)通信接口標準何時可線路傳輸及如何連接 *標準類型RS-232C、RS-422A、RS485等; *邏輯特性信號定義、信號握手規(guī)則; *電氣特性電壓/電流要求、電纜長度; *機械特性連接器類型、信號定義與連接。(4)軟件編程如何通過軟件控制傳輸 *接口芯片類型INS8250等; *接口芯片特點引腳信號、控制邏輯、支持通信協(xié)議、適配器組成方法; *接口芯片編程REG定義、編程要求。轉4頁回25頁回36頁6三、串行通信方式 1、通信方向轉5頁2、連接方式一對一(點點)一對多多對多結點數(shù)量222發(fā)送方數(shù)量11n接收方數(shù)量1

4、nn發(fā)送沖突不考慮不考慮考慮*接收沖突不考慮考慮*考慮*應用RS-232CRS-423A、RS-422ARS-485 說明:*-通信信息(控制或數(shù)據(jù))中含有結點地址TRTRTRRTTR單工方式 半雙工方式 全雙工方式73、異步串行/同步串行(1)異步串行通信 通信數(shù)據(jù)流中,字符間異步,字符內(nèi)位間同步。 字符間異步:字符與字符間無嚴格的時間要求。 字符內(nèi)位間同步:一旦傳送開始,收/發(fā)雙方以預先約定的傳輸速率傳輸字符中的每一位。 異步串行通信基本信息單位:字符。(2)同步串行通信 通信數(shù)據(jù)流中,字符間及字符內(nèi)部各位間均同步。 同步串行通信基本信息單位:幀(字符塊)。8四、速度控制1、波特率 單位時

5、間內(nèi)傳送二進制數(shù)據(jù)的位數(shù),以位/秒(b/s)表示,也稱為數(shù)據(jù)位速率。 它是衡量串行通信速率的重要指標。 思考:甲乙雙方對波特率的要求如何? 甲方的接收波特率、發(fā)送波特率間關系如何?為什么? 通信雙方的波特率是如何確定的?轉5頁92、收/發(fā)時鐘 控制收/發(fā)雙方之間數(shù)據(jù)傳輸速率的時鐘。 與波特率關系: 收/發(fā)時鐘頻率=n波特率 n為波特率系數(shù)(對單個系統(tǒng)而言是固定的),用于提高通信可靠性(在異步通信協(xié)議中講) 與基準時鐘頻率關系: 收/發(fā)時鐘頻率=基準時鐘頻率/波特率除數(shù) 波特率除數(shù)=基準時鐘頻率/(n波特率) 波特率設置:通過軟件設置波特率除數(shù)即可實現(xiàn)。回12頁回46頁10五、差錯控制 目標:解

6、決信號從甲方到乙方間的干擾問題。 影響因素:長距離(信號衰減)、電磁干擾等。1、硬件手段(1)單端/雙端手段 有單端發(fā)送/單端接收、單端發(fā)送/雙端接收、雙端發(fā)送/雙端接收三種。 第一種最大傳輸距離15m,其它兩種為1200m。(2)電壓/電流手段 根據(jù)線路和接收端阻抗大小關系可采用電流環(huán)方式。 PC 286以后的串行接口已取消電流環(huán)方式。轉5頁11(3)信號重復 用多個時鐘長度調(diào)制一位二進制數(shù)據(jù),減少差錯。 波特率系數(shù)n:調(diào)制一位二進制數(shù)據(jù)的時鐘個數(shù),又稱波特率因子。n可取1,16,32和64等,一般n=16。 注意:n在硬件設計時已固定,軟件不可改變。 例:系統(tǒng)基準時鐘頻率為1.8432MH

7、z,波特率因子為16。(1)若波特率為9600b/s,則波特率除數(shù)為多少? (2)該通信模式中,波特率最高為多少? 解:(1)收/發(fā)時鐘頻率=16*9600=153.6kHz 波特率除數(shù)=1.8432MHz/153.6kHz=12 (2)最高波特率時,波特率除數(shù)為1; 最高波特率=1.8432MHz/(161)=115.2kHz轉10頁122、軟件手段 主要反映在數(shù)據(jù)的檢錯、糾錯方面。(1)檢錯方法 發(fā)送端:在發(fā)送數(shù)據(jù)后附加發(fā)送校驗碼; 接收端:比較數(shù)據(jù)和校驗碼來驗證數(shù)據(jù)正確性。 校驗碼:有奇偶校驗碼、循環(huán)冗余碼、海明碼和方陣碼檢驗等種類。(2)糾錯方法 用具有糾錯功能(發(fā)現(xiàn)錯誤的位置)的校驗

8、碼實現(xiàn),如循環(huán)冗余碼。 注意:任何一種檢驗碼均不能100%地檢錯或糾錯。13六、信號調(diào)制與解調(diào) 原因:數(shù)字信號在傳輸線上傳送時,高次諧波的衰減很厲害,不能實現(xiàn)長距離傳輸。 解決:發(fā)送方使用調(diào)制器(Modulator),把需傳送的數(shù)字信號調(diào)制為適合在線路上傳輸?shù)囊纛l模擬信號; 接收方使用解調(diào)器(Demodulator)從線路上測出該模擬信號,并還原成數(shù)字信號。 轉5頁14 調(diào)制方法: 有調(diào)頻(FM)、調(diào)幅(AM)和調(diào)相(PM)三種; 用得最多的是調(diào)頻方法。15五、信道復用 時分多路復用TDM(Time Division Multiplexing),將物理傳輸線路按時間分成若干時間片,輪流為多個信

9、號所占用,每個時間片由復用的一個信號占用。 頻分多路復用FDM(Frequency Division Multiplexing),利用頻率調(diào)制原理,將要同時傳送的多個信號進行頻譜搬移,使它們互不重疊地占據(jù)信道頻帶的不同頻率段,然后經(jīng)發(fā)送器從同一信道上同時或不同時地發(fā)送出去。 串行通信通常使用時分多路復用系統(tǒng)。 轉5頁16第二節(jié) 異步串行通信協(xié)議 異步串行通信協(xié)議需解決問題: 異步串行通信前提; 在通信信號流中,如何識別一個字符,及驗證字符的正確性; 如何提高數(shù)據(jù)的抗干擾能力。 異步串行通信協(xié)議絕大多數(shù)使用起止式異步串行通信協(xié)議,本節(jié)所講的是起止式異步串行通信協(xié)議。轉5頁17一、起止式異步串行通

10、信協(xié)議1、字符格式及位順序 字符包括起始位(1位、邏輯“0”),數(shù)據(jù)位(58位),校驗位(1位、可無),停止位(12位、邏輯“1”)。 字符間用空閑位(m位、邏輯“1”)表示,m可為0個?;?0頁回23頁18 異步串行通信前提: 解決每位寬度問題收/發(fā)雙方約定波特率; 何時字符結束(其后為空閑) 收/發(fā)雙方需約定字符數(shù)據(jù)格式、校驗位格式、停止位格式?;?4頁01000100010起始位空閑位數(shù)據(jù)位校驗位停止位空閑位D0位時間D7位先發(fā)送/接收后發(fā)送/接收說明:數(shù)據(jù)位的發(fā)送/接收順序從低位到高位字符格式:邏輯信號:192、字符傳輸正確性保證(1)起始位的識別 起始位和停止位/空閑位極性相反,停止

11、位/空閑位后的低電平位認為是起始位。(2)字符結束的確認 按協(xié)議規(guī)定的數(shù)據(jù)位順序、約定的字符格式,接收方識別完停止位后,該字符結束(其后為空閑位)。 (3)確認字符數(shù)據(jù)的正確性 發(fā)送方:在數(shù)據(jù)位后發(fā)送本字符的校驗碼; 接收方:接收完字符后,計算字符的檢驗碼(校驗方法已約定),并與所接收的字符校驗碼進行比較。轉18頁20 例題:下圖為測試某設備間通信所得信息,按照起止式異步串行通信協(xié)議,字符格式可能是什么?分析:起始位、停止位應對齊;起始位應在t03、t12,停止位應在t11、t20。t01t05t10t15t20 字符格式:D位、P位、S位可能為6位、1(奇)位、1位, 或7位、0位、1位。D

12、位等:D位+P位長度=7,P位符合奇校驗要求。 練習:右圖字符格式可能是什么?為什么?t01t05t10t15t1921二、數(shù)據(jù)抗干擾能力1、提高接收方采樣頻率 發(fā)送器:發(fā)送時鐘頻率只需與波特率相同即可 接收器:接收時鐘頻率=波特率*波特率系數(shù)n(1)起始位的抗干擾 起始位開始時連續(xù)n/2個低電平?;叵马?2(2)數(shù)據(jù)位等的抗干擾 在其n個時鐘的中心點采樣,降低采集到噪聲的概率。2、防止采樣信號的漂移 空閑位后的下降沿認為起始位的開始。 空閑位可緩沖發(fā)送/接收時鐘的偏差,而字符內(nèi)部偏差最多為一個字符各位寬度(問題不大)。轉18頁轉上頁23 例題:串行通信時每字符7位ASCII碼,數(shù)據(jù)傳輸速率為

13、240字符/秒,起止式異步協(xié)議中使用1位奇偶校驗位和1位停止位。 1)波特率應該是多少? 2)有效數(shù)據(jù)位傳輸位速率是多少? 3)傳輸效率是多少? 4)波特率系數(shù)為16時接收方接收時鐘頻率為多少? 解:1)波特率=(1位起始位+7位數(shù)據(jù)位+1位校驗位 +1位停止位)240 =2400b/s 2)有效數(shù)據(jù)位傳輸位速率=7240=1680b/s 3)傳輸效率=1680/2400=70% 4)接收時鐘頻率=16*2400=38.4kHz24第三節(jié) 串行接口標準一、串行通信接口標準通信線路計算機串行接口電平轉換連接器MODEM計算機串行接口電平轉換連接器MODEMDTEDCEDCEDTEDTE數(shù)據(jù)終端設

14、備,數(shù)據(jù)的源頭和目的地;DCE數(shù)據(jù)通信設備,使數(shù)據(jù)符合線路要求的調(diào)制解調(diào)設備。 串行接口標準: 根據(jù)連接器(含電平轉換器)的不同,最常用的有RS-232C、RS-422A、RS-485幾種標準。轉6頁25二、RS-232C標準1、RS-232C信號定義(25芯DTE)引腳代號其他表示法信號名方向1AA(101)PG保護地設備地2BA(103)TxD,SD發(fā)送數(shù)據(jù)DTEDCE3BB(104)RxD接收數(shù)據(jù)DCEDTE4CA(105)RTS,RS請求發(fā)送DTEDCE5CB(106)CTS,CS允許/清除發(fā)送DCEDTE6CC(108)DSR,MRDCE就緒DCEDTE7AB(102)SG信號地信號

15、公共地8CF(109)RLSD,DCD接收線路信號檢測DCEDTE20CD(108.2)DTRDTE就緒DTEDCE22CE(125)RI振鈴指示DCEDTE回下頁回28頁回32頁262、RS-232C邏輯特性信號握手規(guī)則(1)使用MODEM計算機或終端MODEM或其他DCE123456820227PGTxDRxDRTSCTSDSRDCDDTRRISG計算機或終端MODEM或其他DCE123456820227PGTxDRxDRTSCTSDSRDCDDTRRISG電話線 信號類型: 數(shù)據(jù)信號TxD、RxD,狀態(tài)為邏輯“1”或“0”; 控制信號除PG、SG及數(shù)據(jù)信號外的信號,狀態(tài)為有效(ON)和無

16、效(OFF)。轉上頁27 握手規(guī)則:DTR(ON)DTEDCEDSR(ON)RTS(ON)DTR(ON)DCEDTEDSR(ON)CTS(ON)RI(ON)DCD(ON)TxDRxD DTR、DSR均為ON時,才有可能進行傳輸; RTS為ON,接收到CTS為ON時才可發(fā)送; 用于有大延遲通信時的握手,全雙工時置為ON即可 DCD為ON時(數(shù)據(jù)通道建立),準備接收數(shù)據(jù); 用于有MODEM時的通信,無MODEM時置為ON即可 RI為ON時(線路通道建立),再為OFF后DCD為ON。 用于電話交換機線路時的通信,其他情況置為ON即可轉26頁回下頁28(2)不使用MODEM(簡單連接)計算機或終端12

17、3456207TxDRxDRTSCTSDSRDTR計算機或終端123456207TxDRxDRTSCTSDSRDTRPGSG DTE缺省設計:未連接控制信號均為ON(空載)。(3)最簡單連接計算機或終端23 7TxDRxD計算機或終端23 7TxDRxDSG轉上頁293、RS-232C電氣特性(1)信號電平在(515)V之間 數(shù)據(jù)信號控制信號邏輯“1”邏輯“0”有效(ON)無效(OFF)信號電平-3V+3V-3V+3V(2)信號電平與TTL電平的轉換 RS-232C接口標準采用的是負邏輯,與TTL電平不一致,必須進行電平轉換。 +5V400k5kOUTINOUTINTTLRS-232 電平轉換

18、芯片: MAX232和MAX232A; 單端發(fā)送/單端接收。 30(3)應用注意點一共模噪聲干擾 RS-232C為單端發(fā)送/單端接收(有公共信號地),共模噪聲很容易引入信號系統(tǒng)中。 RS-232C較高的傳輸電壓,仍不能絕對解決問題。(4)應用注意點二傳輸速率對傳輸線長度的限制 電平跳變的速度(傳輸速率)和線路信號的衰減(傳輸線長度)會導致信號失真。 當通信速率低于20Kb/s時,RS-232C所能直接連接的最大物理距離為15m;使用特制的低電容電纜可以達到150m。 314、RS-232C機械特性(1)連接器類型 有方向(DTE/DCE)和大小(25芯/9芯)兩種屬性。 引腳定義:DTE連接器

19、(針型)為RS-232定義信號;DCE連接器(孔型)為與DTE連接器直通時的信號。 資料圖片:為DTE連接器的信號。TxDRxDTxDRxD轉26頁回下頁32 9芯DTE與25芯DTE連接 9芯DTE與25芯DCE連接(2)連接器間的連接 DB-9型連接器(DTE)DB-25型連接器(DCE)83220764522123456789DB-9型連接器(DTE)DB-25型連接器(DTE)82367204522123456789DCDRxDTxDDTRSGDSRRTSCTSRIDCDTxDRxDDSRSGDTRRTSCTSRI 9芯DTE與9芯DTE連接 9芯DTE與9芯DCE連接12345678

20、9DB-9型連接器(DTE)DB-9型連接器(DCE)123456789123456789DB-9型連接器(DTE)DB-9型連接器(DTE)123456789轉上頁33三、RS-422A、RS-485標準1、RS-422A和RS-423A標準RS-423A單端驅動差分接收電路RS-422A標準傳輸線連接 特點:平衡/非平衡發(fā)送、平衡接收; 1個發(fā)送器、多個接收器(必須有地址); A非反向輸出,B反向輸出; 邏輯電平:VA-VB200mV為邏輯“1”, VA-VB-200mV為邏輯“0”; 信號不需要調(diào)制與解調(diào)。342、RS-485標準 特點: 平衡發(fā)送、平衡接收,抗干擾能力強; 多個發(fā)送器、

21、多個接收器,發(fā)送/接收器小于32對,所有發(fā)送/接收器必須有地址; 邏輯電平:與RS-422A相同; 需要終端匹配電阻2120(可能有變化); 信號不需要調(diào)制與解調(diào)。Rt=120Rt=120DTDTDTDTDT 不同標準的絕大多數(shù)特性參數(shù)都不一樣(見P265)。35第四節(jié) 異步通信適配器 PC系列機異步通信適配器的核心是UART(Universal Asynchronous Receiver Transmitter)。 常見UART主要有INS8250、PC16450和PC16550,帶更大緩沖的UART有PC16650和PC16750。 INS8250主要功能: 支持起止式異步串行通信協(xié)議;

22、具有獨立的收和發(fā)時鐘,波特率系數(shù)為16; 具有獨立的接收、發(fā)送雙緩沖器; 可控MODEM(含輔助數(shù)字量輸出); 支持中斷工作方式(多種中斷源類型), 可編程控制。轉6頁36一、INS8250外部引腳1、CPU側常規(guī)信號 數(shù)據(jù)D7D0 地址A2A0 選通CS0、CS1和CS2 地址選通鎖存 ADS鎖存片選和地址 數(shù)據(jù)選通 DISTR、DISTR允許/禁止讀內(nèi)部REG DOSTR、DOSTR允許/禁止寫內(nèi)部REG 片選輸出CSOUT 驅動器禁止DDIS轉下頁回39頁37PC系列微機異步適配器電路回上頁回下頁回49頁382、與串行I/O有關信號 基準時鐘XTAL1、XTAL2(XTAL1的環(huán)路輸出)

23、 工作時鐘BAUDOUT,作為發(fā)送時鐘用 BAUDOUT頻率=XTAL1波特率除數(shù)=波特率16 接收時鐘RCLK,一般和BAUDOUT連接 串行I/OSOUT、SIN3、與MODEM有關信號 DTR、DSR;RTS、CTS;RI、RLSD(即DCD)4、與中斷請求有關信號 INTPRT;OUT1和OUT2 PC系列微機,8250中斷請求到達8259A條件條件: INTPRT有效、且OUT2為低轉37頁轉上頁39二、INS8250內(nèi)部結構回下頁40 I/O端口使用沖突:8個端口地址(A2A0)與10個REG 命令關系表:A2A1A0DLABRD#有效WR#有效0000接收緩沖寄存器RBR發(fā)送保持

24、寄存器THR1波特率除數(shù)寄存器DLL(低字節(jié))0010中斷允許寄存器IER1波特率除數(shù)寄存器DLH(高字節(jié))010X中斷識別寄存器IIRFIFO控制器FCR011X線路控制寄存器 LCR100XMODEM控制寄存器MCR101X線路狀態(tài)寄存器LSR110XMODEM狀態(tài)寄存器MSR111XScratch寄存器 說明:-DLAB為LCR的D7位;-8250無此REG轉上頁回下頁回43頁回44頁回45頁回46頁回48頁回49頁回54頁411、線路控制寄存器LCR(A2A1A0=011)轉上頁D7 D6 D5 D4 D3 D2 D1 D0 DLAB SB SP EPS PEN STB WLS1 WL

25、S0數(shù)據(jù)位選擇005位016位107位118位停止位選擇 01位 11.5位(D1D0=00) 2位(D1D000)奇偶校驗 奇偶校驗選擇 允許11偶校驗01奇校驗X0無校驗附加奇偶標志位選擇 0不附加 1附加1位中止設定1中止0正常除數(shù)寄存器訪問允許 0禁止 1允許 說明:中止設定位=1時,發(fā)送端將連續(xù)發(fā)送空號(邏輯“0”),表示發(fā)送設備中止發(fā)送; 中止設定位=0時,發(fā)送端在空閑時連續(xù)發(fā)送傳號(空閑位,邏輯“1”)?;叵马?22、線路狀態(tài)寄存器LSR(A2A1A0=101)D7 D6 D5 D4 D3 D2 D1 D0 TSRE THRE BI FE PE OE DR接收緩沖區(qū)滿發(fā)送保持器空

26、發(fā)送移位器空FIFO中接收數(shù)據(jù)錯誤(16550)接收重疊錯接收奇偶錯接收格式錯中止識別指示接收出錯 說明:接收端在收到發(fā)送端的“中止設定位=1”狀態(tài)時,將產(chǎn)生“中止識別指示”錯誤(與協(xié)議不兼容)。 當接收端8250允許中斷傳輸時,將產(chǎn)生“接收出錯”中斷請求,接收端可發(fā)送數(shù)據(jù)(發(fā)送端已不發(fā)送),接收端從接收狀態(tài)轉換為發(fā)送狀態(tài)。 中止設定主要用于半雙工通信的收/發(fā)角色轉換。轉41頁轉上頁回57頁433、發(fā)送保持寄存器THR(只寫) 接收緩沖寄存器RBR(只讀)(DLAB=0,A2A1A0=000)轉19頁轉41頁D7 D0總線來的8位數(shù)據(jù)并行進THR從低位到高位串行移位到SOUT引腳輸出D7 D0

27、接收移位寄存器RSR發(fā)送移位寄存器TSR從低位到高位、從SIN引腳串行移位到REG中8位數(shù)據(jù)并行到總線 發(fā)送方接收方發(fā)送保持寄存器THR接收緩沖寄存器RBR444、波特率除數(shù)鎖存器DLL、DLH (DLAB=1,A2A1A0=000(DLL)或001(DLH)) 用DLH、DLL來實現(xiàn)軟件控制的分頻器。 除數(shù)寄存器值=基準時鐘頻率(波特率16) 基準時鐘(XTAL1)由外部硬件產(chǎn)生,PC微機常為1.8432MHz;PC16550一般采用18.432MHz。 例:INS8250基準時鐘頻率為1.8432MHz,若波特率為4800b/s,波特率除數(shù)=1.8432MHz(4800b/s16) =18

28、H,則DLH=00H,DLL=18H。 思考:用8250傳輸時,異步協(xié)議字符格式為7Data、1Pari和1Stop,傳輸速率=240字符/秒,DLH和DLL的值是多少?轉10頁轉41頁455、中斷識別寄存器IIR(只讀)(A2A1A0=010)轉41頁D7 D6 D5 D4 D3 D2 D1 D0 0 ID2 ID1 IP未決中斷指示0有1無允許64字節(jié)FIFO(16750) 0禁止 1允許FIFO使用指示(16550)01允許FIFO 但不可用11允許FIFO00無FIFO中斷類型標識超時中斷(16550) 0不超時 1超時ID2ID1中斷類型優(yōu)先權11接收出錯(重疊、奇偶、格式和中止錯)

29、最高10接收緩沖器滿次高01發(fā)送保持器空低00MODEM狀態(tài)(CTS、DSR、RI和RLSD)改變最低說明:IP=0時,ID2、ID1為當前最高優(yōu)先權中斷類型; IP=1時,ID2、ID1值無效。回下頁回48頁46 ID2、ID1變化原理: 每次對IIR進行讀操作后,ID2、ID1變?yōu)槌罡邇?yōu)先權請求外的最高優(yōu)先權中斷類型(原最高優(yōu)先權請求已復位、正在處理中、不支持嵌套),等待處理。RBR滿THR空接收出錯MSR變化請求REG IRR1IIRD2 D1 D0優(yōu)先編碼器RDIIR端口地址IRR復位機構CLK位 使能 處理中斷時,必須用循環(huán)語句處理已產(chǎn)生的所有中斷請求(直到IP=1為止)。轉上頁

30、476、中斷允許寄存器IER (DLAB=0,A2A1A0=001)D7 D6 D5 D4 D3 D2 D1 D0 0 0 I0E I3E I1E I2E類型2中斷(接收緩沖器滿)1-允許0-屏蔽類型0中斷(MODEM狀態(tài)改變)1-允許0-屏蔽進入睡眠模式(16750)類型1中斷(發(fā)送保持器空)1-允許0-屏蔽類型3中斷(接收出錯)1-允許0-屏蔽進入低功耗模式(16550)轉41頁轉46頁487、MODEM控制寄存器MCR (A2A1A0=100)D7 D6 D5 D4 D3 D2 D1 D0 0 0 LOOP OUT2 OUT1 RTS DTR數(shù)據(jù)終端就緒環(huán)路檢測(內(nèi)部自循環(huán))自動流量控制

31、(16750)請求發(fā)送輔助輸出1輔助輸出2 說明: D3D0位為1時,OUT2、OUT1、RTS、DTR引腳有效; 當置LOOP=1時,INS8250內(nèi)部的RBR與THR直通。 PC系列微機OUT2引腳作用: 控制INS8250的數(shù)據(jù)處理方式是向量中斷方式還是查詢方式,當MCR的OUT2=1時才可采用向量中斷方式。轉38頁轉41頁498、MODEM狀態(tài)寄存器MSR (A2A1A0=110) 說明:D7D4為1時,對應引腳信號有效(低電平)。D7 D6 D5 D4 D3 D2 D1 D0 RLSD RI DSR CTS RLSD TERI DSR CTSCTS位發(fā)生改變收到“清除發(fā)送”收到“振鈴

32、指示”后沿DSR位發(fā)生改變RLSD位發(fā)生改變收到“數(shù)傳機就緒”收到“振鈴指示”收到“接收載波檢測”50三、PC機異步通信適配器硬件邏輯1、PC機的串行口串口號COM1COM2COM3COM4基地址3F82F83E82E8中斷號IRQ4IRQ3IRQ4IRQ3中斷類型號0CH0BH0CH0BH 思考:COM1和COM3共享同一IRQ,如何實現(xiàn)中斷服務程序的處理?512、PC機的串行口電路回下頁52 思考: 8250的外部基準時鐘如何得到的? 串行口的收/發(fā)波特率是否相同?為什么? 為什么電路中要增加75150、75154芯片? 串行連接器引腳是針還是孔? 適配器電路如何實現(xiàn)8250的CS0CS2

33、片選的? 串口采用向量中斷方式傳輸時,8250的初始化必須要進行哪些針對性設置? 開放IRQ4/IRQ3時,如何寫8259A的IMR?轉上頁53四、INS8250初始化編程1、設置波特率 置DLAB=1,寫LCR(A2A1A0=011)實現(xiàn); 設置波特率,寫DLL和DLH(DLAB=1、A2A1A0=000和001)實現(xiàn)。2、設置通信數(shù)據(jù)格式 設置數(shù)據(jù)位、校驗位等格式,寫LCR(A2A1A0=011)實現(xiàn)。 注意:同時置DLAB=0,以便今后訪問RBR、THR、IER3、設置MODEM控制字 若連有MODEM,需設置MODEM狀態(tài),寫MCR(A2A1A0=100)實現(xiàn); PC微機用向量中斷方式

34、通信時,需設置MCR的OUT2位=1。4、設置中斷允許控制字 設置傳輸允許的中斷類型,寫IER(DLAB=0、A2A1A0=001)實現(xiàn)轉41頁回下頁54INS8250初始化流程:轉上頁回下頁設置波特率置DLAB=1,寫LCR寫DLL、DLH設置通信數(shù)據(jù)格式連有MODEM?用向量中斷方式?設置允許的中斷類型初始化完成初始化開始置OUT2引腳有效NYYN設置MODEM狀態(tài)寫LCR(同時置DLAB=0)寫MCR寫MCR寫IER(不用中斷方式時 屏蔽各中斷類型)可合為一個寫MCR55 ;INS8250初始化例程 MOV DX,3FBH ;線路控制寄存器LCR地址 MOV AL,80H ;置DLAB=

35、1 OUT DX,AL MOV DX,3F8H ;低位除數(shù)寄存器DLL地址 MOV AL,0CH ;寫9600波特率的除數(shù)低8位 OUT DX,AL INC DX ;高位除數(shù)寄存器DLH地址 MOV AL,00H ;寫9600波特率的除數(shù)高8位 OUT DX,AL MOV DX,3FBH ;線路控制寄存器LCR地址 MOV AL,1BH ;8位數(shù)據(jù)位、偶校驗、1位停止位、DLAB=0 OUT DX,AL MOV DX,3FCH ;MODEM控制寄存器MCR地址 MOV AL,03H ;置OUT2=0 OUT DX,AL MOV DX,3F9H ;中斷允許寄存器IER地址 MOV AL,0 ;禁

36、止中斷(中斷方式時開放中斷) OUT DX,AL轉上頁56五、INS8250通信編程1、查詢方式通信程序設計初始化8250讀LSRD5=1?發(fā)送一個字符發(fā)送完畢?暫時結束Ya.查詢方式發(fā)送YNN再次發(fā)送b.查詢方式接收初始化8250讀LSRD4D1=0?接收一個字符接收完畢?暫時結束YYNND0=1?YN處理錯誤再次接收轉43頁回下頁57讀LSRND4D10?Y根據(jù)錯誤原因進行相應處理讀RBR寫THR讀MSR根據(jù)狀態(tài)變化進行相應處理程序結束發(fā)送完畢?N處理接收的字符CPU處理其他事務N結束程序?YN有新發(fā)送請求?Y程序初始化D0=1?YD5=1?YD3D00?YNNYNc.查詢方式接收和發(fā)送轉

37、上頁回66頁582、中斷方式通信程序設計 中斷方式通信有查詢中斷和向量中斷兩種方式。1)中斷方式通信程序的初始化保存和修改中斷向量初始化8250開放8259A中斷初始化結束按使用的COM口接管對應中斷向量(0CH或0BH)程序退出時恢復中斷向量設置波特率、通信協(xié)議參數(shù) 向量中斷置位MCR的OUT2 查詢中斷復位MCR的OUT2用OCW1開放COM口中斷(IR3或IR4)、設置IER初始化8259A一般情況下,8259A已初始化回下頁回61頁回62頁59 ;中斷方式通信初始化程序 DATA SEGMENT DATA INT_V DW ?,? DATA ENDS ;保存和修改中斷向量 MOV AX

38、,350CH INT 21H ;取(保存)原OCH中斷向量 MOV WORD PTR INT_V,BX ;將返回向量ES:BX保存在 MOV WORD PTR INT_V+2,ES ;雙字變量INT_V中 CLI ;修改中斷向量前關中斷 MOV AX,250CH MOV DX,SEG INTSVR ;INTSVR為中斷服務程序過程名 MOV DS,DX MOV DX,OFFSET INTSVR ;將INTSVR的入口地址DS:DX INT 21H ;存入IVT的0CH位置轉上頁60 ;中斷方式通信初始化程序(續(xù)1) ;初始化8250 MOV DX,3FBH ;線路控制寄存器LCR端口地址 MOV AL,80H OUT DX,AL ;置DLAB=1 MOV DX,3F8H ;低位除數(shù)寄存器DLL端口地址(DLAB=1) MOV AL,0CH OUT DX,AL ;寫9600波特率除數(shù)低8位到DLL INC DX ;高位除數(shù)寄存器DLH端口地址 MOV AL,00H OUT DX,AL ;寫9600波特率除數(shù)高8位到DLH MOV DX,3FBH ;線路控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論