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

下載本文檔

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

文檔簡介

2多一串打通G

教學重點

■異步通信協(xié)議和RS232c接口

■8250的內部結構和編程

■異步通信程序

12A串行通信基礎

■串行通信:將數(shù)據(jù)分解成二進制位用一條

信號線,一位一位順序傳送的方式

■串行通信的優(yōu)勢:用于通信的線路少,因

而在遠距離通信時可以極大地降低成本

■串行通信適合于遠距離數(shù)據(jù)傳送,也常用

于速度要求不高的近距離數(shù)據(jù)傳送

■PC系列機上有兩個串行異步通信接口、鍵

盤、鼠標器與主機間采用串行數(shù)據(jù)傳送

1.異步通信

■串行通信時的數(shù)據(jù)、控制和狀態(tài)信息都使

用同一根信號線傳送

■收發(fā)雙方必須遵守共同的通信協(xié)議(通信

規(guī)程),才能解決傳送速率、信息格式、

位同步、字符同步、數(shù)據(jù)校驗等問題

■串行異步通信以字符為單位進行傳輸,其

通信協(xié)議是起止式異步通信協(xié)議

起止式異步通信協(xié)議

低位高位

?空閑位——傳送字符之間的邏輯1電平,

表示沒有進行傳送

.數(shù)據(jù)傳輸速率

■數(shù)據(jù)傳輸速率也稱比特率(BitRate)

-每秒傳輸?shù)亩M制位數(shù)bps

-字符中每個二進制位持續(xù)的時間長度都一樣,為數(shù)據(jù)

傳輸速率的倒數(shù)

■當進行二進制數(shù)碼傳輸,且每位時間長度相等時,

比特率還等于波特率(BaudRate)

■過去,串行異步通信的數(shù)據(jù)傳輸速率限制在50

bps到9606bps之間?,F(xiàn)在,可以達到115200bps

或更高

同步通信

■以一個數(shù)據(jù)塊(幀)為傳輸單位,每個數(shù)據(jù)塊附

力叮個或2個同步字符,最后以校驗字符結束

■同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,但硬

件電路比較復雜

■串行同步通信主要應用在網(wǎng)絡當中

■最常使用高級數(shù)據(jù)鏈路控制協(xié)議HDLC

同步字符數(shù)據(jù)數(shù)據(jù)校驗字符

3,傳輸制式

全雙工站A:站B

半雙工站4?FB

單工站Aa站B

示例

4.調制解調器

■調制(Modulating)

■把數(shù)字信號轉換為電話線路傳送的模擬信號

■解調(Demodulating)

■將電話線路的模擬信號轉換為數(shù)字信號

■調制解調器MODEM

■具有調制和解調功能的器件合制在一個裝置

示例

122串行接口標準RS-232c

-美國電子工業(yè)協(xié)會EIA制定的通用標準串行接口

.1962年公布,1969年修訂

-1987年1月正式改名為EIA-232D

■設計目的是用于連接調制解調器

■現(xiàn)已成為數(shù)據(jù)終端設備DTE(例如計算機)與數(shù)

據(jù)通信設備DCE(例如調制解調器)的標準接口

■可實現(xiàn)遠距離通信,也可近距離連接兩臺微機

■屬于網(wǎng)絡層次結構中的最低層:物理層

12.2.1RS-232c的引腳定義

■232c接口標準使用一個25針連接器

■絕大多數(shù)設備只使用其中9個信號,所以

就有了9針連接器

-232c包括兩個信道:主信道和次信道

■次信道為輔助串行通道提供數(shù)據(jù)控制和通

道,但其傳輸速率比主信道要低得多,其

他跟主信道相同,通常較少使用

$RS-232c的弓IW(1)

■TxD:發(fā)送數(shù)據(jù)

?串行數(shù)據(jù)的發(fā)送端

■RxD:接收數(shù)據(jù)

■串行數(shù)據(jù)的接收端

$RS-232c的弓IW(2)

■RTS:請求發(fā)送

-當數(shù)據(jù)終端設備準備好送出數(shù)據(jù)時,就發(fā)出有效的

RTS信號,用于通知數(shù)據(jù)通信設備準備接收數(shù)據(jù)

■CTS:清除發(fā)送(允許發(fā)送)

-當數(shù)據(jù)通信設備已準備好接收數(shù)據(jù)終端設備的傳送數(shù)

據(jù)時,發(fā)出CTS有效信號來響應RTS信號

■RTS和CTS是數(shù)據(jù)終端設備與數(shù)據(jù)通信設備間一

