天天看點

通信-RS232、RS485、RS422

目錄: 一、RS232、RS485與RS422 1、關于RS422與RS232、RS485 2、RS232、RS485與RS422的電平 3、傳輸方式 二、RS232和RS485的優缺點及針腳定義 1、RS232優缺點 2、RS485優缺點 3、DB9針腳定義 4、USB轉RS232 三、RS232轉RS485電路 1、電路圖 2、無源轉換原理 3、RS485接口保護電路 四、如何驗證序列槽好壞(利用軟體驗證序列槽的發送和接收) 五、USB轉序列槽(RS232)電路圖 1、PL2303連接配接電路 2、CH431連接配接電路 六、序列槽晶片SP3232EEN與SP232EEN的差別 1、兩者實物圖檔 2、檢測電路 3、檢測結果 4、MCU與裝置通訊(通過序列槽晶片或直連) 七、序列槽波特率實測 1、實驗方法 2、兩種波特率示波器實測 八、單片機序列槽的幾個小招數 1、可用函數發生器當序列槽發送器用 2、驗證序列槽要遠距離傳輸的可靠性和信号與傳輸媒介的适配性 3、用同步頭初始實作波特率自适應和判斷資料包起始 九、STM32單片機USART中RTS、CTS的作用與意義 1、USART的RTS、CTS介紹 2、STM32硬體流控配置 十、序列槽監控 1、軟體監控Serial Monitor 2、序列槽監控線的制作 附錄 1、關于波特率與位元組傳輸速率計算 2、更改電腦序列槽号 ---------------------------------------------------------------------------------------------------------------------- 一、RS232、RS485與RS422 1、關于RS422與RS232、RS485 EIA-422(過去稱為RS-422)是一系列的規定采用4線,全雙工,差分傳輸,多點通信的資料傳輸協定。它采用平衡傳輸采用單向/非可逆,有使能端或沒有使能端的傳輸線。和RS-485不同的是EIA-422不允許出現多個發送端而隻能有多個接受端。硬體構成上EIA-422 (RS-422)相當于兩組EIA-485(RS-485),即兩個半雙工的EIA-485(RS-485)構成一個全雙工的EIA-422(RS-422)。 RS-422是差模傳輸,抗幹擾能力強,能傳1200米,RS232最多傳輸15米。 ----------------------------------------------------------- 2、RS232、RS485與RS422的電平 1)RS232電平 邏輯1(MARK)=-3V~-15V 邏輯0(SPACE)=+3~+15V 介于-3~+3V之間的電壓無意義,低于-15V或高于+15V的電壓也認為無意義。 ------------------------------ 2)RS485、RS422電平 RS485電平 和RS422電平 由于兩者均采用 差分傳輸(平衡傳輸)的方式,是以他們的電平方式,一般有兩個引腳 A,B。 發送端 AB間的電壓差 +2V~+6v  邏輯1 -2V~-6v  邏輯0 接收端 AB間的電壓差 大于 +200mV   邏輯1 小于 -200mV   邏輯0 定義邏輯1為B>A的狀态 定義邏輯0為A>B的狀态 AB之間的電壓差不小于200mV ----------------------------------------------------------- 3、傳輸方式 RS232  可做到雙向傳輸,全雙工通訊   最高傳輸速率20Kbps RS422  隻能做到單向傳輸,半雙工通訊,最高傳輸速率10Mbps RS485  雙向傳輸,半雙工通訊,最高傳輸速率10Mbps RS232與RS485同為異步資料傳輸方式,都是用于數字信号的傳輸,僅僅是傳輸的方法不同。 以傳輸一個8位二進制數值“01001000”為例 1)由于RS232采用三線制傳輸分别為TXD\RXD\GND,其中TXD為發送信号,RXD為接收信号。 在RS232中任何一條信号線的電壓均為負邏輯關系。即:邏輯“1”,為信号線對GND電壓為-5~-15V;邏輯“0”,為信号線對GND電壓為 +5~+15V。理論上說,當要發送“01001000”這個資料時,在TXD信号線上應該測量到的波形為:

通信-RS232、RS485、RS422

