基于spcp技術(shù)串口實(shí)現(xiàn)雙機(jī)通信_(tái)第1頁(yè)
基于spcp技術(shù)串口實(shí)現(xiàn)雙機(jī)通信_(tái)第2頁(yè)
基于spcp技術(shù)串口實(shí)現(xiàn)雙機(jī)通信_(tái)第3頁(yè)
基于spcp技術(shù)串口實(shí)現(xiàn)雙機(jī)通信_(tái)第4頁(yè)
基于spcp技術(shù)串口實(shí)現(xiàn)雙機(jī)通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.:.;目 錄 TOC o - h z u HYPERLINK l _Toc 摘要 PAGEREF _Toc h III HYPERLINK l _Toc Abstract PAGEREF _Toc h V HYPERLINK l _Toc 第一章 串行通訊的引見(jiàn) HYPERLINK l _Toc . 串行通訊方式 HYPERLINK l _Toc . 串行通訊的傳送方向 HYPERLINK l _Toc . 串行輸入/輸出 HYPERLINK l _Toc . 串行接口規(guī)范 HYPERLINK l _Toc 第章 串口編程技術(shù) HYPERLINK l _Toc . 串口實(shí)現(xiàn)雙機(jī)互聯(lián)絡(luò)統(tǒng)功能概

2、述 HYPERLINK l _Toc . VB串口查詢法的實(shí)現(xiàn)方法 HYPERLINK l _Toc 第章 SPCP通訊協(xié)議設(shè)計(jì) HYPERLINK l _Toc . 串行通訊協(xié)議 HYPERLINK l _Toc . SPCP協(xié)議的發(fā)送格式 HYPERLINK l _Toc 第章 雙機(jī)互聯(lián)程序的實(shí)現(xiàn) HYPERLINK l _Toc . 創(chuàng)建規(guī)范的工程文件 HYPERLINK l _Toc . 參與串口通訊控件 HYPERLINK l _Toc . 設(shè)計(jì)程序主窗體 HYPERLINK l _Toc 第章 程序的測(cè)試與運(yùn)轉(zhuǎn) HYPERLINK l _Toc . 軟件及硬件測(cè)試 HYPERLIN

3、K l _Toc . 總結(jié) HYPERLINK l _Toc 附錄PAGE 39PAGE V串口實(shí)現(xiàn)雙機(jī)通訊摘要計(jì)算機(jī)串口編程在通訊軟件中有著非常廣泛的運(yùn)用,如、視頻和控制等。很多行業(yè)會(huì)涉及到串口通訊技術(shù)。串行通訊中分為異步通訊和同步通訊兩種根本串行通訊方式,串行通訊在兩個(gè)設(shè)備之間傳輸,有單工、半雙功、全雙工三種方式。在本論文中,串口實(shí)現(xiàn)雙機(jī)互聯(lián)是經(jīng)過(guò)串口線直接銜接兩臺(tái)計(jì)算機(jī),按照自定義的串口通訊協(xié)議簡(jiǎn)稱為SPCP進(jìn)展信息交換。經(jīng)過(guò)VB中MSComm控件處置底層串口通訊細(xì)節(jié),根據(jù)自定義串口通訊協(xié)議建立銜接,實(shí)現(xiàn)聊天和文件傳輸功能。關(guān)鍵字:VB,串口通訊,SPCP,數(shù)據(jù)交換。serial com

4、municationAbstractSerial computer programming in the communications software has a very wide range of applications, such as telephone, fax, video and control. Many industries would involve serial communication technologies. Serial communication is divided into asynchronous communications and synchro

5、nous communication are two basic serial communication, serial communication between the two transmission equipment, a single-workers, half-duplex, full-duplex three forms.In that paper, to achieve double-serial-line Internet directly through the serial port to connect two computers, in accordance wi

6、th the custom of serial communication protocol (referred to as SPCP) for information exchange. VB MSComm control through treatment in the bottom of serial communication details, according to custom serial communication protocol to connect, and chat and file transfer feature.Keyword: VB, serial commu

7、nication, SPCP, data exchange.PAGE 40第一章 串行通訊的引見(jiàn) 串行通訊方式 在計(jì)算機(jī)與外設(shè)之間的信息傳送中,按照一次傳送數(shù)據(jù)的位數(shù)分類,可分為:并行傳送方式和串行傳送方式。并行傳送方式為數(shù)據(jù)的各位同時(shí)傳送;串行傳送方式為數(shù)據(jù)的各位按一定的順序逐位分時(shí)傳送。串行傳送適用于長(zhǎng)間隔 通訊系統(tǒng)及各類計(jì)算機(jī)網(wǎng)絡(luò)。由于信息在一個(gè)方向上傳輸只占用一根傳輸線,而這根線上既傳送數(shù)據(jù),又傳送聯(lián)絡(luò)信號(hào),為此為區(qū)分這根線傳送的信息流中,哪一部分是聯(lián)絡(luò)信號(hào),哪一部分是數(shù)據(jù),就必需引出串行通訊的一系列商定。于是,在串行通訊中就有異步通訊和同步通訊兩種根本串行通訊方式。 異步通訊 異步通

8、訊有字符格式和波特率兩項(xiàng)商定。字符格式:傳送一個(gè)字符總是從傳送一位起始位開(kāi)場(chǎng),接著傳輸字符本身位,傳送字符從最低位開(kāi)場(chǎng),逐位傳送,直至到傳送最高位,接著傳送奇/偶校驗(yàn)位,最后傳送位或個(gè)半位或位停頓位。從起始位開(kāi)場(chǎng)到停頓位終了,構(gòu)成一幀信息。一幀信息傳送終了后,可傳送不定長(zhǎng)度的空閑位,作為幀與相鄰幀之間的間隔,也可以沒(méi)有空閑位間隔。 波特率:是單位時(shí)間內(nèi)傳送二進(jìn)制數(shù)據(jù)的位數(shù),以位/秒為單位,即波特。異步通訊傳送速度普通在波特范圍內(nèi),用于傳送信息量不大,傳送速度要求較低場(chǎng)所。 同步通訊 同步通訊中運(yùn)用的數(shù)據(jù)格式根據(jù)所采用的控制規(guī)程通訊雙方就如何交換信息所建立的一些規(guī)定和過(guò)程稱為通訊控制規(guī)程又可分為

