《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的外部存儲器設計
基于FPGA的外部存儲器設計
Icbuy
摘要: 本文介紹了FPGA外部存儲器的設計方法,可以有效地解決雷達實時信號處理過程中海量數據的存儲問題,同時也可以充分利用FPGA去控制SDRAM和FLASH,不僅保證了資源的充分利用,也可以有效地滿足信號處理過程中的高速實時的要求。另外,可以根據FPGA型號的不同,適當地更改外部存儲器,以滿足不同的應用場合。
Abstract:
Key words :
 

  隨著雷達技術的進一步發展,對雷達信號處理的要求越來越高,在實時信號處理過程中有大量數據需要存儲,由于FPGA本身的存儲器容量非常小,根本滿足不了雷達信號處理過程中的需求,為解決這一問題,通過查詢資料,引入SDRAM和FLASH作為FPGA的外部存儲器。SDRAM存儲器以其快速、方便和價格相對便宜,因而,常被用在雷達信號實時處理上。選擇SDRAM而沒有SRAM是因為SRAM價格太貴,SDRAM相對便宜。沒有選擇DDR SDRAM的原因是因為在實際的雷達信號處理中并不需要那么高burst率,SDRAM足以滿足實際需求。SDRAM主要作用:在MTI處理時作為周期延遲器件、動態雜波圖的存儲和數據暫存等功能。雖然SDRAM有存儲容量大、價格相對便宜等優點,但是其斷電所有數據丟失的缺點,使其僅在FPGA外部連接SDRAM作為外部存儲器件顯然是不能滿足設計需求的,因此,在設計過程中考慮到FLASH存儲。在設計中用FLASH存儲一些斷電不能丟失的數據,如:脈沖壓縮處理時的匹配濾波器系數、MTI處理時雜波加權系數、CFAR處理時的對數表以及一些函數求值等。

  1 存儲電路設計

  1.1 SDRAM存儲電路設計

  在硬件電路設計過程中,先通過SDRAM的I/O接口電平標準選擇FPGA的外圍I/O電平標準,從而解決電氣互聯問題。根據實時信號處理過程中所需的存儲容量以及FPGA的型號,選擇了4片SDRAM存儲器,用于輸入/輸出緩存。芯片的型號為K4S641632N-LC/L75。SDRAM工作模式有多種,內部操作是一個復雜的狀態機。SDRAM的管腳可以分為以下幾類:控制信號,包括片選、時鐘、時鐘使能、行列地址選擇、讀/寫選擇、數據有效等。地址線行列復用,數據引線是雙向傳輸。SDRAM的所有操作都同步于時鐘,都是在時鐘上升沿時控制管腳和地址輸入的狀態,進而產生多種需要的命令。

  SDRAM與FPGA的連接,要把FPGA的普通I/O與SDRAM的除電源、NC和接地管腳之外管腳連接起來即可,所有的控制與工作時序都是由FPGA提供,由于管腳太多,采取了網絡標號連接,其電路原理圖如圖1所示。由于篇幅關系,只給出了部分電路圖。

a.jpg

  1.2 FLASH存儲電路設計

  為了滿足模塊內部在系統斷電時的數據保護,在模塊內部選擇了FLASH存儲器,FLASH存儲器是一種非易失型存儲器,在該設計中主要用于存放一些在系統掉電后需要保存的用戶數據等。芯片的型號為:SST39VF3201-70-4C-EK。該芯片的主要特點有:3.3 V單電源供電,內部進行編程和擦除操作;高可靠性,超過100年的數據保存能力,32 Mb的存儲容量;快速擦除和編程功能,支持扇區擦除、塊擦除和整個芯片擦除,扇區和塊擦除時間為18 ms,整個芯片擦除時間為40 ms;片內產生Vpp編程電壓,實現自動讀寫時序。

  FPGA的引腳除電源、時鐘和復位以及幾個配置時鐘引腳外,其余引腳均可作為通用I/O使用,因此,與FLASH連接時,只需要FPGA的普通I/O引腳和FLASH的引腳相連即可,在實際編程過程中,要嚴格按照FLASH的工作時序給定正確的時序。注意,電源和接地引腳以及NC管腳不可連接在FPGA上。FLASH電路圖如圖2所示。

