湖大微機(jī)原理及其應(yīng)用_第8章.ppt_第1頁
湖大微機(jī)原理及其應(yīng)用_第8章.ppt_第2頁
湖大微機(jī)原理及其應(yīng)用_第8章.ppt_第3頁
湖大微機(jī)原理及其應(yīng)用_第8章.ppt_第4頁
湖大微機(jī)原理及其應(yīng)用_第8章.ppt_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、,第8章,串行通信接口, 串行通信的基本概念, 串行通信的接口標(biāo)準(zhǔn), 16550可編程串行接口芯片, 了解微機(jī)串行通信的基本概念, 了解RS-232C,RS485以及USB等幾種串行接口標(biāo)準(zhǔn)及其用法, 掌握16550芯片的接口技術(shù)及程序設(shè)計(jì),8.1 串行通信的基本概念,通信:計(jì)算機(jī)與外部設(shè)備之間、計(jì)算機(jī)之間的信息交換。,8.1.1 串行通信的連接方式,圖8.1 串行通信的3種連接方式,發(fā)送器,A,發(fā)送器,接收器,發(fā)送器,接收器,發(fā)送器,接收器,接收器,發(fā)送器,接收器,B,數(shù)據(jù)線,(a)單工方式,數(shù)據(jù)線,A,B,(c)全雙工方式,數(shù)據(jù)線,數(shù)據(jù)線,A,B,(b)半雙工方式,8.1.2 信號(hào)的調(diào)制與

2、解調(diào),MODEM是由調(diào)制器和解調(diào)器合在一起形成的一個(gè)裝置,以用作雙向通信。 MODEM的類型一般可分為幅移鍵控(ASK)、頻移鍵控(FSK)和相移鍵控(PSK)等。 當(dāng)通信波特率小于300bit/s時(shí),常采用FSK調(diào)制方式。,8.1.3 同步與異步通信方式,1. 異步通信方式(ASYNC),異步通信方式的特點(diǎn)是:,(1)起始位:一位,邏輯0,表示字符的開始;,通信時(shí)以收發(fā)一個(gè)字符為獨(dú)立的通信單位,每個(gè)字符由4個(gè)部分組成:,(2)數(shù)據(jù)位: 可以是58位邏輯0/邏輯1, 與雙方約定的編碼形式有關(guān),如:ASCII碼(7位), 擴(kuò)展的BCD碼(8位)等, 起始位之后緊跟著的是數(shù)據(jù)的最低位D0。,(3)

3、奇/偶校驗(yàn)位:一位邏輯0/邏輯1。,(4)停止位:1位或1.5位或2位邏輯1,表示字符的結(jié)束 。,2. 同步通信方式(SYNC),在異步通信中,每個(gè)字符都要用起始位和停止位來使通信雙方同步,這些附加的額外信息,使得異步通信的傳輸效率不高。 在需傳輸大量數(shù)據(jù)的場合,為提高傳輸效率和速度,常去掉這些附加位,即采用同步通信SYNC (Synchronous data Communication),同步通信方式的特點(diǎn)是:,為了防止因收、發(fā)雙方的時(shí)鐘頻率的偏差的積累效應(yīng)而產(chǎn)生錯(cuò)位,從而導(dǎo)致通信出錯(cuò),同步通信要求接收和發(fā)送的時(shí)鐘完全同步,不能有誤差。 實(shí)際應(yīng)用中,同步傳送常在收、發(fā)雙方間使用同一時(shí)鐘,故硬

