在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深入理解串口通信以及232,485,422的常見問題

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 21:19 ? 次閱讀

下面先講一講串口通信的一些基本概念,術語。如果對串口通信比較熟悉的,就當復習復習,如果哪里講錯或不到位,也可以及時指出,當作一塊交流交流。

常見的串口通信一般是指異步串行通信。這里就要說一下同步和異步的區別了。

在此之前,還是先講一下串行通信的概念。那么,與串行通信相對的是什么呢?

與串行通信相對的是并行通信。數據傳輸一般都是以字節傳輸的,一個字節 8 個位。拿一個并行通信舉例來說,也就是會有 8 根線,每一根線代表一個位。一次傳輸就可以傳一個字節,而串口通信,就是傳數據只有一根線傳輸,一次只能傳一個位,要傳一個字節就需要傳 8 次。就像小虎隊那首歌一樣,把你的心,我的心,串一串,再烤一烤。。串口通信就是把數據串在一根線上傳輸,所以就叫串口吧。

與異步通信相對的就是同步通信了。同步通信一般是指有一個時鐘信號進行數據信號同步。同步通信對接收方來說就相對簡單一些。因為有時鐘信號在,每一個高低電平變化一下,就去取一下數據就行了。通信速率可以由發送方或者說是主站設備進行控制。通信速度也相對比串口通信快很多。但是為什么很多設備,屏和 plc控制器不采用這種方式,都使用串口呢。

那么,在很多設備上,不方便接太多線,比如接 8 根數據線,也不方便接同步時鐘信號(這個后面再說),于是一種異步串行通信就誕生了。

相對來說,異步串口通信,就只需要一根線就可以發送數據了。在對速率要求不高的情況,使用一根線發送數據是帶來大大的方便和實用價值的。

那么問題來了,怎么樣才能保證一根線就能發送正常的數據呢?也就說發送方發送的數據,接收方是怎么知道是什么數據呢?

為了能正常發送數據和接收正確的數據,那異步串口通信就需要滿足以下幾個條件:

也就是雙方必要約定一種暗號。

也許當時發送這個通信的小組是這樣討論的。

經理:我要用一根線就能傳輸數據,你來給我定個標準。

研發:好。

經理:只有一根線,我怎么知道數據什么時候開始呢。

研發:就一根線,默認是高電平,那就有一個起始位吧。當檢測到有低電平的時候,就是開始有一個字節的數據發送了,起始位之后,先是字節的最低位,傳送一個字節。

經理:可是,就一根線,過來的數據會不會有干擾,容易出錯呀。

研發:行呀,那就在字節數據后再加一個校驗位??梢宰髌嫘r?,偶校驗,1 校驗,0 校驗,無校驗。

經理:嗯,很不錯。有起始位就應該有停止位,那我們就再加個停止位在后面吧。

研發:。。。。。。。。。

經理:傳輸一串數據,對方要怎么知道數據的拆分呢,怎么按時間或頻率去解讀數據位,校驗位呢。研發:這樣吧,雙方約定一個波特率吧,定義一個每個位占用多長的時間,這樣雙方按這個波特率就可以處理了。

經理:這個比特率呀。。。

研發:老板,是波特率。

經理:我知道,是比特率嘛。

研發:這個波特率呢,是指 1S 鐘可以傳輸多個位,也就知道一個位占用多長時間。這樣就解決傳輸的問題了。

經理:那萬一傳輸過程,數據太快,判斷失誤停不下來怎么辦。

研發:那就把停止位可以調節為 1 個停止位或者 2 個停止位。這樣就可以停下來了。

經理:嗯,聽著不錯。就這樣辦吧。

于是,串口通信就這樣出來了。

在串口的通信參數上,就有了波特率,數據位,停止位,校驗位這幾個參數來確保串口通信的正確性和穩定性。當然,這只是某個方面保證串口通信的正確性和穩定性,不代表設備間通信的正確性和穩定性。

串口通信主要為分 232,485,422 通信三種方式。

這三種有什么區別呢。

232:

232 通信主要是由 RX,TX,GND 三根線組成。

