《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 教程:基于FPGA實現多路UART/SPI通信系統

教程:基于FPGA實現多路UART/SPI通信系統

2022-10-24
來源:FPGA技術江湖
關鍵詞: SPI UART 通信系統 FPGA

  第一部分 設計概述 /Design IntroducTIon

  本次的設計為多路UART/SPI通信系統,可以實現一對多的通信。系統可以運行在UART模式,也可以運行在SPI模式。我選擇這一課題的原因主要是目前我所在的實驗室需要寫基于UART的快速通信。這一課題既可以幫助我鞏固之前學習的知識,又可以為我后面的項目做準備。在完成課題的過程中,主要用到了FPGA狀態機、總線等方面的知識。這一課題可以應用在需要高速異步串行或同步串行通信的應用場合,如實時控制、監測等。

  當系統運行在UART模式下,可以實現一個發送端最多向四個接收端發送信息,且有效信息中包含地址碼,接收端可以根據發送端發送的地址碼判斷該信息是否是發送給自己的,實現信號線復用。UART通信簡單,僅需要一根信號線,但是其缺點是只能實現單向通信,接收端無法給發送端反向發送數據。但是這一缺點也可以通過采用兩個UART系統來彌補。

  當系統運行在SPI模式下,可以實現一個主機與多個從機之間的通信,且在通信過程中,系統是全雙工的。主機通過選擇性拉低某一個或者某幾個從機的片選信號,實現對于從機的選擇。

  005.JPG

004.JPG

  第二部分 系統組成及功能說明 /System ConstrucTIon & FuncTIon DescripTIon

  計劃功能

  程序實現UART和SPI的通信,并可以通過按鍵的方式在兩種模式之間切換。在UART模式下,發送端給接收端發送一串數據,接收端判斷是否和已知數據相符。如果相符則點亮LED,如果不符則不點亮。在SPI模式下,主機給從機、從機給主機同時發送數據,若接收到的數據和已知數據相符,則點亮LED,如果不符,則不點亮。同時,UART和SPI均有尋址功能。UART的尋址方式是在數據位前面加兩位地址位,實現對最多四個接收端的區分;SPI的尋址方式是通過拉低需要選定的從機的SS信號,實現對最多四個接收端的區分。

  目前所有的功能均已實現。最初計劃通信系統在兩個不同的FPGA板上實現,但是另外一塊板出了問題,目前只能在一塊板上驗證。發送端和接收端、主機和從機均寫在一塊板子里,內部的通信線也直接用FPGA內部的線連接??偟目驁D如下。其中,inst_clkwiz是系統自帶的分頻器,將外部100M的始終編程10M,降低了通信速率,但是可以使通信系統更加穩定;inst_SPIpart是SPI通信模塊;inst_UART是UART通信模塊;inst_modeselection是通信模式選擇模塊。

 

003.JPG

  SPI內部的構造如下。其中,inst_SPItop為從機;inst_SPItop1為主機。當主機的信號選擇信號為0111時系統中的從機被選中。在主機、從機內部, inst_SPImaster為SPI主機端口,inst_SPIslave為SPI從機端口,inst_leddriver為led驅動電路,負責判斷接收到的信號和已知信號是否一致,當接收到的信號和一直信號一致時,驅動LED點亮。

 

002.JPG

  UART部分的框圖如下。其中,inst_UARTtop1為發送端;inst_UARTtop為接收端。發送端給接收端發送數據。當接收端接收到的數據和已知數據相同,驅動LED點亮。

001.JPG

  第三部分 完成情況及性能參數 /Final Design & Performance Parameters

  除了兩塊板相互通信以外,所有的功能均可以在一塊板子上實現。

  測試方法:

  接通電源后,首先按動RST,對板卡進行復位,復位后的通信模式默認為UART模式。紅色的LED被點亮。這證明在該模式下,接收端已經完整接收到了十位信號,完成了地址的判斷。將接收到的信號傳送給LED驅動模塊后,經過判斷符合已知的8'hbb。LED2信號置位,點亮紅色LED2,而在UART模式下,綠色的LED1不被點亮。綜合以上現象,UART模式可以運行。

  按動KEY1,紅色和綠色的LED均被點亮,且綠色LED亮度弱于紅色LED。紅色LED點亮證明主機成功選中從機、發送給從機數據且從機已經接收到主機發來的數據,且經過LED驅動模塊的判斷,和已知數據相符。綠色LED燈點亮證明從機給主機也成功發送數據,且也和已知數據相符。綠色LED亮度弱于紅色LED的原因是,主機只接了一個從機,因此只有1/4的時間,接收到的信號和已知信號相同,在其他3/4時間中接收到的均為8'bzz,和已知信號不符,不點亮LED。因此亮度更弱。

  KEY1,系統又轉換到UART模式,綠色LED熄滅,紅色LED點亮。



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]。
主站蜘蛛池模板: 国语精品视频在线观看不卡 | 久久凹凸| 最近韩国日本免费免费版 | 国产精品免费观在线 | 亚洲自拍图片区 | 日韩精品免费一级视频 | 免费亚洲视频在线观看 | 波多野结衣一区二区在线 | www成人免费视频 | 亚洲乱码国产一区网址 | 全部免费的毛片在线看美国 | 久青草国产97香蕉在线视频xx | 亚洲精品视频专区 | 国产精品日韩欧美在线 | 亚洲 欧美 手机 在线观看 | 久久久免费观成人影院 | 自拍第1页| 日本人在线看片 | 特黄特级a级黄毛片免费观看多人 | 亚洲免费网站观看视频 | 国产人成 | 成人满18在线观看网站免费 | 香港三级日本三级三级人妇 | 欧美成人全部免费观看1314色 | 成人在线精品 | 视频一区 在线 | 欧美日韩精品一区二区三区高清视频 | 亚洲一级片在线播放 | 97视频免费在线 | 目韩一区二区三区系列片丶 | 国产菲菲视频在线观看 | 特级aa一级欧美毛片 | 欧美激情欧美狂野欧美精品免费 | 免费看v片网站 | 九九视频国产 | 一本色道久久爱88av | 全部在线播放免费毛片 | 热99re久久精品精品免费 | 亚洲国产成人综合 | 免费看一级欧美毛片视频 | 日韩欧美在线视频一区二区 |