999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的SPI總線接口的實現

2010-04-12 00:00:00王玨文,金偉信,蔡一兵,顏莉萍
現代電子技術 2010年14期

摘 要:在現代EDA外圍電子器件的接口中存在多種標準,已知的一些接口協議存在速度慢、協議復雜等問題。SPI總線是能夠克服上述缺點的一種外圍串行總線,其能很好地滿足要求。通過使用Lattice公司的FPGA芯片以及工程開發軟件,特別是在線邏輯分析儀這一先進的EDA工具,實現了基于FPGA的SPI接口的連接。將FPGA編程的靈活性和SPI總線的易用性結合,實現了FLASH的存取功能。同時也為同類型接口的芯片應用提供了一個原型,為進一步的工程設計提供了支持。

關鍵詞: FPGA; FLASH; SPI; 在線邏輯分析

中圖分類號:TN710; TP336 文獻標識碼:A

文章編號:1004-373X(2010)14-0102-03

Implementation of SPI Bus Interface Based on FPGA

WANG Jue-wen1, JIN Wei-xin2, CAI Yi-bing2, YAN Li-ping2

(1. PLA University of Science and Technology, Nanjing 210007, China; 2. CEDSEC, Beijing 100141, China)

Abstract: There are many standards in the scope of interfaces for peripheral electronic devices in the field of modern EDA. Some known interface protocols perform an unsatisfactory role with their low speed or complexity. SPI bus is a popular peripheral serial bus which can satisfy the practical demand. By using Lattice FPGA and its EDA software, especially the on-line logic analyzer which is an advanced EDA tool, the connection of SPI bus interface based on FPGA was implemented. The access function of FLASH was realized in combination with the flexibility of FPGA programming and the adaptability of SPI bus. At the same time, it can be taken as a prototype, which can be used in a further profound exploitation in EDA projection.

Keywords: FPGA; FLASH; SPI; on-line logic analysis

0 引 言

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

1 SPI總線介紹

1.1 SPI總線簡介

同步外設接口(serial peripheral interface,SPI)是由摩托羅拉公司開發的全雙工同步串行總線。SPI是一種串行同步通信協議,由1個主設備和1個或多個從設備組成,主設備啟動一個與從設備的同步通信,從而完成數據的交換。

1.2 SPI總線接口及時序

SPI接口由SDI(串行數據輸入),SDO(串行數據輸出),SCK(串行移位時鐘),CS(從使能信號)四種信號構成,CS決定了惟一的與主設備通信的從設備,如沒有CS信號,則只能存在一個從設備,主設備通過產生移位時鐘來發起通信。通信時,數據由SDO輸出,SDI 輸入,數據在時鐘的上升沿或下降沿從SDO輸出,在緊接著的下降沿或上升沿由SDI讀入,這樣經過8/16次時鐘改變,完成8/16位數據的傳輸。

在SPI傳輸中,數據是同步進行發送和接收的。數據傳輸的時鐘基于來自主處理器的時鐘脈沖,摩托羅拉沒有定義任何通用SPI時鐘規范。然而,最常用的時鐘設置基于時鐘極性(CPOL)和時鐘相位(CPHA)兩個參數。CPOL定義SPI串行時鐘的活動狀態,而CPHA定義相對于數據位的時鐘相位。CPOL和CPHA的設置決定了數據取樣的時鐘沿。

SPI模塊為了與外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協議沒有大的影響。如果CPOL=0,串行同步時鐘的空閑狀態為低電平;如果CPOL=1,串行同步時鐘的空閑狀態為高電平。時鐘相位(CPHA)能夠配置用于選擇兩種不同的傳輸協議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被采樣。SPI主模塊和與之通信的外設時鐘相位與極性應該一致。SPI接口時序如圖1所示。

圖1 SPI接口時序圖

2 基于FPGA的SPI接口設計

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

圖2 模塊結構示意圖

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

3 SPI接口實現及FLASH功能驗證

3.1 M25P64串行FLASH芯片介紹

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

圖3 RAM模塊示意圖

該芯片由一個微控制器控制,SPI接口有種工作模式分別為CPOL=0,CPHA=0和CPOL=1,CPHA=1,兩者區別為在SPI主端不傳數據時,時鐘的電平前者為0,后者為1。在這里采用CPOL=0,CPHA=0模式。

3.2 工程環境設置及SPI接口設計

Lattice公司的FPGA工程開發EDA軟件名為ispLEVER,其7.2版本為較新版本。該版本集合了IPExpress,Reveal Logic Analyzer等實用工具,可用于添加Lattice公司開發的IP核以及在線邏輯仿真等。ispLEVER 7.2的默認仿真工具為Active-HDL仿真器,由于需要采用ModelSim仿真器,因此安裝ModleSim 6.2b版本。對仿真軟件成功安裝后,加入pcsc mti work,pcsc mti work revA,ecp2m vlg和pmi work四個仿真庫并進行編譯。編譯完成后啟動ispLEVER 7.2,在“options”菜單中修改環境變量和默認仿真工具,使得ModelSim連接圖標出現在工具欄中成為工程的仿真工具。

進入ispLEVER 7.2的編輯界面,開始建立工程,首先選擇器件型號,這里采用LatticeECP2M系列中的LFE2M50E型號芯片,并選擇封裝類型為FPGABGA672,速度級別為-5。器件選定后,建立FLASH control工程文件和testbench測試文件,同時用IP Express生成讀/寫RAM模塊。

在主程序中編寫RAM控制段和SPI接口控制程序段,用狀態機完成對RAM的控制,狀態機在idle,read,write和config之間跳轉。在向FLASH寫數據時,應先寫入寫使能指令,完成后寫入頁編程指令,隨后寫入地址,最后寫入數據;從FLASH讀數據的過程大致相同,但應首先寫入讀使能指令,然后寫入讀數據指令。應當注意的是讀指令的時鐘頻率低于寫指令,具體頻率要求可參照芯片說明手冊。

