精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

理解串口通信以及232、485、422常見問題

廣東微電科技有限公司 ? 2021-12-02 10:17 ? 次閱讀

?

什么是串口通信???

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

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

與串行通信相對(duì)的是并行通信。數(shù)據(jù)傳輸一般都是以字節(jié)傳輸?shù)模粋€(gè)字節(jié)8個(gè)位。拿一個(gè)并行通信舉例來說,也就是會(huì)有8根線,每一根線代表一個(gè)位。一次傳輸就可以傳一個(gè)字節(jié),而串口通信,就是傳數(shù)據(jù)只有一根線傳輸,一次只能傳一個(gè)位,要傳一個(gè)字節(jié)就需要傳8次。就像小虎隊(duì)那首歌一樣,把你的心,我的心,串一串,再烤一烤……串口通信就是把數(shù)據(jù)串在一根線上傳輸,所以就叫串口吧。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

與異步通信相對(duì)的就是同步通信了。同步通信一般是指有一個(gè)時(shí)鐘信號(hào)進(jìn)行數(shù)據(jù)信號(hào)同步。同步通信對(duì)接收方來說就相對(duì)簡(jiǎn)單一些。因?yàn)橛袝r(shí)鐘信號(hào)在,每一個(gè)高低電平變化一下,就去取一下數(shù)據(jù)就行了。通信速率可以由發(fā)送方或者說是主站設(shè)備進(jìn)行控制。通信速度也相對(duì)比串口通信快很多。但是為什么很多設(shè)備,屏和plc控制器不采用這種方式,都使用串口呢。

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

相對(duì)來說,異步串口通信,就只需要一根線就可以發(fā)送數(shù)據(jù)了。在對(duì)速率要求不高的情況,使用一根線發(fā)送數(shù)據(jù)是帶來大大的方便和實(shí)用價(jià)值的。

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

為了能正常發(fā)送數(shù)據(jù)和接收正確的數(shù)據(jù),那異步串口通信就需要滿足以下幾個(gè)條件:

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

也就是雙方必要約定一種暗號(hào)。

在串口的通信參數(shù)上,就有了波特率,數(shù)據(jù)位,停止位,校驗(yàn)位這幾個(gè)參數(shù)來確保串口通信的正確性和穩(wěn)定性。當(dāng)然,這只是某個(gè)方面保證串口通信的正確性和穩(wěn)定性,不代表設(shè)備間通信的正確性和穩(wěn)定性。

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

這三種有什么區(qū)別呢。

232:

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

RX與TX,TX接RX,GND接GND。這樣還是比較好理解吧。因?yàn)榘l(fā)送和接收分別是由不同的線處理的,也就是能同時(shí)發(fā)送數(shù)據(jù)和接收數(shù)據(jù),這就是所謂的全雙工。

在這里擴(kuò)展一下,串口通信還有一個(gè)功能叫做全功能串口通信,也叫標(biāo)準(zhǔn)串口。因?yàn)樵趦蓚€(gè)設(shè)備間進(jìn)行數(shù)據(jù)傳輸,有些設(shè)備處理速度比較快,有些數(shù)據(jù)比較慢。為了保證數(shù)據(jù)能正常傳輸,在RX,TX的基礎(chǔ)上,還增加了幾個(gè)控制引腳,本來好端端就R,T,G,三根線,湊著就湊齊了9個(gè)引腳,召喚出了DB9這個(gè)東西。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

這要怪就怪當(dāng)時(shí)使用電腦的時(shí)候,還沒有互聯(lián)網(wǎng)這個(gè)概念,但是又想在兩臺(tái)電腦間進(jìn)行通信。所以才有這樣一個(gè)東西。

在后來的設(shè)備,很多控制器,人機(jī)界面,PLC等使用串口通信中,基本上就不使用標(biāo)準(zhǔn)串口,而是就直接使用RX,TX,GND三根線來通信了。

但是這里為什么要提到這個(gè)呢。因?yàn)橹皇呛芏嘣O(shè)備這樣用,也就是還存在少數(shù)設(shè)備還保留了標(biāo)準(zhǔn)串口的功能。這就是為什么會(huì)遇到明明電腦通信是好的,換成觸摸屏通信就不行了。因?yàn)楹芏嘤|摸屏只使用了RX,TX,GND通信,遇到一些還保留標(biāo)準(zhǔn)串口功能的就比較討厭了。

485:

485是為了解決232通信距離的問題。原理什么之類的就不多講了。反正232通信距離就是不長(zhǎng)。485主要是以一種差分信號(hào)進(jìn)行傳輸,只需要兩根線,+,-兩根線,或者也叫A,B兩根線。A,B兩根線的差分電平信號(hào)就是作為數(shù)據(jù)信號(hào)傳輸。那么問題來了,那是不是就沒有RX和TX的概念了。