之是以說是理論上,是因為在異步資料傳輸時,要增加起始位、校驗位、結束位。 ------------------------------ 2)RS422采用4線傳輸方式,差分傳輸,發送資料線為T+\T-,接收資料線為R+\R-。 在RS422總線中:資料“1”以兩線間的電壓差為+2V至+6V表示;資料“0”以兩線間的電壓差為-2至-6V表示。理論上說,當要發送“01001000”這個資料時,在T+/T-直接的內插補點在信号線上應該測量到的波形為:

通信-RS232、RS485、RS422

  也就是說,RS232的資料是TXD與GND之間的電壓代表資料,而RS422的資料時T+與T-之間的電壓代表資料。差分信号抗幹擾性強,是以RS422更加适合于遠距離傳輸。 RS485是RS422的半雙工版本,即T+/T-與R+/R-不同時存在,傳輸線隻為兩根,當發送信号時切換為T+/T-,當接收信号時,切換為R+\R-,至于傳輸的方式與RS422一緻。 ---------------------------------------------------------------------------------------------------------------------- 二、RS-232和RS-485的優缺點及針腳定義 電路中常用DB9形式連接配接,管腳定義為2(RXD)、3(TXD)、5(GND),記憶為2R+3T=5G(2G接收3G發送的值為5G)。是以習慣的把RS232接口叫做DB9。 市場上把公頭的接插件叫做DR**,母頭的叫DB**,比如我們電腦上的序列槽,在市場上叫做DR9,不是DB9,很多人都誤叫做DB9,實際上的DB9是把兩個DR9互相連接配接在一起的接口。一般在教材或者文章中,大家常常把所有的序列槽裝置接口都統一叫做RS232接口。 ------------------------------ 1、RS232優缺點 由于RS232接口标準出現較早,具有以下特點: 接口的信号電平值較高,易損壞接口電路的晶片,又因為與TTL電平不相容故需使用電平轉換電路方能與TTL電路連接配接。 傳輸速率較低,在異步傳輸時,波特率為20Kbps。  接口使用一根信号線和一根信号傳回線而構成共地的傳輸形式,容易産生共模幹擾,是以抗噪聲幹擾性弱。 傳輸距離有限,最大傳輸距離标準值為50英尺,實際上也隻能用在50米左右。  接收資料的發送資料分開,可以同時接收和發送資料,異步全雙工傳輸。 ----------------------------------------------------------- 2、RS485優缺點 針對RS232接口的不足,于是就不斷出現了一些新的接口标準,RS485就是其中之一,它具有以下特點: RS485的電氣特性:邏輯“1”以兩線間的電壓差為+(2-6) V表示;邏輯“0”以兩線間的電壓差為-(2-6)V表示。接口信号電平比RS232降低了,就不易損壞接口電路的晶片,且該電平與TTL電平相容,可友善與TTL 電路連接配接。 RS485的資料最高傳輸速率為10Mbps 。   RS485接口是采用平衡驅動器和差分接收器的組合,抗共模幹能力增強,即抗噪聲幹擾性好。 RS485接口的最大傳輸距離标準值為4000英尺,實際上可達3000米,另外RS232接口在總線上隻允許連接配接1個收發器,即單站能力。而RS485接口在總線上是允許連接配接多達128個收發器。即具有多站能力,這樣使用者可以利用單一的RS485接口友善地建立起裝置網絡。  RS485接口組成的異步半雙工網絡,一般隻需二根連線(叫AB線),不接地線,是以RS485接口均采用屏蔽雙絞線傳輸。 ----------------------------------------------------------- 3、DB9針腳定義

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

----------------------------------------------------------- 4、USB轉RS232(針腳定義如上)

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

---------------------------------------------------------------------------------------------------------------------- 三、RS232轉RS485電路 由于有的裝置是232接口的,有的是485接口的,如果有一台232接口的裝置與一台485接口的裝置通信,那就需要一個RS232/RS485轉換器,把232接口的裝置的232信号轉換成485信号,然後再與485接口的裝置通信。如是兩台232接口的裝置要進行遠距離的通信,那隻要加上兩個RS232/RS485轉換電路就可以了。 市場上所謂的“無源RS232/RS485轉換器”采用從計算機序列槽偷電技術,一般多用于負載少,通信距離短的485總線網絡。

