串口通信的基本原理是什么?
1. 串口通訊
串口通訊(Serial Communication),是指外設和計算機間,通過數(shù)據(jù)信號線、地線等,按位進行傳輸數(shù)據(jù)的一種通訊方式。
串口是一種接口標準,它規(guī)定了接口的電氣標準,沒有規(guī)定接口插件電纜以及使用的協(xié)議。
串口按電氣標準及協(xié)議來劃分,包括RS-232-C、RS-422、RS485等。
2.串口通訊的數(shù)據(jù)格式
一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時間間隔要求。
每一個字符的前面都有一位起始位(低電平),字符本身由7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(檢驗位可以是奇校驗、偶校驗或無校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位,停止位和空閑位都規(guī)定為高電平。實際傳輸時每一位的信號寬度與波特率有關,波特率越高,寬度越小,在進行傳輸之前,雙方一定要使用同一個波特率設置。
3.通訊方式
單工模式(Simplex Communication)的數(shù)據(jù)傳輸是單向的。通信雙方中,一方固定為發(fā)送端,一方則固定為接收端。信息只能沿一個方向傳輸,使用一根傳輸線。
半雙工模式(Half Duplex)通信使用同一根傳輸線,既可以發(fā)送數(shù)據(jù)又可以接收數(shù)據(jù),但不能同時進行發(fā)送和接收。數(shù)據(jù)傳輸允許數(shù)據(jù)在兩個方向上傳輸,但是,在任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此半雙工模式既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。半雙工通信中每端需有一個收發(fā)切換電子開關,通過切換來決定數(shù)據(jù)向哪個方向傳輸。因為有切換,所以會產(chǎn)生時間延遲,信息傳輸效率低些。
全雙工模式(Full Duplex)通信允許數(shù)據(jù)同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結(jié)合,它要求發(fā)送設備和接收設備都有獨立的接收和發(fā)送能力。在全雙工模式中,每一端都有發(fā)送器和接收器,有兩條傳輸線,信息傳輸效率高。
顯然,在其它參數(shù)都一樣的情況下,全雙工比半雙工傳輸速度要快,效率要高。
4.偶校驗與奇校驗
在標準ASCII碼中,其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現(xiàn)錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是奇數(shù),若非奇數(shù),則在最高位b7添1;偶校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。
5. 停止位
停止位是按長度來算的。串行異步通信從計時開始,以單位時間為間隔(一個單位時間就是波特率的倒數(shù)),依次接受所規(guī)定的數(shù)據(jù)位和奇偶校驗位,并拼裝成一個字符的并行字節(jié);此后應接收到規(guī)定長度的停止位“1”。所以說,停止位都是“1”,1.5是它的長度,即停止位的高電平保持1.5個單位時間長度。一般來講,停止位有1,1.5,2個單位時間三種長度。
6.波特率
波特率就是每秒鐘傳輸?shù)臄?shù)據(jù)位數(shù)。
波特率的單位是每秒比特數(shù)(bps),常用的單位還有:每秒千比特數(shù)Kbps,每秒兆比特數(shù)Mbps。串口典型的傳輸波特率600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps。
PLC/PC與稱重儀表通訊時,最常用的波特率是9600bps,19200bps。PLC/PC或儀表與大屏幕通訊時,最常用的波特率是600bps。
7. 典型的串口通訊標準
EIA RS232(通常簡稱“RS232”): 1962年由美國電子工業(yè)協(xié)會(EIA)制定。
EIA RS485(通常簡稱“RS485”): 1983年由美國電子工業(yè)協(xié)會(EIA)制定。
8.RS232串口
RS232是計算機與通信工業(yè)應用中最廣泛一種串行接口。它以全雙工方式工作,需要地線、發(fā)送線和接收線三條線。RS232只能實現(xiàn)點對點的通信方式。
串口通信的基本原理是利用串行數(shù)據(jù)傳輸?shù)姆绞?,通過單條線路按順序發(fā)送一個比特的信息。在串行通信中,數(shù)據(jù)傳輸方向是單一的,可以是單向或雙向,但需要在發(fā)送設備和接收設備之間建立通信協(xié)議,以便正確地傳輸和接收數(shù)據(jù)。
串行通信可以通過串行接口將計算機或其他設備的信號傳輸?shù)搅硪慌_計算機或設備,也可以將其他設備的信號傳輸?shù)接嬎銠C或其他設備。串行通信的傳輸速率、校驗方式、數(shù)據(jù)位數(shù)和停止位等參數(shù)需要預先設置,以確保傳輸數(shù)據(jù)的準確性和可靠性。
根據(jù)傳輸方式的不同,串行通信可以分為同步通信和異步通信兩種。同步通信使用一個時鐘信號來同步數(shù)據(jù)傳輸,要求發(fā)送設備和接收設備的時鐘頻率相同或相近,并且需要在發(fā)送設備和接收設備之間建立同步協(xié)議。異步通信則不需要時鐘信號來同步數(shù)據(jù)傳輸,發(fā)送設備和接收設備可以在不同的時鐘頻率下工作,但需要在發(fā)送和接收端設置幀同步域,以便在接收端恢復字節(jié)邊界,并通過位數(shù)逐個地進行幀的識別。
在實際應用中,串口通信通常采用RS-232、RS-485、I2C等協(xié)議進行數(shù)據(jù)傳輸。串口通信協(xié)議通常包括起始位、數(shù)據(jù)位、校驗位和停止位等,其中起始位用于標識數(shù)據(jù)包的開始,數(shù)據(jù)位用于傳輸實際的數(shù)據(jù),校驗位用于檢測數(shù)據(jù)傳輸過程中的錯誤,停止位用于標識數(shù)據(jù)包的結(jié)束。在串口通信過程中,發(fā)送設備和接收設備必須遵循相同的協(xié)議和設置,才能正確地傳輸和接收數(shù)據(jù)。
串行數(shù)據(jù)傳輸?shù)姆绞较啾炔⑿袛?shù)據(jù)傳輸具有以下優(yōu)勢:
傳輸距離更長:由于串行通信只使用一條線路進行數(shù)據(jù)傳輸,因此可以在長距離上實現(xiàn)數(shù)據(jù)的傳輸,而并行通信由于線路的限制,其傳輸距離較短。
成本更低:串行通信使用的線路數(shù)量較少,因此可以減少硬件成本,并且可以節(jié)省空間,這對于一些應用場景尤為重要。
可靠性更高:由于串行通信只使用一條線路進行數(shù)據(jù)傳輸,因此可以避免并行通信中存在的數(shù)據(jù)干擾問題,從而提高了數(shù)據(jù)傳輸?shù)目煽啃浴?
更廣泛的應用范圍:串行通信被廣泛應用于各種設備之間的通信,如串行接口、USB、1394等。這些接口具有很高的數(shù)據(jù)傳輸速率和可靠性,使得串行通信在計算機和外設之間得到了廣泛的應用。
可以支持多種傳輸協(xié)議:串行通信可以支持多種傳輸協(xié)議,如ASCII、二進制、I2C、SPI等,這些協(xié)議可以根據(jù)不同的應用場景進行選擇,使得串行通信具有更高的靈活性和可擴展性。
串行通信的優(yōu)點主要體現(xiàn)在以下幾個方面:
傳輸線路簡單,成本低:串行通信只需要一條傳輸線路,相比并行通信的多個線路,大大降低了硬件成本和線路復雜度。
易于實現(xiàn):串行通信的實現(xiàn)方式相對簡單,只需通過串口就能實現(xiàn)數(shù)據(jù)的發(fā)送和接收,因此可以方便地實現(xiàn)各種通信協(xié)議。
可擴展性強:串行通信可以通過多條線路同時傳輸數(shù)據(jù),使得其具有更強的可擴展性,可以滿足各種不同應用場景的需求。
長距離傳輸:串行通信可以在長距離上實現(xiàn)數(shù)據(jù)的傳輸,使得數(shù)據(jù)可以在更遠的距離間傳遞,滿足不同設備間的通信需求。
可靠性高:由于串行通信只使用一條線路進行數(shù)據(jù)傳輸,因此可以避免并行通信中存在的數(shù)據(jù)干擾問題,從而提高了數(shù)據(jù)傳輸?shù)目煽啃浴?
總之,串行通信的優(yōu)點主要體現(xiàn)在其傳輸線路簡單、成本低、易于實現(xiàn)、可擴展性強、長距離傳輸以及可靠性高等方面,這些優(yōu)點使得串行通信在各種不同應用場景中得到廣泛應用。