串列埠通訊的基本概念

2021-07-22 16:48:10 字數 2558 閱讀 8346

串列埠通訊的基本概念

什麼是串列埠?

什麼是rs-232?

什麼是rs-422?

什麼是rs-485?

什麼是握手?

串列埠是計算機上一種非常通用裝置通訊的協議(不要與通用序列匯流排universal serial bus或者usb混淆)。大多數計算機包含兩個基於rs232的串列埠。串列埠同時也是儀器儀表裝置通用的通訊協議;很多gpib相容的裝置也帶有rs-232口。同時,串列埠通訊協議也可以用於獲取遠端採集裝置的資料。

串列埠通訊的概念非常簡單,串列埠按位(bit)傳送和接收位元組。儘管比按位元組(byte)的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。比如ieee488定義並行通行狀態時,規定裝置線總常不得超過20公尺,並且任意兩個裝置間的長度不得超過2公尺;而對於串列埠而言,長度可達1200公尺。

典型地,串列埠用於ascii碼字元的傳輸。通訊使用3根線完成:(1)地線,(2)傳送,(3)接收。由於串列埠通訊是非同步的,埠能夠在一根線上傳送資料同時在另一根線上接收資料。其他線用於握手,但是不是必須的。串列埠通訊最重要的引數是波特率、資料位、停止位和奇偶校驗。++

對於兩個進行通行的埠,這些引數必須匹配:

rs-232(ansi/eia-232標準)是ibm-pc及其相容機上的序列連線標準。可用於許多用途,比如連線滑鼠、印表機或者modem,同時也可以接工業儀器儀表。用於驅動和連線的改進,實際應用中rs-232的傳輸長度或者速度常常超過標準的值。rs-232只限於pc串列埠和裝置間點對點的通訊。rs-232串列埠通訊最遠距離是50英呎。

db-9針連線頭

------------- 

\ 1 2 3 4 5 /

\ 6 7 8 9 /

-------------

從計算機連出的線的截面。

rs-232針腳的功能:

資料:txd(pin 3):串列埠資料輸出

rxd(pin 2):串列埠資料輸入

握手:rts(pin 7):傳送資料請求

cts(pin 8):清除傳送

dsr(pin 6):資料傳送就緒

dcd(pin 1):資料載波檢測

dtr(pin 4):資料終端就緒

地線:gnd(pin 5):地線

其他ri(pin 9):鈴聲指示

rs-485(eia-485標準)是rs-422的改進,因為它增加了裝置的個數,從10個增加到32個,同時定義了在最大裝置個數情況下的電氣特性,以保證足夠的訊號電壓。有了多個裝置的能力,你可以使用乙個單個rs-422口建立裝置網路。出色抗噪和多裝置能力,在工業應用中建立連向pc機的分布式裝置網路、其他資料收集控制器、hmi或者其他操作時,序列連線會選擇rs-485。rs-485是rs-422的超集,因此所有的rs-422裝置可以被rs-485控制。rs-485可以用超過4000英呎的線進行序列通行。

db-9 引腳連線

------------- 

\ 1 2 3 4 5 /

\ 6 7 8 9 /

-------

從計算機連出的線的截面。

rs-485和rs-422的引腳的功能

資料:txd+(pin 8),txd-(pin 9),rxd+(pin 4),rxd-(pin 5)

握手:rts+(pin 3),rts-(pin 7),cts+(pin 2),cts-(pin 6)

地線:gnd (pin 1)

rs-232通行方式允許簡單連線三線:tx、rx和地線。但是對於資料傳輸,雙方必須對資料定時採用使用相同的波特率。儘管這種方法對於大多數應用已經足夠,但是對於接收方過載的情況這種使用受到限制。這時需要串列埠的握手功能。在這一部分,我們討論三種最常用的rs-232握手形式:軟體握手、硬體握手和xmodem。

xmodem使用介於如下引數的協議:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。這些引數需要通訊雙方認定,標準的xmodem有乙個標準的定義:然而,可以通過xmodemconfig函式修改,以滿足具體需要。這些引數的使用方法由接收方傳送的字元neg_ack確定。這通知傳送方其準備接收資料。它開始嘗試傳送,有乙個超時引數start_delay;當超時的嘗試超過max_ties次數,或者收到接收方傳送的start_of_data,傳送方停止嘗試。如果從傳送方收到start_of_data,接收方將讀取後繼資訊資料報。包中含有包的數目、包數目的補碼作為錯誤校驗、packet_size位元組大小的實際資料報,和進一步錯誤檢查的求和校驗值。在讀取資料後,接收方會呼叫wait_delay,然後想傳送方傳送響應。如果傳送方沒有收到響應,它會重新傳送資料報,直到收到響應或者超過重發次數的最大值max_tries。如果一直沒有收到響應,傳送方通知使用者傳輸資料失敗。

由於資料必須以pack_size個位元組按包傳送,當最後乙個資料報傳送時,如果資料不夠放滿乙個資料報,後面會填充ascii碼null(0)位元組。這導致接收的資料比原資料多。在xmodem情況下一定不要使用xon/xoff,因為xmodem傳送方發出包的數目很可能增加到xon/off控制字元的值,從而導致通訊故障。

串列埠通訊的基本概念

串列埠通訊的基本概念 1,什麼是串列埠?2,什麼是rs 232?3,什麼是rs 422?4,什麼是rs 485?5,什麼是握手?1,什麼是串列埠?串列埠是計算機上一種非常通用裝置通訊的協議 不要與通用序列匯流排universal serial bus或者usb混淆 大多數計算機包含兩個基於rs232...

串列埠通訊的基本概念

1,什麼是串列埠?2,什麼是rs 232?3,什麼是rs 422?4,什麼是rs 485?5,什麼是握手?1,什麼是串列埠?串列埠是計算機上一種非常通用裝置通訊的協議 不要與通用序列匯流排universal serial bus或者usb混淆 大多數計算機包含兩個基於rs232的串列埠。串列埠同時也...

串列埠通訊的基本概念

問題 我從那裡能夠學到串列埠通訊的基本知識 解答 串列埠通訊的基本概念 1,什麼是串列埠?2,什麼是rs 232?3,什麼是rs 422?4,什麼是rs 485?5,什麼是握手?1,什麼是串列埠?串列埠是計算機上一種非常通用裝置通訊的協議 不要與通用序列匯流排universal serial bus...