是的,發(fā)送和接收就不能分開了。發(fā)送和接收都是靠這兩根的來傳輸,也就是每次只能作發(fā)送或者只能作接收,這就是半雙工的概念了,這在效率上就比232弱很多了。就像對(duì)講機(jī)一樣,經(jīng)常是某個(gè)人講完之后,都要說一個(gè)over,確保當(dāng)前說完了,等待對(duì)方回復(fù)。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

422:

422呢,有些標(biāo)注為485-4。而485就標(biāo)注為485-2。有什么區(qū)別呢。就是為了好記呢。485-2就是2根線。485-4就是4根線。

圖片

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

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

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

好了,串口通信基本就普及到這里吧。下面就對(duì)一些常見的問題講一講!

1、電腦使用USB轉(zhuǎn)串口可以和設(shè)備通信上,換成屏與設(shè)備就通信不上了:

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

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

③也有可能是接線方式不對(duì)。因?yàn)橛行〥B9,還需要公頭,母頭。如果不注意的話,也會(huì)存在把TX接到TX上,把RX接到RX上,這樣需要注意的地方。

④ 在這里補(bǔ)充一下,有時(shí)候可能會(huì)使用一些串口助手發(fā)送測(cè)試數(shù)據(jù)與控制器通信,有些串口助手的奇偶校驗(yàn)是不起作用,這個(gè)要提醒一下。

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

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

② 地線是否沒有接。

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

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

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

這個(gè)問題和上一個(gè)有類似的。因?yàn)橛行┰O(shè)備使用了隔離電源。以前不接地可以通信,有可能是地線已經(jīng)在另外一個(gè)環(huán)路已經(jīng)共地了,實(shí)際地線已經(jīng)接了,所以才可以通信。可能換了個(gè)帶隔離電源的,兩個(gè)設(shè)備的地是隔離的,就需要在串口上把地線接起來。

這個(gè)我是自身經(jīng)歷過的,有個(gè)客戶老說他的設(shè)備通信不上,后來拍個(gè)照我給我,他地線沒有接,他說以前不接地線可以通信的。于是我就給他科普了一下。

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

這個(gè)情況我遇到過,客戶的設(shè)備是422通信的,但是我手上并沒有422設(shè)備,只有232通信可以測(cè)試。因此就需要把422轉(zhuǎn)成232進(jìn)行通信。

剛才也講了422和232的接線,因?yàn)檫@兩個(gè)都是全雙工的,接收和發(fā)送都是分到的,而422只是以一種差分信號(hào)進(jìn)行傳輸。

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

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

這樣,422設(shè)備要發(fā)送數(shù)據(jù)的,就可以發(fā)送到了232的RX上。232的TX發(fā)數(shù)據(jù)后,由于TX和GND也形成了差分信號(hào)給422,422就可以接收到數(shù)據(jù)了。

5、用232通信沒問題,用485通信沒問題,使用232轉(zhuǎn)485之后就通信不穩(wěn)定。

232和485從通信原理上,最大一個(gè)差別是全雙工和半雙工的區(qū)別。可是應(yīng)用層發(fā)送數(shù)據(jù)和接收數(shù)據(jù)才不管底下是全雙工還是半雙工。

但是485就得管了。因?yàn)榧热皇前腚p工,就得嚴(yán)格保證通路上只能有發(fā)送或只能有接收的數(shù)據(jù),一旦同時(shí)有發(fā)送和接收,數(shù)據(jù)就會(huì)沖突了。所以解決的辦法就是主站設(shè)備,也就是主動(dòng)命令的一方就需要嚴(yán)格控制好發(fā)送數(shù)據(jù)命令的節(jié)奏了。當(dāng)然有些232轉(zhuǎn)485的設(shè)備做的比較好了,可以優(yōu)化這個(gè),但是主站還是要控制,比較把通信速率調(diào)節(jié)慢一些(不是調(diào)節(jié)波特率)。

6、485單獨(dú)接每個(gè)設(shè)備都通信正常,多個(gè)從站接一塊通信就不穩(wěn)定。

7、要想實(shí)現(xiàn)兩個(gè)屏或兩個(gè)主站通過485訪問modbus設(shè)備,有什么好的辦法。

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

8、針對(duì)串口通信的弱點(diǎn),在使用上應(yīng)該要注意哪些地方?

說來串口通信的弱點(diǎn),那就說來話長(zhǎng)了。不過還是長(zhǎng)話短說吧。

