<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的SPI總線接口的實(shí)現(xiàn)

          基于FPGA的SPI總線接口的實(shí)現(xiàn)

          作者: 時(shí)間:2010-10-02 來源:網(wǎng)絡(luò) 收藏

          0 引言
          串行接口已成為當(dāng)前傳輸接口的發(fā)展趨勢,原因在于串行的高速率傳輸性能和較簡單的線路連接。在已知的外圍器件連接端口中,有USB,wishbone和并行端口。其中接口總線基于串行傳輸?shù)乃枷?,已?jīng)制定成為標(biāo)準(zhǔn),成為常用的外圍器件連接方式。針對FLASH這種常用的外圍存儲(chǔ)器件,有多種接口可供選擇,然而具有接口的FLASH芯片硬件連接方便,通過編程可以便捷地實(shí)現(xiàn)FLASH的存取功能。因此基于的具有的FLASH功能實(shí)現(xiàn)為工程設(shè)計(jì)提供了一種原型,為進(jìn)一步的工程開發(fā)奠定了基礎(chǔ)。

          1 SPI總線介紹
          1.1 SPI總線簡介

          同步外設(shè)接口(serial peripheral,interface,SPI)是由摩托羅拉公司開發(fā)的全雙工同步串行總線。SPT是一種串行同步通信協(xié)議,由1個(gè)主設(shè)備和1個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)一個(gè)與從設(shè)備的同步通信,從而完成數(shù)據(jù)的交換。
          1.2 SPI及時(shí)序
          SPI接口由SDI(串行數(shù)據(jù)輸入),SDO(串行數(shù)據(jù)輸出),SCK(串行移位時(shí)鐘),CS(從使能信號(hào))四種信號(hào)構(gòu)成,CS決定了惟一的與主設(shè)備通信的從設(shè)備,如沒有CS信號(hào),則只能存在一個(gè)從設(shè)備,主設(shè)備通過產(chǎn)生移位時(shí)鐘來發(fā)起通信。通信時(shí),數(shù)據(jù)由SDO輸出,SDI輸入,數(shù)據(jù)在時(shí)鐘的上升沿或下降沿從SDO輸出,在緊接著的下降沿或上升沿由SDI讀入,這樣經(jīng)過8/16次時(shí)鐘改變,完成8/16位數(shù)據(jù)的傳輸。
          在SPI傳輸中,數(shù)據(jù)是同步進(jìn)行發(fā)送和接收的。數(shù)據(jù)傳輸?shù)臅r(shí)鐘基于來自主處理器的時(shí)鐘脈沖,摩托羅拉沒有定義任何通用SPI時(shí)鐘規(guī)范。然而,最常用的時(shí)鐘設(shè)置基于時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)兩個(gè)參數(shù);CPOL定義SPI串行時(shí)鐘的活動(dòng)狀態(tài),而CPHA定義相對于數(shù)據(jù)位的時(shí)鐘相位。CPOL和CPHA的設(shè)置決定了數(shù)據(jù)取樣的時(shí)鐘沿。
          SPI模塊為了與外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時(shí)鐘極性和相位可以進(jìn)行配置,時(shí)鐘極性(CPOL)對傳輸協(xié)議沒有大的影響。如果CPOL=0,串行同步時(shí)鐘的空間狀態(tài)為低電平;如果CPOL=1,串行同步時(shí)鐘的空間狀態(tài)為高電平。時(shí)鐘相位(CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進(jìn)行數(shù)據(jù)傳輸。如果CPHA=0,在串行同步時(shí)鐘的第一個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣;如果CPHA=1,在串行同步時(shí)鐘的第二個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣。SPI主模塊和與之通信的外設(shè)時(shí)鐘相位與極性應(yīng)該一致。SPI接口時(shí)序如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/191546.htm



          2 基于的SPI接口設(shè)計(jì)
          SPI接口適用于主芯片與從芯片的連接,在一個(gè)FPGA系統(tǒng)中,充當(dāng)主芯片的為FPGA可編程芯片,而FLASH芯片作為外圍從芯片通過SPI接口連接至FPGA芯片。該系統(tǒng)選用Lattice公司的FPGA芯片,該公司的產(chǎn)品線齊全,其中ECP2M系列芯片功能全面,開發(fā)成本低廉。ECP2M系列芯片支持SPI接口,通過硬件電路的簡單設(shè)計(jì)即可完成SPI接口的物理連接,進(jìn)一步利用Lattice的工程開發(fā)EDA軟件進(jìn)行FPGA編程,實(shí)現(xiàn)SPI接口控制。對接口的設(shè)計(jì)采用RAM作為讀/寫緩沖,完成主程序和FLASH之間的數(shù)據(jù)交換,各模塊結(jié)構(gòu)示意圖如圖2所示。


          圖2中ram_wr寫端口數(shù)據(jù)寬度設(shè)置為32位,地址深度設(shè)為128位;讀端口為1位位寬,這是由SPI端口的串行性決定的;ram_rd讀端口與ram _wr寫端口相對應(yīng)。RAM模塊如圖3所示。

          3 SPI接口實(shí)現(xiàn)及FLASH功能驗(yàn)證
          3.1 M25P64串行FLASH芯片介紹

          M25P64串行芯片由STMicro公司生產(chǎn),它具有64 Mb容量,最高時(shí)鐘頻率可達(dá)50 MHz同時(shí)采用SPI。該FLASH芯片的存儲(chǔ)空間劃分為128區(qū),每區(qū)為65 536 B。在芯片中,其中D為數(shù)據(jù)串行輸入端;C為時(shí)鐘輸入;為低電平有效片選信號(hào);分別為寫保護(hù)和暫停保持輸入,Q為串行輸出端。該芯片的指令豐富,功能完備,常用的指令如:讀/寫使能、讀/寫狀態(tài)寄存器、讀數(shù)據(jù)、頁編程以及區(qū)塊擦除等。

          fpga相關(guān)文章:fpga是什么



          上一頁 1 2 下一頁

          關(guān)鍵詞: FPGA SPI 總線接口

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();