9、面向字符型和面向位比特型兩種。面向字符型的數(shù)據(jù)格式又有單同步、雙同步、外同步之分。單同步:發(fā)送方先傳送個(gè)同步字符,再傳送數(shù)據(jù)塊,接納方檢測(cè)到同步字符后接納數(shù)據(jù);雙同步:發(fā)送方先傳送個(gè)同步字符,再傳送數(shù)據(jù)塊,接納方檢測(cè)到同步字符后接納數(shù)據(jù);外同步:用一條公用線來(lái)傳送同步字符,以實(shí)現(xiàn)收發(fā)雙方同步操作。三種同步方式,均以個(gè)字節(jié)的冗余檢驗(yàn)碼CRC作為一幀信息的終了。面向位型:根據(jù)IBM的同步數(shù)據(jù)鏈路控制規(guī)程SDLC,SDLC數(shù)據(jù)格式,同步傳送,接納和發(fā)送時(shí)鐘對(duì)于收/發(fā)雙方之間的數(shù)據(jù)傳送到達(dá)同步是至關(guān)重要的。在發(fā)送方,普通都是在發(fā)送時(shí)鐘的下降沿將數(shù)據(jù)串行移位輸出;在接納方,普通都是在接納時(shí)鐘的上升沿將數(shù)

10、據(jù)串行移位輸入。 串行通訊的傳送方向 串行通訊在兩個(gè)站或設(shè)備A和B之間傳送,有單工、半雙工、全雙工三種方式。 單工:僅能進(jìn)展一個(gè)方向的傳送,即A只能作為發(fā)送器,B只能作為接納器; 半雙工: 能交替地進(jìn)展雙向數(shù)據(jù)傳送,但兩設(shè)備之間只需一根傳輸線,因此兩個(gè)方向的數(shù)據(jù)傳送不能同時(shí)進(jìn)展; 全雙工: A、B之間有兩條傳輸線,能在兩個(gè)方向上同時(shí)進(jìn)展數(shù)據(jù)傳送。 串行輸入/輸出 串行輸入的特點(diǎn):串行數(shù)據(jù)傳輸中,每次只傳送一位數(shù)據(jù),速度比并行傳輸慢。但是,實(shí)現(xiàn)串行傳輸?shù)挠布哂薪?jīng)濟(jì)性和適用性的特點(diǎn)。 串行接口規(guī)范RS-、RS-與RS-都是串行數(shù)據(jù)接口規(guī)范,最初都是由電子工業(yè)協(xié)會(huì)EIA制定并發(fā)布的.RS-、RS-

11、與RS-規(guī)范只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此根底上用戶可以建立本人的高層通訊協(xié)議。 RS-串行接口規(guī)范目前RS-是PC機(jī)與通訊工業(yè)中運(yùn)用最廣泛的一種串行接口。RS-被定義為一種在低速率串行通訊中添加通訊間隔 的單端規(guī)范。RS-采取不平衡傳輸方式,即所謂單端通訊。收、發(fā)端的數(shù)據(jù)信號(hào)是相對(duì)于信號(hào)地.典型的RS-信號(hào)在正負(fù)電平之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端驅(qū)動(dòng)器輸出正電平在+V,負(fù)電平在-V電平。當(dāng)無(wú)數(shù)據(jù)傳輸時(shí),線上為T(mén)TL,從開(kāi)場(chǎng)傳送數(shù)據(jù)到終了,線上電平從TTL電平到RS-電平再前往TTL電平。接納器典型的任務(wù)電平在+V與-V。由于發(fā)送電平與接納電平的差僅為V至V左右,

12、所以其共模抑制才干差,再加上雙絞線上的分布電容,其傳送間隔 最大為約米,最高速率為kb/s。RS-是為點(diǎn)對(duì)點(diǎn)即只用一對(duì)收、發(fā)設(shè)備通訊而設(shè)計(jì)的,其驅(qū)動(dòng)器負(fù)載為k。所以RS-適宜本地設(shè)備之間的通訊。 串口編程技術(shù)在Microsoft Windows 下開(kāi)發(fā)串行通訊目前通常有如下幾種方法:一是利用Windows API通訊函數(shù);二是利用 windows 的讀寫(xiě)端口函數(shù)_inp、_inpw、_inpd、_outp、_outpw、_outpd、Windows系列下或開(kāi)發(fā)驅(qū)動(dòng)程序WindowsNT系列操作系統(tǒng)下直接對(duì)串口進(jìn)展操作;三是利用第三方提供或本人編寫(xiě)的通訊;四是運(yùn)用串口通訊組件,如ActiveX控

13、件MSComm 。MSComm控件:Microsoft Communication Control是微軟公司提供的簡(jiǎn)化windows下串口通訊編程的ActiveX控件,它為運(yùn)用程序提供了經(jīng)過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法,在VisualBasic、VC、Delphi等言語(yǔ)均可運(yùn)用。以上幾種方法中第一種運(yùn)用面較廣,但由于比較復(fù)雜,運(yùn)用較困難;第二種需求了解硬件電路構(gòu)造原理,深化驅(qū)動(dòng)層次,專業(yè)化程度較高;第三種方法運(yùn)用面向?qū)ο蠹夹g(shù)封裝WinAPI函數(shù),提供一個(gè)用于串行通訊的類,只需了解這種類的幾個(gè)成員函數(shù),就能方便的運(yùn)用,但能普遍運(yùn)用的這種類相當(dāng)困難;第四種方法較簡(jiǎn)單,對(duì)于 Visual Basic,

14、常用的方法就是運(yùn)用第四種方法。本文將用第四種方法實(shí)現(xiàn)雙機(jī)通訊。 串口實(shí)現(xiàn)雙機(jī)互聯(lián)絡(luò)統(tǒng)功能概述雙機(jī)互聯(lián)程序經(jīng)過(guò)串口將兩臺(tái)計(jì)算機(jī)銜接起來(lái),按照自定義的串口通訊協(xié)議簡(jiǎn)稱為SPCP進(jìn)展信息交換,實(shí)現(xiàn)經(jīng)過(guò)串口進(jìn)展聊天、文件和收發(fā)的功能。SPCP協(xié)議設(shè)計(jì)思想基于幀傳輸方式,即在向串口發(fā)送數(shù)據(jù)時(shí)是一幀一幀地發(fā)送。對(duì)于上層運(yùn)用如文件傳輸來(lái)說(shuō),運(yùn)用程序所發(fā)送的和所接納的都是流式數(shù)據(jù),即假設(shè)運(yùn)用程序需求進(jìn)展上層的協(xié)議解釋的話,它將面對(duì)的這些流數(shù)據(jù)重新拼裝。為保證可靠的傳輸,在傳輸開(kāi)場(chǎng)前,經(jīng)過(guò)協(xié)議建立銜接。來(lái)確定能否要接納數(shù)據(jù),能否保管等。 VB串口查詢法的實(shí)現(xiàn)方法 串口查詢法的機(jī)理 VB的串口查詢法是一種主要任務(wù)