4、件電路比較復(fù)雜。,對(duì)每個(gè)字符的檢錯(cuò)一般可用奇校驗(yàn),數(shù)據(jù)塊的末尾用CRC(循環(huán)冗余碼)對(duì)整個(gè)數(shù)據(jù)塊進(jìn)行校驗(yàn)。,收、發(fā)雙方以一個(gè)或兩個(gè)預(yù)先約定的同步字符作為數(shù)據(jù)塊傳送的開始,數(shù)據(jù)塊由幾十到幾千,甚至更多字節(jié)組成。,8.1.4 波特率與收/發(fā)時(shí)鐘,1. 波特率,串行通信中常用波特率(Baud rate)來表示數(shù)據(jù)傳輸率, 波特率的單位是bit/s,即每秒所傳送的二進(jìn)制位數(shù)。 常用的標(biāo)準(zhǔn)值有110,300,600,1200,2400,4800, 9600,19200波特等。,2.接收/發(fā)送時(shí)鐘,8.2 串行通信的接口標(biāo)準(zhǔn),8.2.1 RS-232C接口標(biāo)準(zhǔn),RS-232C是1969年由美國EIA(電子

5、工業(yè)協(xié)會(huì))頒發(fā)的串行總線標(biāo)準(zhǔn), 其中RS是Recommended Standard的縮寫,232是標(biāo)準(zhǔn)的標(biāo)識(shí)號(hào)。 RS-232C主要用于模擬信道傳輸數(shù)字信號(hào)的場合, 推出這種標(biāo)準(zhǔn)的最初目的是在數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間建立接口標(biāo)準(zhǔn)。,DTE(Data Terminal Equipment),DCE(Data Communication Equipment),1.機(jī)械特性 采用25腳D型連接器(含插頭/插座)作為DTE與DCE之間通信電纜的連接口, 也可以采用9腳D型連接器。,2.電氣特性 采用負(fù)邏輯工作,即: 邏輯“1”用負(fù)電平表示,有效電平范圍是-3V-15V 邏輯“

6、0”用正電平表示,有效電平范圍是+3V+15V -3V+3V為過渡區(qū),邏輯狀態(tài)不定,為無效電平。,3.引腳信號(hào)定義,表8.1 RS-232C 主信道引腳信號(hào), 數(shù)據(jù)線: TXD(Transmitted Data):發(fā)送數(shù)據(jù), DTE通過TXD將串行數(shù)據(jù)發(fā)送到Modem。 RXD(Received Data):接收數(shù)據(jù), DTE通過RXD接收從Modem來的串行數(shù)據(jù)。, 接收控制信號(hào)線: DSR(Data communication equipment Set Ready)表示Modem已準(zhǔn)備就緒 DTR(Data Terminal Ready): DTE用來通知Modem,已準(zhǔn)備就緒,可以接收

7、數(shù)據(jù)。,DCD(DataCarrier Detection): 用來表示Modem正在接收來自對(duì)方Modem的載波信號(hào),通知DTE準(zhǔn)備接收數(shù)據(jù)。 RI(Ringing Indicator): 通知DTE、Modem已收到電話交換機(jī)送來的振鈴呼叫信號(hào),使用公用電話線時(shí)要用此信號(hào)。,4.信號(hào)線的連接,(1) 遠(yuǎn)距離時(shí)的連接,(2) 近距離時(shí)的連接,8.2.2 RS-485 接口標(biāo)準(zhǔn),1. RS-422A 接口標(biāo)準(zhǔn),RS-232C最大的缺點(diǎn)是 : 不能進(jìn)行遠(yuǎn)距離傳輸,采用單端驅(qū)動(dòng)單端接收電路(多根信號(hào)線共地), 不能區(qū)分由驅(qū)動(dòng)電路產(chǎn)生的有用信號(hào)和外部干擾信號(hào), 兩地之間的電位差將成為通信錯(cuò)誤的根源。

8、, RS-422A標(biāo)準(zhǔn)的特點(diǎn):,采用的平衡驅(qū)動(dòng)、差分接收電路 抗共模干擾信號(hào)能力很強(qiáng),對(duì)邏輯電平的定義是根據(jù)兩條傳輸線A、B之間的電位差值來決定的,如: 當(dāng)AA線的電平比BB線的電平低0.2V時(shí)表示邏輯“0”。, RS-422A標(biāo)準(zhǔn)的特點(diǎn):, 最大傳輸速率可達(dá)10Mb/s(當(dāng)傳輸距離為15m時(shí)); 最大傳輸距離可達(dá)1200m(當(dāng)傳輸率為90Kb/s時(shí))。 對(duì)比: RS-232C的最大傳輸率為20Kb/s, 最大傳輸距離為15m(50英尺)。,允許驅(qū)動(dòng)器輸出電壓為+2V+6V, 接收器輸入電平靈敏度為+0.2V; 采用四根線傳輸信號(hào)(2根用于發(fā)送,2根用于接收); 可以實(shí)現(xiàn)多站互聯(lián)通信(只允許有

9、一個(gè)發(fā)送器,可以有多達(dá) 十個(gè)接收器)。, RS-422A標(biāo)準(zhǔn)的特點(diǎn):,2. RS-485 接口標(biāo)準(zhǔn),RXD,使能(EN),TXD,RXD,TXD,使能(EN),RS-485,RS-422A,圖8.12 RS-485與RS-422的連接形式比較,8.2.3 USB 接口標(biāo)準(zhǔn),(1)為所有的帶有USB接口的外設(shè)提供了連接到計(jì)算機(jī)的單一的,易于操作的標(biāo)準(zhǔn)連接方式,(2)支持“即插即用”,(3)支持熱插拔,(4)提供多種速率以適應(yīng)不同類型的設(shè)備,USB1.0版的數(shù)據(jù)傳輸率分為1.5Mb/s低速傳輸和12Mb/s全速傳輸兩種,USB2.0版的速率則可高達(dá)480Mb/s。,(5)占用主機(jī)資源少卻支持多設(shè)備

