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