簡單介紹
串口是一種非常通用的設備通信的協議(不要與
通用串行總線Universal Serial Bus(USB)混淆)。大多數計算機包括兩個基於RS232的串口。串口同一時候也是儀器儀表設備通用的
通信協議;非常多GPIB兼容的設備也帶有RS-232口。同一時候,
串口通信協議也能夠用於獲取遠程採集設備的數據。
串口通信的概念非常easy,串口按位(bit)發送和接收字節。
雖然比按字節(byte)的並行通信慢,可是串口可以在使用一根線發送數據的同一時候用還有一根線接收數據。
它非常easy而且可以實現遠距離通信。比方IEEE488定義並行通行狀態時。規定設備線總長不得超過20米。而且隨意兩個設備間的長度不得超過2米;而對於串口而言。長度可達1200米。
典型地。串口用於ASCII碼字符的傳輸。通信使用3根線完畢:(1)地線,(2)發送,(3)接收。
因為串口通信是異步的,port可以在一根線上發送數據同一時候在還有一根線上接收數據。其它線用於握手,但不是必須的。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。
對於兩個進行通行的port,這些參數必須匹配:
波特率
這是一個衡量符號傳輸速率的參數。它表示每秒鍾傳送的符號的個數。比如300波特表示每秒鍾發送300個符號。當我們提到
時鍾周期時,我們就是指波特率,比如假設協議須要4800波特率,那么時鍾是4800Hz。這意味着
串口通信在數據線上的採樣率為4800Hz。通常電話線的波特率為14400。28800和36600。波特率能夠遠遠大於這些值,可是波特率和距離成反比。高波特率經常常使用於放置的非常近的儀器間的通信,典型的樣例就是GPIB設備的通信。
數據位
這是衡量通信中實際數據位的參數。
當計算機發送一個信息包,實際的數據不會是8位的,標准的值是5、6、7和8位。怎樣設置取決於你想傳送的信息。比方。標准的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。
假設數據使用簡單的文本(標准 ASCII碼),那么每一個數據包使用7位數據。每一個包是指一個字節,包含開始/停止位。數據位和奇偶校驗位。因為實際數據位取決於通信協議的選取。術語“包”指不論什么通信的情況。
停止位
用於表示單個包的最后一位。
典型的值為1,1.5和2位。
因為數據是在傳輸線上定時的。而且每個設備有其自己的時鍾,非常可能在通信中兩台設備間出現了小小的不同步。
因此停止位不不過表示傳輸的結束,而且提供計算機校正時鍾同步的機會。適用於停止位的位數越多。不同一時候鍾同步的容忍程度越大,可是傳輸數據率同一時候也越慢。
奇偶校驗位
在
串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。
對於偶和奇校驗的情況,串口會設置校驗位(數據位后面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。比如。假設數據是011,那么對於偶校驗,校驗位為0,保證邏輯高的位數是偶數個。假設是奇校驗。校驗位為1,這樣就有3個邏輯高位。高位和低位不是真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。
這樣使得接收設備可以知道一個位的狀態。有機會推斷是否有噪聲干擾了通信或者是否傳輸和接收數據是否不同步。
在數字信道中,比特率是數字信號的傳輸速率,它用單位時間內傳輸的
二進制代碼的有效位(bit)數來表示,其單位為
每秒比特數bit/s(bps)、每秒千比特數(Kbps)或每秒
兆比特數(Mbps)來表示(此處K和M分別為1000和1000000。而不是涉及計算機
存儲器容量時的1024和1048576)。
波特率指數據信號對載波的調制速率。它用單位時間內載波調制狀態改變次數來表示,其單位為波特(Baud)。 波特率與比特率的關系為:比特率=波特率X單個調制狀態相應的二進制位數。
顯然,兩相調制(單個調制狀態相應1個二進制位)的
比特率等於波特率;四相調制(單個調制狀態相應2個二進制位)的比特率為波特率的兩倍;八相調制(單個調制狀態相應3個二進制位)的比特率為波特率的三倍;依次類推。
RS232是要用在近距離傳輸上最大距離為30M
RS485用在長距離傳輸最大距離1200M