10、的連接,USB采用星形層次結(jié)構(gòu)和Hub技術(shù),理論上允許最多支持127臺(tái)物理外設(shè)的連接,而總共只占用相當(dāng)于一臺(tái)傳統(tǒng)設(shè)備所需的資源(I/O端口地址、中斷口等)。,(6)可為低功耗外設(shè)提供電源,可提供+5V電壓,500mA電流的電源 。,1. USB 的特點(diǎn),2. USB 系統(tǒng)的硬件結(jié)構(gòu),3. USB 系統(tǒng)的軟件結(jié)構(gòu),(1)USB設(shè)備驅(qū)動(dòng)程序,位于USB系統(tǒng)軟件的最上層,是USB系統(tǒng)軟件與USB應(yīng)用程序的接口,用來實(shí)現(xiàn)對(duì)特定的USB設(shè)備(如:顯示器等)的管理和驅(qū)動(dòng)。,(2)USB驅(qū)動(dòng)程序,用來實(shí)現(xiàn)USB總線的驅(qū)動(dòng)、帶寬的分配、管道的建立和控制管道的管理等功能,通常操作系統(tǒng)(如Windows 98)可

11、提供USB驅(qū)動(dòng)程序。,(3)主控制器驅(qū)動(dòng)程序,用來管理和控制USB主控制器硬件,一般USB主控制器是一個(gè)可編程的硬件接口,其驅(qū)動(dòng)程序則用來實(shí)現(xiàn)與主控制器通信以及對(duì)其控制等功能。,4. USB 的傳輸方式,USB是一種協(xié)議總線。 這里介紹其中的傳輸方式:,(1)數(shù)據(jù)塊傳輸方式: 用于傳輸大批數(shù)據(jù),這種數(shù)據(jù)的實(shí)時(shí)性要求不是太高,但要確保數(shù)據(jù)的正確性。,(2)中斷傳輸方式: 用于數(shù)據(jù)傳輸量小,但具有突發(fā)性特點(diǎn)的一類設(shè)備。典型的應(yīng)用是鼠標(biāo)、鍵盤、游戲棒等手動(dòng)輸入設(shè)備。,(3)等時(shí)傳輸方式 : 用于周期性和傳輸速率不變的數(shù)據(jù)傳輸設(shè)備。典型的如視頻設(shè)備、數(shù)字聲音設(shè)備、數(shù)碼相機(jī)等,,(4)控制傳輸方式 :

12、用于主機(jī)與外設(shè)之間的控制、狀態(tài)、配置等信息的傳輸。因此,它傳輸?shù)氖强刂菩畔⒘?,而不是?shù)據(jù)流。這種方式為主機(jī)與外設(shè)之間提供了一個(gè)控制通道.,5. USB 設(shè)備開發(fā)簡介,USB設(shè)備的開發(fā),一般包括三個(gè)方面的工作: 設(shè)備端硬件接口設(shè)計(jì) 設(shè)備內(nèi)部對(duì)USB接口的驅(qū)動(dòng)程序 主機(jī)端設(shè)備驅(qū)動(dòng)程序的開發(fā) 這里僅對(duì)設(shè)備端的硬件接口設(shè)計(jì)作簡單介紹。,(1)普通單片機(jī)加專用USB接口芯片: 常見USB接口芯片有,Philips公司的PDIUSBD12芯片,National Semiconductor公司的USBN9602芯片,以及Lucent公司的USB820/825等。 優(yōu)點(diǎn):可以基于用戶自己熟悉的單片機(jī),利用現(xiàn)有