RX 與 TX,TX 接 RX,GND 接 GND。這樣還是比較好理解吧。因為發送和接收分別是由不同的線處理的,也就是能同時發送數據和接收數據,這就是所謂的全雙工。

在這里擴展一下,串口通信還有一個功能叫做全功能串口通信,也叫標準串口。因為在兩個設備間進行數據傳輸,有些設備處理速度比較快,有些數據比較慢。為了保證數據能正常傳輸,在 RX,TX 的基礎上,還增加了幾個控制引腳,本來好端端就 R,T,G,三根線,湊著就湊齊了 9 個引腳,召喚出了 DB9 這個東西。

這要怪就怪當時使用電腦的時候,還沒有互聯網這個概念,但是又想在兩臺電腦間進行通信。所以才有這樣一個東西。

在后來的設備,很多控制器,人機界面,PLC 等使用串口通信中,基本上就不使用標準串口,而是就直接使用 RX,TX,GND 三根線來通信了。

但是這里為什么要提到這個呢。因為只是很多設備這樣用,也就是還存在少數設備還保留了標準串口的功能。這就是為什么會遇到明明電腦通信是好的,換成觸摸屏通信就不行了。因為很多觸摸屏只使用了 RX,TX,GND 通信,遇到一些還保留標準串口功能的就比較討厭了。

485:

485 是為了解決 232 通信距離的問題。原理什么之類的就不多講了。反正 232 通信距離就是不長。485 主要是以一種差分信號進行傳輸,只需要兩根線,+,- 兩根線,或者也叫 A,B 兩根線。A,B 兩根線的差分電平信號就是作為數據信號傳輸。那么問題來了,那是不是就沒有 RX 和 TX 的概念了。是的,發送和接收就不能分開了。發送和接收都是靠這兩根的來傳輸,也就是每次只能作發送或者只能作接收,這就是半雙工的概念了,這在效率上就比 232 弱很多了。就像對講機一樣,經常是某個人講完之后,都要說一個 over,確保當前說完了,等待對方回復。

485 就是這樣犧牲了 232 全雙工的效率來達到自己傳輸距離遠的代價。那有沒有即保留了 232 的全雙工,又可以像 485 這樣提高傳輸距離呢,于是,422 出來了。

422:

422 呢,有些標注為 485-4。而 485 就標注為 485-2。有什么區別呢。就是為了好記呢。485-2 就是 2 根線。485-4 就是 4 根線

422 就是把 232 的 RX 分成兩根線,RX+,RX-,把 TX 分成 TX+,TX-。這樣就可以同時發送和同時接收了,還可以像 485 這樣,有較遠的傳輸距離。可是這樣一種很有優勢的通信方式,為什么用的不多呢。我個人的答案和理解就是:線太多了。特別是像我這樣懶得接線的人,超過 3 根線就頭暈的。搞個通信還需要接這么多線,什么 TX,RX,正啊負啊。交換來交換去。

因為在很多設備通信中,基本上是屬于一問一答式的,因此,232 的全雙工通信優勢其實也并沒有發揮出來。就像現在打電話,雖然兩個人可以同時說話,但是兩個人同時說話,嘰嘰歪歪的,誰知道說什么呀。特別是一個主站與多個從站通信的時候,485 的接線就就方便多了,反正大家就兩根線,把+都接一塊,把 - 都接一塊。如果是 422 作一主多從,接線上還要理半天呢,而且通信異常了也不好解決。

好了,串口通信基本就普及到這里吧。下面就對剛上提到的問題進行講一講!

1、電腦使用 USB 轉串口可以和設備通信上,換成屏與設備就通信不上了:

①有可能電腦 USB 轉串口接到設備上,使用的是標準串口功能,也就是除了 RX,TX,GDN 外,還使用了其它引腳。比如像歐姆龍 PLC,三菱 PLC,在實際與屏的通信中,就需要接某些引腳短接的情況。

②電腦與控制器或 PLC 通信時,是掃描波特率參數,自適應的,屏通信可能參數沒有設備好。在三菱,基恩士等 PLC,就存在變化波特率進行通信交互的過程。

③也有可能是接線方式不對。因為有些 DB9,還需要公頭,母頭。如果不注意的話,也會存在把 TX 接到 TX 上,把 RX 接到 RX 上,這樣需要注意的地方。

