標(biāo)題: 串行數(shù)據(jù)電平標(biāo)準(zhǔn)(RS232\RS485\TTL) 對比與總結(jié) [打印本頁]

作者: xingjii    時間: 2020-2-29 00:52
標(biāo)題: 串行數(shù)據(jù)電平標(biāo)準(zhǔn)(RS232\RS485\TTL) 對比與總結(jié)
本文資料是對網(wǎng)絡(luò)上相關(guān)知識的小總結(jié)
      UART與RS232和RS485的關(guān)系問題
      通訊問題,和交通問題一樣,也有高速、低速、擁堵、中斷等等各種情況。如果把串口通訊比做交通,UART比作車站,那么一幀的數(shù)據(jù)就好比汽車。汽車跑在路上,要遵守交通規(guī)則。如果是市內(nèi),一般限速30、40,而高速公路則可以到120。而汽車走什么路,限速多少,就要看協(xié)議怎么規(guī)定了。常見的串口協(xié)議有RS-232、RS-422、RS-485等.
      RS232與RS485與TTL特點:


      電氣特征部分:


      RS-232
      1、        在RS-232-C中任何一條信號線的電壓均為負(fù)邏輯關(guān)系。
即:邏輯“1”為-3到-15V;邏輯“0”為+3到+15V。
      2、        RS-232-C接口連接器一般使用型號為DB-9插頭座,通常插頭在DCE端,插座在DTE端。PC機的RS-232口為9芯針插座。一些設(shè)備與PC機連接的RS-232接口,因為不使用對方的傳送控制信號,只需要三條接口線,即“發(fā)送數(shù)據(jù)TXD”、“接收數(shù)據(jù)RXD”和“信號地GND”。RS-232傳輸線采用屏蔽雙絞線。
      RS-485
      RS485采用差分信號負(fù)邏輯.
      邏輯"1"以兩線間的電壓差為-(2~6)V表示
      邏輯"0"以兩線間的電壓差為+(2~6)V表示。
      接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL電路連接。RS-485的數(shù)據(jù)最高傳輸速率為10Mbps。
      TTL
      TTL電平信號被利用的最多是因為通常數(shù)據(jù)表示采用二進(jìn)制規(guī)定,+5V等價于邏輯“1”,0V等價于邏輯“0”,
      這被稱做TTL(晶體管-晶體管邏輯電平Transistor-Transistor Logic)信號系統(tǒng),這是計算機處理器控制的設(shè)備內(nèi)部各部分之間通信的標(biāo)準(zhǔn)技術(shù)。


      波形分析部分:

      一、串行數(shù)據(jù)的格式
      異步串行數(shù)據(jù)的一般格式是:起始位+數(shù)據(jù)位+停止位,其中起始位1位,數(shù)據(jù)位可以是5、6、7、8位,停止位可以是1、1.5、2位。起始位是一個值為0的位,所以對于正邏輯的TTL電平,起始位是一位時間的低電平;停止位是值為1的位,所以對于正邏輯的TTL電平,停止位是高電平。線路路空閑或者數(shù)據(jù)傳輸結(jié)束,對于正邏輯的TTL電平,線路總是1(處于停止位)。對于負(fù)邏輯(如RS-232電平)則相反。
      例如,對于16進(jìn)制數(shù)據(jù)55aaH,當(dāng)采用8位數(shù)據(jù)位、1位停止位傳輸時,它在信號線上的波形如圖1(TTL電平)和圖2(RS-232電平)所示。 (先傳第一個字節(jié)55,再傳第二個字節(jié)aa,每個字節(jié)都是從低位向高位逐位傳輸)


圖1 TTL電平的串行數(shù)據(jù)幀格式(55aah)
圖2 RS-232電平的串行數(shù)據(jù)幀格式(55aah)


      二、根據(jù)波形圖計算波特率
      如圖3是圖1在示波器中的顯示示意,其中灰色線是示波器的時間分度線,此時假設(shè)是200us/格。