15、在查詢方式下的實(shí)現(xiàn)方法。當(dāng)通訊程序任務(wù)在“查詢方式時(shí),可以不思索Win的進(jìn)程和線程的問(wèn)題。僅在串口有數(shù)據(jù)時(shí),去讀串口緩沖區(qū)就可以了。這種方法下確定串口讀取的時(shí)機(jī)、握手協(xié)議及軟件糾錯(cuò)的實(shí)現(xiàn)是程序員應(yīng)思索的主要問(wèn)題。以下是讀取接納緩沖區(qū)數(shù)據(jù)時(shí)的流程圖:獲取當(dāng)前通訊設(shè)備的數(shù)據(jù)緩沖區(qū)中有無(wú)數(shù)據(jù)讀數(shù)據(jù)終了無(wú)有 由于這種方法主要任務(wù)在查詢方式。程序員必需完成相當(dāng)一部分通訊形狀的檢測(cè)任務(wù),許多細(xì)節(jié)甚至包括通訊過(guò)程中的字符屬性的轉(zhuǎn)換也必需經(jīng)過(guò)程序代碼完成。因此相比較通訊控件方法而言,這種查詢方法對(duì)通訊雙方協(xié)議的依賴性尤其大。雙方通訊協(xié)議的商定對(duì)程序?qū)崿F(xiàn)的難易程度影響很大。串口查詢法中,普通串口初始化的流程如下

16、:設(shè)置設(shè)備控制塊翻開(kāi)串口設(shè)置通訊參數(shù)設(shè)置緩沖區(qū)大小值得留意的一點(diǎn)是,此方法下協(xié)議的商定必需滿足以下條件:即甲方發(fā)送時(shí),乙方必需在甲方發(fā)送動(dòng)作之前進(jìn)入循環(huán)接納形狀,直到接納到字符后經(jīng)過(guò)對(duì)串口讀取函數(shù)ReadFile前往值的判別跳出循環(huán)形狀。 同時(shí),普通為了不使系統(tǒng)因循環(huán)等待接納而進(jìn)入“死循環(huán)形狀,可以人為設(shè)置讀取串口的循環(huán)次數(shù),普通次即可。VB是一種極為靈敏的高級(jí)言語(yǔ),因此在這種方法下可以方便地引入?yún)R編言語(yǔ)的思想,利用其GoTo轉(zhuǎn)向語(yǔ)句方便地控制程序的流程。非常靈敏方便。 與通訊線程法的比較 通訊線程法經(jīng)過(guò)在運(yùn)用程序的主線程外再創(chuàng)建一個(gè)通訊線程來(lái)監(jiān)視通訊設(shè)備,其最大優(yōu)點(diǎn)是程序?qū)蛹{數(shù)據(jù)具有自主覺(jué)

17、察才干。一旦通訊線程查詢到數(shù)據(jù)已發(fā)送到串口上,線程自動(dòng)向運(yùn)用程序發(fā)送一個(gè)數(shù)據(jù)接納到的音訊,運(yùn)用程序可用該音訊來(lái)讀取通訊設(shè)備傳來(lái)的數(shù)據(jù)。并且運(yùn)用通訊線程還不占用CPU時(shí)間。這樣系統(tǒng)實(shí)踐上具有了同時(shí)控制多個(gè)通訊設(shè)備如MODEM的才干。通訊線程法在C+的開(kāi)發(fā)系統(tǒng)中用得較多,這與C+的特點(diǎn)和優(yōu)勢(shì)親密相關(guān)。由于VB本身的特點(diǎn),創(chuàng)建通訊線程的方法對(duì)VB而言,實(shí)現(xiàn)上有相當(dāng)?shù)碾y度。而且這樣做,也無(wú)異于犧牲VB的簡(jiǎn)一方便性而去遷就程序的復(fù)雜性,很不經(jīng)濟(jì)。串口查詢法容易地引入了匯編言語(yǔ)的一些思想,實(shí)現(xiàn)了最精簡(jiǎn)的程序代碼。它不一定是最完善,但對(duì)普通VB程序員來(lái)說(shuō),這種方法確實(shí)到達(dá)了簡(jiǎn)化思緒和降低難度的目的,因此實(shí)現(xiàn)

18、簡(jiǎn)單。 SPCP通訊協(xié)議設(shè)計(jì)以下設(shè)計(jì)的串口通訊協(xié)議用于完本錢文雙機(jī)互聯(lián)程序的文件傳輸功能,簡(jiǎn)稱為SPCPSerial Port Communication Protocol。SPCP設(shè)計(jì)思想基于幀傳輸方式,即在向串口發(fā)送數(shù)據(jù)時(shí)是一幀一幀地發(fā)送。對(duì)于上層運(yùn)用如文件傳輸來(lái)說(shuō),運(yùn)用程序所發(fā)送的和所接納的都是流式數(shù)據(jù),即假設(shè)運(yùn)用程序需求進(jìn)展上層的協(xié)議解釋的話,它將面對(duì)這些流數(shù)據(jù)的重新拼裝。為保證可靠的傳輸,在傳輸開(kāi)場(chǎng)前,經(jīng)過(guò)握手建立銜接與TCP/IP協(xié)議類似。 串行通訊協(xié)議 異步通訊協(xié)議的實(shí)例起止式異步協(xié)議圖. 起止式異步協(xié)議特點(diǎn)與格式:起止式異步協(xié)議的特點(diǎn)是一個(gè)字符一個(gè)字符傳輸,并且傳送一個(gè)字符總是

19、以起始位開(kāi)場(chǎng),以停頓位終了,字符之間沒(méi)有固定的時(shí)間間隔要求。其格式如圖.所示。每一個(gè)字符的前面都有一位起始位低電平,邏輯值,字符本身有位數(shù)據(jù)位組成,接著字符后面是一位校驗(yàn)位也可以沒(méi)有校驗(yàn)位,最后是一位,或者一位半,或二位停頓位,停頓位后面是不定長(zhǎng)度的空閑位。停頓位和空閑位都規(guī)定為高電平邏輯值,這樣就保證起始位開(kāi)場(chǎng)處一定有一個(gè)下跳沿。從圖中可以看出,這種格式是靠起始位和停頓位來(lái)實(shí)現(xiàn)字符的界定或同步的,故稱為起始式協(xié)議。傳送時(shí),數(shù)據(jù)的低位在前,高位在后,圖.表示了傳送一個(gè)字符E的ASCAII碼的波形。當(dāng)把它的最低有效位寫(xiě)到右邊時(shí),就是E的ASCII碼=H。圖. ASCAII碼的波形起止位的作用:起