b.jpg

  2 存儲電路軟件設計

  2.1 SDRAM控制器設計

  SDRAM具有空間存儲量大、讀/寫速度快、價格相對便宜的特點,因此許多嵌入式設備的大容量、高速度存儲器都采用SDRAM來實現,但其控制邏輯復雜,需要周期性刷新操作、行列管理、不同延時和命令序列等。目前,大多都采用專用芯片完成它的控制電路,這不但提高了設計成本,而且使系統的硬件電路變得復雜。隨著FPGA在嵌入式系統中的廣泛應用,FPGA管腳設計靈活,結合具體的需要,利用FPGA來設計一個滿足雷達信號處理專用的SDRAM控制器,就可以極大地增加設計的靈活性,且硬件規模小,又可以滿足實時信號處理需求。本文就是基于這種處理方法來設計一個SDRAM控制器。

  在SDRAM控制器的FPGA實現方案中,采用FPGA的自底向上模塊化設計思想。首先分析頂層模塊所要完成的功能,之后再將其功能分類細化,分配到不同的子模塊去實現,然后從底層向頂層的先逐步完成各個子模塊的設計,最后將子模塊相互連接生成所需的頂層模塊。設計SDRAM控制器是為了更好地滿足SDRAM與FPGA的通信而設計的。下面將具體介紹SDRAM控制器的設計方法。圖3為參考Altera公司SDRAM控制器的而設計的接口框圖。

c.jpg

  下面對接口信號進行介紹:與主機接口信號有CLK:系統時鐘信號;RESET:系統復位信號;CMD『2:0』:譯碼指令;CMDACK:指令應答信號,通知主機命令已被SDRAM執行;ADDR:地址線,該設計中為22位,A21,A20代表頁地址BA1,BA0;A19~A8代表行地址;A7~A0代表列地址;DATAIN/DATAOUT:輸入、輸出數據總線;DM:數據掩碼。與SDRAM接口信號有RADDR:12位地址線,在讀/寫操作時,地址線時復用為行地址和列地址;BA0,BA1頁地址選擇;CS:片選信號;CKE:時鐘使能信號;RAS,CAS,WE:命令控制信號;DQM:SDRAM數據掩碼;DQ:雙向數據線。SDRAM控制器作為頂層模塊,內部由3個主要模塊構成:系統控制接口模塊、命令生成模塊和數據路徑模塊。系統控制接口模塊用于接收系統的控制信號,進而產生不同的CMD命令組合;命令用于接收CMD命令并解碼成操作指令并產生SDRAM的操作動作;數據通路模塊則用于控制數據的有效輸入/輸出。

  使用SDRAM的目的是進行數據傳輸,即要求能正確地讀寫數據。因此,在SDRAM操作過程中,最重要是就是初始化、讀和寫的操作,因此,本文完成了SDRAM初始化在QuailtusⅡ仿真下的時序波形圖,如圖4所示。

d.jpg

  2.2 FLASH讀/寫控制設計

  讀/寫控制的主要功能是將數據寫入FLASH;在模塊正常工作時,為系統提供數據。而FPGA這種大規模的可編程器件十分適合邏輯電路的設計,能方便地控制和產生FLASH編程操作中的各種控制命令,實現編程器的功能。該模塊中,選擇的FLASH芯片的讀取時鐘周期為70ns。

  在對FLASH進行編程操作前,必須保證存儲單元為空。如果不為空,就必須先對FLASH芯片進行擦除操作。由于FLASH采用了模塊分區的陣列結構,支持扇區、塊和整個芯片一齊被擦除,扇區和塊擦除的時間周期為18 ms,整個芯片擦除時間為40 ms。而實現擦除操作只需在地址和數據端寫入不同的操作命令即可實現不同的擦除操作。

  FLASH的編程操作分三步驟:第一步是連續載入3 B命令的軟件數據保護操作;第二步是寫入字地址和字數據,在編程操作過程中,地址是在g.jpg的下降沿時有效,而數據則是在g.jpg的上升沿時有效;第三步是芯片內部的編程操作,該操作在g.jpg的第四個上升沿有效,隨后該內部編程操作在10 μs內即可完成。FLASH編程是基于字為基礎的,編程時要特別注意編程時間參數和使用的命令集,編程和擦除時的時鐘參數見FLASH手冊。

  下面敘述FLASH的擦除操作,擦除分為扇區擦除、塊擦除和整個芯片擦除,擦除的時序基本一致,過程如下:第一個時鐘周期在地址5555H寫入XXAAH數據,接著第二個時鐘周期在地址2AAAH寫入XX55H數據,第三個時鐘周期在地址5555H寫入XX8OH數據,第四個時鐘周期在地址5555H寫入XXAAH數據,接著第五個時鐘周期在地址2AAAH寫入XX55H數據,第六個時鐘周期在地址5555H寫入XX10H數據,然后芯片內部完成擦除工作。FLASH擦除完成后,內部所有的數據位全部置1。扇區擦除、塊擦除和芯片擦除的區別只是在第六個時鐘周期傳送的數據不同。擦除的時序圖如圖5所示。

