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

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

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

以AN3485模塊介紹RS485的數(shù)據(jù)傳輸

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-09 10:13 ? 次閱讀

作者:ALINX

* 本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。

適用于板卡型號(hào):
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

實(shí)驗(yàn)Vivado工程為“rs485_test”。

本章以AN3485模塊介紹RS485的數(shù)據(jù)傳輸。

1.實(shí)驗(yàn)原理
前面介紹過(guò)RS232RS422的實(shí)驗(yàn),而RS485與RS422類(lèi)似,也是采用差分信號(hào)傳輸,但RS485是半雙工傳輸,也就是說(shuō),同一時(shí)刻只能有一個(gè)方向的數(shù)據(jù)傳輸。而且接口也比RS422少,只有差分信號(hào)A和B,而與ARMFPGA相連的信號(hào)為DE(方向選擇),DI(輸入信號(hào)TXD),RO(輸出信號(hào)RXD)。

pIYBAGAJdeiAAfXgAAAuc33EaA8071.png

從MAX3485文檔中,發(fā)送方向,如果DE為1時(shí),也就是輸出使能,DI值為1時(shí),對(duì)于差分信號(hào)A和B值為1和0,否則為0和1。

o4YBAGAJdiaAJ6gTAAAn8ZiI5T4777.png

從接收來(lái)看,如果DE為0,A和B之間差值大于等于+0.2V,則RO值為1,否則為0。

pIYBAGAJdmaAUk_FAAAoYubJR60145.png

2.程序設(shè)計(jì)
由于RS485是半雙工傳輸,那么我們需要制定傳輸協(xié)議進(jìn)行握手,設(shè)定第一個(gè)字節(jié)為8’h55,表示一幀數(shù)據(jù)的開(kāi)始,接下來(lái)是傳輸?shù)臄?shù)據(jù)長(zhǎng)度信息,由于FIFO大小限制(256),范圍為1~255,接下來(lái)是數(shù)據(jù)。格式即為:起始8’h55+數(shù)據(jù)長(zhǎng)度+數(shù)據(jù)。

其中uart_tx和uart_rx跟RS232實(shí)驗(yàn)一樣,在這里只修改uart_test即可。我們?cè)O(shè)計(jì)的功能為初始狀態(tài)下將DE設(shè)為0,也就是輸入,等待接收上位機(jī)發(fā)來(lái)的數(shù)據(jù),并緩存到FIFO中,F(xiàn)IFO大小設(shè)置為256,然后切換DE為1,也就是輸出,把接收到的數(shù)據(jù)從FIFO中讀出并發(fā)送出去。注意緩存的數(shù)據(jù)是除去起始8’h55和數(shù)量信息的。

在RCV_HEAD狀態(tài)時(shí),判斷接收到的數(shù)據(jù)是否是”S”。

o4YBAGAJdrGAMnUGAAArAQRhok8436.png

在RCV_COUNT狀態(tài)時(shí),如果數(shù)據(jù)長(zhǎng)度小于0,則跳轉(zhuǎn)到IDLE狀態(tài),如果大于0,則進(jìn)入接收數(shù)據(jù)狀態(tài)。

o4YBAGAJdu-AfL17AAAUjf8AJhM988.png

在RCV_DATA狀態(tài)下,把數(shù)據(jù)寫(xiě)入FIFO,并且檢查數(shù)據(jù)長(zhǎng)度,切換RS485的方向?yàn)檩敵?,并跳轉(zhuǎn)狀態(tài)。

pIYBAGAJdyyAcaUkAAAjQ0WMjWk459.png

在切換總線狀態(tài)時(shí),為了可靠工作,在WAIT狀態(tài)下,延時(shí)1ms進(jìn)行方向切換。

o4YBAGAJd2qAFVvYAABKaowphS8096.jpg

再然后是發(fā)送FIFO中的數(shù)據(jù),SEND_WAIT狀態(tài)是控制讀使能信號(hào)fifo_rden,并且判斷數(shù)據(jù)是否發(fā)送完,發(fā)送完后進(jìn)入IDLE狀態(tài)。

o4YBAGAJd7mAf51tAABB1SUE2KU898.png

