www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要:隨著物聯(lián)網(wǎng)技術的發(fā)展,硬件間的相互通信速度要求越來越快。文中給出了采用Verilog HDL語言以有限狀態(tài)機的形式,在FPGA中實現(xiàn)對帶寄存器尋址的SP[接口控制的方法:同時介紹了通過SPI接口的結構和工作原理,提出

摘要:隨著物聯(lián)網(wǎng)技術的發(fā)展,硬件間的相互通信速度要求越來越快。文中給出了采用Verilog HDL語言以有限狀態(tài)機的形式,在FPGA中實現(xiàn)對帶寄存器尋址的SP[接口控制的方法:同時介紹了通過SPI接口的結構和工作原理,提出了所設計的SPI接口要求,并通過Modelsim SE 6.5仿真軟件進行了仿真實驗,得到了符合設計要求的仿真波形,且在FPGA開發(fā)板上得到了正確驗證,證明該設計可應用于帶寄存器尋址的SPI接口配置。
關鍵宇:物聯(lián)網(wǎng);Verilog HDL;FPGA;有限狀態(tài)機;SPI

0 引言
    SPI(Serial Peripheral Interface,串行外圍接口)總線是一種高速全雙工同步串行通信接口,可以實現(xiàn)CPU與各種外圍設備(如FLAS、LCD顯示驅動器、網(wǎng)絡控制器、AD轉換器、DA轉換器和其他CPU等)以串行方式進行通信以交換信息。相比于I2C接口和UART等其他串行接口,一般情況下,SPI接口的數(shù)據(jù)傳輸速度最快,可以達到幾個Mb/s。I2C接口由于是二線協(xié)議速度,很難超過1 Mb/s;UART工作在方式0(8位移位寄存器)時,時鐘速度為系統(tǒng)時鐘的1/12,而SPI接口時鐘速度一般為系統(tǒng)時鐘的1/4。本文給出了采用Verilog HDL語言,以FPGA為控制器設計的一種帶寄存器尋址的SPI接口的設計方法。

1 SPI總線結構和工作原理
    SPI總線一般使用四條信號線,以主/從模式工作,這種模式通常有一個主設備和多個從設備。數(shù)據(jù)傳輸過程由主機初始化。它是一種環(huán)形總線結構,結構框圖如圖1所示。SPI總線使用的四條信號線分別為SCLK、MOSI、MISO和CS。其中,SCLK為串行時鐘線,用來同步數(shù)據(jù)傳輸,由主機產(chǎn)生;MOSI是主機輸出,從機輸入數(shù)據(jù)線;MISO是主機輸入,從機輸出數(shù)據(jù)線;CS是從機選擇線,由主機控制輸出。


    CS用于表示控制芯片是否被選中,即只有CS有效時(高電平或低電平),對此芯片的操作才有效,從而在同一總線上連接多個SPI接口設備成為可能。當SPI從機被選中時,在SPI主機輸出SCLK的控制下,SPI主機通過MOSI引腳發(fā)送數(shù)據(jù),SPI從機通過MOSI接收數(shù)據(jù),或者SPI從機通過MISO引腳發(fā)送數(shù)據(jù),SPI主機通過MISO引腳接收數(shù)據(jù)。
    SPI總線通過時鐘極性(CPOL)和時鐘相位(CPHA)兩個控制位來配置其工作方式及其接口數(shù)據(jù)傳輸時序。SPI總線工作時序圖如圖2所示。C POL用來控制SCLK的空閑狀態(tài)電平。當CPOL=0時,SCLK的空閑狀態(tài)為低電平;當CPOL=1時,SCLK的空閑狀態(tài)為高電平。CPHA用來控制采樣數(shù)據(jù)的時刻。當CPHA=0時,在SCLK從空閑狀態(tài)跳變的第一個時沿(上升或下降)數(shù)據(jù)被采樣;當CPHA=1時,在SCLK從空閑狀態(tài)跳變的第二個時沿數(shù)據(jù)被采樣。


    SPI總線工作原理:假定CPOL=0,CPHA=1。當要傳輸數(shù)據(jù)時,SPI主機控制CS輸出有效電平,SCLK輸出時鐘信號,SPI總線處于工作狀態(tài)。當SCLK第一個時沿(上升沿)來的時候,SPI主機的8位移位寄存器將最高位(MSB)的數(shù)據(jù)移出,并將剩余的數(shù)據(jù)分別左移一位,這時MOSI線上電平為剛移出MSB代表的電平;同時SPI從機的8位移位寄存器將最高位的數(shù)據(jù)移出,并將剩余的數(shù)據(jù)分別左移一位,而MISO線上電平為剛移出MSB代表的電平。然后當?shù)诙r沿(下降沿)到來的時候,SPI主機的8位移位寄存器將鎖存MISO線上的電平,并將其移入最低位(LSB):同時SPI從機的8位移位寄存器將鎖存MOSI線上的電平,并將其移入最低位。經(jīng)過8個SCLK時鐘周期后,兩個移位寄存器就實現(xiàn)了數(shù)據(jù)交換,即完成了一次SPI接口時序,然后SPI總線重新回到空閑狀態(tài),從而SPI主機和SPI從機之間實現(xiàn)全雙工通信。

2 SPI總線協(xié)議設計和軟件實現(xiàn)
   
本文采用Verilog HDL語言以同步有限狀態(tài)機(FSM)的設計方法,實現(xiàn)了一種4線制全雙工的SPI總線。通過SPI主機訪問SPI從機的控制寄存器,實現(xiàn)SPI主機和SPI從機間的SPI總線協(xié)議通信。
2.1 SPI總線協(xié)議
   
設計的SPI總線時序要求:當CS為低電平時,MOSI線和MISO線上數(shù)據(jù)傳輸有效。數(shù)據(jù)傳輸由SCLK控制,每次數(shù)據(jù)傳輸開始于SCLK的下降沿。每個輸出的數(shù)據(jù)位在SCLK上升沿被采樣。1 b讀/寫位實現(xiàn)SPI主機對SPI從機的讀操作和寫操作。1 b的保留位用作擴展。6 b地址是所要訪問的SPI從機控制寄存器的地址。8 b數(shù)據(jù)是寫入或讀取SPI從機指定地址的控制寄存器的內(nèi)容。寫操作和讀操作時序圖如圖3所示。


2.2 SPI接口軟件實現(xiàn)
   
在設計中,采用100 MHz的FPGA內(nèi)部時鐘FPGA_CLK,而輸出的SPI接口時鐘SCLK為25 MHz。SPI主機控制SPI從機實現(xiàn)讀操作和寫操作的主模式程序流程圖如圖4所示。


    在寫時序和讀時序中可使用同步有限狀態(tài)機(FSM)實現(xiàn)其設計,其狀態(tài)轉移圖如圖5所示。Idle為空閑狀態(tài)時,將檢測寫使能信號Write_ En和讀使能信號Read_En。


    當Write_En有效時,進入寫操作時序狀態(tài)。在FPGA_CLK時鐘上升沿的控制下,由Idle狀態(tài)進入SI狀態(tài),再進入S2狀態(tài),接著進入S3狀態(tài)。從S3狀態(tài)開始,有限狀態(tài)機進入16次循環(huán)狀態(tài),循環(huán)經(jīng)過S3、S4、S5和S6狀態(tài)。在S3狀態(tài)時,SPI主機SCLK輸出低電平,CS輸出低電平,MOSI輸出SPI主機16位移位寄存器的最高位,而移位寄存器左移一位,最低位補0;在S4狀態(tài)時,SPI主機SCLK、CS和MOSI輸出保持;在S5狀態(tài)時,SPI主機SCLK輸出高電平,CS和MOSI輸出保持,16位移位寄存器的最低位鎖存MISO上的電平;在S6狀態(tài)時,SPI主機SCLK、CS和MOSI輸出保持。當16次循環(huán)結束時,SPI主機MOSI有效輸出和MISO有效輸入也分別結束。有限狀態(tài)機依次進入S17、S18、S19、S20,最后回到Idle狀態(tài),寫操作時序結束。
    當Read_En有效時,進入讀操作時序狀態(tài)。由Idle狀態(tài)進入S7狀態(tài),再進入S8狀態(tài),接著進入S9狀態(tài)。從S9狀態(tài)開始,有限狀態(tài)機進入8次循環(huán)狀態(tài),循環(huán)經(jīng)過S9、S10、S11和S12狀態(tài)。在S9狀態(tài)時,SPI主機SCLK輸出低電平,CS輸出低電平,MOSI輸出SPI主機16位移位寄存器的最高位,而移位寄存器左移一位,最低位補移位寄存器的最高位數(shù)據(jù);在S10狀態(tài)時,SPI主機SCLK、CS和MOSI輸出保持;在S11狀態(tài)時,SPI主機SCLK輸出高電平,CS和MOSI輸出保持;在S12狀態(tài)時,SPI主機SCLK、CS和MOSI輸出保持。當8次循環(huán)結束時,SPI主機MOSI有效輸出結束,而MISO開始有效輸入。從S13狀態(tài)開始,有限狀態(tài)機進人下一個8次循環(huán)狀態(tài),循環(huán)經(jīng)過S13、S14、S15和S16狀態(tài)。在S13狀態(tài),SPI主機SCLK、CS和MOSI輸出低電平,16位移位寄存器左移一位,最低位補0;在S14狀態(tài)時,SCLK、CS和MOSI輸出保持;在S15狀態(tài)時,SPI主機SCLK輸出高電平,CS和MOSI輸出保持,16位移位寄存器的最低位鎖存MISO上的電平;在S16狀態(tài)時候,SCLK、CS和MOSI輸出保持。當8次循環(huán)結束時,SPI主機MISO有效輸入結束。有限狀態(tài)機依次進入S17、S18、S19、S20,最后回到Idle狀態(tài),讀操作時序結束。

3 SPI接口設計的仿真和綜合
   
根據(jù)上述SPI主機接口的設計方案,可采用Altera公司的Quartus II 8.1軟件對其進行Verilog編程,并在Modelsim SE 6.5軟件中進行時序仿真。SPI接口寫操作和寫操作時序仿真圖如圖6所示??梢钥闯?,當Write_En為高電平時,將1 b讀/寫位、1 b保留位、6 b地址和8 b數(shù)據(jù)送入SPI主機串行發(fā)送緩沖器中?;蛘弋擱ead_En為高電平時,將1 b讀/寫位、1 b保留位和6 b地址分別送入SPI主機串行發(fā)送緩沖器的高8位和低8位中。當下一個FPGA_CLK時鐘的上升沿到來時,將SPI主機串行發(fā)送緩沖器的內(nèi)容送入SPI主機16 b移位寄存器中,接著在FPGA_ CLK時鐘的控制下,進入正常的SPI接口寫操作或讀操作時序過程。當CS為高電平時,產(chǎn)生SPI串行通信結束提示信號SPI_Done_Sig,并將從MISO接收的數(shù)據(jù)送入SPI串行接收緩沖器。


    從以上仿真結果可以看出,本設計可以滿足SPI總線協(xié)議的設計要求,且該SPI模塊功能是可以正常工作的。在Quartus II 8.1中完成該模塊的綜合并下載到FPGA開發(fā)板上進行驗證。結果表明,本設計可以實現(xiàn)FPGA芯片和從設備間的同步串行通信。

4 結語
   
本文用Verilog HDL語言以有限狀態(tài)機的形式設計了一種符合SPI總線規(guī)范的主機模塊,并在仿真軟件Modelsim SE 6.5中進行了仿真,得到的仿真波形符合設計要求。同時,通過在Quartus II 8.1中進行綜合并下載到FPGA芯片中實現(xiàn)了SPI接口功能,也驗證了設計的正確性。該接口可實現(xiàn)SPI主機和帶指定地址控制寄存器的SPI從機間的同步串行通信,具有一定的實用價值。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術正成為驅動創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術與產(chǎn)業(yè)應用的盛會——2025安路科技FPGA技術沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場可編程門陣列(FPGA)憑借其開發(fā)時間短、成本效益高以及靈活的現(xiàn)場重配置與升級等諸多優(yōu)點,被廣泛應用于各種產(chǎn)品領域。從通信設備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關鍵字: FPGA 邊緣計算 嵌入式應用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進入體內(nèi),并對體內(nèi)器官或結構進行直接觀察和對疾病進行診斷的醫(yī)療設備,一般由光學鏡頭、冷光源、光導纖維、圖像傳感器以及機械裝置等構成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運用單片機和FPGA芯片作為主控制器件 , 單片機接收從PC機上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉換 , 生成LED顯示屏所需要的數(shù)據(jù)信號和同步的控制信號— 數(shù)據(jù)、時鐘、行同步和面同步 。FPGA芯...

關鍵字: 單片機 FPGA LED顯示屏

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對處理器行為的精細控制。本文從計算機體系結構角度系統(tǒng)闡述控制寄存器的設計原理、功能分類、操作機制...

關鍵字: 寄存器 處理器

在異構計算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計算的關鍵架構。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時鐘頻率下實現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關鍵字: ARM FPGA FSPI

在全球FPGA市場被Xilinx(AMD)與Intel壟斷的格局下,國產(chǎn)FPGA廠商高云半導體通過構建自主IP核生態(tài)與智能時序約束引擎,走出差異化高端化路徑。本文深入解析高云半導體FPGA工具鏈的兩大核心技術——全棧IP...

關鍵字: FPGA 高云半導體

2025年6月12日,由安路科技主辦的2025 FPGA技術沙龍在南京正式召開,深圳市米爾電子有限公司(簡稱:米爾電子)作為國產(chǎn)FPGA的代表企業(yè)出席此次活動。米爾電子發(fā)表演講,并展出米爾基于安路飛龍派的核心板和解決方案...

關鍵字: FPGA 核心板 開發(fā)板

高 I/O、低功耗及先進的安全功能,適用于成本敏感型邊緣應用

關鍵字: FPGA I/O 機器視覺
關閉