97 采用RS-485的異步串行通訊接口971 RS-232 的局限_第1頁(yè)
97 采用RS-485的異步串行通訊接口971 RS-232 的局限_第2頁(yè)
97 采用RS-485的異步串行通訊接口971 RS-232 的局限_第3頁(yè)
97 采用RS-485的異步串行通訊接口971 RS-232 的局限_第4頁(yè)
97 采用RS-485的異步串行通訊接口971 RS-232 的局限_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、9.7 采用RS-485的異步串行通訊接口9.7.1 RS-232 的局限RS-232C采用單端驅(qū)動(dòng)、單端接收的單端雙極性電路標(biāo)準(zhǔn)。僅用一條線路傳輸一種信號(hào),根據(jù)該信號(hào)線上電平相對(duì)于公共的信號(hào)地電平的大小來決定邏輯的“1和“0 。對(duì)于多條信號(hào)線來講,它們的地線是公共的,這種共地傳輸方式,抗干擾能力很差。盡管采用電平轉(zhuǎn)換器來提高信號(hào)傳輸電平,但在較長(zhǎng)距離時(shí),由于電壓損失,仍不可防止錯(cuò)誤。當(dāng)信號(hào)穿過電磁干擾環(huán)境時(shí),也可能因附加的干擾信號(hào)電平使發(fā)送的“0變?yōu)椤?或“1變?yōu)椤?。故其信號(hào)波特率不能過高,僅限在20Kb/s以下,且距離不大于15m。 19.7.2 RS-485總線RS-485接口標(biāo)準(zhǔn)是一

2、種平衡傳輸方式的串行接口標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)的電氣特性對(duì)邏輯電平的定義是根據(jù)兩條傳輸線之間的電位差值來決定的,當(dāng)AA線的電平比BB線的電平高200m時(shí)表示邏輯“1,當(dāng)AA線的電平比BB線的電平低200mV時(shí)表示邏輯“0。 2RS-485標(biāo)準(zhǔn)允許在電路中可有32個(gè)發(fā)送器,和32個(gè)接收器。允許一個(gè)發(fā)送器驅(qū)動(dòng)多個(gè)負(fù)載設(shè)備,負(fù)載設(shè)備可以是驅(qū)動(dòng)發(fā)送器、接收器或收發(fā)器組合單元 。RS-485的共線電路結(jié)構(gòu)是在一對(duì)平衡傳輸線的兩端都配置終端電阻,其發(fā)送器、接收器和組合收發(fā)器可掛在平衡傳輸線上的任何位置,實(shí)現(xiàn)在數(shù)據(jù)傳輸中多個(gè)驅(qū)動(dòng)器和接收器共用同一傳輸線的多點(diǎn)應(yīng)用。由于RS-485標(biāo)準(zhǔn)采用差動(dòng)發(fā)送/接收,因此共模抑制

3、比高、抗干擾能力強(qiáng);是多點(diǎn)對(duì)多點(diǎn)的全雙工傳輸。 傳輸速率高,最大傳輸速率可達(dá)10Mb/s傳送15m,傳輸信號(hào)的擺幅小200mV;傳送距離遠(yuǎn),采用雙絞線,在不用MODEM的情況下,當(dāng)100Kb/s的傳輸速率時(shí),可傳送的距離為2km。 3、采用RS-485的異步串行通信接口:一、接收發(fā)送芯片MAX485/491簡(jiǎn)介:MAX485用于半雙工,MAX491用于全雙工 其引腳功能見P240表二、在網(wǎng)絡(luò)中的連接: 見P242圖三、設(shè)計(jì): 見P243圖49.8 、異步通信適配器的分析與使用 PC微機(jī)異步通信適配器是微機(jī)與微機(jī)、微機(jī)與MODEM及微機(jī)與外設(shè)之間進(jìn)行異步通信的接口。其核心是UART通用異步收/發(fā)

