電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>【ZYNQ Ultrascale+ MPSOC FPGA教程】第十三章 RS485實(shí)驗(yàn)

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

2021-01-27 | pdf | 419.51KB | 次下載 | 2積分

資料介紹

作者: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)原理
前面介紹過RS232和RS422的實(shí)驗(yàn),而RS485與RS422類似,也是采用差分信號(hào)傳輸,但RS485是半雙工傳輸,也就是說,同一時(shí)刻只能有一個(gè)方向的數(shù)據(jù)傳輸。而且接口也比RS422少,只有差分信號(hào)A和B,而與ARM或FPGA相連的信號(hào)為DE(方向選擇),DI(輸入信號(hào)TXD),RO(輸出信號(hào)RXD)。

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

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

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即可。我們?cè)O(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”。

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

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

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

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

3. 實(shí)驗(yàn)測試
我們?nèi)匀皇褂肬SB轉(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ù)。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1491次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費(fèi)
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  4次下載  |  免費(fèi)
  15. 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  16. 0.11 MB  |  4次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537793次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)