①信號(hào)干擾的問題。建議使用帶屏蔽線,接線要嚴(yán)格,比如要接地。有些485通信上,還考慮接上終端電阻來匹配。如果是232,盡量不要讓線太長(zhǎng)。通信協(xié)議上盡量避免長(zhǎng)報(bào)文的數(shù)據(jù)通信。

②波特率匹配的問題。因?yàn)橛行┰O(shè)備的計(jì)算的波特率是存在誤差的,特別是一些控制器,由于使用的晶振不一樣。因此在一些波特率比如9600波特率就存在誤差。存在誤差帶來的影響是什么呢。因?yàn)榻邮辗绞峭ㄟ^時(shí)間來計(jì)算一個(gè)位的。那么如果一個(gè)報(bào)文過長(zhǎng),就會(huì)存在誤差積累的問題,算著算著就偏了。所以,這也是串口通信不穩(wěn)定的一些地方,在使用上應(yīng)注意避免發(fā)送太長(zhǎng)數(shù)據(jù)的包。

③在一些可能會(huì)存在干擾的情況,在有的選的情況,可以考慮使用奇校驗(yàn)或者偶校驗(yàn)。因?yàn)殡m說出現(xiàn)錯(cuò)誤的可能性不大,但既然存在干擾,如果加了校驗(yàn),至少可以把錯(cuò)誤的報(bào)文過濾掉。總好比沒有校驗(yàn)然后通信數(shù)據(jù)錯(cuò)了不知道。或者盡量使用一些帶校驗(yàn)的協(xié)議,防止數(shù)據(jù)出錯(cuò)。

④ 串口通信本來就比較慢,請(qǐng)降低對(duì)數(shù)據(jù)響應(yīng)的要求。

因?yàn)榇谕ㄐ疟旧砭捅?a target="_blank">以太網(wǎng)慢。而且,串口通信并不是能像CPU那樣多線程處理。因?yàn)榫鸵粋€(gè)口一個(gè)線數(shù)據(jù)出去,即便你應(yīng)用到程序再怎么用多線程處理數(shù)據(jù),但是最底下也只有一個(gè)口出去,一次也只能傳一個(gè)位,一個(gè)字節(jié)過去。因?yàn)橛锌蛻粼谑褂?600的波特率通信,但是又希望多少的數(shù)據(jù)可以在多少毫秒內(nèi)得到響應(yīng)。

但是,串口通信還是要事實(shí)求是,所以正確認(rèn)識(shí)串口通信對(duì)應(yīng)用,對(duì)開發(fā),對(duì)溝通都有著很大的幫助的。

為什么不用同步通信?

剛才提到,同步通信需要依賴于時(shí)鐘信號(hào)。這就存在一個(gè)問題,這個(gè)時(shí)鐘信號(hào)是誰(shuí)來發(fā)起呢?