④ 在這里補充一下,有時候可能會使用一些串口助手發送測試數據與控制器通信,有些串口助手的奇偶校驗是不起作用,這個要提醒一下。

2、在 A 家的屏可以和設備通信,換成 B 家的屏就通信不上了:

① 首先確認一下接線是否正確了,RX 和 TX 是否兼容。

② 地線是否沒有接。

③除了 RX,TX,GND,是否還有其它引腳需要短接的。

④通信協議是否一致或不完善,波特率是否一樣。

3、以前不接地線可以通信,換個設備為什么需要接地線了:

這個問題和上一個有類似的。因為有些設備使用了隔離電源。以前不接地可以通信,有可能是地線已經在另外一個環路已經共地了,實際地線已經接了,所以才可以通信??赡軗Q了個帶隔離電源的,兩個設備的地是隔離的,就需要在串口上把地線接起來。這個我是自身經歷過的,有個客戶老說他的設備通信不上,后來拍個照我給我,他地線沒有接,他說以前不接地線可以通信的。于是我就給他科普了一下。

4、一個設備是 232,另一個設備是 422,沒有轉換設備,怎么辦(232 與 422 互轉的簡單方法);

這個情況我遇到過,客戶的設備是 422 通信的,但是我手上并沒有 422 設備,只有 232 通信可以測試。因此就需要把 422 轉成 232 進行通信。

剛才也講了 422 和 232 的接線,因為這兩個都是全雙工的,接收和發送都是分到的,而 422 只是以一種差分信號進行傳輸。

把 422 的 Rx+與 232 的 TX 接,422 的 RX- 與 232 的 GND 接。

把 422 的 TX+與 232 的 RX 接,422 的 TX- 與 232 的 GDN 接。

這樣,422 設備要發送數據的,就可以發送到了 232 的 RX 上。232 的 TX 發數據后,由于 TX 和 GND 也形成了差分信號給 422,422 就可以接收到數據了。

5、用 232 通信沒問題,用 485 通信沒問題,使用 232 轉 485 之后就通信不穩定。

232 和 485 從通信原理上,最大一個差別是全雙工和半雙工的區別??墒菓脤影l送數據和接收數據才不管底下是全雙工還是半雙工。

但是 485 就得管了。因為既然是半雙工,就得嚴格保證通路上只能有發送或只能有接收的數據,一旦同時有發送和接收,數據就會沖突了。所以解決的辦法就是主站設備,也就是主動命令的一方就需要嚴格控制好發送數據命令的節奏了。當然有些 232 轉 485 的設備做的比較好了,可以優化這個,但是主站還是要控制,比較把通信速率調節慢一些(不是調節波特率)。

6、485 單獨接每個設備都通信正常,多個從站接一塊通信就不穩定。

7、要想實現兩個屏或兩個主站通過 485 訪問 modbus 設備,有什么好的辦法。

在 485 通信中,基本上是一主多從。但是遇到一些客戶實際使用中,有客戶想用兩個屏來訪問一個 modbus 設備的。目前暫時還沒有好的辦法。等這個功能出來后,再來給大家演示操作吧。

8、針對串口通信的弱點,在使用上應該要注意哪些地方。

說來串口通信的弱點,那就說來話長了。不過還是長話短說吧。

①信號干擾的問題。建議使用帶屏蔽線,接線要嚴格,比如要接地。有些 485 通信上,還考慮接上終端電阻來匹配。如果是 232,盡量不要讓線太長。通信協議上盡量避免長報文的數據通信。

②波特率匹配的問題。因為有些設備的計算的波特率是存在誤差的,特別是一些控制器,由于使用的晶振不一樣。因此在一些波特率比如 9600 波特率就存在誤差。存在誤差帶來的影響是什么呢。因為接收方是通過時間來計算一個位的。那么如果一個報文過長,就會存在誤差積累的問題,算著算著就偏了。所以,這也是串口通信不穩定的一些地方,在使用上應注意避免發送太長數據的包。

