那曲檬骨新材料有限公司

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

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

3天內不再提示

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

億佰特物聯網應用專家 ? 2023-06-21 17:45 ? 次閱讀

在之前的文章中小編介紹了什么是CAN總線,包括CAN總線的數據格式和通信特點等方面的內容,今天將分享串口通信相關知識內容。CAN總線、串口通信都屬于比較常見的有線傳輸方式。

前文指路《還不知道什么是CAN總線?一定要看這篇文章!》

有線傳輸方式

第二期:串口通信

什么是串口通信?

串口通信(Serial Communication),是指外設和計算機之間通過數據信號線、地線等按位進行傳輸數據的一種通信方式。

特點:數據位的傳輸按位順序執行,最少只需一根傳輸線即可完成;成本低但傳輸速度慢。串口通信的距離可以從幾米到幾千米。

串口通信的數據格式

一個完整的串口數據格式包括起始位、數據位、校驗位、停止位、波特率等幾個參數

5a2f52e8-1018-11ee-a579-dac502259ad0.png

起始位:起始位必須是持續一個bit時間的邏輯0電平,它標志傳輸一個字符的開始。接收端可通過起始位使自身時鐘與發送端的數據同步。

數據位:數據位在起始位的后面,是串口通信的有效信息。數據位的位數可以由通信雙方共同約定,通常為8個bit。傳輸數據時先傳輸字符的低位,后傳輸字符的高位。

奇偶校驗位:奇偶校驗位僅占一位,用于進行奇校驗或偶校驗。該位不是必須有的。如果是奇校驗,需要保證傳輸的數據總共有奇數個邏輯高位;如果是偶校驗,需要保證傳輸的數據總共有偶數個邏輯高位。

5a4365bc-1018-11ee-a579-dac502259ad0.png

停止位:停止位可以是1位、1.5位或2位。必須是邏輯1電平,它標志傳輸一個字符的結束。

空閑位:空閑位是指從一個字符的停止位結束到下一個字符的起始位開始,表示傳輸線路處于空閑狀態,串口空閑時處于高電平。

波特率:波特率是串口通信中最常用的重要參數。它指的是串口通信的速率,也就是串口通信時每秒鐘可以傳輸多少個二進制位。例如波特率為9600,則說明每秒鐘可以傳輸9600個二進制位,即傳輸一個二進制位需要的時間為1/9600秒。

電平標準

根據通訊使用的電平標準不同,串口通訊可分為TTL 標準及RS-232 標準,見下表。

5a568322-1018-11ee-a579-dac502259ad0.png

我們知道常見的電子電路中常使用TTL的電平標準,理想狀態下,使用5V表示二進制邏輯1,使用0V表示邏輯0;而RS232為了增加串口通訊的遠距離傳輸及抗干擾能力,它使用-15V 表示邏輯1,+15V 表示邏輯0。

因為控制器一般使用TTL電平標準,所以常常會使用MA3232芯片對TTL及RS-232電平的信號進行互相轉換。

主要的串口通信方式

先簡單了解下什么是單雙工通訊。

單工:數據傳輸只支持數據在一個方向上傳輸。

半雙工:允許數據在兩個方向上傳輸,但某一時刻只允許數據在一個方向上傳輸,實際上是一種切換方向的單工通信,不需要獨立的接收端和發送端,兩者可合并為一個端口。

全雙工:允許數據同時在兩個方向上傳輸,因此全雙工通信是兩個單工方式的結合,需要獨立的接收端和發送端。

5a7a6ce2-1018-11ee-a579-dac502259ad0.png

串口通信主要分為RS232、RS422、RS485三種通信方式。

RS232

RS-232是IBM-PC及其兼容機上的串行連接標準。全雙工通信,需要地線、發送線和接收線三條線。RS-232只限于PC串口和設備間點對點的通信,抗干擾能力較差,最遠通信距離是50英尺。RS-232可用于許多用途,比如連接鼠標、打印機、工業儀器儀表,也用于驅動和連線的改進,實際應用中RS-232的傳輸長度或者速度常常超過標準的值。