20、始位實(shí)踐上是作為聯(lián)絡(luò)信號(hào)附加進(jìn)來(lái)的,當(dāng)它變?yōu)榈碗娖匠?,通知收方傳送開(kāi)場(chǎng)。它的到來(lái),表示下面接著是數(shù)據(jù)位來(lái)了,要預(yù)備接納。而停頓位標(biāo)志一個(gè)字符的終了,它的出現(xiàn),表示一個(gè)字符傳送終了。這樣就為通訊雙方提供了何時(shí)開(kāi)場(chǎng)收發(fā),何時(shí)終了的標(biāo)志。傳送開(kāi)場(chǎng)前,發(fā)收雙方把所采用的起止式格式包括字符的數(shù)據(jù)位長(zhǎng)度,停頓位位數(shù),有無(wú)校驗(yàn)位以及是奇校驗(yàn)還是偶校驗(yàn)等和數(shù)據(jù)傳輸速率作一致規(guī)定。傳送開(kāi)場(chǎng)后,接納設(shè)備不斷地檢測(cè)傳輸線,看能否有起始位到來(lái)。當(dāng)收到一系列的“停頓位或空閑位之后,檢測(cè)到一個(gè)下跳沿,闡明起始位出現(xiàn),起始位經(jīng)確認(rèn)后,就開(kāi)場(chǎng)接納所規(guī)定的數(shù)據(jù)位和奇偶校驗(yàn)位以及停頓位。經(jīng)過(guò)處置將停頓位去掉,把數(shù)據(jù)位拼裝成一個(gè)并

21、行字節(jié),并且經(jīng)校驗(yàn)后,無(wú)奇偶錯(cuò)才算正確的接納一個(gè)字符。一個(gè)字符接納終了,接納設(shè)備有繼續(xù)測(cè)試傳輸線,監(jiān)視“電平的到來(lái)和下一個(gè)字符的開(kāi)場(chǎng),直到全部數(shù)據(jù)傳送終了。由上述任務(wù)過(guò)程可看到,異步通訊是按字符傳輸?shù)?,每傳輸一個(gè)字符,就用起始位來(lái)通知收方,以此來(lái)重新核對(duì)收發(fā)雙方同步。假設(shè)接納設(shè)備和發(fā)送設(shè)備兩者的時(shí)鐘頻率略有偏向,這也不會(huì)因偏向的累積而導(dǎo)致錯(cuò)位,加之字符之間的空閑位也為這種偏向提供一種緩沖,所以異步串行通訊的可靠性高。但由于要在每個(gè)字符的前后加上起始位和停頓位這樣一些附加位,使得傳輸效率變低了,只需約%。因此,起止協(xié)議普通用在數(shù)據(jù)速率較慢的場(chǎng)所小于.kbit/s。在高速傳送時(shí),普通要采用同步協(xié)議

22、。 面向字符的同步協(xié)議特點(diǎn)與格式:這種協(xié)議的典型代表是IBM公司的二進(jìn)制同步通訊協(xié)議(BSC。它的特點(diǎn)是一次傳送由假設(shè)干個(gè)字符組成的數(shù)據(jù)塊,而不是只傳送一個(gè)字符,并規(guī)定了個(gè)字符作為這個(gè)數(shù)據(jù)塊的開(kāi)頭與終了標(biāo)志以及整個(gè)傳輸過(guò)程的控制信息,它們也叫做通訊控制字。由于被傳送的數(shù)據(jù)塊是由字符組成,故被稱作面向字符的協(xié)議。 特定字符控制字符的定義:由上面的格式可以看出,數(shù)據(jù)塊的前后都加了幾個(gè)特定字符。SYN是同步字符(synchronous Character,每一幀開(kāi)場(chǎng)處都有SYN,加一個(gè)SYN的稱單同步,加兩個(gè)SYN的稱雙同步設(shè)置同步字符是起聯(lián)絡(luò)作用,傳送數(shù)據(jù)時(shí),接納端不斷檢測(cè),一旦出現(xiàn)同步字符,就知

23、道是一幀開(kāi)場(chǎng)了。接著的SOH是序始字符Start Of Header,它表示標(biāo)題的開(kāi)場(chǎng)。標(biāo)題中包括源地址、目的地址和路由指示等信息。STX是文始字符(Start Of Text,它標(biāo)志著傳送的正文數(shù)據(jù)塊開(kāi)場(chǎng)。數(shù)據(jù)塊就是被傳送的正文內(nèi)容,由多個(gè)字符組成。數(shù)據(jù)塊后面是組終字符ETBEnd Of Transmission Block或文終字符ETX(End Of Text),其中ETB用在正文很長(zhǎng)、需求分成假設(shè)干個(gè)分?jǐn)?shù)據(jù)塊,分別在不同幀中發(fā)送的場(chǎng)所,這時(shí)在每個(gè)分?jǐn)?shù)據(jù)塊后面用文終字符ETX。一幀的最后是校驗(yàn)碼,它對(duì)從SOH開(kāi)場(chǎng)到ETX或ETB字段進(jìn)展校驗(yàn),校驗(yàn)方式可以是縱橫奇偶校驗(yàn)或CRC。另外,在面

24、向字符協(xié)議中還采用了一些其他通訊控制字,它們的稱號(hào)如下表所示:表. 通訊控制字稱號(hào)ASCIIEBCDIC序始SOH文始STX組終ETB文終ETX同步SYN送畢EOT訊問(wèn)ENQ確認(rèn)ACK否認(rèn)NAK本義DLE數(shù)據(jù)透明的實(shí)現(xiàn):面向字符的同步協(xié)議,不象異步起止協(xié)議那樣,需求在每個(gè)字符前后附加起始和停頓位,因此,傳輸效率提高了。同時(shí),由于采用了一些傳輸控制字,故加強(qiáng)了通訊控制才干和校驗(yàn)功能。但也存在一些問(wèn)題,例如,如何區(qū)別數(shù)據(jù)字符代碼和特定字符代碼的問(wèn)題,由于在數(shù)據(jù)塊中完全有能夠出現(xiàn)與特定字符代碼一樣的數(shù)據(jù)字符,這就會(huì)發(fā)生誤解。比如正文有個(gè)與文終字符ETX的代碼一樣的數(shù)據(jù)字符,接納端就不會(huì)把它當(dāng)作為普通

25、數(shù)據(jù)處置,而誤以為是正文終了,因此產(chǎn)生過(guò)失。因此,協(xié)議應(yīng)具有將特定字符作為普通數(shù)據(jù)處置的才干,這種才干叫做“數(shù)據(jù)透明。為此,協(xié)議中設(shè)置了轉(zhuǎn)移字符DLE(Data Link Escape)。當(dāng)把一個(gè)特定字符看成數(shù)據(jù)時(shí),在它前面要加一個(gè)DLE,這樣接納器收到一個(gè)DLE就可預(yù)知下一個(gè)字符是數(shù)據(jù)字符,而不會(huì)把它當(dāng)作控制字符來(lái)處置了。DLE本身也是特定字符,當(dāng)它出如今數(shù)據(jù)塊中時(shí),也要在它前面加上另一個(gè)DLE。這種方法叫字符填充。字符填充實(shí)現(xiàn)起來(lái)相當(dāng)費(fèi)事,且依賴于字符的編碼。正是由于以上的缺陷,故又產(chǎn)生了新的面向比特的同步協(xié)議。 面向比特的同步協(xié)議特點(diǎn)與格式:面向比特的協(xié)議中最具有代表性的是IBM的同步數(shù)

