




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章總線接口技術前言第6章 總線接口技術前言前言6.1 串行通信基本概念串行通信基本概念 6.2 串行通信標準總線(串行通信標準總線(RS-232-C) 6.3 SPI總線總線第6章總線接口技術前言第6章 總線接口技術 隨著微型計算機控制技術的不斷發展,現在已經生產出多種專用工業控制機。這些控制機大都采用模塊式結構,具有通用性強,系統組態靈活等特點,因而具有廣泛的適用性。 在這些工業控制機中,除了主機板之外,還有大量的用途各異的I/O接口板,如A/D和D/A轉換板、步進電機控制板、電機控制板、內存擴展板,串/并行通信擴展板、開關量輸入/輸出板等。為了使這些功能板能夠方便地連接在一起,必須采用
2、統一的總線。 微機控制技術第6章總線接口技術前言第6章 總線接口技術總線有并行和串行兩種。在這一章里,主要介紹幾種工業過程控制中常用的串行總線,如RS-232-C、RS-422、RS-485、SPI總線、I2C總線以及現場總線等。微機控制技術第6章總線接口技術前言第6章 總線接口技術總線有并行總線和串行總線兩種。(1)并行總線 N位數據一次傳送,因此傳送速度快。 需要N條傳輸線,故價格較高。主要用于模塊與模塊之間的連接。(2) 串行總線 一位一位地傳送,因此傳送速度較慢。 只需一條傳輸線,所以價格低。該總線主要用于遠距離通信。 主要介紹幾種工業過程控制中常用的串/并行總線。微機控制技術第6章總
3、線接口技術前言6.1 串行通信基本概念 隨著微型計算機技術的發展,微型機的應用正在從單機向多機過渡。多機應用的關鍵是相互通信。特別在遠距離通信中,并行通信已顯得無能為力,通常大都須采用串行通信方法。在這一節里,首先介紹串行通信的基本概念,然后介紹幾種常用的串行通信總線,如RS-232-C,RS-485等。此外,還介紹幾種單片機專用總線,如SPI總線,I2C總線等。最后,講一下現場總線。它的出現,使微型計算機控制系統正經歷著一場新的革命。微機控制技術第6章總線接口技術前言6.1 串行通信基本概念6.1.1 6.1.1 數據傳送方式數據傳送方式6.1.2 6.1.2 異步通信和同步通信異步通信和同
4、步通信第6章總線接口技術前言6.1.1 數據傳送方式 在微型計算機系統中,處理器與外部設備之間的數據傳送方法有兩種:(1)并行通信數據各位同時傳送;(2)串行通信數據一位一位地按順序傳送。如圖6.1所示就是這兩種傳送方式的示意圖。微機控制技術第6章總線接口技術前言圖 6.1 并行通信與串口通信的數據傳送方式微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式 如圖6.1所示可以看出,在并行通信中,數據有多少位就需要有多少根傳輸線,而串行通信無論數據有多少位只需要一對傳輸線。因此,串行通信在遠距離和多位數據傳送時,有著明顯的優越性。但它的不足之處在于數據傳送的速度比較慢。本節主要介紹有關串
5、行通信的基本概念。 在串行通信中,數據傳送有3種方式:單工方式、半雙工方式和全雙工方式。微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式 1. 單工方式(Simplex Mode) 在這種方式中,只允許數據按一個固定的方向傳送,如圖6.2(a)所示。圖中A只能發送數據,稱為發送器(Transfer);B只能接收數據,叫做接收器(Receiver)。而數據不能從B向A傳送。 微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式2. 半雙工方式(Half-Duplex Mode) 半雙工方式如圖6.2(b)所示。在這種方式下,數據既可以從A傳向B,也可以從B向A傳輸。因此,A,B既
6、可作為發送器,又可作為接收器,通常稱為收發器(Transceiver)。從這個意義上講,這種方式似乎為雙向工作方式。但是,由于A,B之間只有一根傳輸線,所以信號只能分時傳送。微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式即在同一時刻,只能進行一個方向傳送,不能雙向同時傳輸。因此,將其稱為“半雙工”方式。在這種工作方式下,要么A發送,B接收;要么B發送,A接收。當不工作時,令A,B均處于接收方式,以便隨時響應對方的呼叫。微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式3. 全雙工方式(Full-Duplex Mode) 雖然半雙工方式比單工方式靈活,但它的效率依然比較低。主
7、要原因是從發送方式切換到接收方式需要一定的時間,大約為數毫秒。重復線路切換所引起的延遲積累時間是相當可觀的。另一方面,也是更重要的,就是在同一時刻只能工作在某一種方式下,這是半雙工效率不高的根本原因所在。微機控制技術第6章總線接口技術前言6.1.1 數據傳送方式解決的方法是增加一條線,使A,B兩端均可同時工作在收發方式,如圖6.2(c)所示。將圖6.2(c)與圖6.2(b)相比,雖然對每個站來講,都有發送器和接收器,但由于圖(c)中有兩條傳輸線,用不著收發切換,因而傳送速率可成倍增長。微機控制技術第6章總線接口技術前言圖6.2 串行數據傳送方式示意圖 微機控制技術第6章總線接口技術前言6.1.
8、1 數據傳送方式 值得說明的是,全雙工與半雙工方式比較,雖然信號傳送速度大增,但它的線路也要增加一條,因此系統成本將增加。在實際應用中,特別是在異步通信中,大多數情況都采用半雙工方式。這樣,雖然發送效率較低,但線路簡單、實用,對于一般系統也基本夠用。 微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 根據在串行通信中數據定時、同步的不同,串行通信的基本方式有兩種:異步通信(Asynchronous Communication)和同步通信(Synchronous Communication)。微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信1. 異步通信 異步通信
9、是字符的同步傳輸技術。 數據以字符為單位傳輸。當發送一個字符代碼時,字符前面要加一個“起始”信號,其長度為一位,極性為“0”,即空號(Space)狀態;規定在線路不傳送數據時全部為“1”,即傳號(Mark)狀態。字符后邊要加一個“停止”信號,其長度為1,1.5或2位,極性為“1”。字符本身的長度為58位數據,視傳輸的數據格式而定。例如,當傳送的數字(或字符)用ASCII碼表示時,其長度為7位。在某些傳輸中,為了減少誤碼率,經常在數據之后還加一位“校驗位”。 微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 由此可見,一個字符由起始位(0)開始,到停止位(1)結束,其長度為712
10、位。起始位和停止位用來區分字符。傳送時,字符可以連續發送,也可以斷續發送。不發送字符時線路保持“1”狀態。字符發送的順序為先低位后高位。 綜上所述,異步串行通信的幀格式,如圖6.3所示。 微機控制技術第6章總線接口技術前言 圖6-3 異步串行通信格式微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 異步通信的優點是收/發雙方不需要嚴格的位同步。也就是說,在這種通信方式下,每個字符作為獨立的信息單元,可以隨機地出現在數據流中,而每個字符出現在數據流中的相對時間是隨機的。然而一個字符一旦發送開始,字符的每一位就必須連續地發送出去。由此可見,在異步串行通信中,“異步”是指字符與字符之
11、間的異步,而在字符內部,仍然是同步傳送。在異步通信中,由于大量增加了起始停止和校驗位,所以,這種通信方式的效率比較低。其最高效率(傳送8bit數據,1bit停止位,1bit校驗位)也只有8/(8+3)=73%。微機控制技術第6章總線接口技術前言 6.1.2 異步通信和同步通信 2. 同步通信 同步通信的特點是不僅字符內部保持同步,而且,字符與字符之間也是同步的。在這種通信方式下,收/發雙方必須建立準確的位定時信號,也就是說收收/發發時鐘的頻率必須嚴格地一致時鐘的頻率必須嚴格地一致。同步通信在數據格式上也與異步通信不同,每個字符不增加任何附加位,而是連續發送。但是在傳送中,數據要分成組(幀),一
12、組含多個字符代碼或若干個獨立的碼元。微機控制技術第6章總線接口技術前言 6.1.2 異步通信和同步通信 為使收/發雙方建立和保持同步,在每組的開始處應加上規定的碼元序列,作為標志序列。在發送數據之前,必須先發送此標志序列,接收端通過檢測該標志序列實現同步。 微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 標志序列的格式因傳輸規程不同而異。例如,在基本型傳輸規程中,利用國際NO.5代碼中的“SYN”控制系統,可實現收/發雙方同步。又如在高級數據鏈路規程(HDLC)中,是按幀格式傳送的,利用幀標志符“”來實現收/發雙方的同步的。兩種傳送方法如圖6.4所示。微機控制技術第6章總線接
13、口技術前言圖6.4 兩種同步傳送格式微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 同步通信方式適合2400 bps以上速率的數據傳輸。由于不必加起始位和停止位,所以,傳輸效率比較高。其缺點是硬件設備較為復雜,因為它要求有時鐘來實現發送端和接收端之間的嚴格同步,因此還要用鎖相技術等來加以保證。 微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信例如,一種很常見的數據鏈路結構是HDLC,一般包含48bit的控制信息、前同步碼和后同步碼。因此,對于一個1000個字符的數據塊,每個幀包括48bit的額外開銷,以及10008=8000bit的數據,由此可求出其額外開銷僅
14、占48/(8000+48)100%=0.6%。 微機控制技術第6章總線接口技術前言6.1.2 異步通信和同步通信 同步通信用于計算機到計算機之間的通信以及計算機到CRT或外設之間的通信等。微機控制技術第6章總線接口技術前言 62 串行通信標準總線(RS-232-C) 1、在進行串行通信接口設計時,主要考慮: 接口方法 傳輸介質 電平轉換。2、標準總線及配套接口芯片 標準總線 RS-232-C,RS-422、RS-485和20mA電流環等。 接口芯片 為串行接口設計帶來極大的方便。 串行接口的設計主要是確定一種串行標準總線,其次是選擇接口控制及電平轉換芯片。 微機控制技術第6章總線接口技術前言6
15、2 串行通信標準總線(RS-232-C)6.2.1 RS-232-C6.2.2 RS-4856.2.3 多機通信多機通信 第6章總線接口技術前言6.2.1 RS-232-C RS-232-C 美國電子工業協會(美國電子工業協會(E I A)1962年公布,年公布, 1969年最后一年最后一次修訂而成。次修訂而成。 主要用途主要用途 定義計算機系統的一些數據終端設備(定義計算機系統的一些數據終端設備(DTE) 和數據通信設備和數據通信設備(DCE)之間)之間 接口的電氣特性。接口的電氣特性。 如如 CRT、打印機、打印機 與與 CPU 的通信大都采用的通信大都采用 RS-232-C 總線。總線。
16、 MCS-51系列單片機使用系列單片機使用RS-232-C串行總線極為方便。串行總線極為方便。微機控制技術第6章總線接口技術前言6.2.1 RS-232-C1. RS-232-C的電氣特性的電氣特性 RS-232-C 標準標準(1)規定高電平為)規定高電平為+3V+15V, 低電平為低電平為-3V-15V(高、低電平要求對(高、低電平要求對稱)。稱)。(2)RS-232-C 數據線數據線 TxD、RxD 的電平使用負邏的電平使用負邏輯:輯: 低電平表示邏輯低電平表示邏輯 1,高電平表示邏輯,高電平表示邏輯 0。(3)控制線均采用正邏輯,)控制線均采用正邏輯, 最高能承受最高能承受 30V 的信
17、號電平。的信號電平。微機控制技術第6章總線接口技術前言6.2.1 RS-232-C RS-232-C 不能直接與不能直接與 TTL 電路連接電路連接 使用時必須加上適當的電平轉換電路:使用時必須加上適當的電平轉換電路: 如:如: MC1488 ( TTL電平 RS-232-C電平) ( 電源電壓為15V或12V ) MC1489 ( RS-232-C電平 TTL電平) (電源電壓為5V)微機控制技術特別說明特別說明第6章總線接口技術前言補充 RS-232-C電平轉換電路微機控制技術第6章總線接口技術前言功能更強的 RS-232-C 的接口芯片 適用于手提電腦的適用于手提電腦的 RS-232-C
18、 的接口芯片:的接口芯片: 電源(電源(3.35V) 傳輸速率傳輸速率 幾十幾十Kbps 1 Mbps。 接收和發送功能集成在一塊芯片上。接收和發送功能集成在一塊芯片上。 一片包含多個線路驅動器(一片包含多個線路驅動器(TX)和接收器()和接收器(RX)。)。 帶帶 P(微處理器)監控系統。(微處理器)監控系統。 含含 15kV 的靜電放電保護(的靜電放電保護(ESD)功能)功能 及及IEC-1000-4-2空隙放電保護。空隙放電保護。 自動關斷功能的芯片。自動關斷功能的芯片。 多種封裝形式,如多種封裝形式,如DIP(雙列直插封裝)、(雙列直插封裝)、SO(小型表貼)、(小型表貼)、SSOP(
19、緊縮的小型表貼)、(緊縮的小型表貼)、 Max(微型(微型Max)等。)等。微機控制技術第6章總線接口技術前言6.2.1 RS-232-C工業級 RS-232-C 標準接口芯片 MAX232。 接收/發送一體化接口 兩個線路驅動器(TX) 兩個接收器(RX) 16腳 DIP/SO 封裝型。 由 4 部分組成:電壓倍增器、電壓反向器、 發送器、接收器。 RS-232只需用 +5V 單電源即可 微機控制技術第6章總線接口技術前言圖6.5 MAX220/232/232A管腳分配及應用電路微機控制技術第6章總線接口技術前言6.2.1 RS-232-C。這些芯片其收發性能與1488/1489基本相同,只
20、是收發器路數不同。微機控制技術第6章總線接口技術前言6.2.1 RS-232-C 2. RS-232-C的應用MCS-51單片機內部設有串行接口,可直接利用串行接口和 RS-232-C 電平轉換芯片實現串行通信。串口輸出和輸入均為 TTL 電平,需要接RS-232-C的電平轉換芯片。(1)簡單的RS-232電路(補充) 采用 MAX232 作為電平轉換。微機控制技術第6章總線接口技術前言圖6.7 8051單片機串行接口電路圖 微機控制技術TTL 電平電平CMOS 電平電平第6章總線接口技術前言6.2.1 RS-232-C 設計:實現單片機設計:實現單片機 8031 與主機之間進行通信與主機之間
21、進行通信, 設單片機的時鐘頻率是設單片機的時鐘頻率是 11 MHz。 。 要求要求 : 通信速率為通信速率為 4800 波特。波特。 思路:選用串行口工作在方式思路:選用串行口工作在方式 1。 數據格式:數據格式: 通信速率:通信速率: 取決于定時計數器取決于定時計數器 T1 的溢出速率和的溢出速率和 波特率控制位波特率控制位 SMOD 有關。有關。 計算公式:計算公式: 波特率波特率 = (2 /32)(定時器定時器T1的溢出率的溢出率) (5-1) X = 28 20 / 11MHz / 384 4800 = 250 = 0FAH 微機控制技術 SMODT1 的溢出率的溢出率 = fosc
22、 / 12 ( 2N X )方式方式 2波特率波特率 = f / 64第6章總線接口技術前言6.2.1 RS-232-C ;主程序 ORG 2000H START: MOV TMOD,#20H ;定時器;定時器T1為方式為方式2 MOV THl, #0FAH MOV TLl, #0FAH ;波特率為4800 MOV PCON,#00H ;置SMOD=0 SETB TRl ;啟動T1計數開始 MOV SCON,#50H ;串口方式1 CLR RI ;清接收標志 CLR TI ;清發送標志 HERE: AJMP HERE ;模擬主程序功功 能能 程程 序序微機控制技術第6章總線接口技術前言6.2.
23、1 RS-232-C ;數據發送程序 SEDATA:MOV R0,#20H WAIT: JNB TI,$ ;等待發送完一個字;等待發送完一個字符符 MOVX A,R0 ;取一個字符;取一個字符 MOV SBUF,A ;送串口;送串口 INC R0 CLR TI CJNE A,#0AH,WAIT RET微機控制技術將外存中地址為將外存中地址為 20H 開始的開始的 10 個單元的數據以查詢方式輸出個單元的數據以查詢方式輸出第6章總線接口技術前言6.2.1 RS-232-C;接收子程序;接收子程序RVDATA: MOV R0, #20HRXDW: JNB RI, $ CLR RI MOV A SB
24、UF MOVX Ro,A INC R0 CJNE A,#0AH,RXDW RET微機控制技術第6章總線接口技術前言6.2.1 RS-232-C 在實際工程中: 發送子程序是可以實際應用的 只要數據準備好后即可調用。 接收子程序來說,概念上可以理解,但并不實用。 原因是通信對方何時發來數據是不可知的。 在實時性要求不高的應用中, 發送采用查詢方式而接收采用中斷方式工作。 在要求高的場合發和收都要采用中斷工作。 微機控制技術關于上述程序的說明關于上述程序的說明第6章總線接口技術前言(2)單片機雙機通信 第6章總線接口技術前言 參數計算波特率(2SMOD/32)(定時器T1的溢出率) 定時器T1的溢
25、出率 fOSC/12 (2nX) 計數器T1的初值:X2n2SMODfOSC/384波特率設SMOD0,fOSC為11MHz,波特率為4800b/s,則可計算出初值X250FAH 第6章總線接口技術前言 程序設計 ;主程序;主程序 ORG2000H START:MOVTMOD,#20H ;定時器;定時器T1為方式為方式2MOVTHl,#0FAH MOVTLl,#0FAH ;波特率為;波特率為4800MOVPCON,#00H ;置;置SMOD 0SETBTRl;啟動;啟動T1計數開始計數開始MOVSCON,#50H ;串口方式;串口方式1MOVR0,#20H ;發送緩沖區首址發送緩沖區首址MOV
26、R1,#40H ;接收緩沖區首址接收緩沖區首址SETBEA;開中斷;開中斷SETBES;允許串行口中斷;允許串行口中斷LCALL SOUT;先輸出一個字符;先輸出一個字符 HERE:AJMP HERE;模擬主程序;模擬主程序第6章總線接口技術前言;中斷服務程序ORG0023H ;串行中斷入口LJMPSBR1 ;轉至中斷服務程序ORG0100HSBR1: JNB RI,SEDATA ;不是接收則轉發送LCALLSINDATA ;轉接收SJMPNEXT ;轉至程序出口 第6章總線接口技術前言 ;數據發送程序;數據發送程序 SEDATA:MOV R0,#20H WAIT:JNBTI,$;等待發送完;
27、等待發送完一個字符一個字符MOVXA,R0;取一;取一個字符個字符MOV SBUF,A;送串口;送串口INCR0CLRTICJNE A,#0AH,WAITRET第6章總線接口技術前言;接收子程序RVDATA:MOV R0,#20HRXDW:JNB RI,$ CLR RIMOV A,SBUFMOVXR0,AINC R0CJNEA,#0AH,RXDW RET第6章總線接口技術前言(2)單片機與)單片機與PC機之間的通信機之間的通信第6章總線接口技術前言單片機AT89S52的主要工作于方式1,通過查詢接收中斷位RI和發送完畢中斷位TI實現數據的可靠傳輸。串行中斷服務程序用于接收數據。如果接收到0FF
28、H,表示上位機需要聯機信號,單片機發送0FFH作為應答信號;如果接收到數字1n,表示相應的功能。假設收到1,單片機向PC機發送字符a;如果收到2,單片機向PC機發送字符k; 如果收到其他數據,單片機向PC機發送字符m。第6章總線接口技術前言ORG 0000HLJMPMAINORG 0023H;串行中斷服務程序LJMPSINTORG 0100HMAIN: MOV SP,#60H;設置堆棧MOV TMOD,#20H;設置T1工作方式2MOV TH1,#0F3H;定時器重裝值MOV TL1,#0F3H;定時器初值,波特率2400MOV PCON,#00H;波特率不倍增 第6章總線接口技術前言MOVS
29、CON,#50H;設置串口工作方式1,REN=1允許接收SETB ES;允許串行中斷 SETBEA;允許總的中斷 SETBTR1;定時器開始工作HERE: SJMPHERE;模擬主程序第6章總線接口技術前言 ;串行中斷服務程序;串行中斷服務程序SINT:CLR ES;禁止串行中斷;禁止串行中斷CLRRI;清除接收標志位;清除接收標志位MOV A,SBUF;從緩沖區取出數據;從緩沖區取出數據MOV DPTR,#TABLECJNE A,#0FFH,IN1;檢查數據;檢查數據MOV SBUF,#0FFH ;收到;收到0FFH,發送聯機信號發送聯機信號JNBTI,$;等待發送完畢;等待發送完畢CLRT
30、I;清除發送標志;清除發送標志SETB ES;允許串行中斷;允許串行中斷RETI第6章總線接口技術前言;發送“a”IN1:CJNEA,#01H,IN2 ;如果收到1MOVCA+DPTRMOV SBUF,A;發送aJNB TI,$ ;等待發送完畢CLR TI ;清除發送標志SETBES;允許串行中斷RETI第6章總線接口技術前言;發送“k”IN2:CJNE A,#02H,IN3;如果收到2MOVCA+DPTRMOV SBUF,A;發送kJNB TI,$;等待發送完畢CLR TI;清除發送標志SETBES;允許串行中斷RETI第6章總線接口技術前言 ;發送;發送“m” IN3:MOVA,#03H;
31、如果收到如果收到3MOVCA+DPTRMOV SBUF,A;發送;發送mJNBTI,$;等待發送完畢;等待發送完畢CLRTI;清除發送標志;清除發送標志SETB ES;允許串行中斷;允許串行中斷RETI TABLE:DB2,a,k,mEND第6章總線接口技術前言6.2.1 RS-232-C3. RS-232-C 機械特性及引腳的功能機械特性及引腳的功能 RS-232-C 標準總線為標準總線為 25 條線,條線, 分為兩類分為兩類 : 信息:信息:TxD 和和 RxD; 聯絡信號。聯絡信號。微機控制技術第6章總線接口技術前言6.2.1 RS-232-C(1)傳送信息信號 2 發送數據TxD(Tr
32、ansmitting Data) 3 接受數據RxD(Receive Data)(2)聯絡信號這類信號共有6個: 4請求傳送信號RTS(Request To Send) 5清除發送CTS(Clear To Send) 數據準備就緒DSR(Data Set Ready) 數據終端就緒信號DTR(Data Terminal Ready) 數據載波檢測信號DCD(Data Carrier Detect) 振鈴指示信號RI(Ring Indication)微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485 RS-232-C雖然使用很廣,但由于推出時間比較早,所以在現代通信網絡中已暴
33、露出明顯的缺點,主要表現在: (1)傳送速率不夠快。(2)傳送距離不夠遠,一般不超過15m。(3)RS-232-C未明確規定連接器,因而出現了互不兼容的25芯連接器。(4)接口使用非平衡發送器,電器性能不佳。(5) 接口處各信號間容易產生串擾。 微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485所以,近幾年EIA作了部分改進,于1977年,制定了新標準RS-449,與RS-449一起推出的還有RS-423-A和RS-422-A。實際上,它們都是RS-449標準的子集。下邊主要介紹RS-423-A和RS-422-A 微機控制技術第6章總線接口技術前言1. RS-423-A/R
34、S-422-A 與RS-232-C類似,RS-423-A也是一個單端的、雙極性電源的電路標準但它提高了傳送設備的傳送數據速率。在速率為1000波特時,距離可達1200m,在速率為100 k波特時,距離可達90m。 RS-423-A/RS-422-A也是負邏輯且參考電平為地,但不同的是RS-232-C規定為-5+15V,而這兩個標準規定為-6+6V。 微機控制技術第6章總線接口技術前言RS-422-A規定了差分平衡的電氣接口,它能夠在較長距離明顯地提高數據傳送速率, 傳輸速率 1200m 100 k波特, 12m 10M波特。 微機控制技術第6章總線接口技術前言6.22 RS-422/RS-48
35、5 (a)為RS-232-C,單端驅動單端接收電路,只用一根導線,是最簡單的連接結構。但無法區分有用信號及干擾信號。 (b)RS-423-A,差分電路接收器,接受器的另一端接發送端的信號地,(因而大大地減少了地線的干擾。 (c) RS-422-A,平衡驅動和差分接收方法,從根本上消除了地線干擾。RS-423-A/RS-422-A的另一個優點是允許傳送線上連接多個接收器。微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485 RS-423-A/RS-422-A的另一個優點是允許傳送線上連接多個接收器。雖然在RS-232-C系統中可以使用多個接收器循環工作,但它每一時刻只允許一個接
36、收器工作。而RS-423-A/RS-422-A可允許10個以上接收器同時工作。關于多站連接方法將在下一小節講述。微機控制技術第6章總線接口技術前言2. RS-485RS-485與RS-422總線的的區別:RS-422為全雙工,而RS-485為半雙工;RS-422采用兩對平衡差分信號線,RS-485只需其中的一對。 RS-485更適合于多站互連,一個發送驅動器最多可連接32個負載設備。 微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485 負載設備可以是被動發送器、接收器和收發器。負載設備可以是被動發送器、接收器和收發器。此電路結構在平衡連接電纜兩端有終端電阻,此電路結構在平衡
37、連接電纜兩端有終端電阻,在平衡電纜上掛發送器、接收器或組合收發器。在平衡電纜上掛發送器、接收器或組合收發器。 兩種總線的連接方法如圖兩種總線的連接方法如圖6-9所示。所示。微機控制技術第6章總線接口技術前言 圖6-8 RS-485/RS-422接口連接方法微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485 圖(圖(a)為)為RS-485連接電路。在此電路中,某一連接電路。在此電路中,某一時刻只能有一個站可以發送數據,而另一個站只能接時刻只能有一個站可以發送數據,而另一個站只能接收。因此,其發送電路必須由使能站加以控制。收。因此,其發送電路必須由使能站加以控制。 圖(圖(b)
38、由于是雙工連接方式,故任一時刻兩站)由于是雙工連接方式,故任一時刻兩站都可以同時發送和接收。都可以同時發送和接收。 微機控制技術第6章總線接口技術前言對于一個通信子站來講,RS-422和RS-485的驅動/接收電路沒有多大差別,詳見表6.1。 和RS-232-C標準總線一樣,RS-422和RS-485兩種總線也需要專用的接口芯片完成電平轉換。下邊介紹一種典型RS-485/RS-422接口芯片。微機控制技術第6章總線接口技術前言表6.1 RS-422與RS-485的比較RS-422 RS-485動作方式差動方式差動方式可連接的臺數1臺驅動器10臺接收器 32臺驅動器32臺接收器 最大距離1200
39、m 1200m 傳送速率的最大值12m 10Mbps 10Mbps 120m 1Mbps 1Mbps 1200m 100Mbps 100Mbps 同相電壓的最大值+6V -0.25V+12V -7V同相電壓的最大值無負載時5V 5V 有負載時2V1.5V 接 口 項 目 微機控制技術第6章總線接口技術前言表6.1 RS-422與RS-485的比較(續)驅動器的輸出阻抗POWER-ON沒有規定 100A最大-7VVcom12V (高阻抗狀態)POWER-OFF100A最大-0.25VVcom6V100A最大-7VVcom12V 接收器輸入電壓范圍 -7V+7V -7V+12V 接收器輸入敏感度2
40、00mV200mV接收器輸入阻抗4k12k微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485 MAX481E/MAX488E是低電源(只有+5V)RS-485/RS-422收發器。每一個芯片內都含有一個驅動器和一個接收器,采用8腳DIP/SO封裝。除了上述兩種芯片外,和MAX481E相同的系列芯片還有MAX483E/485E/487E/1487E等等,和MAX488E相同的有MAX490E。這兩種芯片的主要區別是前者為半雙工,后者為全雙工。它們的管腳分配及原理如圖6-10所示。微機控制技術第6章總線接口技術前言 圖6-9 MAX481E/488E結構及管腳圖微機控制技術第6
41、章總線接口技術前言6.22 RS-422/RS-485 從圖6-10可以看出,(a)、(b)兩種電路共同點是都有一個接收輸出端RO,和一個驅動輸入端DI。不同的是,圖(a)中只有兩個信號線,A和B 。A為同相接收器輸入和同相驅動器輸出;B為反相接收器輸入和反相驅動器輸出。而在 (b)圖中,由于是雙工的,所以信號線分開,為A、B、Z、Y。這兩種芯片由于內部都含有接收器和驅動器,所以每個站只用一片即可完成收發任務。其接口電路如圖6-10所示。 微機控制技術第6章總線接口技術前言6.22 RS-422/RS-485MAX481E/483E/485E/487E/491E和MAX1487E是為多點雙向總
42、線數據通訊而設計的。如圖6-12和5-13所示,也可以把它們作為線路中繼站,其傳送距離超過1200m。微機控制技術第6章總線接口技術前言圖 6.11 MAX481E/MAX488E連接電路圖a微機控制技術第6章總線接口技術前言圖 6.10 MAX481E/MAX488E連接電路圖b微機控制技術第6章總線接口技術前言 圖6-11 MAX481E/483E/485E/487E/1487E典型的RS-485半雙工網絡微機控制技術第6章總線接口技術前言 圖6-12 MAX488E/489E/490E/MAX491E全雙工RS-485網絡微機控制技術第6章總線接口技術前言6.2.3 多機通信第6章總線接
43、口技術前言多機通信設單片機工作于方式2或3,該方式發送數據格式每一幀是11位,如圖6.14所示。 1位是起始位(0),8位數據位(低位在前),1位可設置的第9位數據和1位停止位。其中,第9位可識別發送的前8位數據是數據幀還是地址幀,該位為1為地址幀,為0則為數據幀,此位可通過對SCON寄存器的TB8位賦值來置位。當TB8為1時,單片機發出的一幀數據中第9位為1,否則為0。第6章總線接口技術前言作為接收方(本例為從機)的串行口也同樣工作在工作方式2和方式3狀態,它的SM2和RB8(接收到的第9位)的組合是:(1)若從機的控制位SM2設為1,則當接收數據的第9位為1時,即地址幀時,數據裝入SBUF
44、,并置RI為1,向CPU發出中斷申請;則當接收數據的第9位為0時,即數據幀時,不會產生中斷,信息被丟棄。(2)若從機的控制位SM2設為0,則無論是地址幀還是數據幀都將產生RI=1的中斷標志,8位數據均裝入SBUF。 第6章總線接口技術前言第6章總線接口技術前言1系統硬件設計 第6章總線接口技術前言單片機P1口的低5位作為地址譯碼線,因此,可以譯出32個地址,其二進制數為0000011111。每個從機的地址可以通過撥動撥碼開關的位置來設定。 第6章總線接口技術前言2 2系統軟件設計系統軟件設計通信過程:通信過程:(1)主機處于發送狀態。由于是發送狀態,所以)主機處于發送狀態。由于是發送狀態,所以
45、SM2=0或或SM2=1均可,首先發送的是地址幀,此時均可,首先發送的是地址幀,此時SCON中的中的TB8=1,表示發送的是地址標識。,表示發送的是地址標識。(2)主機發送地址標識后,設置)主機發送地址標識后,設置SM2=1,主機,主機處于接收地址的狀態,等待從機的應答。處于接收地址的狀態,等待從機的應答。(3)所有的從機都處于接收狀態,他們會同時收)所有的從機都處于接收狀態,他們會同時收到主機發來的地址碼,分別與各自的地址碼比較后,到主機發來的地址碼,分別與各自的地址碼比較后,只有與主機發送的地址相符的的從機才進行下一步的只有與主機發送的地址相符的的從機才進行下一步的應答處理,其余各從機仍處
46、于接收狀態。應答處理,其余各從機仍處于接收狀態。 第6章總線接口技術前言 (4)地址相符的的從機進行應答,使自己的)地址相符的的從機進行應答,使自己的SCON中的中的TB8=1,向主機發送自己的標識碼,然后置,向主機發送自己的標識碼,然后置SCON中的中的SM2=0,進入數據接受狀態。,進入數據接受狀態。(5)主機收到從機發送的地址標識碼,至此,通)主機收到從機發送的地址標識碼,至此,通信雙方握手成功。信雙方握手成功。(6)主機設置)主機設置SM0=0,主機開始發送數據或數,主機開始發送數據或數據塊,發送結束后,主機返回到初始狀態。據塊,發送結束后,主機返回到初始狀態。(7)因為只有和主機地址
47、標識符相符的從機才能)因為只有和主機地址標識符相符的從機才能接收到數據,接收完后,將根據最后的校驗結果判斷接收到數據,接收完后,將根據最后的校驗結果判斷數據接收是否正確,若正確,則向主機發送數據正確數據接收是否正確,若正確,則向主機發送數據正確信號。然后,從機也返回初始狀態。此時,一次通信信號。然后,從機也返回初始狀態。此時,一次通信完成。完成。第6章總線接口技術前言圖圖6.16 6.16 主機程序主機程序流程圖流程圖 第6章總線接口技術前言圖圖6.17 6.17 從機程序從機程序流程圖流程圖 第6章總線接口技術前言6. 3 SPI總線 串行總線系統依靠一定的通信協議,只用很少幾根線,就串行總
48、線系統依靠一定的通信協議,只用很少幾根線,就 能完成有效的數據傳送。能完成有效的數據傳送。微機控制技術 常見的串行接口總線常見的串行接口總線 Motorola 公司的公司的 SPI(Serial Peripheral Interface)總線)總線、 PHILIPS公司的公司的 I2C總線、總線、 國家半導體公司的國家半導體公司的 NS8085U, Microwire 、Intel 和和 Duracell 公司提出的公司提出的SMBus (System Management Bus)等。)等。 在這一節里,主要介紹在這一節里,主要介紹 SPI 總線。總線。系統處系統處理理第6章總線接口技術前言
49、6. 3 SPI總線SPI 是是 增強型單片機增強型單片機MC68HC70508A( Motorola)的上的串行接口。)的上的串行接口。能與外部設備進行全雙工、同步串行通信。能與外部設備進行全雙工、同步串行通信。其功能類似其功能類似MCS-51系列單片機串行口中的方式系列單片機串行口中的方式0。關于關于MC68HC70508A單片機的詳細內容請參看單片機的詳細內容請參看 Motorola公司的有關資料。公司的有關資料。微機控制技術第6章總線接口技術前言6. 3 SPI總線SPI具有如下特點:具有如下特點: 全雙工操作全雙工操作 主從方式主從方式 有有 4 種可編程主方式頻率(最大為種可編程主
50、方式頻率(最大為1.05MHz) 最大從方式頻率為最大從方式頻率為 2.1 MHz 具有可編程極性和相位的串行時鐘具有可編程極性和相位的串行時鐘6. 有傳送結束中斷標志有傳送結束中斷標志7. 有寫沖突出錯標志有寫沖突出錯標志8. 有總線沖突出錯標志有總線沖突出錯標志 不為低。不為低。微機控制技術第6章總線接口技術前言6. 3 SPI總線6.3.1 SPI的內部結構的內部結構6.3.2 SPI的工作原理的工作原理6.3.3 多機多機SPI系統系統6.3.4 串行時鐘的極性和相位串行時鐘的極性和相位6.3.5 SPI中斷中斷6.3.6 直接采用直接采用SPI總線接口芯片的應用總線接口芯片的應用6.
51、3.7 SPI總線模擬程序設計總線模擬程序設計第6章總線接口技術前言6.3.1 SPI的內部結構圖6.14 SPI接口內部結構SPI接口的內部結構圖如6.18所示。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 從圖6.14中可以看出,SPI接口由SPI移位寄存器、SPI控制電路、管腳控制邏輯、除法器、時鐘邏輯以及控制寄存器(SPCR)、狀態寄存器(SPSR)、數據寄存器(SPDR)等組成。SPI 移位寄存器主要完成串/并數據之間的轉換;管腳控制邏輯主要控制PD2/MISO,PD3/MOSI,PD4/SCK以及PD5/ 4個管腳的工作方式;除法器則是系統時鐘的分頻器,由程序控制
52、選擇4種不同的時鐘頻率;SPI控制電路用來控制串行工作狀態及錯誤信息;3個SPI寄存器SPCR,SPSR和SPDR,主要用來保存各種狀態信息及數據。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構1SPI數據寄存器(SPDR) 圖6.15所示的SPDR是用于SPI所接收字符的讀緩沖器。寫一個字節到SPDR中,就是把該字節直接放入SPI移位寄存器。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構2SPI控制寄存器(SPCR) SPCR各位的功能如圖6.16所示。SPCR具有下列功能:允許SPI中斷請求;允許SPI;設置SPI為主或從方式;選擇串行時鐘極性、相位和頻率。
53、微機控制技術第6章總線接口技術前言圖6.15 SPI數據寄存器(SPDR)圖6.16 SPI控制寄存器(SPCR)圖圖6.19 SPI數據寄存器(數據寄存器(SPDR)圖圖6.20 SPI控制寄存器(控制寄存器(SPCR)微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 圖6.20所示的SPCR寄存器各位的功能: SPIESPI中斷允許位,該讀/寫位允許SPI中斷。復位時該位被清零。該位置“1”,表示允許SPI中斷;置“0”表示禁止SPI中斷。 SPESPI復位允許位,該讀/寫位允許SPI復位。復位時該位將被清零。該位為1時,允許SPI復位;為0時禁止SPI復位。 MSTR主機位
54、,該位用來選擇主/從工作方式。復位時為零。該位為1時,選擇主方式;為0時,選擇 從方式。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 CPOL時鐘極性位,該讀/寫位決定各發送數據之間PD4/SCK管腳的狀態。為了在SPI總線上傳送數據,各SPI必須有相同的CPOL位,復位不影響CPOL位。該位為1時表示傳送數據間PD4/SCK管腳為邏輯1,為0時表示傳送數據間PD4/SCK管腳為邏輯0。 CPHA時鐘相位位。該讀/寫位用來控制串行時鐘和數據之間的時序關系。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構為了在SPI總線上傳送數據,各SPI之間必須有相同CPHA位
55、。復位時對該位沒有影響。 該位等于1時,表示PD4/SCK上第一個有效沿后的下一個有效沿鎖存數據。該位為0時,表示PD4/SCK上第一個有效沿鎖存數據。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 SPR1和SPR0 SPI時鐘速率位。這些讀/寫位用來選擇主方式的串行時鐘速率,如表6.2所示。從SPI的這兩位對串行時鐘無影響。微機控制技術第6章總線接口技術前言表6.2 SPI時鐘速率選擇表 SPR1 SPR0 時鐘因子 傳輸速率 位時間00內部時鐘2 1MHz 1s 01內部時鐘4 500kHz 2s 10內部時鐘16 125kMHz 8s 11內部時鐘32 62.5kHz
56、16s 微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構3SPI狀態寄存器(SPSR)圖6.17所示為SPSR中的標志位。在下列條件下,將產生置位信號:u SPI發送完畢u 寫沖突u 方式錯圖6.21 SPI狀態標志寄存器(SPSR)微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構其中: SPIFSPI標志位。該位是可清除的位,并且只能讀,不能寫。每當移出或移入到移位寄存器中一個字節時,該位被置位。如果SPCR中的SPIE也是置位狀態,則SPIF產生一個中斷請求。當SPIF置位時通過讀SPSR可以清除SPIF,然后讀(或寫)SPDR。復位時該位被清除。該位為1時,表
57、示傳送完畢。該位為0時,表示傳送未完。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 WCOL寫沖突位。和SPIF一樣,該位也是可清除的位,并且只能讀,不能寫。在傳送過程中,軟件對SPDR進行寫時,該位置位。當WCOL置位時,可以用讀SPSR的方法清除這一位;可以讀和寫SPDR,復位也將清除該位。該位置1,表示寫SPDR無效。該位置0,表示寫SPDR有效。微機控制技術第6章總線接口技術前言6.3.1 SPI的內部結構 MODF方式錯位。該位也是只讀并可清除位。當MSTR位置位時,在PD5/管腳上產生邏輯0時,MODF被置位。如果此時SPIF位也被置位,則MODF產生一個中斷請求
58、。清除及復位對它的影響同WCOL位。 該位置1,當MSTR位置位時,PD5/為低;該位置0,當MSTR位置位時,PD5/不為低。微機控制技術第6章總線接口技術前言6.3.2 SPI的工作原理主主/從式從式 SPI 允許在主機與外圍設備(包括允許在主機與外圍設備(包括CPU )之間進行串行通信。)之間進行串行通信。當主機的當主機的 SPI 8位移位寄存器把一個字節傳送位移位寄存器把一個字節傳送到另一設備時,來自接收設備的一個字節也被到另一設備時,來自接收設備的一個字節也被送到主機送到主機 SPI 的移位寄存器。的移位寄存器。主主 SPI 的時鐘信號與數據傳送是同步的。的時鐘信號與數據傳送是同步的
59、。微機控制技術第6章總線接口技術前言6.3.2 SPI的工作原理 只有主SPI可以對傳送過程初始化。軟件通過寫入SPI數據寄存器(SPDR)的方法開始從主 SPI 傳送數據。在 SPI 傳送過程中,SPDR 不能緩沖數據,寫到 SPI 的數據直接進入移位寄存器,并在串行時鐘控制下立即開始傳送。當經過 8 個串行時鐘脈沖以后,SPI標志開始置位時,傳送結束。同時SPIF置位,從接收設備移位到主SPI的數據被傳送到SPDR。因此,SPDR所緩沖的數據是SPI所接收的數據。在主SPI傳送下一個數據之前,軟件必須通過讀SPDR清除SPIF標志位,然后再執行。微機控制技術第6章總線接口技術前言6.3.2
60、 SPI的工作原理 在從SPI中,數據在主SPI時鐘控制下進入移位寄存器,當一個字節進入從SPI之后,被傳送到SPDR。為了防止越限,從機的軟件必須在另一個字節進入移位寄存器之前,先讀SPDR中的這個字節,并準備傳送到SPDR中。 圖6.22所示表示主SPI與從SPI進行數據交換的過程。微機控制技術第6章總線接口技術前言圖6.18 主機/從機數據傳送方法微機控制技術第6章總線接口技術前言6.3.2 SPI的工作原理 從圖6.22 可以看出,實際上可以把兩個8位的主、從寄存器看成一個循環的16位的寄存器。在傳輸時,只需這個16位寄存器循環移位8次,即可完成一次數據交換。 微機控制技術第6章總線接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《2025標準技術咨詢服務合同范本》
- 2024年PCB復配化學品項目資金籌措計劃書代可行性研究報告
- 2025辦公租賃合同范本
- 2025購銷合同范本下載(含詳細條款)
- 2025建筑設備租賃合同
- 2025授權合同協議書范本
- 2025外墻涂料工程勞務承包合同-confidential
- 2025建筑工程施工合同范本GF
- 2025全球版權合同范本
- 《性健康教育咨詢技巧》課件
- 藥品召回管理課件
- 2025年鑄造工藝師職業技能鑒定模擬試題庫
- 西南交通大學《數據庫原理與應用》2022-2023學年第一學期期末試卷
- 農產品供應鏈數字化行業可行性分析報告
- 《中國血糖監測臨床應用指南(2021年版)》解讀課件
- 北師大版七年級下冊數學期中試題帶答案
- 【MOOC】構造地質學-中國地質大學(武漢) 中國大學慕課MOOC答案
- 甲狀腺結節射頻消融治療
- 【MOOC】模擬電子電路與技術基礎-西安電子科技大學 中國大學慕課MOOC答案
- 天車技能培訓
- 會計崗位招聘筆試題及解答(某大型國企)2025年
評論
0/150
提交評論