通信-RS232、RS485、RS422

而“有源RS232/RS485轉換器”在電路原理圖與前者差不多,隻是電源部分有所改動而己。有源的轉換器互相間不共地,比無源的轉換器抗幹擾性能更好。說明如下。

通信-RS232、RS485、RS422

  ----------------------------------------------------------- 1、電路圖

通信-RS232、RS485、RS422

----------------------------------------------------------- 2、無源轉換原理 RS232/RS485轉換器主要包括了電源、232電平轉換、485電路三部分。本電路的232電平轉換電路采用了NIH232或者也可以直接使用MAX232內建電路,485電路采用了MAX485內建電路。為了使用友善,電源部分設計成無源方式,整個電路的供電直接從PC機的RS232接口中的DTR(4腳)和 RTS(7腳)竊取。PC序列槽每根線可以提供大約9mA的電流,是以兩根線提供的電流足夠供給這個電路使用了。經實驗,本電路隻使用其中一條線也能夠正常工作。使用本電路需注意PC程式必須使序列槽的DTR和RTS輸出高電平,經過D3穩壓後得到VCC,經過實際測試,VCC電壓大約在4.7V左右。是以,電路中要說D3起的作用是穩壓還不如說是限壓功能。 MAX485 是通過兩個引腳RE(2腳)和DE(3腳)來控制資料的輸入和輸出。當RE為低電平時,MAX485資料輸入有效;當DE為高電平時,MAX485資料輸出有效。在半雙工使用中,通常可以将這兩個腳直接相連,然後由PC或者單片機輸出的高低電平就可以讓MAX485在接收和發送狀态之間轉換了。由于本電路 DTR和RTS都用于了電路供電,是以使用TX線和HIN232的另外一個通道及Q1來控制MAX485的狀态切換。平時NIH232的9腳輸出高電平,經Q1倒相後,使MAX485的RE和DE為低電平而處于資料接收狀态。當PC機發送資料時,NIH232的9腳輸出低電平,經Q1倒相後,使 MAX485的RE和DE為高電平而處于資料發送狀态。 ----------------------------------------------------------- 3、RS485接口保護電路

通信-RS232、RS485、RS422

---------------------------------------------------------------------------------------------------------------------- 四、如何驗證序列槽好壞(利用軟體驗證序列槽的發送和接收) ---------------------------------------------------------------------------------------------------------------------- 五、USB轉序列槽(RS232)電路圖 1、PL2303連接配接電路

通信-RS232、RS485、RS422

-----------------------------------------------------------

2、CH431連接配接電路

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

---------------------------------------------------------------------------------------------------------------------- 六、序列槽晶片SP3232EEN與SP232EEN的差別 1、兩者實物圖檔

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

----------------------------------------------------------- 2、檢測電路

通信-RS232、RS485、RS422

----------------------------------------------------------- 3、檢測結果 SP3232EEN比SP232EEN通信波特率要高,SP3232EEN可以在115200及以上;SP232EEN在19200及以下。 ----------------------------------------------------------- 4、MCU與裝置通訊(通過序列槽晶片或直連)

MCU與DCE通訊可以有兩種方式,如下圖。

通信-RS232、RS485、RS422

  若MCU與DEC之間的電平不同,比如MCU 3.3V、DEC 1.8V,那麼就需要電平轉換,祥見“電平轉換與數字隔離”。這裡我們通過TXB0108RGYR晶片轉換,當然也可以是三極管組成的簡單電平比對電路,如下圖所示。

通信-RS232、RS485、RS422

---------------------------------------------------------------------------------------------------------------------- 七、序列槽波特率實測 1、實驗方法 将闆子上的序列槽初始化之後,循環發送資料 while(1) {     USART_SendData(USART1,0xAA); } 之後每測量一次改一次波特率。序列槽初始化的方法,可參考USART1 Init ----------------------------------------------------------- 2、兩種波特率示波器實測 1)9600

通信-RS232、RS485、RS422

------------------------------ 2)115200

通信-RS232、RS485、RS422