e.jpg

  在寫數據時僅能使對應單元的數據位由“1”變為“0”,而從“0”變為“1”只有擦除命令才能完成。擦除操作可以按扇區擦除也可以對整個芯片擦除。因此在設計時可將程序代碼和常量表等固定數據和系統動態更新數據分開存放。每次向更新數據區寫數據前對該區數據進行擦除操作即可。

  在擦除和寫操作之后,就可以讀數據了,讀數據的操作非常簡單,由0E#,CE#控制,當這兩個信號為低電平時,在地址線上輸入地址,數據線上就可以讀出數據了。

  當按照規定的命令序列向FLASH存儲器發出命令時,其內嵌的算法狀態機會自動地完成相應的操作。但用戶還應了解其內部的操作檢測機制,以便知道操作是否完成,以及操作是否正確。該芯片的狀態檢測位有:數據查詢位DQ7,TOGOLE位DQ6和DQ2。通過查詢它們對應的狀態,即可知道芯片的工作狀態。

  在編程實現時,用狀態機實現FLASH的接口控制,要確保數據線和地址線的建立和保持時間滿足需求,嚴格確保實際提供的時序和硬件要求一致。圖6為在ModelSIM仿真下的FLASH的擦除時序圖。

f.jpg

  整個程序的編程實現是用有限狀態機來實現的。以擦除為例,介紹有限狀態機的設計方法。狀態控制借助系統時鐘進行,通過多個狀態來完成ERASE操作。狀態0初始化各輸出信號,狀態1~5完成第一個命令輸入,狀態7~10完成第二個命令的輸入,狀態12~15完成第三個命令的輸入,狀態17~20完成第四個命令的輸入,狀態22~25完成第五個控制命令輸入,狀態27~30完成第六個控制命令,接下來狀態是保持控制信號用來完成ERASE。在編程過程中,要完成進程控制:進程控制就是根據現態決定次態的控制并完成其他的信號賦值。在本設計中,狀態機根據不同的狀態對CE、OE#、WE#、地址、數據等FLASH控制信號進行賦值,從而完成對Flash的控制。

  但是每執行1次寫操作,只能寫入1個地址單元里的字數據,如果按照這個方法,完成整個FLASH芯片2 MWord的數據寫入就需要重復執行寫操作2兆次,這樣既麻煩又浪費時間。在實際操作中,通常通過計算機上的圖形界面來完成FLASH的燒寫工作,通過圖形界面使單片機把計算機存儲的數據暫存在SDRAM,然后通過一個判斷語句檢測SDRAM是否存滿,沒有存滿則繼續存儲,如果存滿則通過FPGA控制把SDRAM上的數據存儲在FLASH上,這樣通過一次操作即可存滿。

  3 結語

  本文介紹了FPGA外部存儲器的設計方法,可以有效地解決雷達實時信號處理過程中海量數據的存儲問題,同時也可以充分利用FPGA去控制SDRAM和FLASH,不僅保證了資源的充分利用,也可以有效地滿足信號處理過程中的高速實時的要求。另外,可以根據FPGA型號的不同,適當地更改外部存儲器,以滿足不同的應用場合。



 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产77777蜜臀| 亚洲欧洲精品一区二区三区不卡 | 国产视频综合在线| 欧美高清在线精品一区| 亚洲精品久久久一区二区三区| 欧美精品国产精品| 亚洲欧美色一区| 欧美一区二区精品在线| 亚洲国产精品999| 欧美日韩精品中文字幕| 欧美一区二区视频97| 亚洲国产电影| 99国产精品久久久| 国产日韩欧美中文| 欧美激情一区二区久久久| 亚洲一区日本| 亚洲国产精品一区二区第一页| 亚洲精品综合精品自拍| 国产视频一区在线观看| 欧美国产大片| 久久精品国产一区二区电影| 亚洲精品在线电影| 亚洲欧美日韩综合一区| 亚洲国产婷婷| 国产精品一区二区三区四区| 欧美**人妖| 欧美一级免费视频| 亚洲精品影院| 欧美在线首页| 在线亚洲自拍| 在线观看亚洲a| 国产精品伦子伦免费视频| 欧美sm视频| 亚洲一区尤物| 91久久夜色精品国产九色| 亚洲一区二区三区四区中文| 亚洲国产精品成人久久综合一区| 欧美日韩在线观看一区二区三区| 久久久国产精品一区| 亚洲午夜av| 亚洲精品孕妇| 久久精品午夜| 亚洲欧美日本国产有色| 亚洲久久一区| 亚洲国产精品毛片| 国产一区二区三区丝袜| 国产精品裸体一区二区三区| 欧美成人嫩草网站| 久久精品国产清高在天天线| 亚洲一区国产| 午夜精品免费视频| 亚洲人成在线播放网站岛国| 激情久久影院| 国产日韩精品一区观看| 欧美日韩一区二区三区四区五区| 欧美成人综合| 久久在线免费观看视频| 校园春色综合网| 亚洲自拍偷拍视频| 一区二区日本视频| 一区二区欧美日韩| 日韩一区二区免费高清| 亚洲人成在线影院| 亚洲国产综合在线| 亚洲国产欧美不卡在线观看| 欧美伊人久久久久久久久影院 | 欧美在线视频不卡| 亚洲欧美网站| 亚洲免费网站| 亚洲综合激情| 亚洲中无吗在线| 亚洲免费人成在线视频观看| 亚洲天堂av在线免费| 一区二区三区四区精品| 一区二区三区久久网| 9i看片成人免费高清| 99精品欧美一区二区三区| 日韩一二三在线视频播| 一区二区三区日韩在线观看| 9人人澡人人爽人人精品| 亚洲伦理中文字幕| 日韩亚洲欧美一区二区三区| 一道本一区二区| 一区二区高清在线观看| 亚洲图片你懂的| 亚洲永久免费| 欧美一区二区在线| 亚洲电影成人| 亚洲美女色禁图| 亚洲一区成人| 欧美亚洲一区二区在线| 午夜视频一区二区| 欧美中文字幕精品| 久久久久久日产精品| 麻豆国产精品777777在线 | 国产欧美一区二区白浆黑人| 国产亚洲精品aa| 欧美一级欧美一级在线播放| 欧美图区在线视频| 国产精品久久久91| 国产日韩欧美日韩| 在线成人黄色| 亚洲全黄一级网站| 亚洲天堂av在线免费| 欧美一区1区三区3区公司| 久久精品理论片| 夜夜嗨av色综合久久久综合网| 亚洲亚洲精品在线观看 | 亚洲日本aⅴ片在线观看香蕉| 亚洲精品影院在线观看| 亚洲午夜未删减在线观看| 欧美一区二区国产| 免费人成精品欧美精品| 欧美日韩中文字幕| 国产欧美日韩视频一区二区| 黑人中文字幕一区二区三区 | 日韩西西人体444www| 亚洲综合色婷婷| 久久精品在这里| 欧美精品在线免费播放| 国产精品女主播在线观看| 一区精品在线| 一区二区三区久久久| 久久激情综合| 在线一区二区日韩| 久久久夜精品| 国产精品99一区二区| 好吊色欧美一区二区三区四区| 亚洲国产综合在线看不卡| 亚洲一区尤物| 亚洲免费精彩视频| 久久黄色影院| 欧美视频在线观看 亚洲欧| 国产婷婷色综合av蜜臀av| 亚洲精品国产精品乱码不99| 亚洲欧美中文日韩在线| 亚洲免费精品| 久久精品中文字幕免费mv| 欧美日韩精品一区二区三区四区| 国产视频久久久久久久| 亚洲精品一二三| 久久精品国产精品亚洲| 亚洲一区中文| 欧美国产日本在线| 国产在线不卡视频| 中文成人激情娱乐网| 亚洲精选在线| 国产精品乱码| 国产精品男女猛烈高潮激情| 亚洲高清视频一区二区| 午夜激情亚洲| 亚洲男人的天堂在线aⅴ视频| 蜜臀av国产精品久久久久| 国产精品亚洲综合天堂夜夜| 日韩视频不卡中文| 亚洲人成人一区二区在线观看| 久久九九有精品国产23| 国产精品久久久久一区二区三区| 最新日韩欧美| 亚洲激情偷拍| 久久久久免费观看| 国产精品永久| 在线综合亚洲欧美在线视频| 91久久久久久国产精品| 久久人体大胆视频| 国产精品午夜国产小视频| 一区二区国产精品| 亚洲美女视频在线观看| 免费亚洲电影| 极品日韩久久| 欧美资源在线观看| 久久国产精品电影| 国产欧美日韩亚洲一区二区三区| 日韩亚洲国产欧美| aaa亚洲精品一二三区| 欧美国产日韩在线| 亚洲电影免费在线| 亚洲国产成人不卡| 久久综合九色99| 好吊妞**欧美| 亚洲第一精品夜夜躁人人爽| 久久国产精品久久w女人spa| 国产日韩免费| 午夜精品久久久久久久久久久久久| 亚洲欧美日韩综合国产aⅴ| 国产精品国产精品国产专区不蜜| 亚洲激情在线| 9l国产精品久久久久麻豆| 欧美日韩亚洲高清| aa亚洲婷婷| 亚洲欧美日本精品| 国产精品亚洲产品| 先锋影音国产精品| 久久久久久久久久久久久9999| 国产一区再线| 亚洲国产高潮在线观看| 欧美高潮视频| 一本不卡影院| 午夜精品久久一牛影视| 国产亚洲欧美日韩精品|