微機原理與接口技術11_第1頁
微機原理與接口技術11_第2頁
微機原理與接口技術11_第3頁
微機原理與接口技術11_第4頁
微機原理與接口技術11_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與接口技術微機原理與接口技術第第11章章 串行接口技術串行接口技術主編:周國運機械工業(yè)出版社機械工業(yè)出版社2011.9第第11章章 串行接口技術串行接口技術本章內容本章內容 11.1 串行通信概述串行通信概述 11.2 串行接口芯片串行接口芯片16550 11.3 串行接口應用舉例串行接口應用舉例 串行通信是微機中串行通信是微機中數(shù)據(jù)傳送數(shù)據(jù)傳送的一種重要的一種重要方式,大大降低了方式,大大降低了遠距離通信的成本遠距離通信的成本,它是,它是構成構成計算機網(wǎng)絡計算機網(wǎng)絡的基礎。的基礎。 本章講述串行通信的概念、串行通信基本章講述串行通信的概念、串行通信基本方式、本方式、RS-232串行通

2、信標準、串行接口芯串行通信標準、串行接口芯片片NS16550以及在微機中以及在微機中NS16550的實際應的實際應用。用。 11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念 二、串行通信基本方式二、串行通信基本方式三、三、RS-232串行通信標準串行通信標準四、其他串行通信標準四、其他串行通信標準 1 1、通信方式、通信方式 計算機與外界的信息交換稱為通信計算機與外界的信息交換稱為通信。基本的通?;镜耐ㄐ欧椒ㄓ胁⑿型ㄐ藕痛型ㄐ艃煞N。信方法有并行通信和串行通信兩種。 (1 1)并行通信并行通信單位信息(通常指一個字節(jié))的各位數(shù)據(jù)單位信息(通常指一個字節(jié))的各位數(shù)據(jù)同

3、時傳同時傳送送的通信方法稱為并行通信。的通信方法稱為并行通信。(2 2)串行通信串行通信單位信息的各位數(shù)據(jù)被分時單位信息的各位數(shù)據(jù)被分時一位一位依次順序傳一位一位依次順序傳送送的通信方式稱為串行通信。的通信方式稱為串行通信。 一、串行通信基本概念一、串行通信基本概念11.1 串行通信概述串行通信概述11.1 串行通信概述串行通信概述2、數(shù)據(jù)傳送方式數(shù)據(jù)傳送方式單工方式:單工方式:一對傳輸線只允許一對傳輸線只允許單方向單方向傳送傳送數(shù)據(jù);數(shù)據(jù);半雙工方式:半雙工方式:一對傳輸線允許向兩個方向一對傳輸線允許向兩個方向中的任一方向傳送數(shù)據(jù),但中的任一方向傳送數(shù)據(jù),但不能同時不能同時進行;進行;全雙工

4、方式:全雙工方式:用兩對傳輸線連接在發(fā)送器用兩對傳輸線連接在發(fā)送器和接收器上,發(fā)送和接收和接收器上,發(fā)送和接收能同時能同時進行。進行。一、串行通信基本概念一、串行通信基本概念11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念接接收收器器發(fā)發(fā)送送器器接接收收器器發(fā)送器發(fā)送器發(fā)送器發(fā)送器接接收收器器數(shù)據(jù)流數(shù)據(jù)流接接收收器器發(fā)送器發(fā)送器發(fā)送器發(fā)送器數(shù)據(jù)流數(shù)據(jù)流接接收收器器(a)單工方式單工方式(b)半雙工方式半雙工方式(c)全雙工方式全雙工方式11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念3、波特率和收、波特率和收/發(fā)時鐘發(fā)時鐘(1)波特率)波特率

5、 指在串行通信中,每秒傳送的二進制位數(shù)指在串行通信中,每秒傳送的二進制位數(shù)(bps)。(2)收發(fā)時鐘)收發(fā)時鐘收發(fā)時鐘的快慢直接影響通信設備發(fā)送收發(fā)時鐘的快慢直接影響通信設備發(fā)送/接收字接收字符數(shù)據(jù)的速度。符數(shù)據(jù)的速度。收發(fā)時鐘頻率與波特率的關系:收發(fā)時鐘頻率與波特率的關系:時鐘頻率時鐘頻率=Factor收發(fā)波特率收發(fā)波特率其中其中Factor稱為波特率因子,取稱為波特率因子,取1,16,6411.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念 4、信號調制解調、信號調制解調 調制調制就是把數(shù)字信號變換成模擬信號表示的過就是把數(shù)字信號變換成模擬信號表示的過程,而程,而解調

6、解調則是把模擬信號變換成數(shù)字信號表示的則是把模擬信號變換成數(shù)字信號表示的過程。過程。計計算算機機Modem調制調制解調解調模擬信號模擬信號數(shù)字信號數(shù)字信號數(shù)字信號數(shù)字信號1 0 1 0 1 0 1 01010101010101010兩線電話線兩線電話線Modem調制調制解調解調計計算算機機11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念最基本的調制與解調的方法有以下幾種:最基本的調制與解調的方法有以下幾種:(1)調幅調幅(AM)()(2)調頻調頻(FM)()(3)調相調相(PM)11.1 串行通信概述串行通信概述一、串行通信基本概念一、串行通信基本概念5、串行通信的錯