③在一些可能會存在干擾的情況,在有的選的情況,可以考慮使用奇校驗或者偶校驗。因為雖說出現錯誤的可能性不大,但既然存在干擾,如果加了校驗,至少可以把錯誤的報文過濾掉??偤帽葲]有校驗然后通信數據錯了不知道。或者盡量使用一些帶校驗的協議,防止數據出錯。

④ 串口通信本來就比較慢,請降低對數據響應的要求。

因為串口通信本身就比以太網慢。而且,串口通信并不是能像 CPU 那樣多線程處理。因為就一個口一個線數據出去,即便你應用到程序再怎么用多線程處理數據,但是最底下也只有一個口出去,一次也只能傳一個位,一個字節過去。因為有客戶在使用 9600 的波特率通信,但是又希望多少的數據可以在多少毫秒內得到響應。

但是串口通信還是要事實求是,所以正確認識串口通信對應用,對開發,對溝通都有著很大的幫助的。

好了。關于串口通信方面,就暫時聊到這里了。

為什么不用同步通信呢???

剛才提到,同步通信需要依賴于時鐘信號。這就存在一個問題,這個時鐘信號是誰來發起呢。在同步通信中,往往需要一個主設備發起時鐘信號讀從模塊的數據。在實際中,有屏讀 PLC,有屏讀屏的數據。而單純地從異步串口通信來說,是沒有主從之說,雙方都是平等的角色,都可以互發信息,互收信息。而同步通信一般是應用于 CPU 讀一些模塊,由 CPU 發起時鐘信號,比如讀 SD 卡模塊,就可以通過 SPI 方式,還有一些傳感器模塊。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 串口通信
    +關注

    關注

    34

    文章

    1627

    瀏覽量

    55733
