串口通信協(xié)議_第1頁(yè)
串口通信協(xié)議_第2頁(yè)
串口通信協(xié)議_第3頁(yè)
串口通信協(xié)議_第4頁(yè)
串口通信協(xié)議_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1串口Universal串口是計(jì)算機(jī)上一種非常通用設(shè)備通信的協(xié)議(不要與通用串行總線Universal2串行通信的傳輸方向單工單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行。全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。全雙工全雙工全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。全雙工3重要參數(shù)串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通行的端口,這些參數(shù)必須匹配。波特率這是一個(gè)衡量通信速度的參數(shù)。它表示每秒鐘傳送的bit的個(gè)數(shù)。例如300波特表示每秒鐘發(fā)送300個(gè)bit。當(dāng)我們提到時(shí)鐘周期時(shí),我們就是指波特率例如如果協(xié)議需要480

2、0波特率,那么時(shí)鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。常用的波特率有,1200,2400,4800,9600,19200,38400,115200等。數(shù)據(jù)位這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是5、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0127(7位)。擴(kuò)展的ASCII碼是0255(8位)。如果數(shù)據(jù)使用簡(jiǎn)單

3、的文本(標(biāo)準(zhǔn)ASCII碼),那么每個(gè)數(shù)據(jù)包使用7位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語(yǔ)“包”指任何通信的情況。停止位用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。奇偶校驗(yàn)位了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。4RS-232/422/485標(biāo)準(zhǔn)在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式

4、。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位1了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。4RS-232/422/485標(biāo)準(zhǔn)RS-232、RS-422與RS-485最初都是由電子工業(yè)協(xié)會(huì)(EIA)制訂并發(fā)布的。RS-232在1962年發(fā)布,命名為EIA-232-E,作為工業(yè)標(biāo)準(zhǔn),以保證不同廠家產(chǎn)品之間的兼容。RS-422是由RS-232發(fā)展而來,它是為彌補(bǔ)RS-232之不足而提出

5、的。為改進(jìn)RS-232通信距離短、速率低的缺點(diǎn),RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mbps,傳輸距離延長(zhǎng)到4000英尺(速率低于100kbps時(shí)),并允許在一條平衡總線上連接最多10個(gè)接收器。RS-422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA-422-A標(biāo)準(zhǔn)。為擴(kuò)展應(yīng)用范圍,EIA又于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。由于EIA提出的建議標(biāo)準(zhǔn)都是以“RS”作為前

6、綴,所以在通訊工業(yè)領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn)以RS作前綴稱謂。RS-232、RS-422與RS-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。但由于PC上的串行數(shù)據(jù)通訊是通過UART芯片(較老版本的PC采用I8250芯片或Z8530芯片)來處理的,其通訊協(xié)議也規(guī)定了串行數(shù)據(jù)單元的格式(8-N-1格式):1位邏輯0的起始位,6/7/8位數(shù)據(jù)位,1位可選擇的奇(ODD)/(禺(EVEN)校驗(yàn)位,1/2位邏輯1的停止位?;赑C的RS-232、RS-422與RS-485標(biāo)準(zhǔn)均采用同樣的通訊協(xié)議。4.1RS-232標(biāo)準(zhǔn)RS-232被定義為一種

7、在低速率、近距離串行通訊的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊。RS-232的電氣標(biāo)準(zhǔn):電平為邏輯“0”時(shí):+3V+15V;電平為邏輯“1”時(shí):-3V-15V;未定義區(qū):3V+3V。在此區(qū)域內(nèi)的信號(hào)處理將由通訊接口的RS-232收發(fā)器決定。.2RS-485標(biāo)準(zhǔn)電子工業(yè)協(xié)會(huì)(EIA)于1983年制訂并發(fā)布RS-485標(biāo)準(zhǔn),并經(jīng)通訊工業(yè)協(xié)會(huì)(TIA)修訂后命名為TIA/EIA-485-A,習(xí)慣地稱之為RS-485標(biāo)準(zhǔn)。RS-485標(biāo)準(zhǔn)是為彌補(bǔ)RS-232通信距離短、速率低等缺點(diǎn)而產(chǎn)生的。RS-485標(biāo)準(zhǔn)只規(guī)定了平衡發(fā)送器和接收器的電特性,而沒有規(guī)定接插件、傳輸電纜和應(yīng)用層通信協(xié)

8、議。RS-485標(biāo)準(zhǔn)與RS-232不一樣,數(shù)據(jù)信號(hào)采用差分傳輸方式(DifferentialDriverMode),也稱作平衡傳輸,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B,如圖所示。的T27鬲常發(fā)送器示意圖通常情況下,發(fā)送發(fā)送器A、B之間的正電平在+2+6V,是一個(gè)邏輯狀態(tài);負(fù)電平在-2-6V,是另一個(gè)邏輯狀態(tài)。另有一個(gè)信號(hào)地C。在RS-485器件中,一般還有一個(gè)使能控制信號(hào)。使能信號(hào)用于控制發(fā)送發(fā)送器與傳輸線的切斷與連接,當(dāng)使能端起作用時(shí),發(fā)送發(fā)送器處于高阻狀態(tài),稱作第三態(tài),它是有別于邏輯1與0的第三種狀態(tài)。對(duì)于接收發(fā)送器,也作出與發(fā)送發(fā)送器相對(duì)的規(guī)定,收、發(fā)端通過平衡雙絞線將

9、A-A與B-B對(duì)應(yīng)相連。當(dāng)在接收端A-B之間有大于+200mV的電平時(shí),輸出為正邏輯電平;小于-200mV時(shí),輸出為負(fù)邏輯電平。在接收發(fā)送器的接收平衡線上,電平范圍通常任OOmV至6V之間。參見下圖所示。接收器示意圖定義邏輯1(正邏輯電平)為BA的狀態(tài),邏輯0(負(fù)邏輯電平)為AB的狀態(tài),A、B之間的壓差不小于200mV。接線方式RS232通訊連接方式示意圖5.2RS485通訊連接方式示意圖25.2RS485通訊連接方式示意圖2臺(tái)連接方式:多臺(tái)連接組成主從網(wǎng)絡(luò):多臺(tái)連接組成主從網(wǎng)絡(luò):主設(shè)A備主設(shè)A備B1A從設(shè)B備!a從設(shè)B備AA從設(shè)B備6通信方式演示.1RS232通信演示通過串口助手實(shí)現(xiàn)演示全雙

10、工串口設(shè)置6.2RS485通信演示通過485助手和地址表軟件模擬演示半雙工串口設(shè)置地址表從機(jī)地址ModBus上層協(xié)議RS485通訊協(xié)議RS-485標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議;因此,用戶需要在RS-485應(yīng)用網(wǎng)絡(luò)的基礎(chǔ)上建立自己的應(yīng)用層通信協(xié)議。很多具有RS-485接口電路的用戶設(shè)備采用自己制定的簡(jiǎn)單通訊協(xié)議,或是直接取自ModBus協(xié)議(AscII/RTU模式)中的一部分功能;ModBus通訊協(xié)議Modbus協(xié)議已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn)。Modbus在串行鏈路上的協(xié)議幀格式如下所示:ModbusADU地址域(8bit)功能碼(8bit)數(shù)據(jù)域(n*8bit)CR