7、誤校驗、串行通信的錯誤校驗()奇偶校驗()奇偶校驗 在傳送數(shù)據(jù)時,數(shù)據(jù)位尾隨的在傳送數(shù)據(jù)時,數(shù)據(jù)位尾隨的1位為奇偶校驗位(位為奇偶校驗位(1或或0)。奇校驗時,數(shù)據(jù)中)。奇校驗時,數(shù)據(jù)中“1”的個數(shù)與校驗位的個數(shù)與校驗位“1”的個數(shù)之和應為奇數(shù);偶校驗時,數(shù)據(jù)中的個數(shù)之和應為奇數(shù);偶校驗時,數(shù)據(jù)中“1”的個數(shù)的個數(shù)與校驗位與校驗位“1”的個數(shù)之和應為偶數(shù)。的個數(shù)之和應為偶數(shù)。()和校驗()和校驗和校驗是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或和校驗是發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生一個字節(jié)的校驗字符(校驗和)附加到數(shù)據(jù)),產(chǎn)生一個字節(jié)的校驗字符(校驗和)附加到數(shù)據(jù)塊末尾。塊末尾。()循

8、環(huán)冗余校驗()循環(huán)冗余校驗這種校驗是通過某種數(shù)學運算實現(xiàn)有效信息與校驗這種校驗是通過某種數(shù)學運算實現(xiàn)有效信息與校驗位之間的循環(huán)校驗。位之間的循環(huán)校驗。11.1 串行通信概述串行通信概述二、串行通信基本方式二、串行通信基本方式1、異步通信、異步通信異步通信中,傳送的數(shù)據(jù)可以是一個異步通信中,傳送的數(shù)據(jù)可以是一個字符字符代碼或一個代碼或一個字節(jié)字節(jié)數(shù)據(jù),數(shù)據(jù)以數(shù)據(jù),數(shù)據(jù)以幀幀的形式一幀一的形式一幀一幀傳送。幀傳送。 0/1 0/10/10/1 0/1100/10/1 0/1 0/10/1 0/1100/1停停止止位位起起始始位位8位數(shù)據(jù)位數(shù)據(jù)校校驗驗位位停停止止位位起起始始位位0/1數(shù)據(jù)數(shù)據(jù)第第n

9、個字符個字符第第n+1個字符個字符11.1 串行通信概述串行通信概述二、串行通信基本方式二、串行通信基本方式2、同步通信、同步通信在同步通信中,每一數(shù)據(jù)塊發(fā)送開始時,在同步通信中,每一數(shù)據(jù)塊發(fā)送開始時,先發(fā)送先發(fā)送一個或兩個同步字符一個或兩個同步字符,使發(fā)送與接收,使發(fā)送與接收取得同步,然后再順序發(fā)送數(shù)據(jù)。數(shù)據(jù)塊的取得同步,然后再順序發(fā)送數(shù)據(jù)。數(shù)據(jù)塊的各個字符間各個字符間取消起始位和停止位取消起始位和停止位,所以通信,所以通信速度得以提高速度得以提高 。數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)同步字符同步字符1同步字符同步字符2數(shù)據(jù)流數(shù)據(jù)流11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準

10、RS-232C標準(協(xié)議)是美國標準(協(xié)議)是美國EIA與與BELL等公司一等公司一起開發(fā)的起開發(fā)的1969年公布的通信協(xié)議。年公布的通信協(xié)議。最初是為遠程通信連接數(shù)據(jù)終端設備最初是為遠程通信連接數(shù)據(jù)終端設備DTE與數(shù)據(jù)通與數(shù)據(jù)通信設備信設備DCE而制定的。但目前已廣泛用于計算機與終而制定的。但目前已廣泛用于計算機與終端或外設之間的近端連接。端或外設之間的近端連接。對串行通信接口的有關問題,如對串行通信接口的有關問題,如信號線功能信號線功能、電氣電氣特性特性都作了明確規(guī)定。都作了明確規(guī)定。通信設備廠商都生產(chǎn)與通信設備廠商都生產(chǎn)與RS-232C制式兼容的通信設制式兼容的通信設備,它作為一種標準,

11、已在目前備,它作為一種標準,已在目前微機串行通信接口微機串行通信接口中中廣泛采用。廣泛采用。11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準1、電氣特性、電氣特性在在TxD和和RxD數(shù)據(jù)上采用數(shù)據(jù)上采用負邏輯負邏輯:邏輯邏輯1(MARK):用電平):用電平-3-15V表示。表示。邏輯邏輯0(SPACE):用電平):用電平+3+15V表示。表示。在在RTS、CTS、DSR、DTR和和DCD等控制等控制線上:線上:信號有效(接通,信號有效(接通,ON狀態(tài),正電壓):用電平狀態(tài),正電壓):用電平+3+15V表示。表示。信號無效(斷開,信號無效(斷開,OFF狀態(tài),負電壓)

12、:用電狀態(tài),負電壓):用電平平-3-15V表示。表示。11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準2、機械特性、機械特性RS-232C連接器的機械形狀有連接器的機械形狀有DB-25,DB-15和和DB-9三種類型,其引腳的定義各不相同。三種類型,其引腳的定義各不相同。11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準RS-232C標準接口主要引腳定義標準接口主要引腳定義插針序號插針序號信號名稱信號名稱功功 能能信號方向信號方向1PGND保護接地保護接地2(3)TxD發(fā)送數(shù)據(jù)(串行輸出)發(fā)送數(shù)據(jù)(串行輸出)DTEDCE3(2)RxD接

13、收數(shù)據(jù)(串行輸入)接收數(shù)據(jù)(串行輸入)DTEDCE4(7)RTS請求發(fā)送請求發(fā)送DTEDCE5(8)CTS允許發(fā)送允許發(fā)送DTEDCE6(6)DSRDCE就緒(數(shù)據(jù)建立就緒)就緒(數(shù)據(jù)建立就緒)DTEDCE7(5)SGND信號接地信號接地8(1)DCD載波檢測載波檢測DTEDCE20(4)DTRDTE就緒(數(shù)據(jù)終端準備就緒)就緒(數(shù)據(jù)終端準備就緒)DTEDCE22(9)RI振鈴提示振鈴提示DTEDCE注:插針序號()內為注:插針序號()內為9針非標準連接器的引腳號。針非標準連接器的引腳號。3、功能特性、功能特性11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準4、通