收藏 人收藏

    評論

    相關推薦

    搞懂TTL、RS232、485通信協議!

    本文介紹了TTL、RS232和RS485這三種常見通信協議的傳輸距離、應用場景以及影響通信距離
    的頭像 發表于 01-16 10:59 ?938次閱讀
    搞懂TTL、RS<b class='flag-5'>232</b>、<b class='flag-5'>485</b><b class='flag-5'>通信</b>協議!

    常見串口通信協議 如何設置串口參數

    串口通信是一種常見通信方式,廣泛應用于計算機、嵌入式系統和各種電子設備之間。串口通信協議主要是
    的頭像 發表于 12-27 09:51 ?725次閱讀

    深入理解C語言:循環語句的應用與優化技巧

    能讓你的代碼更加簡潔明了,還能顯著提升程序執行效率。本文將詳細介紹C語言中的三種常見循環結構——while循環、for循環和do...while循環,帶你深入理解
    的頭像 發表于 12-07 01:11 ?251次閱讀
    <b class='flag-5'>深入理解</b>C語言:循環語句的應用與優化技巧

    串口通信的硬件接口要求 串口通信與網絡通信的比較

    重要角色。 串口通信的硬件接口要求 1. 接口類型 串口通信通常使用RS-232、RS-422
    的頭像 發表于 11-22 09:14 ?700次閱讀

    串口通信常見問題及解決方案

    串口通信常見問題及解決方案 1. 串口通信原理簡述 串口通信
    的頭像 發表于 11-22 09:06 ?2316次閱讀

    RS232串口通信中常見問題及解決辦法

    RS232串口通信中常見問題及解決辦法主要包括以下幾個方面: 一、物理連接問題 問題 :串口線未插穩或接口松動。 解決辦法 :重新插拔串口
    的頭像 發表于 11-21 09:32 ?2041次閱讀

    串口屏如何與主控制器進行通信?

    一、串口通信基礎 串口通信是一種通過串行數據傳輸的方式進行通信的方法。在串口
    的頭像 發表于 11-20 09:32 ?300次閱讀
    <b class='flag-5'>串口</b>屏如何與主控制器進行<b class='flag-5'>通信</b>?

    RS-232常見問題解答

    電子發燒友網站提供《RS-232常見問題解答.pdf》資料免費下載
    發表于 09-24 10:55 ?0次下載
    RS-<b class='flag-5'>232</b><b class='flag-5'>常見問題</b>解答

    深入理解FPD-link III ADAS解串器HUB產品

    電子發燒友網站提供《深入理解FPD-link III ADAS解串器HUB產品.pdf》資料免費下載
    發表于 09-06 09:58 ?1次下載
    <b class='flag-5'>深入理解</b>FPD-link III ADAS解串器HUB產品

    RS232、RS422、RS485怎么選?串口通信標準的深度剖析!

    RS232、RS422、RS485三種串口通訊規范各有千秋,適用于不同的應用場景。RS232適宜短路線、低速簡單地通訊,RS
    的頭像 發表于 09-02 11:51 ?4203次閱讀
    RS<b class='flag-5'>232</b>、RS<b class='flag-5'>422</b>、RS<b class='flag-5'>485</b>怎么選?<b class='flag-5'>串口</b><b class='flag-5'>通信</b>標準的深度剖析!

    研訊小課堂:串行通信接口RS-232、RS-422、RS-485的解析與應用

    在工業控制系統和數據傳輸領域,串行通信接口是連接各類設備的關鍵橋梁。其中,RS-232、RS-422和RS-485是三種廣泛應用的標準。本文研華工控機代理商蘇州研訊電子科技有限公司將
    的頭像 發表于 07-25 10:20 ?635次閱讀
    研訊小課堂:串行<b class='flag-5'>通信</b>接口RS-<b class='flag-5'>232</b>、RS-<b class='flag-5'>422</b>、RS-<b class='flag-5'>485</b>的解析與應用

    題目:來深入了解RS232、RS485和DB9接口定義和區別

    RS232、RS485和DB9接口在電子通信中扮演著重要角色。RS232適用于短距離、點對點的通信需求,而RS
    的頭像 發表于 06-20 11:53 ?8312次閱讀
    題目:來<b class='flag-5'>深入</b>了解RS<b class='flag-5'>232</b>、RS<b class='flag-5'>485</b>和DB9接口定義和區別

    RS232、RS422和RS485接口的區別

    在串行通信領域,RS232、RS422和RS485是三種常見的接口標準。它們各自具有不同的特點和優勢,適用于不同的應用場景。本文將詳細探討這
    的頭像 發表于 05-29 16:32 ?5417次閱讀

    422232轉接器異常

    通信板卡中的單片機對外按通信協議正常輸出指令,正常對外采用422接口,因為需要接到上位機進行測試,因此板卡的422接口通過Ztek公司的422
    發表于 05-24 19:56

    RS232和RS485通信協議的主要區別及優缺點

    隨著信息技術的飛速發展,通信協議在電子設備間的數據傳輸中扮演著越來越重要的角色。RS232和RS485作為兩種常見的串行通信協議,被廣泛應用
    的頭像 發表于 05-24 15:41 ?6978次閱讀
    主站蜘蛛池模板: 美女扒开尿口给男人爽免费视频 | 国外免费精品视频在线观看 | 久久精品男人影院 | 亚洲国产福利 | 乱人伦精品一区二区 | 日本www在线观看 | 天天看天天做 | 久久夜色精品国产亚洲噜噜 | 日韩天天操 | 操操操干干 | 色婷婷成人网 | 精品亚洲欧美无人区乱码 | 中文天堂在线最新2022更新 | 四虎综合九九色九九综合色 | 99久久精品免费看国产免费 | 日本午夜影院 | 免费一级大毛片a一观看不卡 | 日韩免费观看的一级毛片 | 日韩成人毛片高清视频免费看 | 久久久噜噜噜久久网 | 日本高清视频网站www | 欧美视频不卡一区二区三区 | 亚洲乱码尤物193yw在线播放 | 国产三级自拍视频 | 深夜一级毛片 | 日本高清视频色www在线观看 | 免费看黄色网页 | 欧美一级一一特黄 | 成人精品久久 | 俺也来国产精品欧美在线观看 | 亚洲第一在线视频 | 欧美午夜色视频国产精品 | 国产婷婷综合在线精品尤物 | 日本黄色一级网站 | 手机福利在线 | 久操资源在线 | 伊人网站在线 | 成人激情站 | 美女写真mm爽爽爽 | 精品四虎免费观看国产高清午夜 | 又粗又硬又大久久久 |