----------------------------------------------------------- 3、總結 波特率是脈沖頻率的二倍。一個波形一秒鐘發送的次數是多少,波特率就是多少。比如波特率是9600時候,測得的脈沖寬度是104.2us,波形頻率是4.8k,4.8k*2=9600bps。看完上面的圖,再看看理論知識:波特率,說的還真對。 ---------------------------------------------------------------------------------------------------------------------- 八、單片機序列槽的幾個小招數 1、可用函數發生器當序列槽發送器用

如果你要調試序列槽,隻有一塊闆,計算機又不在手邊,你可以用函數發生器器當序列槽發送器來用,如你的波特率是9600,那你把函數發生器頻率調到9600/2=4800HZ上輸出TTL電平直接到RXD上就行了,如果是RS232接口,你頻率不變就選函數發生器雙極性(交流輸出)就是了,注意電平有峰峰值12VPP就夠了,此時你的單片機收到資料必須是55H,你可以用MOV P1,SBUF,在P1上去測電壓,這樣沒顯示也可測試序列槽了.

理論依舊:55H 是01010101 序列槽起始位是0,先發55H最低位,于是一幀就是0(啟始)101010101(停止)................0(啟始)101010101(停止)......正好是1/2波特率的方波.

-----------------------------------------------------------

2、驗證序列槽要遠距離傳輸的可靠性和信号與傳輸媒介的适配性

你可以這樣來做:發送00H 0FFH 55H,如果這三個值都能正确接受,那網絡一定能可靠傳輸了,這就是以點代面的測試方法.

理由:00H 0FFH是最寬的脈沖和電平(代表能量)最大/最小的脈沖,用信号系統話說他們代表是直流,而55H是最窄脈沖,它代表是最高頻和能量中間值.既然最低的能過,最大也能過,最寬能過最窄也能過,大能量(抗幹擾強)低能量(代表抗幹擾弱)中能量也能過,你會相信中間的和不垃圾的過不了嗎!

-----------------------------------------------------------

3、用同步頭初始實作波特率自适應和判斷資料包起始

同步頭用誰?------7FH,且開始同步時連續發送!

看7FH的發送  0起始11111110---1停止

瞧011111110多對稱!當你收到兩個0中間夾了連續個1的資料後,隻要用連續1的時間除以0的持續時間=7,說明這就是同步頭了,且一個标準碼元持續時間就是碼元0的持續時間,其波特率=1/(0碼元持續時間)。 ---------------------------------------------------------------------------------------------------------------------- 九、STM32單片機USART中RTS、CTS的作用與意義 1、USART的RTS、CTS介紹 USART中RX和TX這兩個引腳的功能,這兩個引腳是USART串行通信最常見和必不可少的兩個引腳。但我們在手冊中會發現關于USART的其它引腳:USART_CK、USART_RTS、USART_CTS,如下圖:

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

-----------------------------------------------------------

2、STM32硬體流控配置

通信-RS232、RS485、RS422

----------------------------------------------------------------------------------------------------------------------

十、序列槽監控

1、軟體監控Serial Monitor

通信-RS232、RS485、RS422
通信-RS232、RS485、RS422

Serial Monitor軟體的下載下傳移步“download.csdn.net/download/liht1634/21044219”。

-----------------------------------------------------------

2、序列槽監控線的制作

通信-RS232、RS485、RS422

----------------------------------------------------------------------------------------------------------------------

附錄

1、關于波特率與位元組傳輸速率計算

以波特率115200 = 115200 (位/秒)為例說明:

沒有校驗位,就應該除以 10(起始位1、資料位8、停止位1),得到的是每秒位元組數:

波特率115200 = 115200 (位/秒) = 11520 (位元組/秒) 

再除以 1024,就是每秒 KB 數:波特率115200 = 115200 (位/秒) = 11.25 (KB/秒) 

有一位奇偶校驗位,就應該除以 11(起始位1、資料位8、停止位1、奇偶校驗位1),得到的是每秒位元組數。

波特率115200 = 115200 (位/秒) = 10.27 (KB/秒)

-----------------------------------------------------------

2、更改電腦序列槽号

通信-RS232、RS485、RS422

----------------------------------------------------------------------------------------------------------------------

繼續閱讀