圖3 波特率計算示意圖


      可以看到,第一個字節(jié)的10位(1位起始位,8位數(shù)據(jù)位和1位停止位)共占約1.05ms,這樣可計算出其波特率約為:
                              10bit / 1.05ms X 1000 ≈ 9600 bit/s
      如果上圖中的時間軸是100us/格,同樣可以計算出波特率應(yīng)是19200bit/s。當(dāng)通訊不正常,又能觀察到波形時,就可根據(jù)上述方法,從波形圖計算一下波特率是否正確。


      三、根據(jù)波形圖判斷RS-485收發(fā)數(shù)據(jù)的正確與否
      RS-485是一種半雙工的串行通訊方式(RS-422為全雙工),485電平芯片所以要正確接收和發(fā)送數(shù)據(jù),必需保證控制信號和數(shù)據(jù)的同步,否則要么發(fā)送數(shù)據(jù)丟失,要么接收數(shù)據(jù)可能丟失。RS-485發(fā)送數(shù)據(jù)時的正確時序如圖4所示。
圖4 RS-485的正確發(fā)送數(shù)據(jù)時序
圖5 RS-485控制信號太短時的時序
圖6 RS-485控制信號太短時的時序


      在圖5中,由于控制信號關(guān)閉過早,則第二個字節(jié)的后兩位將發(fā)送錯誤;在圖6中,由于控制信號關(guān)閉過遲,使485芯片在發(fā)送數(shù)據(jù)后,不能及時轉(zhuǎn)到接收狀態(tài),此時總線若有數(shù)據(jù)過來,則本單元將不能正確接收。


      細(xì)節(jié)對比部分:


        RS232、RS485、TTL是指電平標(biāo)準(zhǔn)(電信號)
        TTL與RS232為全雙工通訊,RS485為半雙工通訊
        電平標(biāo)準(zhǔn)不同
      TTL電平標(biāo)準(zhǔn)是低電平為0,高電平為1(對地,標(biāo)準(zhǔn)數(shù)字電路邏輯)。
      RS232電平標(biāo)準(zhǔn)是正電平為0,負(fù)電平為1(對地,正負(fù)6-15V皆可,甚至可以用高阻態(tài))。
      RS485與RS232類似,都是負(fù)邏輯,但是采用差分信號邏輯
        傳輸方式不同
      RS-232采取不平衡傳輸方式,即所謂單端通訊
      RS485則采用平衡傳輸,即差分傳輸方式(使用兩根線的電壓差表示數(shù)據(jù))
        傳輸距離不同。
      RS-232適合本地設(shè)備之間的通信,傳輸距離一般不超過20m。
      RS-485的傳輸距離為幾十米到上千米。
        傳輸速度不同。
      RS232傳輸速率較低,最高波特率為19200bps。
      RS485的數(shù)據(jù)最高傳輸速率為10Mbps。
        實用性不同
      RS-232 接口電路只允許一對一通信,信號電平較高,容易損壞接口電路的芯片;與TTL電路的電平也不兼容,影響其通用性;使用三線。
      RS-485 接口接口電平低,不易損壞器件,且該平與 TTL 電平兼容,可方便與TTL 電平兼容;RS-485接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好;RS-485 接口在總線上是允許連接多達(dá)128個收發(fā)器。使用兩線




作者: xiao1934    時間: 2020-3-4 14:19
我的理解是  不管TTL RS232  或者是RS485   他們本身只是一種電平標(biāo)準(zhǔn),和通信協(xié)議是完全不想管的,這個就和汽車跟電動車一樣,他們本身都是代步工具,但是他們的驅(qū)動方式完全不一樣,
現(xiàn)在在工業(yè)上也形成了一種標(biāo)準(zhǔn),看到rs232(接口或者芯片)馬上就知道這是一種串口通信協(xié)議,實際上串行通信協(xié)議由非常多(注意這里我用的是串行通信不是串口通信),
串口通信協(xié)議用3.3V也可以進(jìn)行通信,用5V也可以通信,如果你的產(chǎn)品只是自身通信隨便你用什么通信協(xié)議都可以,如果你的產(chǎn)品客戶買回去還有進(jìn)行二次開發(fā)那么最好是用標(biāo)準(zhǔn)的通信接口




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1