當前位置:首頁 » 合同協議 » 串列協議

串列協議

發布時間: 2021-03-15 02:06:27

⑴ 串列通信雙方為什麼要約定通信協議

通信協議是雙方交流的語言,所以只有雙方都知道的時候才能明白對方說什麼。

入門可以參考一些簡單的通信協議,如電表的645協議等,使用諸如格西烽火軟體這類型協議測試軟體進行學習。

⑵ 串口通信用的是什麼協議

就是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)信號。

⑶ 串口協議

協議一般要包含:起始符、、數據、校驗碼、結束符,5個部分的定義。
其中 起始符、結束符,不能與其他數據重碼。
如只要傳輸字母與數字,可以看下ASCII碼表,使用非數字和字母的符號做起始結束符即可,如{};
數據長度碼即表示此串數據包的數據長度,如果傳輸的數據串長度固定可省去;
校驗碼相當於對此串數據正確性的校驗,和奇偶校驗效果類似,一般是和校驗,即將數據全部累加得到一個和值當校驗碼,接收方收到數據也做一樣的運算與收到的檢驗碼比較,相等就說明正確接收。
如要發{1234567890 }
換成16進制即:7B 10 31 32 33 34 35 36 37 38 39 30 25 7D;31~30是數據,
7B,7D分別為起始和結束符,10為數據長度的BCD碼,25是校驗碼,是31~30的和模100後的BCD碼,轉成BCD碼是為了避免與 起始和結束符重碼。

⑷ 串口通信協議有哪些

I2C匯流排是內部匯流排,用來連接內部系統內的晶元。比如mcu和存儲器、鍵盤現實晶元、ad轉換等等專。 串口通信是用來屬和系統外部的設別通信的。比如設備和設備之間通信。 I2C和串口在通信協議上可以做到一樣,也可做到不一樣,這取決與具體的情況。 mcu和2402通信,mcu和電腦通信它們之間的協議軟體可以做到完全一樣 比如mcu發送1 2402和電腦發送2。

⑸ 串口通信協議(急)

上位機來和下位機通過串口通自訊協議來對接收到的數據進行處理,以數據幀的形式為例,$XXXX DDDD GGGG*CRCH CRCL, $表示開始,*表示結束,CRC為校驗。只有上下位機以一定協議來對接收到的數據進行解析,才能獲得有效數據。詳情請參閱<Visual C++_Turbo C串口通信編程實踐>,裡面有詳細介紹。

⑹ 通過串列線路實現tcp/ip連接的協議是什麼

覺得 答案應該 是 B。

A.FIP 莫非 是 ftp?

B.PPP/SLIP PPP(Point-to-Point Protocol點到點協議)是為在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。SLIP協議是面向低速串列線路的,可以用於專用線路,也可以用於撥號線路,Modem的傳輸速率在1200bps到19200bps。

C.NNTP/SMTP NNTP即Network News Transport Protocol的縮寫,中文釋義:(RFC-977)網路新聞傳輸協議,(SMTP:Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。

D.TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)的簡寫,中文譯名為傳輸控制協議/互聯網路協議)協議是Internet最基本的協議,簡單地說,就是由底層的IP協議和TCP協議組成的。

⑺ 如何設計一種串列通信協議

簡單的說要做一個協議,首先要考慮你的匯流排拓撲形式。是點對點的方式傳輸(是一主一從,還是兩個為對等的節點),還是一個主機下掛了多個從節點(節點和主機如何鏈接,是星形鏈接、樹形鏈接,還是匯流排型連接)。

如果是一主一從的點對點那是最簡單的。如果是兩個對等的節點或者一對多匯流排節點,那就需要考慮匯流排競爭、沖突、地址設計、超時處理等問題。

那最簡單的主從點對點來說(封閉式網路,即設備節點數確定,且非相設備協議不相同無法接入該網路)。
首先你的波特率設置,最好是所有節點都定一個波特率,有人做過不同波特率通信的,反正我沒玩過。而且波特率的大小要從你匯流排的數據量開銷、處理器/控制器的速度、應用的環境中電磁復雜程度、硬體設備的帶寬(頻率高了會不會受影響,導致丟包率增大,或影響其他設備)
然後一個幀開頭應該帶有幀標識,讓對方判斷收到的是數據幀還是應答幀。點對點通信,最少應該具備一個數據命令幀和應答幀。數據命令幀是包含主要設信息的,應答幀是告訴對方是正確否收到數據,如沒有,請重發。另外如果收的幀標識都不是這兩種的,就說明可能匯流排出現問題/受干擾/接入其他未知設備。
其次考慮你傳輸的數據量有多大,是否需要數據包定長。如果傳輸的數據時而多(十幾/幾十個個位元組),時而少(不到一個位元組),那就不能定長。這樣的話就需要在第二第三個位元組(放幀標識的位元組前後)加上包/幀的長度信息。
然後是地址,雖然只有兩個點在面對面對話通信,但建議加上源地址和目標地址。這個只是建議,在點對點通信中可選。
之後應該加上一個序列號,用以表示為第幾次發送。比如說,我發了一次Hello給你,下一次應該發一個World給你,但你反饋應答幀說沒收到或者收到錯誤,然後我再發一次Hello給你,這時的Hello這幀中的序列號應為2了。
接下來是數據內容……
最後是校驗,CRC ……異或……什麼的,對前面所有的數據從幀頭到幀尾的位做數據校驗。防止傳輸過程中,任何一個bit出錯。

現在想到的就是這么點。吐個槽,記得當年我們一組人做鐵路信號設備的協議,研究院的人看了我們兩周想出來的協議後(基於RS584),說:協議是這么簡單就搞出來的么!沒試驗個一年的工夫都不敢說整出一個安全的強壯的協議來。

⑻ 什麼是串列數據通信協議

串列 只有一路通信線路
數據通信 網路彼此交換信息
協議 為使彼此能有效 可靠通信而約定的一些規則如:數據的格式 速率 順序等等

⑼ 什麼是串口通信協議

串口通信指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 也是串列通信的范疇. 更為復雜

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837