26、據(jù)鏈路控制規(guī)程SDLCSynchronous Data Link Control),國(guó)際規(guī)范化組織ISO(International Standard Organization的高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLCHigh Level Data link Control),美國(guó)國(guó)家規(guī)范協(xié)會(huì)(Americal National Standard Institute)的先進(jìn)數(shù)據(jù)通訊規(guī)程ADCCP(Advanced Data Communication Control Procedure)。這些協(xié)議的特點(diǎn)是所傳輸?shù)囊粠瑪?shù)據(jù)可以是恣意位,而且它是靠商定的位組合方式,而不是靠特定字符來(lái)標(biāo)志幀的開(kāi)場(chǎng)和終了,故稱“

27、面向比特的協(xié)議。這中協(xié)議的普通幀格式如下圖:-圖. 幀格式幀信息的分段:由圖.可見(jiàn),SDLC/HDLC的一幀信息包括以下幾個(gè)場(chǎng)(Filed,一切場(chǎng)都是從有效位開(kāi)場(chǎng)傳送。SDLC/HDLC標(biāo)志字符:SDLC/HDLC協(xié)議規(guī)定,一切信息傳輸必需以一個(gè)標(biāo)志字符開(kāi)場(chǎng),且以同一個(gè)字符終了。這個(gè)標(biāo)志字符是,稱標(biāo)志場(chǎng)(F)。從開(kāi)場(chǎng)標(biāo)志到終了標(biāo)志之間構(gòu)成一個(gè)完好的信息單位,稱為一幀(Frame)。一切的信息是以幀的形傳輸?shù)模鴺?biāo)志字符提供了每一幀的邊境。接納端可以經(jīng)過(guò)搜索“來(lái)探知幀的開(kāi)頭和終了,以此建立幀同步。地址場(chǎng)和控制場(chǎng):在標(biāo)志場(chǎng)之后,可以有一個(gè)地址場(chǎng)A(Address和一個(gè)控制場(chǎng)C(Control)。地

28、址場(chǎng)用來(lái)規(guī)定與之通訊的次站的地址??刂茍?chǎng)可規(guī)定假設(shè)干個(gè)命令。SDLC規(guī)定A場(chǎng)和C場(chǎng)的寬度為位或位。接納方必需檢查每個(gè)地址字節(jié)的第一位,假設(shè)為“,那么后面跟著另一個(gè)地址字節(jié);假設(shè)為“,那么該字節(jié)就是最后一個(gè)地址字節(jié)。同理,假設(shè)控制場(chǎng)第一個(gè)字節(jié)的第一位為“,那么還有第二個(gè)控制場(chǎng)字節(jié),否那么就只需一個(gè)字節(jié)。信息場(chǎng):跟在控制場(chǎng)之后的是信息場(chǎng)I(Information)。I場(chǎng)包含有要傳送的數(shù)據(jù),并不是每一幀都必需有信息場(chǎng)。即信息場(chǎng)可以為,當(dāng)它為時(shí),那么這一幀主要是控制命令。幀校驗(yàn)信息:緊跟在信息場(chǎng)之后的是兩字節(jié)的幀校驗(yàn),幀校驗(yàn)場(chǎng)稱為FC(Frame Check)場(chǎng)或稱為幀校驗(yàn)序列FCS(Frame ch

29、eck Squence)。SDLC/HDLC均采用位循環(huán)冗余校驗(yàn)碼CRCCyclic Redundancy Code)。除了標(biāo)志場(chǎng)和自動(dòng)插入的“以外,一切的信息都參與CRC計(jì)算。實(shí)踐運(yùn)用時(shí)的兩個(gè)技術(shù)問(wèn)題:“位插入/刪除:如上所述,SDLC/HDLC協(xié)議規(guī)定以為標(biāo)志字節(jié),但在信息場(chǎng)中也完全有能夠有同一種方式的字符,為了把它與標(biāo)志區(qū)分開(kāi)來(lái),所以采取了“位插入和刪除技術(shù)。詳細(xì)作法是發(fā)送端在發(fā)送一切信息除標(biāo)志字節(jié)外時(shí),只需遇到延續(xù)個(gè)“,就自動(dòng)插入一個(gè)“,當(dāng)接納端在接納數(shù)據(jù)時(shí)除標(biāo)志字節(jié)假設(shè)延續(xù)收到個(gè)“,就自動(dòng)將其后的一個(gè)“刪除是,以恢復(fù)信息的原有方式。這種“位的插入和刪除過(guò)程是由硬件自動(dòng)完成的。SDLC

30、/HDLC異常終了:假設(shè)在發(fā)送過(guò)程中出現(xiàn)錯(cuò)誤,那么SDLC/HDLC協(xié)議常用異常終了(Abort)字符,或稱為失效序列使本幀作廢。在HDLC規(guī)程中,個(gè)延續(xù)的“被作為失效字符,而在SDLC中失效字符是個(gè)延續(xù)的“。當(dāng)然在試銷序列中不運(yùn)用“位插入/刪除技術(shù)。SDLC/HDLC協(xié)議規(guī)定,在一幀之內(nèi)不允許出現(xiàn)數(shù)據(jù)間隔。在兩幀之間,發(fā)送器可以延續(xù)輸出標(biāo)志字符序列,也可以輸出延續(xù)的高電平,它被稱為空閑Idle)信號(hào)。 SPCP協(xié)議的發(fā)送格式 /DDDDDDDD數(shù)據(jù)尾頭標(biāo)志數(shù)據(jù)類發(fā)送過(guò)程中的商定:當(dāng)收信方收到時(shí)為開(kāi)場(chǎng)發(fā)送的開(kāi)場(chǎng)標(biāo)志,在此之后又收到那么表示是文本文件,假設(shè)收了那么表示是文件類型,當(dāng)收到時(shí)那么表示

31、發(fā)送終了。串口發(fā)送過(guò)來(lái)的數(shù)據(jù)作為一個(gè)數(shù)據(jù)流按SPCP協(xié)議進(jìn)展處置,并加上控制字符進(jìn)展發(fā)送;在接納端,根據(jù)接納到的數(shù)據(jù)進(jìn)展處置,接納完成后在發(fā)送到顯示窗口。 雙機(jī)互聯(lián)程序的實(shí)現(xiàn) 創(chuàng)建規(guī)范的工程文件創(chuàng)建一個(gè)基于規(guī)范.EXE的工程,翻開(kāi) Visual Basic,從“ 文件菜單中選擇“新建工程,然后選擇建立規(guī)范.EXE工程即可。圖.新建工程對(duì)話框 參與串口通訊控件默許的控件工具欄中沒(méi)有MSComm控件,因此首先要把它參與到控件工具欄中。為了在實(shí)現(xiàn)文件傳送功能時(shí)可以方便地選擇文件途徑,還應(yīng)添加一個(gè)規(guī)范對(duì)話框,這在默許的控件工具欄中也是沒(méi)有的。選擇“Project菜單下的“ Components 選項(xiàng),