14、信線路的連接、通信線路的連接(1)采用)采用Modem和專用電話線通信時信號線的連接和專用電話線通信時信號線的連接11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準4、通信線路的連接、通信線路的連接(2)采用)采用Modem和電話網(wǎng)通信時信號線的連接和電話網(wǎng)通信時信號線的連接11.1 串行通信概述串行通信概述三、三、RS-232串行通信標準串行通信標準4、通信線路的連接、通信線路的連接(3)三線制通信連接)三線制通信連接 (4)零)零Modem方式的標準信號連接方式的標準信號連接計計算算機機或或終終端端23457620計計算算機機或或終終端端234576202222

15、0876543TxDRxDRTSCTSDSRSGDCDDTRRI22220876543TxDRxDRTSCTSDSRSGDCDDTRRIDTEDTE11.1 串行通信概述串行通信概述四、其他串行通信標準四、其他串行通信標準1USB標準接口標準接口 傳統(tǒng)的接口電路每增加一種設備,就需要為它傳統(tǒng)的接口電路每增加一種設備,就需要為它準備一種接口或插座,還要為它們準備各自的驅動準備一種接口或插座,還要為它們準備各自的驅動程序。這些接口、插座、驅動程序各不相同,給使程序。這些接口、插座、驅動程序各不相同,給使用和維護帶來了困難。用和維護帶來了困難。 由由Intel等公司開發(fā)的等公司開發(fā)的USB(通用串行

16、總線)采(通用串行總線)采用通用的連接器,采用熱插拔技術以及相應的軟件,用通用的連接器,采用熱插拔技術以及相應的軟件,使得外設的連接和使用大大地簡化,受到了普遍歡使得外設的連接和使用大大地簡化,受到了普遍歡迎,目前已經(jīng)成為流行的外設接口。迎,目前已經(jīng)成為流行的外設接口。11.1 串行通信概述串行通信概述四、其他串行通信標準四、其他串行通信標準USB接口的主要性能特點:接口的主要性能特點:設備連接簡便,具有即插即用和熱插拔的能力。設備連接簡便,具有即插即用和熱插拔的能力。具有適合傳送多媒體數(shù)據(jù)的傳輸方式。具有適合傳送多媒體數(shù)據(jù)的傳輸方式。和很多傳統(tǒng)接口一樣,可由電纜給接入的設備提和很多傳統(tǒng)接口一

17、樣,可由電纜給接入的設備提供供5V電源。電源。數(shù)據(jù)傳輸速率比普通標準串行口的要高得多。數(shù)據(jù)傳輸速率比普通標準串行口的要高得多。兩臺設備之間的最大傳輸距離一般為兩臺設備之間的最大傳輸距離一般為45m。最多可掛接最多可掛接127臺臺USB設備。設備。11.1 串行通信概述串行通信概述四、其他串行通信標準四、其他串行通信標準2IEEE1394標準接口標準接口 IEEE1394是是1995年批準和發(fā)布的一種最新的年批準和發(fā)布的一種最新的高性能串行總線接口標準。高性能串行總線接口標準。 1998年,在年,在Microsoft、Intel和和Compaq等公司等公司制定的個人計算機規(guī)格制定的個人計算機規(guī)格

18、PC98中,將具備中,將具備IEEE1394接接口作為一項重要內容,目前正在口作為一項重要內容,目前正在PC機中逐步推廣普機中逐步推廣普及。及。 IEEE1394與與USB有很多相似之處,一開始就有很多相似之處,一開始就是針對高速是針對高速I/O設備而提出的,其設備而提出的,其I/O速度是速度是USB最最高速度的高速度的8倍。倍。11.1 串行通信概述串行通信概述四、其他串行通信標準四、其他串行通信標準IEEE1394的主要性能特點:的主要性能特點:1)數(shù)據(jù)傳輸速率高)數(shù)據(jù)傳輸速率高1394的數(shù)據(jù)傳輸率分為的數(shù)據(jù)傳輸率分為100Mbps、200Mbps和和400Mbps三檔,遠遠高于三檔,遠遠

19、高于EIDE和和SCSI的最高數(shù)的最高數(shù)據(jù)傳輸率。據(jù)傳輸率。2)數(shù)據(jù)傳送實時性強)數(shù)據(jù)傳送實時性強這對于多媒體數(shù)據(jù)傳送特別重要,實時性可這對于多媒體數(shù)據(jù)傳送特別重要,實時性可保證圖像和聲音不會出現(xiàn)失真。保證圖像和聲音不會出現(xiàn)失真。3)結構小巧,連接方便)結構小巧,連接方便1394使用使用6芯電纜,直徑約為芯電纜,直徑約為6mm,插座也小。,插座也小。11.2 串行接口芯片串行接口芯片16550一、一、16550的內部結構的內部結構 二、二、16550的引腳信號的引腳信號三、三、16550的內部寄存器及初的內部寄存器及初始化編程始化編程 11.2 串行接口芯片串行接口芯片16550一、一、165

20、50的內部結構的內部結構包括:包括:數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器讀讀/寫控制邏輯寫控制邏輯波特率發(fā)生器波特率發(fā)生器收發(fā)模塊收發(fā)模塊線路模塊線路模塊Modem控制模塊控制模塊中斷模塊中斷模塊除法器模塊除法器模塊讀讀/寫寫控制控制邏輯邏輯A0A1A2CS 0CS 1CS 2ADSMRRDRDWRWRDDISTxRDYXINXOUTRxRDY數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器D0D7內內部部數(shù)數(shù)據(jù)據(jù)總總線線接收緩沖接收緩沖寄存器寄存器接收器接收器FIFO接收移位接收移位寄存器寄存器線路控制線路控制寄存器寄存器除數(shù)鎖存器除數(shù)鎖存器低字節(jié)低字節(jié)除數(shù)鎖存器除數(shù)鎖存器高字節(jié)高字節(jié)線路狀態(tài)線路狀態(tài)寄存器寄存器發(fā)送保