在同步通信中,往往需要一個(gè)主設(shè)備發(fā)起時(shí)鐘信號(hào)讀從模塊的數(shù)據(jù)。在實(shí)際中,有屏讀PLC,有屏讀屏的數(shù)據(jù)。而單純地從異步串口通信來說,是沒有主從之說,雙方都是平等的角色,都可以互發(fā)信息,互收信息。而同步通信一般是應(yīng)用于CPU讀一些模塊,由CPU發(fā)起時(shí)鐘信號(hào),比如讀SD卡模塊,就可以通過SPI方式,還有一些傳感器模塊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    858

    瀏覽量

    40269
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    780

    瀏覽量

    98585
  • 電子羅盤
    +關(guān)注

    關(guān)注

    1

    文章

    123

    瀏覽量

    23300
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1620

    瀏覽量

    55426
  • 姿態(tài)解算
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    8244
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RS422/RS485收發(fā)器SC5122替代MAX3490廣泛用于通信領(lǐng)域

    RS422/RS485收發(fā)器SC5122替代MAX3490廣泛用于通信領(lǐng)域
    的頭像 發(fā)表于 11-26 10:10 ?63次閱讀
    RS<b class='flag-5'>422</b>/RS<b class='flag-5'>485</b>收發(fā)器SC5122替代MAX3490廣泛用于<b class='flag-5'>通信</b>領(lǐng)域

    串口通信的硬件接口要求 串口通信與網(wǎng)絡(luò)通信的比較

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

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

    串口通信常見問題及解決方案 1. 串口通信原理簡(jiǎn)述 串口通信
    的頭像 發(fā)表于 11-22 09:06 ?413次閱讀

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

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

    串口屏如何與主控制器進(jìn)行通信

    一、串口通信基礎(chǔ) 串口通信是一種通過串行數(shù)據(jù)傳輸?shù)姆绞竭M(jìn)行通信的方法。在串口
    的頭像 發(fā)表于 11-20 09:32 ?92次閱讀
    <b class='flag-5'>串口</b>屏如何與主控制器進(jìn)行<b class='flag-5'>通信</b>?

    RS-232常見問題解答

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

    RS232、RS422、RS485怎么選?串口通信標(biāo)準(zhǔn)的深度剖析!

    RS232、RS422、RS485三種串口通訊規(guī)范各有千秋,適用于不同的應(yīng)用場(chǎng)景。RS232適宜短路線、低速簡(jiǎn)單地通訊,RS
    的頭像 發(fā)表于 09-02 11:51 ?3067次閱讀
    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>標(biāo)準(zhǔn)的深度剖析!

    RS485/422-靜電防護(hù)方案

    方案簡(jiǎn)介 RS485和RS422是兩種關(guān)鍵的串行數(shù)據(jù)通信接口標(biāo)準(zhǔn)。RS-422定義了一種高效的平衡通信接口,其傳輸速率高達(dá)10Mbps,
    的頭像 發(fā)表于 08-02 15:29 ?407次閱讀
    RS<b class='flag-5'>485</b>/<b class='flag-5'>422</b>-靜電防護(hù)方案

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

    在工業(yè)控制系統(tǒng)和數(shù)據(jù)傳輸領(lǐng)域,串行通信接口是連接各類設(shè)備的關(guān)鍵橋梁。其中,RS-232、RS-422和RS-485是三種廣泛應(yīng)用的標(biāo)準(zhǔn)。本文研華工控機(jī)代理商蘇州研訊電子科技有限公司將深
    的頭像 發(fā)表于 07-25 10:20 ?494次閱讀
    研訊小課堂:串行<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>的解析與應(yīng)用

    RS232、RS422和RS485接口的區(qū)別

    在串行通信領(lǐng)域,RS232、RS422和RS485是三種常見的接口標(biāo)準(zhǔn)。它們各自具有不同的特點(diǎn)和優(yōu)勢(shì),適用于不同的應(yīng)用場(chǎng)景。本文將詳細(xì)探討這
    的頭像 發(fā)表于 05-29 16:32 ?4928次閱讀

    422轉(zhuǎn)232轉(zhuǎn)接器異常

    通信板卡中的單片機(jī)對(duì)外按通信協(xié)議正常輸出指令,正常對(duì)外采用422接口,因?yàn)樾枰拥缴衔粰C(jī)進(jìn)行測(cè)試,因此板卡的422接口通過Ztek公司的422
    發(fā)表于 05-24 19:56

    RS232和RS485通信協(xié)議的主要區(qū)別及優(yōu)缺點(diǎn)

    隨著信息技術(shù)的飛速發(fā)展,通信協(xié)議在電子設(shè)備間的數(shù)據(jù)傳輸中扮演著越來越重要的角色。RS232和RS485作為兩種常見的串行通信協(xié)議,被廣泛應(yīng)用
    的頭像 發(fā)表于 05-24 15:41 ?6250次閱讀

    串口通信232485422有何區(qū)別

    與串行通信相對(duì)的是什么呢?與串行通信相對(duì)的是并行通信。數(shù)據(jù)傳輸一般都是以字節(jié)傳輸?shù)模粋€(gè)字節(jié)8個(gè)位。
    發(fā)表于 01-23 09:26 ?4281次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b><b class='flag-5'>232</b>、<b class='flag-5'>485</b>、<b class='flag-5'>422</b>有何區(qū)別

    rs422和rs485的區(qū)別

    。 首先,RS422和RS485都是點(diǎn)對(duì)點(diǎn)通信協(xié)議,即只能在單個(gè)發(fā)送方和單個(gè)接收方之間進(jìn)行通信。它們通過將電壓差異傳輸?shù)綌?shù)據(jù)線上進(jìn)行通信。然
    的頭像 發(fā)表于 12-20 17:03 ?8504次閱讀

    RS232、RS485和CAN究竟能傳輸多遠(yuǎn)距離?

    RS-232/422/485和CAN總線是物聯(lián)網(wǎng)應(yīng)用中比較常見的通訊方式,可用于不同設(shè)備間進(jìn)行數(shù)據(jù)傳輸和通信。不同的通訊線具有不同的傳輸速率
    的頭像 發(fā)表于 12-15 08:20 ?2369次閱讀
    RS<b class='flag-5'>232</b>、RS<b class='flag-5'>485</b>和CAN究竟能傳輸多遠(yuǎn)距離?