13、的單片機(jī)開發(fā)系統(tǒng)進(jìn)行開發(fā). 缺點(diǎn):硬件設(shè)計(jì)較復(fù)雜,調(diào)試麻煩。,(2)專用USB控制器芯片: 即帶有USB接口的單片機(jī)。 如與Intel 8051 單片機(jī)兼容的EZ-USB(Cypress公司),它在8051單片機(jī)上所集成的智能USB引擎可以完成USB協(xié)議所規(guī)定的80%以上的通信工作,大大地減輕了USB設(shè)備開發(fā)人員的開發(fā)工作量。 缺點(diǎn):需要購買新的開發(fā)系統(tǒng),投資較大。,8.3 16550可編程串行接口芯片,美國國家半導(dǎo)體公司的PC16550D是一個(gè)通用的異步接收器/發(fā)送器(UART)芯片 它與INS 8250 兼容,但最高波特率提高到1.5Mb/s, 且具有接收器和發(fā)送器FIFO(first-i

14、n first-out先進(jìn)先出)緩沖區(qū)。 目前16550在PC機(jī)的外圍芯片組中得到了廣泛的應(yīng)用。,8.3.1 16550的功能描述,1.發(fā)送器: 接收CPU送來的并行數(shù)據(jù),再添加上起始位、校驗(yàn)位和停止位以后,由SOUT引腳依次串行發(fā)送出去 包括:發(fā)送保持寄存器、發(fā)送移位寄存器和發(fā)送同步控制等三部分組成。,整個(gè)芯片由接收器、發(fā)送器和控制器三部分組成。,2. 接收器: 將由SIN引腳輸入的串行數(shù)據(jù)逐位移入,進(jìn)行奇/偶校驗(yàn),去掉起始位、停止位和校驗(yàn)位后轉(zhuǎn)換成并行數(shù)據(jù),提供給CPU。 包括接收移位寄存器、接收緩沖寄存器和接收同步控制器等三個(gè)組成部分。,3. 控制器,(1)波特率發(fā)生器控制電路: 由波特

15、率發(fā)生器、分頻系數(shù)寄存器組成, 用于產(chǎn)生串行通信時(shí)所需要的波特率時(shí)鐘信號(hào)。 若16550是以18.432MHZ外部時(shí)鐘源作為基準(zhǔn)時(shí)鐘,則有: 分頻系數(shù)=18432000(波特率16) (8.1) 上式中除以16是因?yàn)榻邮栈虬l(fā)送的時(shí)鐘頻率是相應(yīng)波持率的16倍。,(2)通信線控制寄存器和通信線狀態(tài)寄存器: 控制寄存器用來接收CPU寫入的控制字,并依此來控制串行通信的數(shù)據(jù)格式; 狀態(tài)寄存器則是反映16550在數(shù)據(jù)發(fā)送和接收時(shí)的狀態(tài),供CPU讀取。,(3)中斷控制邏輯: 由中斷允許寄存器、中斷識(shí)別寄存器和中斷控制電路等三部分組成, 用來實(shí)現(xiàn)中斷申請(qǐng)、優(yōu)先權(quán)排隊(duì)等管理功能。,(4)調(diào)制/解調(diào)器控制電路:

16、 對(duì)外可提供一組Modem控制信號(hào); 使得16550可直接與Modem連接,實(shí)現(xiàn)遠(yuǎn)程通信。,(5)與CPU的接口電路: 16550與Intel微處理器完全相容,可以與8088/8086 CPU直接連接; 接口電路含八位的雙向三態(tài)數(shù)據(jù)總線緩沖器和片選及讀寫控制邏輯,用于與CPU雙向交換各種信息。,8.3.2 16550的引腳及其功能,2.地址線:,CS0、CS1、 CS2:片選信號(hào),當(dāng)輸入的CS0 、CS1為高電平, CS2為低電平時(shí),16550芯片被CPU選中。,A0A2:片內(nèi)寄存器選擇線,CPU用此來選擇要訪問的16550的內(nèi)部寄存器中的某一個(gè)。,DDIS:驅(qū)動(dòng)器禁止信號(hào)輸出 每當(dāng)CPU從1

