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

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

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

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

電子設(shè)計(jì) ? 來源:電子設(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)原理
前面介紹過RS232RS422的實(shí)驗(yàn),而RS485與RS422類似,也是采用差分信號(hào)傳輸,但RS485是半雙工傳輸,也就是說,同一時(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

從接收來看,如果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ù)的開始,接下來是傳輸?shù)臄?shù)據(jù)長度信息,由于FIFO大小限制(256),范圍為1~255,接下來是數(shù)據(jù)。格式即為:起始8’h55+數(shù)據(jù)長度+數(shù)據(jù)。

其中uart_tx和uart_rx跟RS232實(shí)驗(yàn)一樣,在這里只修改uart_test即可。我們設(shè)計(jì)的功能為初始狀態(tài)下將DE設(shè)為0,也就是輸入,等待接收上位機(jī)發(fā)來的數(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ù)長度小于0,則跳轉(zhuǎn)到IDLE狀態(tài),如果大于0,則進(jìn)入接收數(shù)據(jù)狀態(tài)。

o4YBAGAJdu-AfL17AAAUjf8AJhM988.png

在RCV_DATA狀態(tài)下,把數(shù)據(jù)寫入FIFO,并且檢查數(shù)據(jù)長度,切換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)測試
我們?nèi)匀皇褂?a target="_blank">USB轉(zhuǎn)串口設(shè)備,通過杜邦線將RS485_1的A和B分別與設(shè)備的A和B連接。



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

審核編輯:何安

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

    關(guān)注

    1625

    文章

    21636

    瀏覽量

    601314
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    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 ?504次閱讀

    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)較長的通信距離。 下面是常見
    的頭像 發(fā)表于 10-26 10:15 ?355次閱讀
    <b class='flag-5'>RS485</b>到底能跑多少協(xié)議?

    西門子rs485中繼器使用說明

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

    如何解決RS485總線沖突和支線問題?

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

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

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

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

    ”。▍RS485信號(hào):工業(yè)通信的基石RS-485,又稱為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 ?391次閱讀
    DTU在<b class='flag-5'>RS485</b>信號(hào)采集與<b class='flag-5'>傳輸</b>中的優(yōu)勢

    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 ?706次閱讀
    <b class='flag-5'>RS485</b>網(wǎng)關(guān)功能特點(diǎn)有哪些?

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

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

    RS485接口電路設(shè)計(jì)攻略

    本文主要討論如何設(shè)計(jì)RS485接口電路,以及簡單介紹接口電路設(shè)計(jì)通常涉及到幾個(gè)關(guān)鍵要素。什么是RS485?RS485是半雙工通信,半雙工通信指的是通道在一個(gè)時(shí)刻只能處于接收或者是發(fā)送。
    的頭像 發(fā)表于 05-24 08:20 ?2844次閱讀
    <b class='flag-5'>RS485</b>接口電路設(shè)計(jì)攻略

    一路RS485信號(hào)轉(zhuǎn)LoRa和4G輸出方案

    本文旨在提出一種簡單可靠的“一路RS485信號(hào)轉(zhuǎn)一路LoRa和一路4G信號(hào)輸出解決方案”,實(shí)現(xiàn)將一個(gè)RS485輸出信號(hào)轉(zhuǎn)發(fā)到兩個(gè)不同的設(shè)備或系統(tǒng),提高設(shè)備交互能力,同時(shí)保持穩(wěn)定和高效的數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 05-09 14:52 ?684次閱讀
    一路<b class='flag-5'>RS485</b>信號(hào)轉(zhuǎn)LoRa和4G輸出方案

    1路RS485輸入轉(zhuǎn)2路輸出解決方案

    本文旨在提出一種一路RS485信號(hào)轉(zhuǎn)兩路輸出解決方案,實(shí)現(xiàn)將一個(gè)RS485輸出信號(hào)轉(zhuǎn)發(fā)到兩個(gè)不同的設(shè)備或系統(tǒng),提高設(shè)備交互能力,同時(shí)保持穩(wěn)定和高效的數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 04-17 09:08 ?1061次閱讀
    1路<b class='flag-5'>RS485</b>輸入轉(zhuǎn)2路輸出解決方案

    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.6w次閱讀
    <b class='flag-5'>RS485</b>通信協(xié)議詳解(硬件干貨)

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

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

    什么是RS485接口?

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

    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 ?2275次閱讀
    <b class='flag-5'>RS</b>232、<b class='flag-5'>RS485</b>和CAN究竟能<b class='flag-5'>傳輸</b>多遠(yuǎn)距離?