對用于數(shù)據(jù)發(fā)送的聯(lián)絡信號

$RS-232c的弓IW(3)

■DTR:數(shù)據(jù)終端準備好

-通常當數(shù)據(jù)終端設備一加電,該信號就有效,表明數(shù)

據(jù)終端設備準備就緒

■DSR:數(shù)據(jù)裝置準備好

-通常表示數(shù)據(jù)通信設備(即數(shù)據(jù)裝置)已接通電源連

到通信線路上,并處在數(shù)據(jù)傳輸方式

■DTR和DSR也可用做數(shù)據(jù)終端設備與數(shù)據(jù)通信設

備間的聯(lián)絡信號,例如應答數(shù)據(jù)接收

$RS-232c的弓IW(4)

■GND:信號地

-為所有的信號提供一個公共的參考電平

■CD:載波檢測(DCD)

?當本地調制解調器接收到來自對方的載波信號

時,該引腳向數(shù)據(jù)終端設備提供有效信號

■RI:振鈴指不

■當調制解調器接收到對方的撥號信號期間,該

引腳信號作為電話鈴響的指示、保持有效

$RS-232c的弓IW(5)

■保護地(機殼地)

-起屏蔽保護作用的接地端,一般應參照設備的

使用規(guī)定,連接到設備的外殼或大地

■TxC:發(fā)送器時鐘

?控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時鐘信號

-RxC:接收器時鐘

?控制數(shù)據(jù)終端接收串行數(shù)據(jù)的時鐘信號

12.2.2RS-232c的連接

■微機利用232c接口連接調制解調器,用于

實現(xiàn)通過電話線路的遠距離通信

■微機利用232c接口直接連接進行短距離通

信。這種連接不使用調制解調器,所以被

稱為零調制解調器(NullModem)連接

4連接調制解調器

微機MODEMMODEM微機

發(fā)送數(shù)據(jù)TxD27

接收數(shù)據(jù)RxD

JJ

A請求發(fā)送RTSAAA

一一nr

允許發(fā)送CTS

□□電話線□□

6數(shù)據(jù)裝置準備好DSR6vJ66

7信號地GND777

8載波檢測CD888

20數(shù)據(jù)終端準備好DTR202020

22振鈴指KRI222222

不使用聯(lián)絡信號的3線相連方式

微機微機

為了交換信息,TxD和RxD應當交叉連接

程序中不必使RTS和DTR有效

也不應檢測CTS和DSR是否有效

“偽”使用聯(lián)絡信號的3線相連方式

微機微機

使用聯(lián)絡信號的多線相連方式

微機微機

通信比較可靠

所用連線較多,不如前者經(jīng)濟

電氣特性g

■232c接口采用EIA電平

■高電平為+3V?+15V

■低電平為一3V?一15V

■實際常用±12V或±15V

■標準TTL電平

■高電平:+2.4V?+5V

■低電平:0V?0.4V

.*123通用異步接收發(fā)送器8250

-串行傳輸,需要并行到串行和串行到并行

的轉換,并按照傳輸協(xié)議發(fā)送和接收每個

字符(或數(shù)據(jù)塊)

■這些工作可由軟件實現(xiàn),也可用硬件實現(xiàn)

■通用異步接收發(fā)送器UART是串行異步通

信的接口電路芯片

■IBMPC/XT機的UART芯片是INS8250

■后來使用NS16550

12.3.18250的內部結構

■8250實現(xiàn)了起止式串行異步通信協(xié)議,支

持全雙工通信

-通信字符可選擇數(shù)據(jù)位為5?8位

■停止位1、1.5或2位

-可進行奇偶校驗

■具有奇偶、幀和溢出錯誤檢測電路

■8250支持的數(shù)據(jù)傳輸速率為50?9600bps

1.串行數(shù)據(jù)的發(fā)送

0/10/1

CfUCi,校驗位、停止位

雙緩沖寄存器結構

保證數(shù)據(jù)的連續(xù)發(fā)送

_=——=^_

2.起始位的檢測

------------16T----------------

數(shù)據(jù)虛[起始位I]

(SIN)\------------------?-----------------T

時鐘血皿皿I皿血皿!扁血血皿皿IT

RCLK)???

|------8T—|-------------16T--------------1

丁毅據(jù)接收時鐘頻率是數(shù)據(jù)傳輸頻率的16倍1

正確識別起始位,防止因干擾引起的誤識別I

3.串行數(shù)據(jù)的接收

CPU并行數(shù)據(jù)

接收緩沖寄存器

