本文介紹了串口通訊的基本概念、數(shù)據(jù)格式、通訊方式、典型的串口通訊標(biāo)準(zhǔn)等內(nèi)容。
1 串口通訊
串口通訊(Serial Communication),是指外設(shè)和計(jì)算機(jī)間,通過數(shù)據(jù)信號線、地線等,按位進(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ù)格式
一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時間間隔要求。
每一個字符的前面都有一位起始位(低電平),字符本身由7位數(shù)據(jù)位組成,接著字符后面是一位校驗(yàn)位(檢驗(yàn)位可以是奇校驗(yàn)、偶校驗(yàn)或無校驗(yàn)位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位,停止位和空閑位都規(guī)定為高電平。實(shí)際傳輸時每一位的信號寬度與波特率有關(guān),波特率越高,寬度越小,在進(jìn)行傳輸之前,雙方一定要使用同一個波特率設(shè)置。
3 通訊方式
單工模式(Simplex Communication)的數(shù)據(jù)傳輸是單向的。通信雙方中,一方固定為發(fā)送端,一方則固定為接收端。信息只能沿一個方向傳輸,使用一根傳輸線。
半雙工模式(Half Duplex)通信使用同一根傳輸線,既可以發(fā)送數(shù)據(jù)又可以接收數(shù)據(jù),但不能同時進(jìn)行發(fā)送和接收。數(shù)據(jù)傳輸允許數(shù)據(jù)在兩個方向上傳輸,但是,在任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此半雙工模式既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。半雙工通信中每端需有一個收發(fā)切換電子開關(guān),通過切換來決定數(shù)據(jù)向哪個方向傳輸。因?yàn)橛星袚Q,所以會產(chǎn)生時間延遲,信息傳輸效率低些。
全雙工模式(Full Duplex)通信允許數(shù)據(jù)同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結(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)錯誤的一種方法,一般分奇校驗(yàn)和偶校驗(yàn)兩種。奇校驗(yàn)規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是奇數(shù),若非奇數(shù),則在最高位b7添1;偶校驗(yàn)規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。
5 停止位
停止位是按長度來算的。串行異步通信從計(jì)時開始,以單位時間為間隔(一個單位時間就是波特率的倒數(shù)),依次接受所規(guī)定的數(shù)據(jù)位和奇偶校驗(yàn)位,并拼裝成一個字符的并行字節(jié);此后應(yīng)接收到規(guī)定長度的停止位“1”。所以說,停止位都是“1”,1.5是它的長度,即停止位的高電平保持1.5個單位時間長度。一般來講,停止位有1,1.5,2個單位時間三種長度。
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與稱重儀表通訊時,最常用的波特率是9600bps,19200bps。PLC/PC或儀表與大屏幕通訊時,最常用的波特率是600bps。
7 典型的串口通訊標(biāo)準(zhǔn)
EIA RS232(通常簡稱“RS232”): 1962年由美國電子工業(yè)協(xié)會(EIA)制定。
EIA RS485(通常簡稱“RS485”): 1983年由美國電子工業(yè)協(xié)會(EIA)制定。
8 RS232串口
RS232是計(jì)算機(jī)與通信工業(yè)應(yīng)用中最廣泛一種串行接口。它以全雙工方式工作,需要地線、發(fā)送線和接收線三條線。RS232只能實(shí)現(xiàn)點(diǎn)對點(diǎn)的通信方式。
8.1 RS232串口缺點(diǎn)
● 接口信號電平值較高,接口電路芯片容易損壞。
● 傳輸速率低,最高波特率19200bps。
● 抗干擾能力較差。
● 傳輸距離有限,一般在15m以內(nèi)。
● 只能實(shí)現(xiàn)點(diǎn)對點(diǎn)的通訊方式。
8.2 RS232串口接口定義
RXD:接收數(shù)據(jù),TXD:發(fā)送數(shù)據(jù),GND/SG:信號地。
8.3 電腦DB9針接口定義
電腦DB9針接口是常見的RS232串口,其引腳定義如下:
2號腳:RXD(接收數(shù)據(jù))
3號腳:TXD(發(fā)送數(shù)據(jù))
5號腳:SG或GND(信號地)
其它腳:我們不用
電腦RS232串口與儀表串口連接圖:
在9針串口接頭中,公頭和母頭的管腳定義順序是不一樣,這一點(diǎn)需要特別注意。那么,這些管腳都有什么作用呢?9針串口和25針串口常用管腳的功能說明如下圖所示:
9 RS485串口
9.1 RS485串口特點(diǎn)
● RS485采用平衡發(fā)送和差分接收,具有良好的抗干擾能力,信號能傳輸上千米。
● RS485有兩線制和四線制兩種接線。采用四線制時,只能實(shí)現(xiàn)點(diǎn)對多的通訊(即只能有一個主設(shè)備,其余為從設(shè)備)。四線制現(xiàn)在很少采用,現(xiàn)在多采用兩線制接線方式。
● 兩線制RS485只能以半雙式方式工作,收發(fā)不能同時進(jìn)行。
● RS485在同一總線上最多可以接32個結(jié)點(diǎn),可實(shí)現(xiàn)真正的多點(diǎn)通訊,但一般采用的是主從通信方式,即一個主機(jī)帶多個從機(jī)。
● 因RS485接口具有良好的抗干擾能力,長的傳輸距離和多站能力等優(yōu)點(diǎn)使其成為首選的串行接口。
9.2 RS485串口接口定義
A或Data+(D+)或+:信號正;
B或Data-(D-)或-:信號負(fù)。
9.3 計(jì)算機(jī)與RS485儀表通訊
計(jì)算機(jī)自帶的串口只有RS232,沒有RS485,如果計(jì)算機(jī)要與RS485串口的儀表進(jìn)行通訊,必須使用串口轉(zhuǎn)換器或裝上RS485串口轉(zhuǎn)換卡后才能進(jìn)行通訊。
9.4 RS485串口的終端電阻
● 一般情況下不需要增加終端電阻,只有在RS485通信距離超過100米的情況下,要在RS485通訊的開始端和結(jié)束端增加終端電阻,RS485典型終端電阻是120歐。
● 終端電阻是為了消除在通信電纜中的信號反射在通信過程中,有兩種信號因?qū)е滦盘柗瓷洌鹤杩共贿B續(xù)和阻抗不匹配。
阻抗不連續(xù),信號在傳輸線末端突然遇到電纜阻抗很小甚至沒有,信號在這個地方就會引起反射。消除這種反射的方法,就必須在電纜的末端跨接一個與電纜的特性阻抗同樣大小的終端電阻,使電纜的阻抗連續(xù)。由于信號在電纜上的傳輸是雙向的,因此,在通訊電纜的另一端可跨接一個同樣大小的終端電阻。
引起信號反射的另一原因是數(shù)據(jù)收發(fā)器與傳輸電纜之間的阻抗不匹配。這種原因引起的反射,主要表現(xiàn)在通訊線路處在空閑方式時,整個網(wǎng)絡(luò)數(shù)據(jù)混亂。要減弱反射信號對通訊線路的影響,通常采用噪聲抑制和加偏置電阻的方法。在實(shí)際應(yīng)用中,對于比較小的反射信號,為簡單方便,經(jīng)常采用加偏置電阻的方法。
10 串口通訊硬件常見的注意事項(xiàng)
● 通訊電纜端子一定接牢,不可有任何松動,否則,可能會燒壞儀表或上位機(jī)的通訊板。
● 不可帶電拔插通訊端子,否則,可能會燒壞儀表或上位機(jī)的通訊板,一定要關(guān)閉儀表電源后才能去拔插通訊端子或接通訊線。
● 不可帶電拔插通訊端子,否則,可能會燒壞儀表或上位機(jī)的通訊板,一定要關(guān)閉儀表電源后才能去拔插通訊端子或接通訊線。
● 通訊用的屏蔽電纜最好選用雙層隔離型屏蔽電纜,其次選用單層屏蔽電纜,最好不要選用無屏蔽層的電纜,且電纜屏蔽層一定要能完全屏蔽,有些質(zhì)量差的電纜,屏蔽層很松散,根本起不到屏蔽的作用。單層屏蔽的電纜屏蔽層應(yīng)一端接地,雙層屏蔽的電纜屏蔽層其外層(含鎧裝)應(yīng)兩端接地,內(nèi)層屏蔽則應(yīng)一端接地。
● 儀表使用RS232通訊時,通訊電纜長度不得超過15米。
● 一般RS485協(xié)議的接頭沒有固定的標(biāo)準(zhǔn),可能根據(jù)廠家的不同引腳順序和管腳功能可能不盡相同,用戶可以查閱相關(guān)產(chǎn)品RS485的引腳圖。
● RS485通訊電纜最好選用阻阬匹配、低衰減的RS485專用通訊電纜(雙絞線),不要使用普通的雙絞電纜或質(zhì)量較差的通訊電纜。因?yàn)槠胀娎|或質(zhì)量差的通訊電纜,可能阻抗不匹配、衰減大、絞合度不夠、屏蔽層太松散,這樣會導(dǎo)致干擾將非常大,會造成通訊不暢,甚至通訊不上。
● 儀表使用RS485通訊時,每臺儀表必須手牽手地串下去,不可以有星型連接或者分叉,如果有星型連接或者分叉,干擾將非常大,會造成通訊不暢,甚至通訊不上。
● 485總線結(jié)構(gòu)理論上傳輸距離達(dá)到1200米,一般是指通訊線材優(yōu)質(zhì)達(dá)標(biāo),波特率9600,只有一臺485設(shè)備才能使得通訊距離達(dá)到1200米,而且能通訊并不代表每次通訊都正常,所以通常485總線實(shí)際的穩(wěn)定通訊距離遠(yuǎn)遠(yuǎn)達(dá)不到1200米。負(fù)載485設(shè)備多,線材阻抗不同時,通訊距離更短。
● 儀表使用RS485通訊時,必要時,請接入終端電阻,以增強(qiáng)系統(tǒng)的抗干擾性,典型的終端電阻阻值是120歐。
11 串口通訊軟件設(shè)置要點(diǎn)
11.1 有關(guān)通訊的一些基本概念
● 主機(jī)與從機(jī):在通訊系統(tǒng)中起主要作用、發(fā)布主要命令的稱為主機(jī),接受命令的稱為從機(jī)。
● 連續(xù)方式:指主機(jī)不需要發(fā)布命令,從機(jī)就能自動地向主機(jī)發(fā)送數(shù)據(jù)。
● 指令方式:指主機(jī)向從機(jī)發(fā)布命令,從機(jī)根據(jù)指令執(zhí)行動作,并將結(jié)果“應(yīng)答”給主機(jī)的模式。
● 輸出數(shù)據(jù)類型:指在連續(xù)方式通訊時,從機(jī)輸出給主機(jī)的數(shù)據(jù)類型。
● 通訊協(xié)議:指主機(jī)與從機(jī)通訊時,按哪一種編碼規(guī)則來通訊。
● 波特率:主從機(jī)之間通訊的速度。
● 數(shù)據(jù)位:每次傳輸數(shù)據(jù)時,數(shù)據(jù)由幾位組成。
● 校驗(yàn)位:數(shù)據(jù)傳輸錯誤檢測,可以是奇校驗(yàn)、偶校驗(yàn)或無校驗(yàn)。
● 地址:每一臺從機(jī)的編號。
11.2 主從機(jī)之間通訊設(shè)置要點(diǎn)
● 要點(diǎn)一:主/從RS232/485硬件有無設(shè)置正確,通訊線有無接對。有些通訊板卡是RS422與RS485共用的,依靠板上跳線來實(shí)現(xiàn)的,有些儀表RS232/485也需要通訊跳線來實(shí)現(xiàn)。
● 要點(diǎn)二:主機(jī)上的通訊端口有無設(shè)置正確;超時(一般設(shè)置為2s)、通訊延時(一般設(shè)置為5~20ms)、ACK信號延時(一般設(shè)置為0ms)有無設(shè)置正確。
● 要點(diǎn)三:主/從機(jī)通訊協(xié)議有無選擇正確。
● 要點(diǎn)四:主/從機(jī)波特率有無選擇正確。
● 要點(diǎn)五:主/從機(jī)數(shù)據(jù)位有無選擇正確。數(shù)據(jù)位可以選擇7位,8位。
● 要點(diǎn)六:主/從機(jī)校驗(yàn)位有無選擇正確。校驗(yàn)位一般可選擇偶校驗(yàn)、奇校驗(yàn)、無校驗(yàn)。
● 要點(diǎn)七:主/從機(jī)停止位有無選擇正確。停止位可以選擇1位、1.5位還是2位。
● 要點(diǎn)八:從機(jī)地址有無選擇正確。
● 要點(diǎn)九:主/從機(jī)的通訊方式有無選擇正確。
進(jìn)行通訊測試的時候經(jīng)常會進(jìn)行線路測試,測試所用的串口線是否可用,方法如下:
1. 把串口線接到不同的串口,用串口調(diào)試工具從一個串口發(fā)數(shù)據(jù),另一個能正常收到說明串口線是OK的。
2. 把串口線的一端短接(用金屬把2,3號腳連通),用萬用表測另一端的2,3號如果正常的話會有嘀嘀的短接報警聲。
審核編輯 :李倩
-
plc
+關(guān)注
關(guān)注
5031文章
13847瀏覽量
473265 -
RS485
+關(guān)注
關(guān)注
39文章
1229瀏覽量
83867 -
串口通訊
+關(guān)注
關(guān)注
1文章
265瀏覽量
25480
原文標(biāo)題:串口通信原理,詳解232、422、485
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
有關(guān)LABVIEW串口通訊數(shù)據(jù)格式
串口的數(shù)據(jù)格式
串口通訊協(xié)議的相關(guān)資料推薦
三菱變頻器與PC通訊的數(shù)據(jù)格式研究

電動汽車遠(yuǎn)程服務(wù)與管理系統(tǒng)技術(shù)規(guī)范 第3部分:通訊協(xié)議及數(shù)據(jù)格式
【STM32學(xué)習(xí)筆記】串口通訊 — USART / UART

STM32串口通訊——中斷方式

STM32實(shí)戰(zhàn)-串口通信方式匯總

通訊的基本概念

評論