21、持發(fā)送保持寄存器寄存器Moden控制寄存器控制寄存器Moden狀態(tài)寄存器狀態(tài)寄存器中斷標識中斷標識寄存器寄存器FIFO控制寄存器控制寄存器接收定時接收定時控制控制波特率波特率發(fā)生器發(fā)生器發(fā)送定時發(fā)送定時控制控制發(fā)送器發(fā)送器FIFO發(fā)送移位發(fā)送移位寄存器寄存器Moden控制邏輯控制邏輯中斷允許中斷允許寄存器寄存器SINRCLKBAUDOUTSOUTRTSCTSDTRDSRDCDRIOUT 1OUT 2INTR中斷允許中斷允許寄存器寄存器SELECTSELECT讀讀/寫寫控制控制邏輯邏輯A0A1A2CS0CS1CS2ADSMRRDRDWRWRDDISTxRDYXINXOUTRxRDY數(shù)據(jù)總線數(shù)據(jù)總

22、線緩沖器緩沖器D0D7內內部部數(shù)數(shù)據(jù)據(jù)總總線線接收緩沖接收緩沖寄存器寄存器接收器接收器FIFO接收移位接收移位寄存器寄存器線路控制線路控制寄存器寄存器除數(shù)鎖存器除數(shù)鎖存器低字節(jié)低字節(jié)除數(shù)鎖存器除數(shù)鎖存器高字節(jié)高字節(jié)線路狀態(tài)線路狀態(tài)寄存器寄存器發(fā)送保持發(fā)送保持寄存器寄存器接收定時接收定時控制控制波特率波特率發(fā)生器發(fā)生器發(fā)送定時發(fā)送定時控制控制發(fā)送器發(fā)送器FIFO發(fā)送移位發(fā)送移位寄存器寄存器SINRCLKBAUDOUTSOUTSELECTSELECT發(fā)送保持發(fā)送保持寄存器寄存器Moden控制寄存器控制寄存器Moden狀態(tài)寄存器狀態(tài)寄存器中斷標識中斷標識寄存器寄存器FIFO控制寄存器控制寄存器發(fā)送移

23、位發(fā)送移位寄存器寄存器Moden控制邏輯控制邏輯中斷允許中斷允許寄存器寄存器SOUTRTSCTSDTRDSRDCDRIOUT1OUT2INTR中斷允許中斷允許寄存器寄存器ELECT讀讀/寫寫控制控制邏輯邏輯A0A1A2CS0CS1CS2ADSMRRDRDWRWRDDISTxRDYXINXOUTRxRDY內內部部數(shù)數(shù)據(jù)據(jù)總總線線 11.2 串行接口芯片串行接口芯片16550二、二、16550的引腳信號的引腳信號D7D0:雙向數(shù)據(jù)總線:雙向數(shù)據(jù)總線CS2、CS1、CS0:片選輸入信號:片選輸入信號A2A0:端口選擇信號:端口選擇信號ADS:地址選通輸入信號:地址選通輸入信號TxRDY:發(fā)送器準備好

24、信號:發(fā)送器準備好信號RxRDY:接收器準備好信號:接收器準備好信號WR/WR寫控制信號寫控制信號RD/RD:讀控制信號:讀控制信號DDIS:驅動器禁止信號:驅動器禁止信號MR:主復位信號:主復位信號INTR:中斷請求信號:中斷請求信號XIN、XOUT:基準時鐘信號輸:基準時鐘信號輸入、輸出引腳入、輸出引腳 11.2 串行接口芯片串行接口芯片16550二、二、16550的引腳信號的引腳信號SOUT:串行數(shù)據(jù)輸出引腳:串行數(shù)據(jù)輸出引腳 SIN:串行數(shù)據(jù)輸入引腳:串行數(shù)據(jù)輸入引腳BANDOUT:波特率發(fā)生器輸出:波特率發(fā)生器輸出信號信號RCLK:接收時鐘信號:接收時鐘信號DTR:數(shù)據(jù)終端就緒:數(shù)據(jù)

25、終端就緒DSR:數(shù)據(jù)設備就緒:數(shù)據(jù)設備就緒RTS:請求發(fā)送:請求發(fā)送CTS:允許發(fā)送:允許發(fā)送DCD:接收線路信號:接收線路信號RI:振鈴指示:振鈴指示OUT1、OUT2:輸出信號,由用:輸出信號,由用戶編程定義戶編程定義 三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程DLAB CS2 CS1 CS0 A2 A1 A0 寄寄 存存 器(器(R)COM1地址地址COM2地址地址復位狀態(tài)復位狀態(tài)00 1 10 0 0數(shù)據(jù)接收數(shù)據(jù)接收R(讀讀)3F8H2F8H清清000 1 10 0 0數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送R(寫寫)3F8H2F8H清清000 1 10 0 1中斷允許中斷允許R3F9

26、H2F9H清清00 1 10 1 0中斷識別中斷識別R(讀讀)FIFOR(寫)(寫)3FAH 2FAHD0=1、其余位清、其余位清0清清00 1 10 1 1通信線路控制通信線路控制R3FBH 2FBH清清00 1 11 0 0MODEN控制控制R3FCH 2FCH清清00 1 11 0 1通信線路狀態(tài)通信線路狀態(tài)R3FDH 2FDHD6、D5位清位清0,其余位為其余位為10 1 11 1 0MODEN狀態(tài)狀態(tài)R3FEH 2FEHD3D0位清位清0 0 1 11 1 1不用不用3FFH 2FFH10 1 10 0 0低低8位除數(shù)位除數(shù)R3F8H2F8H清清010 1 10 0 1高高8位除數(shù)位

27、除數(shù)R3F9H2F9H清清0注:注:DLAB標志是線路控制寄存器的標志是線路控制寄存器的D7位,是允許訪問除數(shù)寄存器的標志位。位,是允許訪問除數(shù)寄存器的標志位。 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(1)數(shù)據(jù)接收寄存器)數(shù)據(jù)接收寄存器并行數(shù)據(jù)并行數(shù)據(jù)檢測接收錯誤檢測接收錯誤刪除起始位、刪除起始位、校驗位、停止位校驗位、停止位串行數(shù)據(jù)串行數(shù)據(jù)CPU接收緩沖寄存器接收緩沖寄存器接收移位寄存器接收移位寄存器同步控制同步控制16550SIN0/1 0/10/10/1 11.2 串行接口芯片串行接口芯片16550三、三、16550