32、在彈出的對(duì)話框中選取“controls選項(xiàng)卡,選中“ Microsoft Comm Control .和“ Microsoft Common Dialog Control . ,單擊“確定按鈕將它們參與到控件工具欄中來(lái),這時(shí)就可以看到控件工具欄出現(xiàn) MSComm控件圖標(biāo)外形與類似和規(guī)范對(duì)話框控件圖標(biāo)。圖. 外接程序管理器 設(shè)計(jì)程序主窗體主窗體的功能分析本文的程序僅包含兩個(gè)窗體,即主窗體和參數(shù)設(shè)置窗體。參數(shù)設(shè)置僅完成對(duì)MSComm進(jìn)展參數(shù)設(shè)置,其他功能幾乎均從主窗體中進(jìn)展呼應(yīng)。本文將完成以下功能:整個(gè)程序的初始化。對(duì)各標(biāo)志變量的設(shè)置與呼應(yīng)。對(duì)各個(gè)按鈕的呼應(yīng)。短語(yǔ)的輸入功能。程序的主界面該當(dāng)可以呼

33、應(yīng)各種操作,并調(diào)用程序的各個(gè)模塊和功能,因此,主界面主要實(shí)現(xiàn)的功能就是調(diào)用本系統(tǒng)的一切其他功能,包括翻開(kāi)串行口、封鎖串行口、啟動(dòng)參數(shù)設(shè)置、發(fā)送音訊、或顯示文件傳送界面等功能。本程序的根本功能是依托MSComm控件實(shí)現(xiàn)的,首先要將其添加到窗體中,由于該控件在程序運(yùn)轉(zhuǎn)時(shí)是不可見(jiàn)的,我把它們放在窗體的底部即可。同樣,規(guī)范對(duì)話框控件也只需放在窗體底部即可。為了實(shí)現(xiàn)對(duì)串行口的操作,我利用組合框定制了一個(gè)簡(jiǎn)單的選擇框,和兩個(gè)按鈕來(lái)實(shí)現(xiàn)對(duì)串口設(shè)置能改動(dòng)到程序中和能將收到的信息清空以保證能把接下來(lái)收到的信息顯示在窗口上,當(dāng)在發(fā)送文件時(shí)會(huì)顯示發(fā)送信息內(nèi)容及文件途徑。主窗體的界面設(shè)計(jì)窗體及其控件的主要屬性和作用如

34、表所示:表.frmMain 窗體及其控件的主要屬性和作用稱號(hào)控件類型主要屬性主要屬性frmMainFormCaption=雙機(jī)互聯(lián)標(biāo)題欄顯示程序CtrMSCommMSCommSettings和CommPort兩屬性運(yùn)轉(zhuǎn)時(shí)設(shè)置用于操作串行口的控序控制啟用和封鎖SendDataCommandButtonCaption=發(fā)送控制發(fā)送一條音訊rtfReceiveRichTextBox顯示信息記錄CmdSendTextCommandButtonCaption=發(fā)送文件選擇發(fā)送文件SendFileDialOle調(diào)用發(fā)送對(duì)話框cboBaudComboBoxList=,設(shè)置波特率cboDataComboBox

35、List=、設(shè)置數(shù)據(jù)位cboStopComboBoxList=設(shè)置停頓位cboOutBufferSizeComboBoxList=、設(shè)置緩沖區(qū)cboComPortComboBoxList=,設(shè)置串口號(hào)SettingOkCommandButtonCaption=翻開(kāi)串口設(shè)置翻開(kāi)串口CommPortCloseCommandButtonCaption=封鎖串口設(shè)置封鎖串口SaveFileDialOle調(diào)用保管對(duì)話框frmMain 窗體的設(shè)計(jì)界面如下圖:圖. 整體控件圖圖. 主窗體左上部分擔(dān)任聊天功能收短信息,右下部分擔(dān)任信息的發(fā)送,“發(fā)送“按鈕實(shí)現(xiàn)文本的發(fā)送,“發(fā)送文件“按鈕,實(shí)現(xiàn)文件傳輸功能。右上

36、方的幾個(gè)選擇框可以實(shí)現(xiàn)配置串口參數(shù)功能,按鈕分別完成翻開(kāi)串口、封鎖串口。假設(shè)需求發(fā)送文件,點(diǎn)擊“發(fā)送文件按鈕,將自動(dòng)彈出文件對(duì)話框,從中選擇待發(fā)送文件,那么程序在互聯(lián)的另一方發(fā)送文件懇求接納時(shí)自動(dòng)翻開(kāi)文件對(duì)話框,要求用戶選擇文件保管途徑和稱號(hào),然后將文件保管。系統(tǒng)的加構(gòu)方式所示。程序間交換數(shù)據(jù)發(fā)送端運(yùn)用程接納端運(yùn)用 文件傳輸短信息其它其它短信息文件傳輸緩沖區(qū)spcp串口通訊協(xié)議SPCP串行通訊協(xié)議緩沖區(qū)spcp串口通訊協(xié)議SPCP串行通訊協(xié)議omm控件Windows APIindows APIomm控件Windows APIindows API串行口串行口串口線本系統(tǒng)中關(guān)注的重點(diǎn)是SPCP協(xié)議

37、的設(shè)計(jì)和實(shí)現(xiàn),而建立在SPCP協(xié)議上的兩種上層運(yùn)用,文件傳輸和短信息傳輸那么是程序的主要目的。 程序的測(cè)試與運(yùn)轉(zhuǎn) 軟件及硬件測(cè)試本程序的測(cè)試運(yùn)轉(zhuǎn)需求把兩臺(tái)計(jì)算機(jī)用串口線銜接起來(lái)進(jìn)展,或者在把一臺(tái)機(jī)器上的兩個(gè)串行口銜接起來(lái),本論文采用的是前一種方式。 發(fā)送音訊時(shí)發(fā)送方和收信方見(jiàn)以下圖。圖. 發(fā)送方窗口輸入中文“級(jí)通訊工程畢業(yè)設(shè)計(jì)點(diǎn)“發(fā)送收信方窗口如圖.:圖. 收信方窗口同時(shí)發(fā)送方也可以作為接受方,例如輸入中文“于向陽(yáng)點(diǎn)“發(fā)送如圖.。 發(fā)送文件時(shí)當(dāng)發(fā)送方選定文件途徑即文件名后,接納端將彈出一個(gè)規(guī)范的“另存為對(duì)話框由接納方選擇存盤(pán)途徑,假設(shè)所選擇的途徑指向的文件已存在,那么程序會(huì)訊問(wèn)能否覆蓋原有的文