RS422

RS-422(EIA RS-422-A Standard)是Apple的Macintosh計算機的串口連接標準。采用全雙工通訊方式,有4根信號線,收與發是分開的,可以同時進行收和發。RS-422接口的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。

RS-422使用差分信號以及非平衡參考地的信號。差分傳輸使用兩根線發送和接收信號,對比RS-232,它能更好地抗噪聲和有更遠的傳輸距離,在工業環境中尤為適用。

RS485

RS-485采用半雙工通訊方式,支持多點數據通信。因為它增加了設備的個數,同時定義了在最大設備個數情況下的電氣特性,以保證足夠的信號電壓。RS-485具有出色抗噪和多設備能力,RS-485可用超過4000英尺的線進行串行通行。RS485采用平衡發送和差分接收,具有良好的抗干擾能力,信號能傳輸上千米。RS-422設備可以被RS-485控制。

串口通信問題排查

我們排查串口通信問題的方向基本為以下幾部分,如圖所示。

5a9910d4-1018-11ee-a579-dac502259ad0.png

1.檢查中間件

串口通信必然存在發送端和接收端,且兩者通過中間件(例如導線),遇到問題,首先應該保證導線連接正常。如果這一部分沒有確定,直接排查其他方向,很可能在做無用功。

2.排查硬件層

通過邏輯分析儀、示波器等儀器來判斷發送端、接收端在發送、接收、空閑時的引腳波形是否正常。串口空閑時為高電平,有數據時才會有電平變化。同時需要確定電壓是否正常。波形測量的位置先從最終點開始測量,然后依次排查中間部分的探測點,來判斷問題位置。

如果發現波形變形、失真、電壓不正常等情況,請讓硬件工程師協助進行排查。在其起始點可以看到波形,但是終點看不到,需要使用萬用表來確定是否引腳存在虛焊。

3.檢查串口驅動層

如果排查了硬件無問題以后,但是發送端串口沒有波形,這時候就需要檢查串口驅動是否配置成功了。可以先將發送端的Tx、Rx引腳短接,進行回環測試。最好先用一個簡單例程進行測試,盡量排除多個變量的影響。排查時需要特別注意的是,不能只看代碼邏輯,要注重實際調試,善于利用軟件調試窗口來觀察相關寄存器的值。

4.應用協議層

通過以上方向的排查,可以證明自發自收沒有問題。接下來就驗證雙方是否可以正常通信。應用協議層可能存在的問題有:

①發送端與接收端數據協議有問題,例如CRC、幀頭幀尾校驗、解析數據包等方面。

②發送端與接收端串口配置的參數:波特率、校驗位不一致,導致無法通信。

另外大家也需要注意下面這幾點:

①由于信號容易被干擾,建議使用帶屏蔽線,并且接線一定要嚴格,需要接地的最好接地。有些485通信,還需要考慮接上終端電阻來匹配。如果是RS232通信,盡量不要讓線太長。

②因為很多設備通過外部晶振或者內部時鐘計算的波特率都是存在誤差的。這樣的話一旦報文過長,會導致誤差累積,進而出現串口識別亂碼或者收不到的情況。

③在一些可能會存在干擾的地方,可以考慮使用奇校驗或者偶校驗,這樣可以將錯誤的報文過濾掉或者盡量使用一些數據校驗協議,防止數據出錯。

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

    關注

    18

    文章

    6070

    瀏覽量

    136424
  • 串口
    +關注

    關注

    14

    文章

    1557

    瀏覽量

    77039