28、的內部寄存器及初始化編程的內部寄存器及初始化編程并行數(shù)據(jù)并行數(shù)據(jù)加入起始位、加入起始位、校驗位、停止位校驗位、停止位串行數(shù)據(jù)串行數(shù)據(jù)CPU發(fā)送保持寄存器發(fā)送保持寄存器發(fā)送移位寄存器發(fā)送移位寄存器同步控制同步控制16550SOUT0/1 0/10/10/1(2)數(shù)據(jù)發(fā)送寄存器)數(shù)據(jù)發(fā)送寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(3)FIFO控制寄存器控制寄存器D7D6D5D4D3D2D1D0RT1RT000DMAXMIT RECVENRT1 RT0表示接收器觸發(fā)器的值表示接收器觸發(fā)器的值00:1字節(jié)字節(jié)01:4字節(jié)字節(jié)1

29、0:8字節(jié)字節(jié)11:14字節(jié)字節(jié)DMA位為位為1時,選擇時,選擇FIFO方式;為方式;為0時,時,選擇選擇16450UART方式。方式。XMIT置置1時,發(fā)送時,發(fā)送器復位。器復位。RECV置置1時,接時,接收器復位。收器復位。EN置置1,允許,允許FIFO模式。模式。 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(4)通信線路控制寄存器通信線路控制寄存器D7D6D5D4D3D2D1D0DLABSBRKSPBEPSPENSTBWLS1WLS0寄存器選擇寄存器選擇0 正常值正常值1 除數(shù)寄存器除數(shù)寄存器中止字符中止字符0 無作用無

30、作用1 發(fā)送中止字符發(fā)送中止字符校驗位設置校驗位設置0 無校驗位無校驗位001 設置奇校驗設置奇校驗011 設置偶校驗設置偶校驗101 校驗位為校驗位為1111 校驗位為校驗位為0停止位個數(shù)停止位個數(shù)0 1位位1 1.5位(數(shù)據(jù)位為位(數(shù)據(jù)位為5位時)位時)1 2位(數(shù)據(jù)位為位(數(shù)據(jù)位為68位時)位時)數(shù)據(jù)位個數(shù)數(shù)據(jù)位個數(shù)00 5位位01 6位位10 7位位11 8位位 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(5)通信線路狀態(tài)寄存器通信線路狀態(tài)寄存器D7D6D5D4D3D2D1D0ETTSRE THREBIFEPEOEDR

31、為為1表示接收表示接收FIFO錯誤錯誤為為1時表示發(fā)送移位時表示發(fā)送移位寄存器空,當數(shù)據(jù)寄存器空,當數(shù)據(jù)由發(fā)送保持寄存器由發(fā)送保持寄存器移入發(fā)送移位寄存移入發(fā)送移位寄存器時,該位為器時,該位為0為為1表示發(fā)送緩沖寄存表示發(fā)送緩沖寄存器空,當器空,當CPU將字符寫將字符寫入發(fā)送保持寄存器后,入發(fā)送保持寄存器后,該位為該位為0為為1表示接收到表示接收到終止符終止符為為1表示幀格式錯表示幀格式錯為為1表示奇偶錯表示奇偶錯為為1表示溢出錯表示溢出錯為為1表示接收數(shù)據(jù)就表示接收數(shù)據(jù)就緒,當緒,當CPU讀走數(shù)讀走數(shù)據(jù)后,該位為據(jù)后,該位為0 11.2 串行接口芯片串行接口芯片16550三、三、16550的

32、內部寄存器及初始化編程的內部寄存器及初始化編程(6) Modem控制寄存器控制寄存器D7D6D5D4D3D2D1D0000LOOPOUT2OUT1RTSDTR自測試狀態(tài):自測試狀態(tài):4個控制輸入信號在內部與個控制輸入信號在內部與4個控制輸出信號相連個控制輸出信號相連發(fā)送的串行數(shù)據(jù)在內部被接收發(fā)送的串行數(shù)據(jù)在內部被接收檢測檢測16550發(fā)送和接收功能,不必外連線發(fā)送和接收功能,不必外連線為為1表示表示DTR準備好準備好為為1表示表示RTS有有效效為為1使使OUT1輸輸出為低出為低為為1使使OUT2輸輸出為低出為低為為1表示表示16550工作于自測試狀態(tài),工作于自測試狀態(tài),即自發(fā)自收狀態(tài),為即自發(fā)