,串°行數(shù)據(jù)

接收移位寄存器SIN

10/10/10/10/1

同步控制

檢測接收錯誤

雙凌沖寄存器結構一刪除起始位、

校驗位、停止位

保證數(shù)據(jù)的連續(xù)接收

,接收錯誤的處理

■奇偶錯誤PE(ParityError)

-若接收到的字符的“1”的個數(shù)不符合奇偶校驗要求

■幀錯誤FE(FrameError)

-若接收到的字符格式不符合規(guī)定(如缺少停止位)

■溢出錯誤OE(OverrunError)

-若接收移位寄存器接收到一個數(shù)據(jù),并送至輸入緩沖

器時,CPU還未取走前一個數(shù)據(jù),就會出現(xiàn)數(shù)據(jù)溢出

-若接收緩沖器的級數(shù)多,則溢出錯誤的幾率就少

12.3.28250的引腳

■分成連接CPU的部分和連接外設的部分

■注意:8250不是Intel公司的產(chǎn)品,所以

該芯片引腳名稱與前面學習的8253、

8255等Intel產(chǎn)品有所不同,但是引腳功

能卻是類似的

1.處理器接口引腳(1)

■數(shù)據(jù)線DO?D7:在CPU與8250之間交換信息

■地址線A0?A2:尋址8250內部寄存器

■片選線:8250設計了3個片選輸入信號CSO、

CS1>CS2*和一個片選輸出信號CSOUT。3個片

選輸入都有效時,才選中8250芯片,同時

CSOUT輸出高電平有效。

■地址選通信號ADS*:當該信號低有效時,鎖存

上述地址線和片選線的輸入狀態(tài),保證讀寫期間

的地址穩(wěn)定

1.處理器接口引腳(2)

■讀控制線

-數(shù)據(jù)輸入選通DISTR(高有效)和DISTR*(低有效)

有一個信號有效,CPU從8250內部寄存器讀出數(shù)據(jù)

-相當于I/O讀信號

■寫控制線

-數(shù)據(jù)輸出選通DOSTR(高有效)和DOSTR*(低有

效)有一個有效,CPU就將數(shù)據(jù)寫入8250內部寄存器

-相當于I/O寫信號

■8250讀寫控制信號有兩對,每對信號作用完全相

同,只不過有效電平不同而己

1.處理器接口引腳(3)

■驅動器禁止信號DDIS:CPU從8250讀取數(shù)

據(jù)時,DDIS引腳輸出低電平,用來禁止外

部收發(fā)器對系統(tǒng)總線的驅動;其他時間,

DDIS為高電平

■主復位線MR:硬件復位信號RESET

■中斷請求線INTRPT:8250有4級共10個中

斷源,當任一個未被屏蔽的中斷源有請求

時,INTRPT輸出高電平向CPU請求中斷

2.時鐘信號

■時鐘輸入弓I腳XTALL8250的基準工作時鐘

■時鐘輸出引腳XTAL2:基準時鐘信號的輸出端

?波特率輸出弓|腳BAUDOUT*:基準時鐘經(jīng)8250

內部波特率發(fā)生器分頻后產(chǎn)生發(fā)送時鐘

■接收時鐘引腳RCLK:接收外部提供的接收時鐘

信號;若采用發(fā)送時鐘作為接收時鐘,則只要將

RCLK弓|腳和BAUDOUT*弓|腳直接相連

3.串行異步接口引腳

發(fā)送數(shù)據(jù)SOUT

8250接收數(shù)據(jù)SIN

請求發(fā)送RTS*

允許發(fā)送CTS*

數(shù)據(jù)裝置準備好DSR*

數(shù)據(jù)終端準備好DTR*

信號地GND

載波檢測RLSD*

—"振鈴指示RI*

14.輸出線■!

■OUT1*和OUT2*:

■兩個一般用途的輸出信號

■由調制解調器控制寄存器的D2和D3使其輸出

低電平有效信號

■復位使其恢復為高

12.3.38250的寄存器

■8250內部有9種可訪問的寄存器,除數(shù)寄

存器是16位的,占用兩個連續(xù)的8位端口

■內部寄存器用引腳A0?A2來尋址;同時還

要利用通信線路控制寄存器的最高位,即

除數(shù)寄存器訪問位DLAB,來區(qū)別共用兩

個端口地址的不同寄存器(表12.2)

1.接收緩沖寄存器RBR

SIN

存放串行接收后轉換成并行的數(shù)據(jù)

2.發(fā)送保持寄存器THR

CPU