11、C域(16bit)MModbusPDUModbus協(xié)議幀格式PDU:Modbus的一個(gè)簡(jiǎn)單協(xié)議數(shù)據(jù)單元;ADU:Modbus在總線或者網(wǎng)絡(luò)上的應(yīng)用數(shù)據(jù)單元。Modbus協(xié)議使用主從通信技術(shù),采用查詢-回應(yīng)形式實(shí)現(xiàn)通信,主機(jī)可對(duì)各從機(jī)尋址,發(fā)出廣播信息,從機(jī)返回信息作為對(duì)查詢的響應(yīng),具體過程如下所示:Modbus查詢-回應(yīng)形式通信當(dāng)通信或者操作出錯(cuò)的時(shí)候,從機(jī)同樣會(huì)給主機(jī)回應(yīng)異常幀,其格式和正常響應(yīng)的數(shù)據(jù)格式相似,只是回應(yīng)時(shí)的功能碼和數(shù)據(jù)響應(yīng)區(qū)域變成Modbus定義的異常功能碼和異常碼。Modbus協(xié)議支持兩種數(shù)據(jù)傳輸模式:ASCII格式和RTU格式,控制器主要采用RTU模式實(shí)現(xiàn)數(shù)據(jù)傳輸。在RT

12、U傳輸模式下Modbus信息幀格式如下所示:RTU傳輸模式下Modbus信息幀格式起始位設(shè)備地址功能碼數(shù)據(jù)CRC結(jié)束符三3.5字符8bit8bitN*8bit16bit三3.5字符CRC區(qū)域?yàn)檠h(huán)冗余錯(cuò)誤校驗(yàn)區(qū),采用CRC-16校驗(yàn),傳輸時(shí)先是CRC低字節(jié),然后是CRC高字節(jié);在RTU模式下每個(gè)字節(jié)傳輸是從最低位到最高位(即LSB-MSB)連續(xù)傳輸。地址表參照普樂特標(biāo)準(zhǔn)地址表來描述地址表含義。命令字普樂特地址表主要涉及到協(xié)議中的03和06命令幀。03查詢幀查詢幀主要用來查詢讀取一個(gè)或者連續(xù)多個(gè)指定寄存器的值。舉例如下:查詢幀:010300000002c40b01從機(jī)(從站)地址03功能碼00起

13、始寄存器高位00起始寄存器低位00寄存器個(gè)數(shù)高位02寄存器個(gè)數(shù)低位C4CRC校驗(yàn)低位0bCRC校驗(yàn)高位該條查詢指令意義:讀取地址為1的從站數(shù)據(jù),所查詢數(shù)據(jù)從寄存器0000H開始,查詢2個(gè)寄存器的值,也即查詢地址為0000H和0001H兩個(gè)寄存器的值。響應(yīng)幀:01030400060005da3101從機(jī)(從站)地址03功能碼04字節(jié)總個(gè)數(shù)00數(shù)值(0000H)高位06數(shù)值(0000H)低位00數(shù)值(0001H)高位05數(shù)值(0001H)低位daCRC校驗(yàn)低位31CRC校驗(yàn)高位該條查詢指令意義:從站響應(yīng)查詢幀,一共返回4個(gè)字節(jié)的查詢結(jié)果(地址表中一個(gè)寄存器2個(gè)字節(jié),所以查詢兩個(gè)寄存器就會(huì)返回4個(gè)字節(jié)),其中0000H寄存器的值為0006H,0001H寄存器的值為0005H。06命令幀06命令幀主要用來寫一個(gè)單個(gè)寄存器,也即給從站發(fā)送控制指令或者改變從站地址表的某些數(shù)值。主機(jī)命令字:110600010

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論