33、自收狀態(tài),為0表示工作表示工作于正常工作狀態(tài)于正常工作狀態(tài) 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(7) Modem狀態(tài)狀態(tài)寄存器寄存器D7D6D5D4D3D2D1D0DCDRIDSRCTSDCDRIDSR CTS1)高)高4位位DCD、RI、DSR和和CTS記錄外部記錄外部Modem的的四個輸入信號狀態(tài),功能與相應引腳信號功能相同,四個輸入信號狀態(tài),功能與相應引腳信號功能相同,而極性相反。而極性相反。2)低)低4位記錄高位記錄高4位相應狀態(tài)的改變,即當高位相應狀態(tài)的改變,即當高4位中位中某一位的狀態(tài)發(fā)生改變時,則低某一位

34、的狀態(tài)發(fā)生改變時,則低4位相應位置位相應位置1。這些。這些狀態(tài)位的改變,除了允許狀態(tài)位的改變,除了允許CPU執(zhí)行輸入指令進行查詢執(zhí)行輸入指令進行查詢外,也可以引起中斷。外,也可以引起中斷。 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(8)中斷允許寄存器中斷允許寄存器D7D6D5D4D3D2D1D00000EDSSIELSIETBEI ERBFID3D0各位為各位為1分別表示允許分別表示允許Moden輸入狀態(tài)改變中輸入狀態(tài)改變中斷、允許接收出錯中斷、允許發(fā)送緩沖器空中斷、允斷、允許接收出錯中斷、允許發(fā)送緩沖器空中斷、允許接收緩沖

35、器滿中斷。許接收緩沖器滿中斷。需要注意的是:需要注意的是:中斷允許寄存器的相應位為中斷允許寄存器的相應位為“1”,只允許中斷源產(chǎn)生一個高電平有效的中斷請求信號只允許中斷源產(chǎn)生一個高電平有效的中斷請求信號INTR。 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程(9)中斷識別中斷識別寄存器寄存器D7D6D5D4D3D2D1D00000ID2ID1ID0IPD0反映是否有中斷請求反映是否有中斷請求D3D2D1位表示正在請求的中斷,對應關系如下:位表示正在請求的中斷,對應關系如下:000:Moden輸入狀態(tài)改變輸入狀態(tài)改變001:發(fā)送寄

36、存器空:發(fā)送寄存器空010:接收緩沖器滿:接收緩沖器滿110:FIFO接收字符超時接收字符超時011:接收數(shù)據(jù)出錯:接收數(shù)據(jù)出錯 11.2 串行接口芯片串行接口芯片16550三三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程16550初始化編程初始化編程將將80H寫入通信線路控制寄存器,使最高位寫入通信線路控制寄存器,使最高位D7(DLAB)1,建立訪問除數(shù)寄存器的標志。,建立訪問除數(shù)寄存器的標志。 寫除數(shù)寄存器,設定波特率分頻系數(shù)。寫除數(shù)寄存器,設定波特率分頻系數(shù)。寫通信線路控制寄存器,寫通信線路控制寄存器,使最高位使最高位D7(DLAB)0,設置數(shù)據(jù)格式。,設置數(shù)據(jù)格式。設置

37、設置FIFO控制寄存器??刂萍拇嫫鳌TO置中斷允許寄存器。設置中斷允許寄存器。設置設置Modem控制寄存器。控制寄存器。 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程MOV DX, 3FBH;線路控制寄存器端口地址線路控制寄存器端口地址MOV AL, 80H;AL=10000000B, 使最高位使最高位DLAB=1OUT DX, AL;寫線路控制寄存器寫線路控制寄存器MOV DX, 3F8H;除數(shù)寄存器低字節(jié)端口地址除數(shù)寄存器低字節(jié)端口地址MOV AX, 3CH;分頻系數(shù)分頻系數(shù)OUT DX, AL;寫除數(shù)寄存器低字節(jié)寫除數(shù)寄存器

38、低字節(jié)INC DX;除數(shù)寄存器高字節(jié)端口地址除數(shù)寄存器高字節(jié)端口地址MOV AL, AHOUT DX, AL;寫除數(shù)寄存器高字節(jié)寫除數(shù)寄存器高字節(jié)寫線路控制寄存器和除數(shù)寄存器寫線路控制寄存器和除數(shù)寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程寫線路控制寄存器及寫線路控制寄存器及FIFO控制寄存器控制寄存器MOV DX, 3FBH;線路控制寄存器端口地址線路控制寄存器端口地址MOV AL, 0BH;AL=00001011, 數(shù)長數(shù)長8位位, 1位位停止位停止位, 奇校驗奇校驗OUT DX, AL;寫線路控制寄存器寫線路控制寄

39、存器MOV DX,3FAH;FIFO控制寄存器地址送控制寄存器地址送DXMOV AL,47H ;允許允許FIFO并清除,設并清除,設FIFO中斷觸發(fā)值為中斷觸發(fā)值為4BOUT DX,AL;寫寫FIFO控制寄存器控制寄存器 11.2 串行接口芯片串行接口芯片16550三、三、16550的內部寄存器及初始化編程的內部寄存器及初始化編程寫寫Modem控制寄存器及中斷允許寄存器控制寄存器及中斷允許寄存器MOV DX, 3FCH;Modem控制寄存器端口地址控制寄存器端口地址MOV AL, 03H;使使DTR =0和和RTS =0, ;數(shù)據(jù)終端就緒數(shù)據(jù)終端就緒, 請求發(fā)送請求發(fā)送OUT DX, AL;寫

40、寫Modem控制寄存器控制寄存器MOV DX, 3F9H;中斷允許寄存器端口地址中斷允許寄存器端口地址MOV AL, 00H;禁止所有中斷禁止所有中斷OUT DX, AL;寫中斷允許寄存器寫中斷允許寄存器 11.3 串行接口應用舉例串行接口應用舉例一、一、BIOS通信功能介紹通信功能介紹二、二、 雙微機串行通信雙微機串行通信 三、三、Windows下微機串口應用下微機串口應用11.3 串行接口應用串行接口應用舉例舉例一、一、 BIOS通信功能介紹通信功能介紹(1)串行口初始化)串行口初始化 :INT 14H 0號功能號功能入口參數(shù):入口參數(shù):AH0,串行口初始化;,串行口初始化; AL初始化參

