串口通訊協議
『壹』 串口通信用的是什麼協議
就是RS-232的串口通信協議。一個TX端,一個RX端,分別用於發送和接收數據。
具體如下:
串列通信協議分同步協議和非同步協議。
(1)非同步通信協議的實例——起止式非同步協議
圖3
特點與格式:
起止式非同步協議的特點是一個字元一個字元傳輸,並且傳送一個字元總是以起始位開始,以停止位結束,字元之間沒有固定的時間間隔要求。其格式如圖3所示。每一個字元的前面都有一位起始位(低電平,邏輯值0),字元本身有5~7位數據位組成,接著字元後面是一位校驗位(也可以沒有校驗位),最後是一位,或意味半,或二位停止位,停止位後面是不定長度的空閑位。停止位和空閑位都規定為高電平(邏輯值),這樣就保證起始位開始處一定有一個下跳沿。
從圖中可以看出,這種格式是靠起始位和停止位來實現字元的界定或同步的,故稱為起始式協議。傳送時,數據的低位在前,高位在後,圖4表示了傳送一個字元E的ASCAII碼的波形1010001。當把它的最低有效位寫到右邊時,就是E的ASCII碼1000101=45H。
圖4
起/止位的作用:起始位實際上是作為聯絡信號附加進來的,當它變為低電平時,告訴收方傳送開始。它的到來,表示下面接著是數據位來了,要准備接收。而停止位標志一個字元的結束,它的出現,表示一個字元傳送完畢。這樣就為通信雙方提供了何時開始收發,何時結束的標志。傳送開始前,發收雙方把所採用的起止式格式(包括字元的數據位長度,停止位位數,有無校驗位以及是奇校驗還是偶校驗等)和數據傳輸速率作統一規定。傳送開始後,接收設備不斷地檢測傳輸線,看是否有起始位到來。當收到一系列的「1」(停止位或空閑位)之後,檢測到一個下跳沿,說明起始位出現,起始位經確認後,就開始接收所規定的數據位和奇偶校驗位以及停止位。經過處理將停止位去掉,把數據位拼裝成一個並行位元組,並且經校驗後,無奇偶錯才算正確的接收一個字元。一個字元接收完畢,接收設備有繼續測試傳輸線,監視「0」電平的到來和下一個字元的開始,直到全部數據傳送完畢。
由上述工作過程可看到,非同步通信是按字元傳輸的,每傳輸一個字元,就用起始位來通知收方,以此來重新核對收發雙方同步。若接收設備和發送設備兩者的時鍾頻率略有偏差,這也不會因偏差的累積而導致錯位,加之字元之間的空閑位也為這種偏差提供一種緩沖,所以非同步串列通信的可靠性高。但由於要在每個字元的前後加上起始位和停止位這樣一些附加位,使得傳輸效率變低了,只有約80%。因此,起止協議一般用在數據速率較慢的場合(小於19.2kbit/s)。在高速傳送時,一般要採用同步協議。
(2)面向字元的同步協議
特點與格式:這種協議的典型代表是IBM公司的二進制同步通信協議(BSC)。它的特點是一次傳送由若干個字元組成的數據塊,而不是只傳送一個字元,並規定了10個字元作為這個數據塊的開頭與結束標志以及整個傳輸過程的控制信息,它們也叫做通信控制字。由於被傳送的數據塊是由字元組成,故被稱作面向字元的協議。
特定字元(控制字元)的定義:由上面的格式可以看出,數據塊的前後都加了幾個特定字元。SYN是同步字元(synchronous Character),每一幀開始處都有SYN,加一個SYN的稱單同步,加兩個SYN的稱雙同步設置同步字元是起聯絡作用,傳送數據時,接收端不斷檢測,一旦出現同步字元,就知道是一幀開始了。接著的SOH是序始字元(Start Of Header),它表示標題的開始。標題中包括院地址、目的地址和路由指示等信息。STX是文始字元(Start Of Text),它標志著傳送的正文(數據塊)開始。數據塊就是被傳送的正文內容,由多個字元組成。數據塊後面是組終字元ETB(End Of Transmission Block)或文終字元ETX(End Of Text),其中ETB用在正文很長、需要分成若干個分數據塊、分別在不同幀中發送的場合,這時在每個分數據塊後面用文終字元ETX。一幀的最後是校驗碼,它對從SOH開始到ETX(或ETB)欄位進行校驗,校驗方式可以是縱橫奇偶校驗或CRC。另外,在面向字元協議中還採用了一些其他通信控制字,它們的名稱如下表所示:
數據透明的實現:面向字元的同步協議,不象非同步起止協議那樣,需要在每個字元前後附加起始和停止位,因此,傳輸效率提高了。同時,由於採用了一些傳輸控制字,故增強了通信控制能力和校驗功能。但也存在一些問題,例如,如何區別數據字元代碼和特定字元代碼的問題,因為在數據塊中完全有可能出現與特定字元代碼相同的數據字元,這就會發生誤解。比如正文有個與文終字元ETX的代碼相同的數據字元,接收端就不會把它當作為普通數據處理,而誤認為是正文結束,因而產生差錯。因此,協議應具有將特定字元作為普通數據處理的能力,這種能力叫做「數據透明」。為此,協議中設置了轉移字元DLE(Data Link Escape)。當把一個特定字元看成數據時,在它前面要加一個DLE,這樣接收器收到一個DLE就可預知下一個字元是數據字元,而不會把它當作控制字元來處理了。DLE本身也是特定字元,當它出現在數據塊中時,也要在它前面加上另一個DLE。這種方法叫字元填充。字元填充實現起來相當麻煩,且依賴於字元的編碼。正是由於以上的缺點,故又產生了新的面向比特的同步協議。
(3)面向比特的同步協議
特點與格式:面向比特的協議中最具有代表性的是IBM的同步數據鏈路控制規程SDLC(Synchronous Data Link Control),國際標准化組織ISO(International Standard Organization)的高級數據鏈路控制規程HDLC(High Level Data link Control),美國國家標准協會(Americal National Standard Institute)的先進數據通信規程ADCCP(Advanced Data Communication Control Procere)。這些協議的特點是所傳輸的一幀數據可以是任意位,而且它是靠約定的位組合模式,而不是靠特定字元來標志幀的開始和結束,故稱「面向比特」的協議。這中協議的一般幀格式如圖5所示:
圖5
幀信息的分段:由圖5可見,SDLC/HDLC的一幀信息包括以下幾個場(Filed),所有場都是從有效位開始傳送。
(1)SDLC/HDLC標志字元:SDLC/HDLC協議規定,所有信息傳輸必須以一個標志字元開始,且以同一個字元結束。這個標志字元是 01111110,稱標志場(F)。從開始標志到結束標志之間構成一個完整的信息單位,稱為一幀(Frame)。所有的信息是以幀的形傳輸的,而標志字元提供了每一幀的邊界。接收端可以通過搜索「01111110」來探知幀的開頭和結束,以此建立幀同步。
(2)地址場和控制場:在標志場之後,可以有一個地址場A(Address)和一個控制場C(Control)。地址場用來規定與之通信的次站的地址。控制場可規定若干個命令。SDLC規定A場和C場的寬度為8位或16位。接收方必須檢查每個地址位元組的第一位,如果為「0」,則後面跟著另一個地址位元組;若為「1」,則該位元組就是最後一個地址位元組。同理,如果控制場第一個位元組的第一位為為「0」,則還有第二個控制場位元組,否則就只有一個位元組。
(3)信息場:跟在控制場之後的是信息場I(Information)。I場包含有要傳送的數據,並不是每一幀都必須有信息場。即數據場可以為0,當它為0時,則這一幀主要是控制命令。
(4)幀校驗信息:緊跟在信息場之後的是兩位元組的爭校驗,幀校驗場稱為FC(Frame Check)場或稱為幀校驗序列FCS(Frame check Squence)。SDLC/HDLC均採用16位循環冗餘校驗碼CRC(Cyclic Rendancy Code)。除了標志場和自動插入的「0」以外,所有的信息都參加CRC計算。
實際應用時的兩個技術問題:
(1)「0」位插入/刪除:如上所述,SDLC/HDLC協議規定以01111110為標志位元組,但在信息場中也完全有可能有同一種模式的字元,為了把它與標志區分開來,所以採取了「0」位插入和刪除技術。具體作法是發送端在發送所有信息(除標志位元組外)時,只要遇到連續5個「1」,就自動插入一個「0」,當接收端在接收數據時(除標志位元組)如果連續收到5個「1」,就自動將其後的一個「0」刪除是,以恢復信息的原有形式。這種「0」位的插入和刪除過程是由硬體自動完成的。
(2)SDLC/HDLC異常結束:若在發送過程中出現錯誤,則SDLC/HDLC協議常用異常結束(Abort)字元,或稱為失效序列使本幀作廢。在HDLC規程中,7個連續的「1」被作為失效字元,而在SDLC中失效字元是8個連續的「1」。當然在試銷序列中不使用「0」位插入/刪除技術。SDLC/HDLC協議規定,在一幀之內不允許出現數據間隔。在兩幀之間,發送器可以連續輸出標志字元序列,也可以輸出連續的高電平,它被稱為空閑(Idle)信號。
『貳』 串口通訊協議是什麼
串口通訊都是傳遞數字或字元的ASCII碼。具體可以參考《VB與RS232串口通訊》之類的資料。
至於數據格式,都是不一定的,沒款MCU有它自己的數據格式。
『叄』 串列通信的通信協議
最被人們熟悉的串列通信技術標準是EIA-232、EIA-422和EIA-485,也就是以前所稱的RS-232、RS-422和RS-485。由於EIA提出的建議標准都是以「RS」作為前綴,所以在工業通信領域,仍然習慣將上述標准以RS作前綴稱謂。
EIA-232、EIA-422和EIA-485都是串列數據介面標准,最初都是由電子工業協會(EIA)制訂並發布的,EIA-232在1962年發布,後來陸續有不少改進版本,其中最常用的是EIA-232-C版。
目前EIA-232是PC機與通信工業中應用最廣泛的一種串列介面。EIA-232被定義為一種在低速率串列通信中增加通信距離的單端標准。EIA-232採取不平衡傳輸方式,即所謂單端通信。標准規定,EIA-232的傳送距離要求可達50英尺(約15米),最高速率為20kbps。
由於EIA-232存在傳輸距離有限等不足,於是EIA-422誕生了。EIA-422標准全稱是「平衡電壓數字介面電路的電氣特性」,它定義了一種平衡通信介面,將傳輸速率提高到10Mbps,傳輸距離延長到4000英尺(約1219米),並允許在一條平衡匯流排上連接最多10個接收器。當然,EIA-422也有缺陷: 因為其平衡雙絞線的長度與傳輸速率成反比,所以在100kbps速率以內,傳輸距離才可能達到最大值,也就是說,只有在很短的距離下才能獲得最高傳輸速率。一般在100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mbps。另外有一點必須指出,在EIA-422通信中,只有一個主設備(Master),其餘為從設備(Slave),從設備之間不能進行通信,所以EIA-422支持的是點對多點的雙向通信。
為擴展應用范圍,EIA於1983年在EIA-422基礎上制定了EIA-485標准,增加了多點、雙向通信能力,即允許多個發送器連接到同一條匯流排上,同時增加了發送器的驅動能力和沖突保護特性,擴展了匯流排共模範圍,後命名為TIA/EIA-485-A標准。
由於EIA-485是從EIA-422基礎上發展而來的,所以EIA-485許多電氣規定與EIA-422相仿,如都採用平衡傳輸方式、都需要在傳輸線上接終接電阻、最大傳輸距離約為1219米、最大傳輸速率為10Mbps等。但是,EIA-485可以採用二線與四線方式,採用二線制時可實現真正的多點雙向通信,而採用四線連接時,與EIA-422一樣只能實現點對多點通信,但它比EIA-422有改進, 無論四線還是二線連接方式匯流排上可接多達32個設備。 USB是英文 Universal Serial Bus 的縮寫,翻譯成中文的含義是「通用串列匯流排」。
從技術上看,USB是一種串列匯流排系統,它的最大特性是支持即插即用和熱插拔功能。在Windows 2000的操作系統中,任何一款標準的USB設備可以在任何時間、任何狀態下與計算機連接,並且能夠馬上開始工作。
USB誕生於1994年,是由康柏、IBM、Intel和Microsoft共同推出的,旨在統一外設介面,如列印機、外置Modem、掃描儀、滑鼠等的介面,以便於用戶進行便捷的安裝和使用,逐步取代以往的串口、並口和PS/2介面。
發展至今,USB共有四種種標准:1996年發布的USB1.0,1998年發布的USB1.1以及剛剛發布的最新標准USB2.0,2008年USB 3.0 Promoter Group宣布新一代USB 3.0標准已經正式完成並公開發布。此四種標准最大的差別就在於數據傳輸速率方面,當然,在其他方面也有不同程度的改進。就目前的USB3.0而言,最大傳輸帶寬高達5.0Gbps,也就是640MB/s,同時能夠兼容USB2.0。
目前在IT領域,USB介面可謂春風得意。人們在市場上可以看到,每一款計算機主板都帶有不少於2個USB介面,USB列印機、USB數據機、USB滑鼠、USB音箱、USB存儲器等產品越來越多,USB介面已經占據了串列通信技術的壟斷地位。
但是,在工業領域,使用USB介面的產品則甚為少見。在工業領域,人們更要求產品的可靠性和穩定性,目前,EIA標准下的串列通信技術完全可以滿足人們對工業設備傳輸的各種性能要求,而且,這些產品價格非常低廉。相比之下,USB價格較高,並且其即插即用的功能在工業通信中沒有優勢。因為工業設備一般連接好以後很少進行重復插拔,USB特性的優越性不能很好地被體現出來,也就得不到工業界的普遍認可。因此,在工業領域,EIA標准依然占據統治地位。 IEEE 1394是一種與平台無關的串列通信協議,標准速度分為100Mbps、200Mbps和400Mbps,是IEEE(電氣與電子工程師協會)於1995年正式制定的匯流排標准。目前,1394商業聯盟正在負責對它進行改進,爭取未來將速度提升至800Mbps、1Gbps和1.6Gbps這三個檔次。相比於EIA介面和USB介面,IEEE 1394的速度要高得多,所以,IEEE 1394也稱為高速串列匯流排。
IEEE 1394提供了一種高速的即插即用匯流排。接入這條匯流排,各種外設便不再需要單獨供電,它也支持等時的數據傳輸,是將計算機和消費類電器連接起來的重要橋梁。例如,用戶可以在計算機上接駁一部數字VCR,把它當作一個普通的外設使用,既可用來播放電影,亦可以錄制在計算機上編輯視頻流。除此以外,帶有IEEE 1394介面的DV(數字視頻)攝影機和數字衛星接收器目前均已上市。由於速度非常快,所以它是消費類影音(A/V)電器、存儲、列印、高解析度掃描和其他便攜設備的理想選擇。
從技術上看,IEEE 1394具有很多優點,首先,它是一種純數字介面,在設備之間進行信息傳輸的過程中,數字信號不用轉換成模擬信號,從而不會帶來信號損失;其次,速度很快,1Gbps的數據傳輸速度可以非常好地傳輸高品質的多媒體數據,而且設備易於擴展,在一條匯流排中,100Mbps、200Mbps和400Mbps的設備可以共存;另外,產品支持熱插拔,易於使用,用戶可以在開機狀態下自由增減IEEE 1394介面的設備,整個匯流排的通信不會受到干擾。
『肆』 串口通訊協議是什麼
串口通訊協議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送專速度、傳送步驟、檢糾錯方屬式以及控制字元定義等問題做出統一規定,通信雙方必須共同遵守。因此,也叫做通信控制規程,或稱傳輸控制規程,它屬於ISO'S OSI七層參考模型中的數據鏈路層。
『伍』 串口通訊協議的含義和區別
通信協議:各計算機之間進行相互會話所使用的共同語言,兩台計算機在進行通信時,必須使用的通信協議,它也指通信雙方的一種約定,約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字元定義等問題做出統一規定,通信雙方必須共同遵守。串口通信協議是計算機上一種非常通用設備通信的協議,同時也是通信設備通用的通信協議,可以用於獲取遠程採集設備的數據。而串口通信協議主要有RS232、RS422 、RS485。
最開始出現的串口通信協議是RS232,1962年發布的。由於其傳輸速度、單向傳遞、傳輸距離短等多方面的制約,因此使用受到限制。於是人們在RS232的基礎上做了相應的改進,提高了相應的傳輸速度、傳輸距離,於是出現了RS422的雛形,並在工業上得到了相應的應用。但由於任然是單向傳輸的,使構成的網路只能是單向的。既只能是主機給從機發送指令或數據,從機只能接受並處理相應的消息,不能反映相應的結果。於是人們又做了相應的調整。最後於1983年發布了RS485通信協議。
RS232協議是一種簡單的串口通信協議,也是最基本的。一般用在實驗室等短距離、對傳輸速度等要求不高的場合,並且與TTL電平不兼容。RS422有了相應的提高。是一種單機發送,多機接收的平衡通信協議介面,傳輸速度最高可以達到10Mbps,傳輸距離最遠可達到4000英尺,並且在這條平衡匯流排上能最多帶10個從機,但是任然是單向的傳輸,RS485是一種多點,雙向通信的平衡通信協議介面。再RS422的基礎上增加了網路中接點(多機)的數量和雙向通信能力,同時還增加了驅動器的傳輸能力和沖突保護特性,擴展了匯流排共模範圍。傳輸速度最高可以達到10Mbps,標准距離可以達到4000英尺,實際能達到3000米,並且在這條線上最多可以帶128個收發器。RS-485標準是半雙工通信協議, RS-485適用於收發雙方共享一對線進行通信,也適用於多個點之間共享一對線路進行匯流排方式聯網,但通信只能是半雙工的。
所謂的全雙工通信協議指在通信的任意時刻,線路上存在A到B和B到A的雙向信號傳輸。在全雙工方式下,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在兩個方向上傳送。全雙工方式無需進行方向的切換,因此,沒有切換操作所產生的時間延遲,這對那些不能有時間延誤的互動式應用(例如遠程監測和控制系統)十分有利。這種方式要求通訊雙方均有發送器和接收器,同時,需要2根數據線傳送數據信號。(可能還需要控制線和狀態線,以及地線)。
全雙工(Full Duplex)是指在發送數據的同時也能夠接收數據,兩者同步進行,這好像我們平時打電話一樣,說話的同時也能夠聽到對方的聲音。目前的網卡一般都支持全雙工。全雙工乙太網使用兩對電纜線,而不是像半雙工方式那樣使用一對電纜線。全雙工方式在發送設備的發送方和接收設備的接收方之間採取點到點的連接,這意味著在全雙工的傳送方式下,可以得到更高的數據傳輸速度。
現在的傳輸設備光端機,如PCM,PC等通訊設備基本上都有這幾種協議的應用。在沒有開發出新的通訊協議的情況下,仍將占據一份市場,更多詳情可查看訊維~網頁鏈接
『陸』 串口通信協議(急)
上位機來和下位機通過串口通自訊協議來對接收到的數據進行處理,以數據幀的形式為例,$XXXX DDDD GGGG*CRCH CRCL, $表示開始,*表示結束,CRC為校驗。只有上下位機以一定協議來對接收到的數據進行解析,才能獲得有效數據。詳情請參閱<Visual C++_Turbo C串口通信編程實踐>,裡面有詳細介紹。
『柒』 如何用協議串口通信
串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
什麼是串口
串口是計算機上一種非常通用的設備通信協議(不要與通用串列匯流排Universal SerialBus或者USB混淆)。大多數計算機包含兩個基於RS232的串口。串口同時也是儀器儀表設備通用的通信介面;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協議也可以用於獲取遠程採集設備的數據。
串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。它很簡單並且能夠實現遠距離通信。比如IEEE488定義並行通行狀態時,規定設備線總長不得超過20米,並且任意兩個設備間的長度不得超過2米;而對於串口而言,長度可達1200米。
典型地,串口用於ASCII碼字元的傳輸。通信使用3根線完成:(1)地線,(2)發送,(3)接收。由於串口通信是非同步的,埠能夠在一根線上發送數據同時在另一根線上接收數據。其他線用於握手,但是不是必須的。串口通信最重要的參數是比特率、數據位、停止位和奇偶校驗。對於兩個進行通信的埠,這些參數必須匹配:
a,比特率:這是一個衡量通信速度的參數。它表示每秒鍾傳送的bit的個數。例如300波特表示每秒鍾發送300個bit。當我們提到時鍾周期時,就是指比特率,例如如果協議需要4800波特率,那麼時鍾是4800Hz。這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的比特率為14400,28800和36600。比特率可以遠遠大於這些值,但是波特率和距離成反比。高比特率常常用於放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決於你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標准ASCII碼),那麼每個數據包使用7位數據。每個包是指一個位元組,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語「包」指任何通信的情況。
c,停止位:用於表示單個包的最後一位。典型的值為1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用於停止位的位數越多,不同時鍾同步的容忍程度越大,但是數據傳輸率同時也越慢。
d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設置校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有雜訊干擾了通信或者是否傳輸和接收數據是否不同步。
詳情參考
http://ke..com/link?url=_n9oFTop1d9tnu2aGP_dJBUbIQDUq7X9pppRdzS6G-Top4zB0iwYv_
『捌』 串口通信協議有哪些
I2C匯流排是內部匯流排,用來連接內部系統內的晶元。比如mcu和存儲器、鍵盤現實晶元、ad轉換等等專。 串口通信是用來屬和系統外部的設別通信的。比如設備和設備之間通信。 I2C和串口在通信協議上可以做到一樣,也可做到不一樣,這取決與具體的情況。 mcu和2402通信,mcu和電腦通信它們之間的協議軟體可以做到完全一樣 比如mcu發送1 2402和電腦發送2。
『玖』 怎麼寫串口通信協議
串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。
什麼是串口
串口是計算機上一種非常通用的設備通信協議(不要與通用串列匯流排Universal SerialBus或者USB混淆)。大多數計算機包含兩個基於RS232的串口。串口同時也是儀器儀表設備通用的通信介面;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協議也可以用於獲取遠程採集設備的數據。
串口通信的概念非常簡單,串口按位(bit)發送和接收位元組。盡管比按位元組(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。它很簡單並且能夠實現遠距離通信。比如IEEE488定義並行通行狀態時,規定設備線總長不得超過20米,並且任意兩個設備間的長度不得超過2米;而對於串口而言,長度可達1200米。
典型地,串口用於ASCII碼字元的傳輸。
通信使用3根線完成:
(1)地線,
(2)發送,
(3)接收。由於串口通信是非同步的,埠能夠在一根線上發送數據同時在另一根線上接收數據。其他線用於握手,但是不是必須的。串口通信最重要的參數是比特率、數據位、停止位和奇偶校驗。對於兩個進行通信的埠,這些參數必須匹配:
a,比特率:這是一個衡量通信速度的參數。它表示每秒鍾傳送的bit的個數。例如300波特表示每秒鍾發送300個bit。當我們提到時鍾周期時,就是指比特率,例如如果協議需要4800波特率,那麼時鍾是4800Hz。這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的比特率為14400,28800和36600。比特率可以遠遠大於這些值,但是波特率和距離成反比。高比特率常常用於放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決於你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標准ASCII碼),那麼每個數據包使用7位數據。每個包是指一個位元組,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語「包」指任何通信的情況。
c,停止位:用於表示單個包的最後一位。典型的值為1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用於停止位的位數越多,不同時鍾同步的容忍程度越大,但是數據傳輸率同時也越慢。
d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設置校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有雜訊干擾了通信或者是否傳輸和接收數據是否不同步。串口通訊協議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字元定義等問題做出統一規定,通信雙方必須共同遵守。因此,也叫做通信控制規程,或稱傳輸控制規程,它屬於ISO'S OSI七層參考模型中的數據鏈路層。
『拾』 什麼是串口通信協議
串口通信指l兩個或兩個以上的設備使用串口按位(bit)發送和接收位元組。可以在使用一根線發送數據的同時用另一根線接收數據。 串口通信協議就是串口通訊時共同遵循的協議。 協議的內容是每一個bit 所代表的意義。 常用的串口通信協議 有以下幾種
1 RS-232(ANSI/EIA-232標准) 只支持 點對點, 最大距離 50英尺。最大速度為128000bit/s, 距離越遠 速度越慢。 支持全雙工(發送同時也可接收)。
2 RS-422(EIA RS-422-AStandard),支持點對多一條平衡匯流排上連接最多10個接收器 將傳輸速率提高到10Mbps,傳輸距離延長到4000英尺(約1219米),所以在100kbps速率以內,傳輸距離最大。支持全雙工(發送同時也可接收)。
RS-485(EIA-485標准)是RS-422的改進, 支持多對多(2線連接),從10個增加到32個,可以用超過4000英尺的線進行串列通行。速率最大10Mbps。支持全雙工(發送同時也可接收)。2線連接時 是半雙工狀態。
廣義上來說USB 協議 sata 硬碟 PCI_E 也是串列通信的范疇. 更為復雜