■i

發(fā)送保持寄存器

發(fā)送移位寄存器SOUT

同步控制

8250

包含將要串行發(fā)送的并行數(shù)據(jù)

3.除數(shù)寄存器

|-------------16T--------------1

]起爭位|;

數(shù)據(jù)線

(SIN)

時鐘ihimimiiiiiihiiiiimimiiiiHHmnimhjiniinjLnr

(RCLK)

16T

除數(shù)寄存器保存設定的分頻系數(shù)

分頻系數(shù)=基準時鐘頻率?。?6義比特率)

4.通信線路控制寄存器LCR

DLABD6D5D4D3D2DlDO

I

匕」|』」|」|」口I」口口

中止字符

停止位個數(shù)

數(shù)據(jù)位個數(shù)

0校驗,U

J01位

1J005位

X一

xl1L5位(數(shù)據(jù)彳

位016位

12位(數(shù)據(jù)位

001設107位

驗ZQ28位

011設置偶校驗

nn為1

指定串行異步通信的字符格式

5,通信線路狀態(tài)寄存器LSR

O

D6D5D4D3D2DlDO

*a髭

I-JI-J

m3

31

至1

聲w1為1,表示接收數(shù)據(jù)緩沖器收到E

m魚

麗|1一個數(shù)據(jù),既接收數(shù)據(jù)準備好;1

m且

n習

3當CPU讀走數(shù)據(jù)后,該位為01

z^i圈

JJ

提供串行異步通信的當前狀態(tài)

供CPU讀取和處理

6,調制解調器控制寄存器MCR

DTR

000LOOPOUT2OUT1RTS

aJJJJJJJJj

a=J1=JIM

T

n為1使8250為循環(huán)工作方式l

-nI-

n

m否則為正常工作方式M

n

w

設置8250與數(shù)據(jù)通信設備之間

聯(lián)絡應答的輸出信號

7,調制解調器狀態(tài)寄存器MSR

■反映4個控制輸入信號的當前狀態(tài)及其變化

■MSR高4位中某位為1,說明相應輸入信號當前

為低有效,否則為高電平

■MSR低4位中某位為1,則說明從上次CPU讀取

該狀態(tài)字后,相應輸入信號已發(fā)生改變,從高變

低或反之

■MCR低4位任一位置1,均產(chǎn)生調制解調器狀態(tài)

中斷,當CPU讀取該寄存器或復位后,低4位被

清零

鼻4級中斷

■接收線路狀態(tài)中斷優(yōu)先權高

.奇偶錯、溢出錯、幀錯和中止字符

■接收器數(shù)據(jù)準備好中斷

■發(fā)送保持寄存器空中斷

■調制解調器狀態(tài)中斷.優(yōu)先權低

■清除發(fā)送狀態(tài)改變

-數(shù)據(jù)終端準備好狀態(tài)改變

-振鈴接通變成斷開

-接收線路信號檢測狀態(tài)改變

8.中斷允許寄存器IER

■8250設計有2個中斷寄存器和4級中斷

?4級中斷的優(yōu)先權,是按照串行通信過程中

事件的緊迫程度安排的、是固定不變的

■用戶可利用中斷允許或禁止進行控制

■中斷允許寄存器的低4位控制8250這4級中

斷是否被允許

■某位為1,則對應的中斷被允許

■否則,被禁止

9.中斷識別IIR

00000ID1ID0IP,0有中斷

Li無中斷

mi』』』』』』』』』』』』」—』』」、

ID1ID0優(yōu)先權中斷類型回

接收線路狀態(tài)回

111回

a

102接收數(shù)據(jù)準備好

EFj

l

013發(fā)送保持寄存器空B

B

004調制解調器狀態(tài)R

保存正在請求中斷的優(yōu)先權最高

的中斷級別編碼

12.4異步通信適配器

-

-IBMPC/XT機的串行異步通信適配器

■以8250為核心

■完成發(fā)送時的并轉串和接收時的串轉并以及相

應的控制工作

■配置了TTL電平與EIA電平轉換電路等

-展開異步通信適配器的

■硬件電路

■軟件編程

12.4.1異步通信適配器的接口電路

LS2458250

DO?D7^-----D0?D7

—HDIR

[OR^注意:跨接器’

Tow—J9?JU

AO?A2一和OUT2*的作用RCLK

AEN-

CS2BAUDOUT+5V

A3?A7A9

CSO

+5V

CS1

~"rJ9-j-ADS

A8―rJ10-:-

—rjn4—DISTR

J12L0UT2DOSTR

IRQ4INTRPT

IRQ3

RESETMR

1.8432MHzXTAL1

12.4.2異步通信適配器的初始化編程

■對8250的內部控制寄存器進行編程寫入

⑴寫入除數(shù)寄存器

■設置傳輸率

⑵寫入通信線路控制寄存器

■設置字符格式

⑶寫入調制解調器控制寄存器

■設置工作方式

(4)寫入中斷允許寄存器

■設置中斷允許或屏蔽位

設置傳輸率

moval980h

movdx,3fbh

outdx,al

;寫入通信線路控制寄存器,使DLAB=1

movax,96

;分頻系數(shù):l.8432MHz+(1200X16)=96=60H

movdx,3f8h

outdx9al;寫入除數(shù)寄存器低8位

moval,ah

incdx

outdx,al;寫入除變寄存器高8位

寫入底數(shù)萼存器—一二

設置字符格式

moval,00001010b

movdx,3fbh

outdx,al;寫入通信線路控制寄存器

;這段程序同時使DLAB=0

寫入通信線路控制寄存器

設置工作方式

?設置查詢通信方式

moval,03h

;控制OUT2*為高,DTR*和RTS*為低

movdx,3fch

outdx,al;寫入調制解調器控制寄存器

■設置中斷通信方式

moval,Obh

;控缶ij為OUT2*低,允許INTRPT產(chǎn)生請求

movdx,3fch

outdx^al

寫入調制解調器控制寄存器

設置中斷允許或屏蔽位

moval50;禁止所有中斷

movdx,3f9h

outdx,al

;寫入中斷允許寄存器(此時DLAB=0)

寫入中斷允許寄存器

12.4.3異步通信程序

■程序循環(huán)讀取8250的通信狀態(tài)寄存器

-數(shù)據(jù)傳輸錯誤就顯示一個問號“?”

■接收到數(shù)據(jù)就顯示出來

■可以發(fā)送數(shù)據(jù)就從鍵盤輸入發(fā)送字符(用戶沒

有輸入字符就不發(fā)送)

■如果按下ESC鍵返回DOS

查詢通信線路狀態(tài)

statue:movdx52fdh

;讀通信線路狀態(tài)寄存器

inal9dx

testaljeh;接收有錯誤否?

jnzerror;有錯,則轉錯誤處理

testal,01h;接收到數(shù)據(jù)嗎?

jnzreceive;是,轉接收處理

testal,20h;保持寄存器空嗎?

jzstatue;不能,循環(huán)查詢

異步通信程序

檢測鍵盤輸入

movah,Obh;檢測鍵盤有無輸入字符

int21h

cmpal,0

jzstatue;無輸入字符,循環(huán)等待

movah,0;有輸入字符,讀取字符

int16h

;采用01號DOS功能調用,則有回顯

cmpaljbh

jzdone;是后3(2鍵,程序返回DOS

異步通信程序

發(fā)送數(shù)據(jù)

movdx,2f8h

;將字符輸出給發(fā)送保持寄存器

outdx,al;串行發(fā)送數(shù)據(jù)

jmpstatue;繼續(xù)查詢

異步通信程序

接收數(shù)據(jù)

receive:movdx,2f8h

;從輸入緩沖寄存器讀取字符

inal9dx

andal,7fh

;傳送標準ASCH碼(7個數(shù)據(jù)位)

;所以僅取低7位

pushax;保存數(shù)據(jù)

異步通信程序

顯示數(shù)據(jù)

movdl,al;屏幕顯示該數(shù)據(jù)

movah,2

int21h

popax;恢復數(shù)據(jù)

cmpal,Odh;數(shù)據(jù)是回車符嗎?

jnzstatue;不是,則循環(huán)

movdl,Oah;是,再進行換行

movah,2

int21h

jmpstatue;繼續(xù)查詢

異步通信程序

接收錯誤處理

error:movdx,2f8h

;讀出接收有誤的數(shù)據(jù),丟掉

inal9dx

movdl,?;顯示問號

movah,2

int21h

jmpstatue;繼續(xù)查詢

異步通信程序

中斷通信方式的編程方法

■關鍵

解決主程序與中斷服務程序的數(shù)據(jù)傳遞

■注意

處理好8250的4級10種中斷源

-簡便方法

只允許接收數(shù)據(jù)準備好中斷

中斷通信方式的循環(huán)隊列

接收隊列

主程序

頭指針

中斷服務程序

UART

接收處理:

從隊列

溫馨提示

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

評論

0/150

提交評論