41、數(shù)初始化參數(shù) D7D6D5D4D3D2D1D0波特率選擇波特率選擇校驗選擇校驗選擇停止位選擇停止位選擇數(shù)據(jù)位選擇數(shù)據(jù)位選擇000:110bps 001:150 bps010:300 bps 011:600 bps100:1200 bps 101:2400 bps110:4800 bps 111:9600 bpsx0:無校驗:無校驗01:奇校驗:奇校驗11:偶校驗:偶校驗為為1時時2位位停止位停止位為為0時時1位停止位位停止位為為11時時8位位數(shù)據(jù)數(shù)據(jù)為為10時時7位數(shù)據(jù)位數(shù)據(jù)出口參數(shù):出口參數(shù):AH通信線路狀態(tài)寄存器內容。通信線路狀態(tài)寄存器內容。 ALModem狀態(tài)寄存器內容。狀態(tài)寄存器內容。

42、11.3 串行接口應用串行接口應用舉例舉例一、一、 BIOS通信功能介紹通信功能介紹(2)發(fā)送一幀數(shù)據(jù))發(fā)送一幀數(shù)據(jù) :INT 14H 1號功能號功能入口參數(shù):入口參數(shù):AH1,發(fā)送數(shù)據(jù)。,發(fā)送數(shù)據(jù)。 AL待發(fā)送的數(shù)據(jù)。待發(fā)送的數(shù)據(jù)。 DX0,使用主串行口;,使用主串行口; DX1,使用輔助串行口。,使用輔助串行口。出口參數(shù):出口參數(shù):AH的的D71,表示發(fā)送失?。?,表示發(fā)送失?。?D70,表示發(fā)送成功。,表示發(fā)送成功。11.3 串行接口應用串行接口應用舉例舉例一、一、 BIOS通信功能介紹通信功能介紹(3)接收一幀數(shù)據(jù))接收一幀數(shù)據(jù) :INT 14H 2號功能號功能入口參數(shù):入口參數(shù):AH2

43、,接收數(shù)據(jù)。,接收數(shù)據(jù)。 DX0,使用主串行口;,使用主串行口; DX1,使用輔助串行口。,使用輔助串行口。出口參數(shù):出口參數(shù):AH的的D71,表示接收失??;,表示接收失敗; D70,表示接收成功。,表示接收成功。 AL=接收的字符。接收的字符。11.3 串行接口應用串行接口應用舉例舉例一、一、 BIOS通信功能介紹通信功能介紹(4)測試通信線路狀態(tài))測試通信線路狀態(tài) :INT 14 H 3號功能號功能入口參數(shù):入口參數(shù):AH3,測試通信線路狀態(tài)。,測試通信線路狀態(tài)。 DX0,使用主串行口;,使用主串行口; DX1,使用輔助串行口。,使用輔助串行口。出口參數(shù):出口參數(shù):AH通信線路狀態(tài)寄存器內

44、容。通信線路狀態(tài)寄存器內容。 ALModem狀態(tài)寄存器內容。狀態(tài)寄存器內容。 AX寄存器返回值的定義見下表。寄存器返回值的定義見下表。11.3 串行接口應用串行接口應用舉例舉例一、一、 BIOS通信功能介紹通信功能介紹AHALD7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0超超時時發(fā)發(fā)送送移移位位寄寄存存器器空空發(fā)發(fā)送送保保持持寄寄存存器器空空終終止止傳傳送送幀幀格格式式錯錯奇奇偶偶錯錯重重疊疊接接收收錯錯接接收收數(shù)數(shù)據(jù)據(jù)就就緒緒線線路路自自檢檢測測錯錯振振鈴鈴指指示示數(shù)數(shù)據(jù)據(jù)終終端端就就緒緒清清除除發(fā)發(fā)送送非非線線路路自自檢檢測測非非振振鈴鈴指指

45、示示非非數(shù)數(shù)據(jù)據(jù)終終端端就就緒緒非非清清除除發(fā)發(fā)送送11.3 串行接口應用串行接口應用舉例舉例二、二、雙微機串行通信雙微機串行通信例例11.1 在甲乙兩臺微機之間使用串口在甲乙兩臺微機之間使用串口1進行近進行近距離通信。采用異步方式,字符長度距離通信。采用異步方式,字符長度8位,位,1位停止位,位停止位,偶校驗,通信波特率為偶校驗,通信波特率為9600bps。雙機同時運行通信程。雙機同時運行通信程序,一方輸入的字符可在另一方屏幕上顯示。當按下序,一方輸入的字符可在另一方屏幕上顯示。當按下“Esc”鍵時,程序結束運行。鍵時,程序結束運行。 解:解:由于兩臺微機是近距離通信,因此不需要由于兩臺微機

46、是近距離通信,因此不需要Modem,可直接使用串口線連接。本例采用對端口的,可直接使用串口線連接。本例采用對端口的直接操作。直接操作。程序代碼如下程序代碼如下:11.3 串行接口應用串行接口應用舉例舉例CODESEGMENTASSUMECS:CODESTART:MOV AL,80HMOV DX,3FBHOUTDX,AL;設置控制寄存器,設置控制寄存器,;選擇除數(shù)寄存器;選擇除數(shù)寄存器MOV AX,120MOV DX,3F8HOUTDX,ALINCDXMOV AL,AHOUTDX,AL;設置除數(shù)寄存器,設置除數(shù)寄存器,;波特率為;波特率為9600bps11.3 串行接口應用串行接口應用舉例舉例M