38、件,確定后即可開(kāi)場(chǎng)接納。圖. 選擇要發(fā)送的文件圖. 發(fā)送方窗口圖. 保管收到的文件圖. 收信方窗口至此,完成了雙機(jī)通訊程序的發(fā)送音訊和發(fā)送文件兩個(gè)功能,到達(dá)了預(yù)期的效果。 總結(jié)隨著計(jì)算機(jī)運(yùn)用領(lǐng)域的不斷擴(kuò)展,計(jì)算機(jī)之間的遠(yuǎn)程通訊譽(yù)得也越來(lái)越廣泛。作為RAD開(kāi)發(fā)工具代表的VisualBasic同樣提供了一系列規(guī)范通訊命令的接口,它允許建立串口銜接,可以銜接到其他通訊設(shè)備如Modem、還可以發(fā)送命令、進(jìn)展數(shù)據(jù)交換以及監(jiān)視和呼應(yīng)在通訊過(guò)程中能夠發(fā)生的各種錯(cuò)誤和事件等,可以滿足通常情況下的串口通訊需求。假設(shè)在實(shí)踐運(yùn)用過(guò)程中,可以很好的掌握MSComm控件的特性,靈敏變通,就可以到達(dá)平安、穩(wěn)定、高效通訊的

39、目的。在本文中,以控件作為底層接口,在此根底上建立了一個(gè)簡(jiǎn)單的串行通訊協(xié)議SPCP,并由此實(shí)現(xiàn)了實(shí)時(shí)通訊和文件傳輸功能。當(dāng)然還有一些缺陷,比如文件傳輸效率較低,平安性也較差,由于是做聊天和數(shù)據(jù)的傳輸,為了減少傳輸?shù)呢?fù)擔(dān),就沒(méi)有設(shè)置校驗(yàn)位,還有待于進(jìn)一步的完善和優(yōu)化。附錄()相關(guān)代碼Dim RHead, RType, One, IsStr As BooleanDim RStr, Sendstr As StringDim b( To ) As ByteDim strSet As String Dim intPort As Long Dim intOutBuffer As Long Private

40、Sub OpenPort_Click() If frmMain.ctrMSComm.PortOpen = False Then Call CommPortOpen Sendstr = 設(shè)置:翻開(kāi)串行口! Else Sendstr = 設(shè)置:串行口曾經(jīng)翻開(kāi)! End IfEnd SubPrivate Sub ClearRecV_Click()RecV.Text = End SubPrivate Sub CommPortClose_Click() If ctrMSComm.PortOpen = True Then ctrMSComm.PortOpen = False Sendstr = MsgBo

41、x(串行口已封鎖!, + vbExclamation) Else Sendstr = MsgBox(串行口已封鎖!, + vbExclamation) End IfEnd SubPrivate Sub Form_Load()If ctrMSComm.PortOpen = True Then ctrMSComm.PortOpen = FalseEnd IfRecV.Locked = True RecvHead = False RecvType = FalseOne = FalseIsStr = FalseRStr = SaveFileDial.CancelError = TrueSendFile

42、Dial.CancelError = TrueEnd SubPrivate Sub ctrMSComm_OnComm()Dim RecVStr As StringIf ctrMSComm.PortOpen = True ThenDim RecVByte() As ByteDim RecvLen, i As IntegerOn Error GoTo ErrorHandlerRecVByte = ctrMSComm.InputFor i = LBound(RecVByte) To UBound(RecVByte) If RHead Then If RType Then If IsStr Then