4、器。 常見的UART主要有INS8250、PC16450和PC16550。此外,PC16650和PC16750帶更大緩沖的UART,它們?cè)诠δ苌吓cINS8250相同,但提供了更高的傳輸速度,而PIC16550還使用了FIFO數(shù)據(jù)緩沖方式,大大增加了數(shù)據(jù)的吞吐量。UART的存放器及其編程方法: INS8250和PC16450有10個(gè)存放器,而PC16550有11個(gè)存放器,但PC機(jī)只分配了7個(gè)I/O口地址供訪問,故必須有兩個(gè)端口地址被兩個(gè)存放器所共用:1、發(fā)送保持存放器THR和接收數(shù)據(jù)存放器RDR共用一個(gè)端口,并 且是UART的最低地址號(hào),以“寫訪問THR,以“讀訪問RDR。2、波特率除數(shù)鎖存器B

5、RD的除數(shù)值為16位,分高、低兩字節(jié),其低字節(jié)BRDL存放器用的端口與THR或RDR的端口相重,為了區(qū)別,在通信線路控制器LCR中設(shè)置了除數(shù)存放器訪問允許位DLABD7位,當(dāng)要訪問BRD時(shí),置DLAB位D7為1,為0時(shí)那么訪問THR或RDR。見P244表 5、 INS8250外部引腳61. 并行數(shù)據(jù)I/O及其控制線D7D0 8位雙向三態(tài)數(shù)據(jù)線。CS0, CS1和 CS2 片選線。 ADS 地址選通線(鎖存片選和內(nèi)部寄存器選擇)DISTR和DISTR數(shù)據(jù)輸入選通。(讀寄存器允許) DOSTR和DOSTR數(shù)據(jù)輸出選通。(寫寄存器允許) A0, A1和A2 內(nèi)部存放器選擇。 CSOUT 片選輸出。為

6、高表示該片被選中 DDIS 驅(qū)動(dòng)器禁止。(禁止處理器和8250在數(shù)據(jù)線上的收發(fā)器動(dòng)作) 72. 串行數(shù)據(jù)I/O線SOUT 串行數(shù)據(jù)輸出。 SIN 串行數(shù)據(jù)輸入。 XTAL1 外部時(shí)鐘輸入端。 XTAL2 基準(zhǔn)時(shí)鐘信號(hào)輸出端。 BAUDOUT工作時(shí)鐘輸出。F工作時(shí)鐘=F基準(zhǔn)時(shí)鐘除數(shù)存放器=傳送波特率16RCLK 接收時(shí)鐘輸入。可和BAUDOUT相接 83.和MODEM的握手信號(hào)線 RTS請(qǐng)求發(fā)送,輸出線。 DSR數(shù)據(jù)設(shè)備就緒,輸入線 DTR數(shù)據(jù)終端就緒,輸出線。 RI振鈴指示,輸入線。 RLSD接收線路信號(hào)檢測(cè),輸入線。 CTS清除發(fā)送,輸入線。 94.中斷請(qǐng)求,復(fù)位輸入及其他信號(hào)線 INTPR

7、T 中斷請(qǐng)求輸出。 MR 主復(fù)位輸入。 OUT1和OUT2由用戶指定的輸出端。MODEM控制寄存器的第二、第三位決定。10、UART內(nèi)部結(jié)構(gòu) 11DLABA2A1A0被訪問的寄存器0000接收緩沖寄存器(讀),發(fā)送保持寄存器(寫)0001中斷允許寄存器1000波特率除數(shù)寄存器(低字節(jié)) 1001波特率除數(shù)寄存器(高字節(jié))X010中斷識(shí)別寄存器(讀),F(xiàn)IFO控制器(寫) X011線路控制寄存器 X100MODEM控制寄存器X101線路狀態(tài)寄存器X110MODEM狀態(tài)寄存器X111Scratch寄存器DLAB是線路控制存放器的D7位。121.線路控制存放器LCRD7 D6 D5 D4 D3 D2

