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

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

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

【ZYNQ Ultrascale+ MPSOC FPGA教程】第十三章RS485實(shí)驗(yàn)

FPGA技術(shù)專欄 ? 來(lái)源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-25 09:50 ? 次閱讀

原創(chuàng)聲明:

本原創(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類似,也是采用差分信號(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)。

pIYBAGAKL3eAMEZaAAAvFQukwpU287.jpg

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

o4YBAGAKL3eAX3KcAAApc1n3Vao902.jpg

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

pIYBAGAKL3iARqweAAAq74gNC7U444.jpg

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”。

o4YBAGAKL3iAJyVGAAAnIA1C_Ds158.jpg

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

pIYBAGAKL3mAJAohAAAUNm0d4vM793.jpg

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

o4YBAGAKL3mAU4U_AAAi-06492I903.jpg

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

pIYBAGAKL3qAWJnzAAA6lh4HHtc917.jpg

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

pIYBAGAKL3qADbEUAABBrBjxaME627.jpg

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ù)。

pIYBAGAKL3yAbu61AABL8aC9qZs965.jpg

聲明:本文內(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)注

    1624

    文章

    21538

    瀏覽量

    600474
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1134

    瀏覽量

    81992
  • 差分信號(hào)
    +關(guān)注

    關(guān)注

    3

    文章

    363

    瀏覽量

    27594
  • Zynq
    +關(guān)注

    關(guān)注

    9

    文章

    604

    瀏覽量

    47072
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    195

    瀏覽量

    24212
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用ZYNQ MPSoC玩DOOM?

    賽靈思和 DornerWorks 的系統(tǒng)軟件團(tuán)隊(duì)在賽靈思的 Zynq? Ultrascale+? MPSoC 上啟動(dòng) Xen Project 管理程序時(shí),我們發(fā)現(xiàn)可通過(guò)運(yùn)行當(dāng)年叱詫一時(shí)的流行電子游戲
    發(fā)表于 10-09 06:21

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

      如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+
    發(fā)表于 01-07 16:02

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發(fā)表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發(fā)表于 02-02 07:53

    Ti推出面向Zynq UltraScale+ MPSoC的電源參考設(shè)計(jì)

    本篇文章將與大家討論的是Xilinx Zynq UltraScale+ MPSoC的電源解決方案參考設(shè)計(jì)。
    發(fā)表于 03-14 02:24 ?3633次閱讀
    Ti推出面向<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的電源參考設(shè)計(jì)

    Xilinx基于ARM的Zynq-7000和Zynq UltraScale+ MPSoC及RFSoC器件是否存在安全漏洞

    本文試圖搞清楚在 Xilinx 基于 ARM 的 Zynq-7000、Zynq UltraScale+ MPSoCZynq
    發(fā)表于 06-28 15:53 ?2647次閱讀

    Zynq UltraScale+ MPSoC的發(fā)售消息

    Zynq?UltraScale+?MPSoC,現(xiàn)已開(kāi)始發(fā)售。視頻向您重點(diǎn)介紹了Xilinx UltraScale +產(chǎn)品組合的第一位成員
    的頭像 發(fā)表于 11-27 06:47 ?3529次閱讀

    米爾科技Zynq UltraScale+ MPSoC技術(shù)參考手冊(cè)介紹

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統(tǒng),在第一代Zynq-7000的基礎(chǔ)上做了全面升級(jí),在單芯片上融合了功能強(qiáng)大的處理器系統(tǒng)(PS)和用
    的頭像 發(fā)表于 11-18 11:03 ?3057次閱讀
    米爾科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技術(shù)參考手冊(cè)介紹

    ZYNQ Ultrascale+ MPSOC FPGA教程】第十三章 RS485實(shí)驗(yàn)

    本章以AN3485模塊介紹RS485的數(shù)據(jù)傳輸。
    發(fā)表于 01-27 09:01 ?9次下載
    【<b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b>教程】<b class='flag-5'>第十三章</b> <b class='flag-5'>RS485</b><b class='flag-5'>實(shí)驗(yàn)</b>

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是一款專用 DDR 控制器,只支持在 Zynq UltraScale+
    發(fā)表于 02-23 06:00 ?15次下載
    如何調(diào)試 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    米爾電子zynq ultrascale+ mpsoc底板外設(shè)資源清單分享

    米爾電子推出的國(guó)內(nèi)首款zynq ultrascale+ mpsoc平臺(tái)核心板(及開(kāi)發(fā)板):MYC-CZU3EG吸引了人工智能、工業(yè)控制、嵌入式視覺(jué)、ADAS、算法加速、云計(jì)算、有線/無(wú)線通信等
    發(fā)表于 01-07 15:20 ?3次下載
    米爾電子<b class='flag-5'>zynq</b> <b class='flag-5'>ultrascale+</b> <b class='flag-5'>mpsoc</b>底板外設(shè)資源清單分享

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片設(shè)計(jì)

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片設(shè)計(jì),應(yīng)用于工廠自動(dòng)化、機(jī)器視覺(jué)、工業(yè)質(zhì)檢等工業(yè)領(lǐng)域
    發(fā)表于 11-02 14:35 ?1522次閱讀

    Zynq UltraScale+ MPSoC中的隔離方法

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC中的隔離方法.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:11 ?1次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>中的隔離方法

    Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC的隔離設(shè)計(jì)示例.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:28 ?3次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔離設(shè)計(jì)示例

    Zynq UltraScale+ MPSoC驗(yàn)證數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC驗(yàn)證數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 09-15 10:13 ?0次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>驗(yàn)證數(shù)據(jù)手冊(cè)