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

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

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

3天內不再提示

串口問題常見的問題有哪些

jf_78858299 ? 來源:jf_78858299 ? 作者:jf_78858299 ? 2023-04-23 17:20 ? 次閱讀

什么是串口通信

串口通信,就是傳數據只有一根線傳輸,一次只能傳一個位,要傳一個字節就需要傳8次。串口通信就是把數據串在一根線上傳輸,所以就叫串口吧。

在對速率要求不高的情況,使用一根線發送數據是帶來大大的方便和實用價值的。

為了能正常發送和接收正確的數據,那異步串口通信就需要如下圖的格式。

圖片

在串口的通信參數上,就有了波特率、起始位、數據位、校驗位、停止位這幾個參數。

串口通信主要為分232,485,422三種通信方式,這三種有什么區別呢?

232

圖片

232通信主要是由RX、TX、GND三根線組成。STM32串口通信相關實例:[按下按鍵,通過串口發送數據實例]。

RX接TX,TX接RX,GND接GND。這里發送和接收分別是由不同的線處理的,也就是能同時發送數據和接收數據,這就是所謂的全雙工通信。

在這里擴展一下,串口通信還有一個功能叫做全功能串口通信,也叫標準串口。因為在兩個設備間進行數據傳輸,有些設備處理速度比較快,有些數據比較慢。為了保證數據能正常傳輸,在RX、TX的基礎上,還增加了幾個控制引腳,最后成了9個引腳,也就是常見的DB9這個東西,如下圖所示。

圖片

但是,如今很多控制器、人機界面、PLC等使用串口通信中一般不使用標準串口,而是直接使用RX、TX、GND三根線來通信的。

485

485的出現,是為了解決232通信距離受限的問題。

485通信只需要+、-兩根線,或者也叫A、B兩根線。A,B兩根線的差分電平信號就是作為數據信號傳輸。由于發送與接收都是用這兩根線,也就是說每次只能用作發送或者只能用作接收。所以,485是半雙工通信。

圖片

485就是這樣犧牲了232全雙工的效率來達到自己傳輸距離遠的代價。

422

422的出現,是為了既實現232的全雙工通信方式,又能像485這樣提高傳輸距離。422也常被標注為485-4,而485被標注為485-2。因為485-2是2根線,485-4是4根線,下圖是422的示意圖。

圖片

422就是把232的RX分成兩根線,RX+,RX-,把TX分成TX+,TX-。這樣就可以同時發送和同時接收了,還可以像485這樣,有較遠的傳輸距離。可是這樣一種很有優勢的通信方式,卻用的不多,最常用到的是232跟485。

串口通信常見問題

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

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

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

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

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

這A家的屏可以和設備通信,換成B家的屏就通信不上了

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

2) 地線是否沒有接。

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

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

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

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

一個設備是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就可以接收到數據了。

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

232和485從通信原理上,最大一個差別是全雙工和半雙工的區別。可是應用層發送數據和接收數據才不管底下是全雙工還是半雙工。

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

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

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

串口通信的弱點

1)信號干擾的問題

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

2)波特率匹配的問題

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

3)在一些可能會存在干擾的情況,可以考慮使用奇校驗或者偶校驗

因為雖說出現錯誤的可能性不大,但既然存在干擾,如果加了校驗,至少可以把錯誤的報文過濾掉。總好比沒有校驗然后通信數據錯了不知道。或者盡量使用一些帶校驗的協議,防止數據出錯。

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

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

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

為什么不用同步通信

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

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

    關注

    112

    文章

    16203

    瀏覽量

    177411
  • STM32
    +關注

    關注

    2266

    文章

    10871

    瀏覽量

    354806
  • 串口通信
    +關注

    關注

    34

    文章

    1620

    瀏覽量

    55425
  • GND
    GND
    +關注

    關注

    2

    文章

    529

    瀏覽量

    38656
收藏 人收藏

    評論

    相關推薦

    常見串口通信的幾個問題請教?

    有關常見串口通信的幾個問題請教論壇里的專家? 1、常見串口通信CAN,DP,PN,ETHER IP/TCP,ETHERCAT等,這些串口協議
    發表于 04-04 16:30

    STM32G030J6芯片串口下載程序常見問題哪些?

    STM32G030J6芯片串口下載程序常見問題哪些?
    發表于 11-26 07:25

    STM32串口通訊常見的問題哪些?如何解決?

    STM32串口通訊常見的問題哪些?如何解決?
    發表于 12-06 06:44

    UART串口通訊硬件常見的注意事項哪些

    串口通訊的數據格式是怎樣的?串口通訊硬件常見的注意事項哪些?
    發表于 12-06 07:28

    常見通信協議哪些?

    常見通信協議哪些?串口電平的標準是什么?
    發表于 01-20 07:28

    常見串口哪些

    一、常見串口? 常見串口UART口(Universal Asynchronous Receiver Transmitter:通用異步收發
    發表于 02-17 07:04

    STM32中串口的一些常見問題哪些?

    STM32中串口的一些常見問題哪些?
    發表于 02-18 08:00

    在移植STM32的USB轉串口驅動到SylixOS時常見的問題哪些?怎么解決?

    在移植STM32的USB轉串口驅動到SylixOS時常見的問題哪些?怎么解決?
    發表于 02-21 07:37

    常見串行通信接口哪些?

    常見串行通信接口哪些?串口配置的一般步驟是怎樣的?
    發表于 02-28 07:27

    stm32_常見串口串口通信分類、UART編程套路以及注意事項

    一、常見串口? 常見串口UART口(Universal Asynchronous Receiver Transmitter:通用異步收發
    發表于 12-20 19:26 ?2次下載
    stm32_<b class='flag-5'>常見</b><b class='flag-5'>串口</b>、<b class='flag-5'>串口</b>通信分類、UART編程套路以及注意事項

    串口通信是什么,常見的問題以及解決方法

    (Universal Synchronous/Asynchronous Receiver/Transmitter)——通用同/異步串行接收/發送器。其中最常見串口通信的時序如下圖:
    的頭像 發表于 11-18 10:19 ?3245次閱讀

    【分享】什么是串口通信?串口常見通信問題如何解決?

    在之前的文章中小編介紹了什么是CAN總線,包括CAN總線的數據格式和通信特點等方面的內容,今天將分享串口通信相關知識內容。CAN總線、串口通信都屬于比較常見的有線傳輸方式。前文指路《還不
    的頭像 發表于 06-21 17:45 ?2280次閱讀
    【分享】什么是<b class='flag-5'>串口</b>通信?<b class='flag-5'>串口</b><b class='flag-5'>常見</b>通信問題如何解決?

    STM32串口中斷及DMA接收常見的幾個問題

    STM32串口中斷及DMA接收常見的幾個問題
    的頭像 發表于 10-26 16:41 ?3417次閱讀
    STM32<b class='flag-5'>串口</b>中斷及DMA接收<b class='flag-5'>常見</b>的幾個問題

    串口通信常見的錯誤和故障排除方法

    在進行串口通信時,確實可能會遇到一些常見的錯誤和問題。
    的頭像 發表于 03-02 14:19 ?3863次閱讀

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

    串口通信常見問題及解決方案 1. 串口通信原理簡述 串口通信是一種異步通信方式,數據以位(bit)的形式按順序傳輸。在串口通信中,數據通常以
    的頭像 發表于 11-22 09:06 ?311次閱讀