43、If RecVByte(i) = Then RecV.Text = RecV.Text & 收到: & RStr & vbCrLf RStr = RHead = False RType = False IsStr = False One = False Else If One Then b() = RecVByte(i) RStr = RStr & StrConv(b, vbUnicode) One = False Else If RecVByte(i) Then b() = RecVByte(i) One = True Else RStr = RStr & Chr(RecVByte(i) E

44、nd If End If End If Else If RecVByte(i) = Then RecV.Text = RecV.Text & 如今收到文件請(qǐng)選擇保管途徑: & vbCrLf SaveFileDial.FileName = Data.Txt SaveFileDial.DialogTitle = 保管文件 SaveFileDial.DefaultExt = Txt SaveFileDial.Filter = *.txt|*.txt|*.*|*.* SaveFileDial.Action = Open SaveFileDial.FileName For Output As # Pri

45、nt #, RStr RecV.Text = RecV.Text & 收到文件保管在: & SaveFileDial.FileName & vbCrLf Close # RStr = RHead = False RType = False IsStr = False One = False Else If One Then b() = RecVByte(i) RStr = RStr & StrConv(b, vbUnicode) One = False Else If RecVByte(i) Then b() = RecVByte(i) One = True Else RStr = RStr

46、& Chr(RecVByte(i) End If End If End If End If Else If RecVByte(i) = Then RType = True IsStr = True ElseIf RecVByte(i) = Then SaveFile.Enabled = True RType = True IsStr = False Else RHead = False End If End If Else If RecVByte(i) = Then RHead = True End If End IfNext iErrorHandler:Select Case Err.Num

47、berCase RecV.Text = RecV.Text & 他沒(méi)有保管收到的文件! & vbCrLf RStr = RHead = False RType = False IsStr = False One = FalseEnd SelectElse MsgBox (請(qǐng)翻開(kāi)串口)End IfEnd SubPrivate Sub SendData_Click()Dim str() As ByteSendstr = Chr() + Chr() + SendD.Text + Chr() + Chr() + Chr() str = StrConv(Sendstr, vbFromUnicode) c

48、trMSComm.Output = str End SubPrivate Sub SendFile_Click()Dim InputData, Sendstr As StringDim SendData() As ByteSendFileDial.FileName = Data.TxtSendFileDial.DefaultExt = TxtSendFileDial.Filter = *.txt|*.txt|*.*|*.*On Error GoTo ErrorHandlerSendFileDial.Action = Sendstr = Open SendFileDial.FileName Fo

49、r Input As #Do While Not EOF() Line Input #, InputData Sendstr = Sendstr + InputData + vbCrLf LoopClose #Sendstr = Chr() + Chr() + Sendstr + Chr() SendData = StrConv(Sendstr, vbFromUnicode) ctrMSComm.Output = SendData SendD.Text = SendD.Text & 已發(fā)送文件: & SendFileDial.FileName & vbCrLf ErrorHandler:Sel

50、ect Case Err.NumberCase SendD.Text = SendD.Text & 他選擇發(fā)送文件后又取消了! & vbCrLfEnd SelectEnd SubPrivate Sub SettingOk_Click() If ctrMSComm.PortOpen = False Then ctrMSComm.PortOpen = True strSet = frmMain.cboBaud.Text + , + N + , + frmMain.cboData.Text + , + frmMain.cboStop.Text intPort = Val(cboComPort.Tex

51、t) intOutBuffer = Val(cboOutBufferSize.Text) Call frmMain.SetComm(strSet, intPort, intOutBuffer) Call frmMain.CommPortOpenEnd IfEnd SubPublic Sub CommPortOpen() On Error GoTo PortError ctrMSComm.CommPort = intCommPort ctrMSComm.Settings = strCommSettings ctrMSComm.InBufferSize = intInBufferSize ctrM

52、SComm.InBufferCount = ctrMSComm.OutBufferSize = intOutBufferSize ctrMSComm.OutBufferCount = ctrMSComm.RThreshold = ctrMSComm.Handshaking = comRTSXOnXOff PortError:Case Err.Number Case MsgBox (該串口曾經(jīng)被占用,請(qǐng)換其它串口!) End SelectEnd SubPublic Sub SetComm(strSet As String, intPort As Long, intOutBuffer As Lon

53、g) strCommSettings = strSet intCommPort = intPort intOutBufferSize = intOutBufferEnd Sub連線方法在電腦的運(yùn)用中往往會(huì)遇到各種各樣的銜接線。這些銜接線外觀上好似都差不多,但內(nèi)部構(gòu)造完全不同并且不能混用。假設(shè)在運(yùn)用中這些銜接線壞了,往往很多運(yùn)用者都不知道應(yīng)該怎樣辦,下面就給出這些常見(jiàn)的銜接線的連線方法以便于修繕或查找缺點(diǎn)。在引見(jiàn)之前先對(duì)一些市場(chǎng)常用名詞做出解釋。如今一切的接頭都可以分為公頭和母頭兩大類。公頭:泛指一切針式的接頭。母頭:泛指一切插槽式的接頭。一切接頭的針腳有一致規(guī)定,在接頭上都印好了的,銜接時(shí)要留

54、意。在接線時(shí)沒(méi)有提及的針腳都懸空不論。下面給出串口,并口各針腳功能表以供高級(jí)用戶維護(hù)電纜或接頭時(shí)運(yùn)用。針串口功能一覽針腳功能 發(fā)送數(shù)據(jù)TXD 接納數(shù)據(jù) RXD 發(fā)送懇求 RTS 發(fā)送去除 CTS 數(shù)據(jù)預(yù)備好 DSR 信號(hào)地 GND 載波檢測(cè) DCD 數(shù)據(jù)終端預(yù)備好 DTR 振鈴指示 RI針串口功能一覽表針腳功能 載波檢測(cè) DCD 接納數(shù)據(jù) RXD 發(fā)送數(shù)據(jù)TXD 數(shù)據(jù)終端預(yù)備好 DTR 信號(hào)地 GND 數(shù)據(jù)預(yù)備好 DSR 發(fā)送懇求 RTS 發(fā)送去除 CTS 振鈴指示 RI串口聯(lián)機(jī)線的銜接方法串口聯(lián)機(jī)線主要用于直接把兩臺(tái)電腦的com口銜接。比較早一點(diǎn)的AT架構(gòu)的電腦的串口有為針,和針兩種,如今的

55、ATX架構(gòu)的電腦兩個(gè)串口全部是針。于是聯(lián)機(jī)線就分為種針對(duì)針串口聯(lián)機(jī)線,針對(duì)針串口聯(lián)機(jī)線,針對(duì)針串口聯(lián)機(jī)線這些直接電纜銜接線可以互換的連線方法如下表: 串口連機(jī)線一覽針對(duì)針串口銜接針母頭 針母頭 針對(duì)針串口銜接針母頭 針母頭 針對(duì)針串口銜接針母頭 針母頭 串口轉(zhuǎn)接線這種轉(zhuǎn)接線適用于針串口和針串口的轉(zhuǎn)換。首先,根據(jù)需求轉(zhuǎn)或轉(zhuǎn)選擇兩個(gè)轉(zhuǎn)接頭。選擇方法如下:針轉(zhuǎn)針針公頭,針母頭。針轉(zhuǎn)針針公頭,針母頭。然后運(yùn)用盡量短的帶屏蔽的多芯銜接線。銜接方法如下表串口轉(zhuǎn)接線一覽針接頭 針接頭 二、 EIA RSC接口 、引腳規(guī)定 維護(hù)地:號(hào)腳,它與設(shè)備的外殼相連,需求時(shí)可以使它直接與大地相連; TXD:發(fā)送數(shù)據(jù),號(hào)

56、腳; RXD:接納數(shù)據(jù),號(hào)腳; 信號(hào)地:號(hào)腳; RTS:懇求發(fā)送,這是數(shù)據(jù)終端設(shè)備(以下簡(jiǎn)稱DTE)向數(shù)據(jù)通訊設(shè)備(以下簡(jiǎn)稱DCE)提出發(fā)送要求的懇求線。 CTS:準(zhǔn)許發(fā)送,這是DCE對(duì)DTE提出的發(fā)送懇求作出的呼應(yīng)信號(hào)。當(dāng)CTS在接通形狀時(shí),就是通知DTE可以發(fā)送數(shù)據(jù)了。當(dāng)RTS在斷開(kāi)形狀時(shí)。CTS也隨之?dāng)嚅_(kāi),以備下一次應(yīng)對(duì)過(guò)程的正常進(jìn)展;當(dāng)RTS在接通形狀時(shí),只需當(dāng)DCE進(jìn)入發(fā)送態(tài)時(shí),即DCE已預(yù)備接納DTE送來(lái)的數(shù)據(jù)進(jìn)展調(diào)制并且DCE與外部線路接通時(shí),CTS才處于接通形狀。 DSR:數(shù)據(jù)通訊設(shè)備預(yù)備就緒,它反映了本端數(shù)據(jù)通訊設(shè)備當(dāng)前的形狀。當(dāng)此線在接通形狀時(shí),闡明本端DCE曾經(jīng)與信道銜接

57、上了且并沒(méi)有處在通話形狀或測(cè)試形狀,經(jīng)過(guò)此線,DCE通知DTE,DCE預(yù)備就緒。DSR也可以作為對(duì)RTS信號(hào)的呼應(yīng),但DSR線優(yōu)先于CTS線成為接通態(tài)。 DTR:數(shù)據(jù)終端預(yù)備就緒。假設(shè)該線處于接通形狀,DTE通知DCE,DTE曾經(jīng)作好了發(fā)送或接納數(shù)據(jù)的預(yù)備,DTE預(yù)備發(fā)送時(shí),本設(shè)備是自動(dòng)的,可以在預(yù)備好時(shí),將DTR線置為接通形狀。假設(shè)DTE具有自動(dòng)轉(zhuǎn)入接納的功能,當(dāng)DTE接到振鈴指示信號(hào)RI后,就自動(dòng)進(jìn)入接納形狀,同時(shí)將DTR線置為接通形狀。 RI:振鈴檢測(cè),當(dāng)DCE檢測(cè)到線路上有振鈴信號(hào)時(shí),將RI線接通,傳送給DTE,在DTE中經(jīng)常把這個(gè)信號(hào)作為處置機(jī)的中斷懇求信號(hào),使DTE進(jìn)入接納形狀,當(dāng)振鈴?fù)nD時(shí),RI也變成斷開(kāi)形狀。DCD:接納線路信號(hào)檢測(cè),這

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論