3.3 SPI接口功能驗證

在線邏輯分析儀(reveal logic analyzer)是較為先進的EDA工具,它能提類似于功能仿真的波形示意圖,這些波形是通過在FPGA芯片運行過程中實時抓取出來的。它真實地再現了FPGA芯片內部的動態信號狀況,使工程開發人員能直觀的發現問題,修正邏輯。仿真綜合通過后,將程序下載至FPGA芯片中,用Reveal Inserter插入在線邏輯分析信號,采樣點數設定為2 048個點,分析信號會在工程目錄中生成一個相關文件,綜合后將數據文件下載至Lattice芯片中,采用人工觸發后,即可在在線邏輯分析儀中觀察信號波形。截取的波形如圖4所示。

圖4 在線邏輯分析儀截圖(一)

從圖4可看出,在時鐘C的8個有效周期寫入寫使能指令,寫使能指令通過D信號線串行進入FLASH芯片,指令的寫入過程應保證S信號低電平,8個周期的指令輸入完畢后S回復為高電平。在SPI總線主端的RAM控制信號由狀態機控制,instructions為8位的寄存器,用于存儲指令;RAM1 dout對應ram wr的輸出端口。

圖5為數據指令后讀出數據的波形圖,數據從Q信號線讀出并進入ram rd。在讀數據周期S保持低電平,數據的輸出在時鐘的下降沿發生,在讀指令完成后,state狀態寄存器回復至空閑狀態。

圖5 在線邏輯分析儀截圖(二)

4 結 語

SPI總線是當前流行的串行接口的一種,它滿足工程設計的要求,使開發人員能夠簡單迅速的完成設計工作,實現功能要求。將它與FPGA編程結合,利用FPGA的靈活性,使電子設計能夠在很短的周期內完成,符合當今電子設計的要求。本文通過實現帶有SPI總線接口的FLASH芯片功能,驗證了基于FPGA設計的SPI接口的正確,實現了FLASH芯片的讀/寫功能。

參考文獻

[1]ST Microelectronics. M25P64 data sheet[R]. [ 2005-05-11] . http://www.ALLDATASHEET.com. 2005.

[2]MICHAEL Ciletti D.Verilog HDL高級數字設計[M].北京:電子工業出版社,2005.

[3]卓興旺.基于Verilog HDL的數字系統應用設計[M].北京:國防工業出版社,2007.

[4]BERGERON Janick. Writing testbenches: functional verification of HDL models[M]. [ S.l.] : Kluwer Academic Publishers. 2003.

[5]PALNITKAR Samir.Verilog HDL數字設計與綜合[M].2版.北京:電子工業出版社,2004.

[6]IEEE. IEEE STD164-2001: IEEE standard verilog hardware description language[S]. USA: IEEE, 2001.

[7]Xilinx. UART參考設計[ EB/OL] .[ 2006-11-21] . http://www.fpga.com.cn/freeip.htm.

主站蜘蛛池模板: 精品一区二区三区视频免费观看| 在线欧美日韩| 天天激情综合| 亚洲专区一区二区在线观看| 国外欧美一区另类中文字幕| 欧美国产日韩一区二区三区精品影视| 天天综合网色中文字幕| 高清亚洲欧美在线看| 日韩AV手机在线观看蜜芽| 日韩欧美91| 久久青草精品一区二区三区| 91色在线观看| 99久久性生片| 无码久看视频| 国产精品jizz在线观看软件| 熟女日韩精品2区| 五月婷婷综合网| 亚洲成aⅴ人在线观看| 欧美色丁香| 久久青草视频| 亚洲天堂成人在线观看| 一区二区午夜| 亚洲另类色| 人人爽人人爽人人片| 九九视频在线免费观看| 一级爱做片免费观看久久| 丁香六月综合网| 四虎在线高清无码| 香蕉视频在线精品| 国产精品视屏| 中文字幕亚洲另类天堂| 久久精品丝袜| 国产精品七七在线播放| 国产成人成人一区二区| 丝袜亚洲综合| 国产人在线成免费视频| 丝袜久久剧情精品国产| 无码电影在线观看| 天天色天天综合网| 91网址在线播放| 国产永久免费视频m3u8| 亚洲 欧美 日韩综合一区| 免费毛片网站在线观看| 国内丰满少妇猛烈精品播| 五月天婷婷网亚洲综合在线| 欧美精品亚洲精品日韩专区va| 蜜桃视频一区二区| 激情视频综合网| 亚洲手机在线| 青青操国产| 精品无码一区二区三区电影| 一级成人a毛片免费播放| 欧美午夜在线视频| 中文字幕有乳无码| 亚洲欧美日韩动漫| 天天综合网站| 一级片一区| 日本影院一区| 国产青榴视频在线观看网站| 韩国v欧美v亚洲v日本v| 亚洲第一精品福利| 91视频精品| 国产成年女人特黄特色毛片免 | 伊人久久精品亚洲午夜| 久久精品视频一| 久久精品国产精品国产一区| 亚洲最黄视频| 在线无码九区| 一本色道久久88亚洲综合| 欧洲精品视频在线观看| 老司机精品99在线播放| 青青极品在线| 操美女免费网站| 天天躁狠狠躁| 亚洲第一成网站| 91蝌蚪视频在线观看| 欧美视频在线播放观看免费福利资源| 国产亚洲欧美另类一区二区| 成人日韩视频| 日韩国产黄色网站| 四虎影视8848永久精品| 国产美女自慰在线观看|