47、OV AL,0BHMOV DX,3FBHOUT DX,AL;置置16550工作方式,奇校驗,工作方式,奇校驗,;8位數(shù)據(jù),位數(shù)據(jù),1個停止位個停止位LOOP1:MOV DX,3FDH IN AL,DX;循環(huán)讀狀態(tài)寄存器循環(huán)讀狀態(tài)寄存器TEST AL,1JNZ RECV;接收準備好,轉接收接收準備好,轉接收TEST AL,20HJNZ TRANS;發(fā)送準備好,轉發(fā)送發(fā)送準備好,轉發(fā)送JMP LOOP1;循環(huán)循環(huán)11.3 串行接口應用串行接口應用舉例舉例TRANS:MOV AH,1;發(fā)送程序段發(fā)送程序段INT 16H;BIOS功能調用,功能調用,;鍵盤緩沖區(qū)空鍵盤緩沖區(qū)空ZF=1JZ LOOP1;

48、無鍵按下,循環(huán)下一次無鍵按下,循環(huán)下一次MOV AH,0INT 16H;讀取按鍵讀取按鍵ASCII碼碼CMP AL,27JZ EXIT;是是ESC鍵,程序退出鍵,程序退出MOV DX,3F8HOUT DX,AL;發(fā)送按鍵發(fā)送按鍵ASCII碼碼JMP LOOP111.3 串行接口應用串行接口應用舉例舉例RECV:TEST AL,1EH JNZ DISPERR;接收錯誤,轉出錯處理接收錯誤,轉出錯處理MOV DX,3F8HIN AL,DX;讀取接收字符讀取接收字符CMP AL,13JNZ DISPNOMAL;不是回車,轉普通顯示不是回車,轉普通顯示MOV DL,10CALL DISP;顯示換行顯示

49、換行MOV DL,13CALL DISP;顯示回車顯示回車JMP LOOP111.3 串行接口應用串行接口應用舉例舉例DISPERR:MOV DL,? CALL DISP;接收出錯,顯示?號接收出錯,顯示?號JMP LOOP1DISPNOMAL:MOV DL,ALCALL DISP;顯示接收到的字符顯示接收到的字符JMP LOOP1DISP:MOV AH,2 INT 21H;DOS功能調用,將功能調用,將DL中的字符中的字符;輸出到屏幕輸出到屏幕RETEXIT:MOV AH,4CHINT 21H;DOS功能調用,返回系統(tǒng)功能調用,返回系統(tǒng)CODEENDSEND START11.3 串行接口應用

50、串行接口應用舉例舉例三三、Windows下串行口編程應用下串行口編程應用1SerialPort組件的屬性和方法簡介組件的屬性和方法簡介在在.NET Framework 2.0中提供了中提供了SerialPort類,類,該類主要實現(xiàn)串口數(shù)據(jù)通信等。下面主要介紹該類在該類主要實現(xiàn)串口數(shù)據(jù)通信等。下面主要介紹該類在后面實例中用到的部分屬性和方法。后面實例中用到的部分屬性和方法。 PortName:屬性,獲取或設置串行口,如屬性,獲取或設置串行口,如COM1、COM2等。等。 BaudRate:屬性,獲取或設置串行波特率,屬性,獲取或設置串行波特率,如常用的波特率如常用的波特率9600、19200、1

51、15200等。等。 Parity:屬性,獲取或設置奇偶校驗檢查協(xié)議,屬性,獲取或設置奇偶校驗檢查協(xié)議,如無校驗、奇校驗、偶校驗等。如無校驗、奇校驗、偶校驗等。11.3 串行接口應用串行接口應用舉例舉例 StopBits:屬性,獲取或設置每個字節(jié)的標準屬性,獲取或設置每個字節(jié)的標準停止位數(shù),停止位數(shù),1位、位、1.5位、位、2位等。位等。 Open:方法,打開一個新的串行端口連接。方法,打開一個新的串行端口連接。 Close:方法,關閉端口連接,設置方法,關閉端口連接,設置IsOpen 屬屬性為性為 false,并釋放內部,并釋放內部Stream對象。對象。 WriteLine:方法,將字符串寫

52、入串行端口輸方法,將字符串寫入串行端口輸出緩沖區(qū)。出緩沖區(qū)。 ReadLine:方法,讀取輸入緩沖區(qū)中的字符串方法,讀取輸入緩沖區(qū)中的字符串 DataReceived:事件,該事件處理事件,該事件處理SerialPort對對象的數(shù)據(jù)接收事件。象的數(shù)據(jù)接收事件。其他屬性和方法可以參閱其他屬性和方法可以參閱.NET Framework 2.0中中SerialPort類。類。11.3 串行接口應用串行接口應用舉例舉例2串口應用編程串口應用編程下面介紹在下面介紹在Windows 下使用下使用VS2005版版Visual C#,利用,利用SerialPort組件編寫串行口傳送字符串程序組件編寫串行口傳送

53、字符串程序的方法。的方法。(1)創(chuàng)建項目)創(chuàng)建項目啟動啟動VS2005,新建,新建Visual C#類型項目。類型項目。(2)界面設計)界面設計串行口通信界面如右圖。串行口通信界面如右圖。 11.3 串行接口應用串行接口應用舉例舉例 (3)程序設計)程序設計下面是需要編寫的各種事件處理代碼。下面是需要編寫的各種事件處理代碼。 1)窗體創(chuàng)建時的串口初始化程序)窗體創(chuàng)建時的串口初始化程序private void Form1_Load(object sender, EventArgs e) comboBox1.SelectedIndex = 0;/選擇串口選擇串口 comboBox2.SelectedIndex = 4;/選擇波特率選擇波特率 comboBox3.SelectedIndex =

溫馨提示

  • 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

提交評論