收藏 人收藏

    評論

    相關推薦

    常見串口故障及解決方案 串口轉藍牙模塊使用技巧

    在現代電子設備和計算機系統中,串口通信是一種常見的數據傳輸方式。然而,串口通信可能會遇到各種故障,影響數據的傳輸效率和準確性。
    的頭像 發表于 12-27 10:08 ?525次閱讀

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

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

    串口通信原理解析 串口與并口的區別

    在計算機硬件和通信領域,串口(Serial Port)和并口(Parallel Port)是兩種常見的數據傳輸接口。它們在數據傳輸方式、速度、應用場景等方面有著明顯的區別。 串口
    的頭像 發表于 12-27 09:50 ?585次閱讀

    串口通信的開發環境配置

    串口通信的開發環境配置涉及多個方面,包括選擇編程語言、安裝必要的庫或驅動程序、配置串口參數等。以下是一個基于Python的串口通信開發環境配
    的頭像 發表于 11-22 09:21 ?358次閱讀

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發送數據以及接收數據。我們將使用 pyserial 庫,這是一個非常流行的用于串口
    的頭像 發表于 11-22 09:11 ?473次閱讀

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

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

    串口通信與并口通信的區別

    在計算機和電子設備的數據傳輸領域,串口通信(Serial Communication)和并口通信(Parallel Communication)是兩種基本的通信方式。它們各自有著獨特的
    的頭像 發表于 11-22 09:04 ?1024次閱讀

    串口通信協議解析 串口通信應用實例

    串口通信協議解析 串口通信協議是指規定了數據包的內容,內容包含了起始位、主體數據、校驗位及停止位,雙方需要約定一致的數據包格式才能正常收發數據的有關規范。以下是
    的頭像 發表于 11-21 17:03 ?710次閱讀

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

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

    為什么通信要使用虛擬串口串口助手?

    串口助手和虛擬串口是什么?串口助手和虛擬串口串口通信中很
    的頭像 發表于 11-15 01:04 ?1647次閱讀
    為什么<b class='flag-5'>通信</b>要使用虛擬<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以歸納為以下幾個方面:
    的頭像 發表于 06-12 09:28 ?853次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的基本概念

    什么是串口通信?它有哪些特點和應用?

    在現代電子通信和計算機領域中,串口通信(Serial Communications)扮演著至關重要的角色。它是一種按位(bit)發送和接收字節的通信方式,能夠實現數據的遠距離傳輸和高效
    的頭像 發表于 05-23 16:23 ?2782次閱讀

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

    有關常見串口通信的幾個問題請教論壇里的專家? 1、常見串口通信CAN,DP,PN,ETHER I
    發表于 04-04 16:30

    UART串口通信協議是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一種通信接口協議,用于實現串口通信。它是一種簡單的、可靠的、廣泛應用的串口
    的頭像 發表于 03-19 17:26 ?1546次閱讀

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

    在進行串口通信時,確實可能會遇到一些常見的錯誤和問題。
    的頭像 發表于 03-02 14:19 ?4247次閱讀
    中国足球竞彩网| 零点棋牌下载| 百家乐娱乐城介绍| 百家乐官网开户送彩金28| 大发888玩法技巧| 百家乐有送体验金| 百家乐官网透明发牌靴| 百家乐官网官方网址| 大发888下载34| 百家乐赌博详解| 天天百家乐官网的玩法技巧和规则 | 百家乐筹码套装100片| 百家乐麻关于博彩投注| 百家乐官网信息| 绍兴县| 99棋牌游戏| 百家乐免费改| 百家乐和局投注法| 黄金百家乐官网的玩法技巧和规则 | 大发888登陆| 百家乐EA平台| 淘金百家乐官网的玩法技巧和规则| 百家乐官网波音平台路单| 丰禾国际娱乐| 大发888娱乐场奖金| 百家乐机器出千| 百家乐赌博大揭密| 24山龙合向向合水秘诀| 迪威百家乐官网娱乐网| 百家乐官网游戏台| 汕头市| 大发888为什么打不开| 大赢家百家乐的玩法技巧和规则| 百家乐视频游戏聊天| 成都百家乐官网牌具| 百家乐官网二路珠无敌稳赢打法| 百家乐官网室系统软件| 禹州市| 云博投注| 顶级赌场371betcwm| 推二八杠技巧|