8、 D1 D0WLS0WLS1PENSTBEPSSPSBDLAB字符長(zhǎng)度選擇005位016位107位118位停止位選擇01位位(D1D0=00 2位(D1D000)奇偶校驗(yàn)允許奇偶校驗(yàn)選擇11偶校驗(yàn)01奇校驗(yàn)附加奇偶標(biāo)志位選擇0不附加1附加1位中止設(shè)置1中止0正常除數(shù)存放器訪問允許0禁止1允許A2A1A0=011 用于指定異步通信的數(shù)據(jù)格式,其最高位用于指定允許訪問除數(shù)鎖存器。132.線路狀態(tài)存放器LSRD7 D6 D5 D4 D3 D2 D1 D0DROEFEPEBITHRETSRE接收緩沖區(qū)滿接收重疊錯(cuò)接收奇偶錯(cuò)接收格式錯(cuò)無正確的停止位中止識(shí)別標(biāo)志發(fā)送保持器空發(fā)送移位器空FIFO中接收數(shù)據(jù)錯(cuò)

9、誤(16550)A2A1A0=101 用來向CPU提供數(shù)據(jù)接收和發(fā)送過程中產(chǎn)生的狀態(tài),可讀可寫。143.發(fā)送保持存放器THR和接收緩沖存放器RDRD7 D0CPU來的8位數(shù)據(jù)并行進(jìn)THR發(fā)送保持存放器THR低位到高位串行移位到SOUT引腳輸出D7 D0接收移位存放器 RSR發(fā)送移位存放器 TSR接收數(shù)據(jù)存放器RDR低位到高位從SIN引腳串行移位進(jìn)來8位數(shù)據(jù)并行進(jìn)CPU 發(fā)送方接收方DLAB=0,A2A1A0=000154.波特率除數(shù)鎖存器 BRDL和BRDH 這是一個(gè)軟件控制的分頻器,輸出的工作時(shí)鐘頻率為16倍的波特率。 除數(shù)存放器值 = 基準(zhǔn)時(shí)鐘頻率16波特率 INS8250芯片輸入的基準(zhǔn)時(shí)

10、鐘頻率為,假設(shè)波特率為4800b/s,那么波特率除數(shù)為0018H,DLH中應(yīng)填00H,DLL中應(yīng)填18H 。思考題: 使用INS8250異步傳輸7位ASCII碼,如果需要數(shù)據(jù)傳輸速率為2400字符/秒,使用1位奇偶校驗(yàn)位和1位停止位,波特率除數(shù)鎖存器的值是多少?注意:PC16550的基準(zhǔn)時(shí)鐘一般為。DLAB=1, A2A1A0=001(高)或000(低) 165.中斷識(shí)別存放器IIR D7 D6 D5 D4 D3 D2 D1 D0IPID1ID20未決中斷指示0-有1-無中斷類型標(biāo)識(shí)超時(shí)中斷0-不超時(shí)1-超時(shí)允許64字節(jié)FIFO(16750)0-禁止1-允許FIFO使用指示(16550)01-

11、允許FIFO但不可用11-允許FIFOA2A1A0=010讀 IIR是只讀存儲(chǔ)器。高5位對(duì)INS8250和PC16450全為0,以下是對(duì)PC1655017ID2ID1中斷類型優(yōu)先權(quán)11接收出錯(cuò)(重疊、奇偶錯(cuò)、格式錯(cuò)和中止)最高10接收緩沖器滿次高01發(fā)送保持器空低00MODEM狀態(tài)(CTS、DSR、RI和RLSD)改變最低186.中斷允許存放器IER D7 D6 D5 D4 D3 D2 D1 D0I2EI1EI3E0類型2中斷(接收緩沖器滿)1-允許0-屏蔽類型1中斷(發(fā)送保持器空)1-允許0-屏蔽類型3中斷(接收出錯(cuò)1-允許0-屏蔽進(jìn)入低功耗模式(16550)進(jìn)入睡眠模式(16750)DLA

12、B=0,A2A1A0=001 I0E0類型0中斷(MODEM狀態(tài)改變)1-運(yùn)行0-屏蔽19控制存放器MCRA2A1A0=100 D7 D6 D5 D4 D3 D2 D1 D0DTRRTSOUT10數(shù)據(jù)終端就緒請(qǐng)求發(fā)送輔助輸出1自動(dòng)流量控制(16750)環(huán)路檢測(cè)(內(nèi)部自循環(huán)OUT20輔助輸出2,PC用做中斷LOOP注意這里的OUTi位極性和OUTi引腳相反。用于設(shè)置對(duì)MODEM的聯(lián)絡(luò)控制信號(hào)和芯片自檢。20狀態(tài)存放器MSRA2A1A0=110 D7 D6 D5 D4 D3 D2 D1 D0CTSDSRTERIRLSDCTS位發(fā)生改變DSR位發(fā)生改變收到“振鈴指示后沿下降沿收到“數(shù)傳機(jī)就緒收到“去

13、除發(fā)送RLSDRIRLSD位發(fā)生改變CTSDSR收到“振鈴指示收到“接收線載波檢測(cè)用于檢測(cè)和記錄來自MODEM的聯(lián)絡(luò)控制信號(hào)及其狀態(tài)的改變的。21控制存放器(FCR)A2A1A0=010寫PC16550后才有D7 D6 D5 D4 D3 D2 D1 D0允許FIFO緩沖器工作去除接收FIFO緩沖器去除發(fā)送FIFO緩沖器允許64字節(jié)FIFO(16750)保存DMA方式選擇接收端中斷觸發(fā)器水平(LSB)接收端中斷觸發(fā)器水平(MSB)22觸發(fā)器水平即是指示在中斷產(chǎn)生之前,接收緩沖器應(yīng)該裝滿多少個(gè)字節(jié)。 D7D6觸發(fā)器水平001字節(jié)014字節(jié)108字節(jié)1112字節(jié)23常用UART比較:82501645

14、0165501665016750FIFO-16字節(jié)32字節(jié)64字節(jié)超時(shí)檢測(cè)-低功耗模式-睡眠模式-自動(dòng)流量控制-臨時(shí)寄存器-249.8.3 采用UART的異步通信適配器硬件邏輯機(jī)的串行口串口號(hào)COM1COM2COM3COM4基地址3F82F83E82E8中斷號(hào)IRQ4IRQ3IRQ4IRQ325機(jī)的串行口電路269.8.4 INS8250初始化通過寫除數(shù)存放器端口0和端口1設(shè)置波特率通過寫線路控制存放器端口3設(shè)置通信數(shù)據(jù)格式。 通過寫MODEM控制存放器MCR端口4設(shè)置MODEM控制字。 通過寫中斷允許存放器端口1設(shè)置中斷允許控制字。 27movdx,3fbh;線路控制存放器地址moval,8

15、0houtdx,al;使DLAB=1,以便下面寫除數(shù);存放器movdx,3f8h;低位除數(shù)存放器moval,0ch;9600波特率的除數(shù)低8位outdx,almoval,00incdx;高位除數(shù)存放器outdx,al28mov al, 00011011b ;偶校驗(yàn)、1位停止位;8位數(shù)據(jù)位mov dx,3fbh;線路控制存放器地址out dx,almov al,03h;mov dx,3fch;MODEM控制存放器地址out dx,almov al,0;禁止中斷mov dx,3f9h;中斷允許存放器地址out dx,al299.8.5 查詢方式串行通信程序設(shè)計(jì)1. 查詢方式發(fā)送初始化8250讀LS

16、RD5=1?發(fā)送一個(gè)字符發(fā)完?結(jié)束YYNN302. 查詢方式接收初始化8250讀LSRD0=1?接收一個(gè)字符收完?結(jié)束YYNN有錯(cuò)?NY錯(cuò)誤處理311. 通信中斷初始化9.8.6 中斷方式串行通信程序設(shè)計(jì)修改中斷向量,按使用的端口COM1或COM2,接管中斷0CH或中斷0BH。確定INS8250操作方式,設(shè)置中斷允許存放器相應(yīng)位的允許或禁止,并允許中斷操作置MCR的D3=1。確定起止式通信協(xié)議,設(shè)置通信波特率及數(shù)據(jù)幀傳輸格式。開放通信中斷,對(duì)8259A中斷控制器的屏蔽存放器編程OCW1,允許中斷IRQ4或IRQ3。322. 通信中斷效勞程序首先讀取中斷識(shí)別存放器,判斷中斷源,然后轉(zhuǎn)向?qū)?yīng)的處理子程序。判斷中斷源,應(yīng)該按照中斷優(yōu)先級(jí)別次序進(jìn)行。當(dāng)中斷識(shí)別存放器D2D1=11時(shí),說明接收出錯(cuò)中斷,需要再讀取線路狀態(tài)存放器,分析錯(cuò)誤原因,再進(jìn)行錯(cuò)誤處理??赡艹霈F(xiàn)多個(gè)中斷源同時(shí)引發(fā)中斷。因此,每處理完一種中斷源后,應(yīng)繼續(xù)讀取中斷識(shí)別存放器

溫馨提示

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

評(píng)論

0/150

提交評(píng)論