17、6550讀取數(shù)據(jù)時(shí),DDIS=0。 其余時(shí)候均為高電平,禁止掛在CPU與16550之間的 數(shù)據(jù)線上的收發(fā)器與16550通信。,RD、RD:讀控制信號(hào)(兩者可任意用一個(gè)) 用于控制16550內(nèi)部寄存器中讀出數(shù)據(jù)或狀態(tài)信息。,WR、WR:寫控制信號(hào)(兩者可任意用一個(gè)) 用于控制向16550內(nèi)部的寄存器寫入命令字或數(shù)據(jù)。,Xin、Xout:時(shí)鐘信號(hào)輸入引腳 有兩種方式可以通過這兩引腳產(chǎn)生16550的內(nèi)部基準(zhǔn)時(shí)鐘 一種是將石英晶體振蕩器直接連接在這兩個(gè)引腳之間 另一種是將外部時(shí)鐘信號(hào)連接到Xin引腳上。,MR:主復(fù)位信號(hào), 用于對(duì)16550復(fù)位操作,一般應(yīng)將此引腳連接到系統(tǒng)RESET信號(hào)上,使1655

18、0與系統(tǒng)同時(shí)復(fù)位。,INTR:中斷請(qǐng)求信號(hào),由此引腳向CPU申請(qǐng)中斷。,4.串行數(shù)據(jù)輸入/輸出線:,8.3.3 16550的內(nèi)部可編程寄存器及控制字格式,表8.2 16550的內(nèi)部功能寄存器,DLAB是通信線控制寄存器的最高位(D7),x表示取值任意(0或1均可),1.通信控制和狀態(tài)寄存器,注:接收間斷表示長時(shí)間(超過一幀字符的傳送時(shí)間)收到邏輯0,2.用于波特率發(fā)生器的除數(shù)寄存器,分頻系數(shù)=18432000(波特率16) (8.1),表8.3 常用波特率與除數(shù)寄存器的設(shè)置,3.Modem的控制和狀態(tài)寄存器,(1)Modem控制寄存器MCR,本控制字的作用:,*決定連接到Modem的通信聯(lián)絡(luò)信

19、號(hào)DTR、RTS是否為有效狀態(tài),*決定16550是否工作在自診斷測(cè)試方式。當(dāng)D4=1時(shí),用來測(cè)試 16550工作是否正常。,(2)Modem狀態(tài)寄存器MSR,MSR用來反映Modem送入的聯(lián)絡(luò)應(yīng)答信號(hào)的狀態(tài),以及這些信號(hào)的變化信息。,4.中斷控制用寄存器,中斷允許寄存器IER,中斷識(shí)別寄存器IIR,IIR用D0位(IP)表示是否有中斷請(qǐng)求, ID1、ID0兩位編碼表示當(dāng)前請(qǐng)求的優(yōu)先權(quán)最高的中斷。,5.數(shù)據(jù)接收/發(fā)送寄存器,用來保存CPU送來的并行數(shù)據(jù),并轉(zhuǎn)送到發(fā)送移位寄存器,將此并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),且加上起始位、校驗(yàn)位和停止位,再從SOUT引腳串行輸出。,(2)接收緩沖寄存器RBR,從SI

20、N引腳輸入的串行數(shù)據(jù)被送到接收移位寄存器,去掉起始位、校驗(yàn)位和停止位以后,轉(zhuǎn)換成并行數(shù)據(jù)并存入RBR中,等待CPU來接收。,16550的一個(gè)主要優(yōu)點(diǎn)是它具有16字節(jié)的內(nèi)部接收器和發(fā)送器FIFO (先進(jìn)先出存儲(chǔ)器), 使得16550大大地降低了對(duì)CPU響應(yīng)串行數(shù)據(jù)接收/發(fā)送中斷的速度要求, 適合于高速串行通信系統(tǒng)中使用。 FFCR則用于對(duì)FIFO的控制。,EN,REVC,XMIT,DMA,0,0,RT2,RT1,FFCR,D7,D0,接收器FIFO產(chǎn)生中斷的條件:,DMA方式控制位,接收器清除,FIFO允許位,0:不是DMA方式 1:DMA方式,00: FIFO中有1字節(jié)數(shù)據(jù) 01: FIFO中有4字節(jié)數(shù)據(jù) 10: FIFO中有8字節(jié)數(shù)據(jù) 11: FIFO中有16字節(jié)數(shù)據(jù),0:無效1:清除接收 器FIFO,0:禁止FIFO 1:允許FIFO,發(fā)送器清除,0:無效1:清除發(fā)送器FIFO,圖8.22 FIFO控制寄存器,8.3.4 16550的初始化編程,設(shè)置Modem控制寄存器(MCR),一般情況下,MCR應(yīng)設(shè)置為03H,即使16550輸出的DTR、RTS兩個(gè)信號(hào)為有效電平; 在PC機(jī)系統(tǒng)中,常使用16550輸出引腳OUT2來控制其中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論