<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

1 SPI總線(xiàn)介紹
1.1 SPI總線(xiàn)簡(jiǎn)介

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

本文引用地址:http://dyxdggzs.com/article/191546.htm



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


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

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

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

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



上一頁(yè) 1 2 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>