3. 實(shí)驗(yàn)測(cè)試
我們?nèi)匀皇褂?a target="_blank">USB轉(zhuǎn)串口設(shè)備,通過(guò)杜邦線將RS485_1的A和B分別與設(shè)備的A和B連接。



打開(kāi)串口工具,設(shè)置好串口號(hào)波特率,選擇16進(jìn)制發(fā)送,發(fā)送數(shù)據(jù)以8’h55開(kāi)頭,點(diǎn)擊發(fā)送,即可在接收窗口看到返回的數(shù)據(jù)。

審核編輯:何安

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

    關(guān)注

    1629

    文章

    21738

    瀏覽量

    603459
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何構(gòu)建RS485通信網(wǎng)絡(luò) RS485串口助手的使用與配置

    的雙絞線提高抗干擾能力。 根據(jù)通信距離和設(shè)備數(shù)量,選擇合適的電纜長(zhǎng)度和規(guī)格。在傳輸距離較長(zhǎng)時(shí),可以考慮使用中繼器來(lái)延長(zhǎng)通信距離。 確??偩€兩端連接終端電阻(通常為120歐姆),匹配線路阻抗,防止信號(hào)反射。 設(shè)備連接 : 將
    的頭像 發(fā)表于 11-28 15:40 ?550次閱讀

    RS485通信模塊的編程與調(diào)試

    的A、B端正確連接到總線上,且總線的兩端需要連接終端電阻(通常為120歐姆),匹配線路阻抗,防止信號(hào)反射。 在連接時(shí),要特別注意A對(duì)A、B對(duì)B的連接方式,確保差分信號(hào)的傳輸。 電源 : 為
    的頭像 發(fā)表于 11-28 15:38 ?569次閱讀

    RS485數(shù)據(jù)傳輸速率及其影響因素

    ,這意味著它使用兩條線(A和B)來(lái)傳輸數(shù)據(jù),其中一條線傳輸正信號(hào),另一條線傳輸負(fù)信號(hào)。這種差分傳輸方式有助于減少噪聲干擾。
    的頭像 發(fā)表于 11-28 15:32 ?661次閱讀

    RS485信號(hào)衰減的影響及補(bǔ)償方法

    RS485信號(hào)衰減是指在RS485總線中信號(hào)傳輸過(guò)程中信號(hào)強(qiáng)度逐漸減弱的現(xiàn)象。這種衰減會(huì)對(duì)系統(tǒng)性能產(chǎn)生負(fù)面影響,以下是對(duì)其影響及補(bǔ)償方法的分析: 一、RS485信號(hào)衰減的影響
    的頭像 發(fā)表于 11-28 15:26 ?458次閱讀

    LORA模塊數(shù)據(jù)傳輸速率

    有所不同。以下是關(guān)于LoRa模塊數(shù)據(jù)傳輸速率的一些關(guān)鍵點(diǎn): 數(shù)據(jù)傳輸速率的可變性 : LoRa技術(shù)允許在不同的數(shù)據(jù)速率下操作,適應(yīng)不同的應(yīng)
    的頭像 發(fā)表于 10-31 17:03 ?911次閱讀

    RS485到底能跑多少協(xié)議?

    一種差分信號(hào)電平通信。 總線的接線方式,廣泛應(yīng)用于數(shù)據(jù)采集和工業(yè)控制,它的主要優(yōu)點(diǎn)之一是它允許將多個(gè)RS485設(shè)備放在同一條總線上,可以方便地實(shí)現(xiàn)多點(diǎn)數(shù)據(jù)傳輸和控制。在不使用中繼器的情況下,也可以實(shí)現(xiàn)較長(zhǎng)的通信距離。 下面是常見(jiàn)
    的頭像 發(fā)表于 10-26 10:15 ?504次閱讀
    <b class='flag-5'>RS485</b>到底能跑多少協(xié)議?

    西門(mén)子rs485中繼器使用說(shuō)明

    RS485中繼器的主要功能是放大和再生RS485信號(hào),克服信號(hào)衰減和噪聲干擾,確保數(shù)據(jù)傳輸的可靠性。它通常包含一個(gè)或多個(gè)信號(hào)放大器,以及必要的電源和接口電路。 2. 技術(shù)參數(shù) 工作
    的頭像 發(fā)表于 09-05 09:42 ?1144次閱讀

    如何解決RS485總線沖突和支線問(wèn)題?

    什么是RS485總線?RS485采用半雙工通信方式,能夠在單條總線上連接多達(dá)32個(gè)(理論值,實(shí)際應(yīng)用中可擴(kuò)展)設(shè)備進(jìn)行雙向通信。它支持的數(shù)據(jù)傳輸速率范圍較廣,從幾百比特每秒至10兆比特每秒不等,且
    的頭像 發(fā)表于 08-30 12:35 ?1765次閱讀
    如何解決<b class='flag-5'>RS485</b>總線沖突和支線問(wèn)題?

    二總線——MCU有線數(shù)據(jù)傳輸

    MCU之間的數(shù)據(jù)交互,如果距離較遠(yuǎn)且在遮蔽物較多無(wú)線信號(hào)不好的場(chǎng)所一般要使用總線技術(shù),例如RS485、CAN等等,但是近些年有發(fā)展出一種現(xiàn)場(chǎng)數(shù)字總線技術(shù):二總線。與RS485/CAN一樣是MCU串口
    發(fā)表于 07-23 13:28

    DTU在RS485信號(hào)采集與傳輸中的優(yōu)勢(shì)

    ”。▍RS485信號(hào):工業(yè)通信的基石RS-485,又稱(chēng)為EIA-485或TIA/EIA-485標(biāo)準(zhǔn),是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的通信協(xié)議。它采用差分信號(hào)線進(jìn)行
    的頭像 發(fā)表于 07-11 16:12 ?483次閱讀
    DTU在<b class='flag-5'>RS485</b>信號(hào)采集與<b class='flag-5'>傳輸</b>中的優(yōu)勢(shì)

    RS485網(wǎng)關(guān)功能特點(diǎn)有哪些?

    詳細(xì)介紹RS485網(wǎng)關(guān)的定義、功能特點(diǎn)及其在工業(yè)自動(dòng)化中的應(yīng)用。 一、RS485網(wǎng)關(guān)的定義 RS485網(wǎng)關(guān)是一種數(shù)據(jù)通信設(shè)備,作為
    的頭像 發(fā)表于 06-13 14:56 ?781次閱讀
    <b class='flag-5'>RS485</b>網(wǎng)關(guān)功能特點(diǎn)有哪些?

    純干貨!RS485接口電路設(shè)計(jì)攻略

    本文主要討論如何設(shè)計(jì)RS485接口電路,以及簡(jiǎn)單介紹接口電路設(shè)計(jì)通常涉及到幾個(gè)關(guān)鍵要素。 什么是RS485? RS485是半雙工通信,半雙工通信指的是通道在一個(gè)時(shí)刻只能處于接收或者是發(fā)
    發(fā)表于 05-27 14:29

    RS485通信協(xié)議詳解(硬件干貨)

    ? S-485 (1)基本概念 RS485總線傳輸協(xié)議是一種串行總線通信協(xié)議標(biāo)準(zhǔn),RS485總線采用平衡發(fā)送,差分接收的結(jié)構(gòu)設(shè)計(jì),因此具有抑制共模干擾的能力。
    的頭像 發(fā)表于 03-08 08:36 ?2.7w次閱讀
    <b class='flag-5'>RS485</b>通信協(xié)議詳解(硬件干貨)

    RS485集線器工作原理是什么?RS485集線器具有什么功能?

    以將一條RS485總線分為多個(gè)分支,每個(gè)分支上可連接多個(gè)RS485設(shè)備,同時(shí)提供了電氣隔離和信號(hào)增強(qiáng)功能。RS485集線器的工作原理是通過(guò)在總線上增加驅(qū)動(dòng)能力和衰減能力來(lái)實(shí)現(xiàn)信號(hào)放大、電氣隔離和
    的頭像 發(fā)表于 02-03 16:25 ?3344次閱讀

    什么是RS485接口?

    、應(yīng)用以及一些常見(jiàn)的問(wèn)題。 一、RS485接口概述 RS485接口是一種半雙工、平衡傳輸的通信接口,廣泛應(yīng)用于工業(yè)自動(dòng)化、智能交通、智能建筑等領(lǐng)域。它基于差分信號(hào)傳輸,具有較強(qiáng)的抗干擾
    的頭像 發(fā)表于 01-11 17:37 ?5071次閱讀