国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的FLASH控制器的設(shè)計

2017-03-06 21:09:39劉俊
電子技術(shù)與軟件工程 2016年23期
關(guān)鍵詞:控制器

摘 要

為了解決雷達數(shù)字波束形成系統(tǒng)中數(shù)據(jù)的存儲問題,本文設(shè)計了基于FPGA的FLASH控制器。通過有限狀態(tài)機實現(xiàn)對FLASH的讀寫控制,在modelsim中對設(shè)計進行了仿真驗證,并通過硬件測試證明了設(shè)計的正確性和可靠性。該方法充分利用了FPGA設(shè)計靈活、FLASH存儲讀寫速度快的優(yōu)勢,具有成本低廉,兼容性強,易于工程實現(xiàn)的特點。

【關(guān)鍵詞】FPGA FLASH 控制器

隨著數(shù)字陣列雷達的高速發(fā)展,對數(shù)字波束形成的要求越來越高,在實時處理過程中有大量數(shù)據(jù)需要存儲。由于FPGA本身存儲容量非常小,無法滿足數(shù)字波束形成處理過程中的存儲需求。為解決這一問題,采用FPGA+FLASH的硬件架構(gòu),以FPGA實現(xiàn)對FLASH的存儲控制,極大的擴展系統(tǒng)存儲容量。

本文以Altera公司FPGA芯片EP4SGX230和AMD公司AM29LV065D為例,詳細說明了基于FPGA的FLASH控制器的設(shè)計,利用Verilog HDL語言編寫同步有限狀態(tài)機實現(xiàn)了FPGA與FLASH存儲的接口操作。

1 FLASH控制器硬件設(shè)計

FLASH芯片選用AMD公司AMD29LV065D型號,該型號芯片的主要特點有:3.3v單電源供電,內(nèi)部進行編程和擦除操作;64Mbit存儲容量,內(nèi)部分為128個扇區(qū),可讀每個扇區(qū)單獨進行讀寫和擦除操作,而不影響其他扇區(qū)的數(shù)據(jù);超低能耗,典型讀操作只需消耗9mA,典型擦除/編程操作只需消耗26mA,典型靜態(tài)模式只需消耗200nA;操作簡單,只需按規(guī)定的時序向FLASH內(nèi)部命令寄存器寫入指令序列即可。

AMD29LV065D芯片的A[22:0]為地址總線,DQ[7:0]為三態(tài)數(shù)據(jù)總線,其它信號為芯片讀寫控制和操作標志信號。FPGA的引腳除電源、時鐘和復(fù)位以及幾個配置時鐘引腳外,其余引腳均可作為通用I/O使用。因此,與FLASH連接時,只需將FPGA的普通I/O引腳與FLASH引腳相連即可。FLASH電路圖如圖1所示。

2 FLASH讀寫模塊設(shè)計

AMD公司AM29LV065D芯片有90ns,100ns和120ns等3個速度等級,可充分滿足FPGA的工作時序要求。根據(jù)芯片的數(shù)據(jù)手冊采用Verilog HDL語言設(shè)計有限同步狀態(tài)機實現(xiàn)FLASH控制指令序列的時序狀態(tài)轉(zhuǎn)換,以完成對FLASH的擦除、讀、寫等操作。

2.1 FLASH擦除操作

擦除操作分為扇區(qū)擦除和整個芯片擦除,整片擦除的過程為:第一個時鐘周期在地址XXXH寫入AAH數(shù)據(jù),接著第二個時鐘周期在地址XXXH寫入55H數(shù)據(jù),第三個時鐘周期在地址XXXH寫入80H數(shù)據(jù),第四個時鐘周期在地址XXXH寫入AAH,第五個時鐘周期在地址XXXH寫入55H,第六個時鐘周期在地址XXXH寫入10H。扇區(qū)擦除的過程與整片擦除的過程一致,只是第六個時鐘周期在地址處寫入相應(yīng)扇區(qū)地址,數(shù)據(jù)處寫入30H。然后等待芯片內(nèi)部完成擦除工作即可。FLASH扇區(qū)擦除或整個芯片擦除完成后,相應(yīng)扇區(qū)或整個芯片內(nèi)部所有數(shù)據(jù)位全部置成‘1。

2.2 FLASH寫操作

FLASH芯片的寫操作包括擦除操作和編程操作。在對相應(yīng)扇區(qū)進行寫操作之前,必須先將該扇區(qū)的數(shù)據(jù)進行擦除處理。在擦除操作后整個扇區(qū)的數(shù)據(jù)均被置為FFH,即所有數(shù)據(jù)位均處于‘1的狀態(tài)。在寫數(shù)據(jù)時僅能使對應(yīng)單元的數(shù)據(jù)位由‘1變?yōu)椤?。

擦除操作如2.1節(jié)所述。編程操作過程為:第一個時鐘周期在地址XXXH寫入AAH數(shù)據(jù),接著第二個時鐘周期在地址XXXH寫入55H數(shù)據(jù),第三個時鐘周期在地址XXXH寫入A0H數(shù)據(jù),第四個時鐘周期在地址相應(yīng)的地址寫入相應(yīng)的數(shù)據(jù)。即可完成對單個數(shù)據(jù)的寫操作,循環(huán)多次可實現(xiàn)對整個扇區(qū)的寫操作。

2.3 FLASH讀操作

FLASH讀操作相對較簡單,其過程為:輸入地址XXXH,讀取輸出數(shù)據(jù)XXH即可。

2.4 FLASH控制狀態(tài)設(shè)計

利用有限狀態(tài)機來實現(xiàn)對FLASH擦除、讀、寫等狀態(tài)的跳轉(zhuǎn)。本文共設(shè)計有17個狀態(tài)。其中,狀態(tài)0為IDLE狀態(tài),狀態(tài)1為工作模式判斷狀態(tài),狀態(tài)2-7完成塊擦除操作,狀態(tài)8-12為寫狀態(tài),狀態(tài)13為寫塊結(jié)束判斷狀態(tài),狀態(tài)14為寫結(jié)束狀態(tài),狀態(tài)15為讀狀態(tài),狀態(tài)16為讀結(jié)束狀態(tài)。

系統(tǒng)工作時,首先判斷工作方式。當工作方式為寫時,先對寫操作對象扇區(qū)進行擦除處理,然后依次寫入數(shù)據(jù),每寫一個數(shù)據(jù)后進行寫塊結(jié)束判斷,如當前塊已寫完畢,狀態(tài)跳轉(zhuǎn)至下一待寫扇區(qū)擦除狀態(tài),直至所有待寫塊均寫完畢,狀態(tài)跳轉(zhuǎn)至IDLE狀態(tài)。當工作方式為讀時,直接對待讀地址依次進行讀取,每讀一個數(shù)據(jù)后進行讀結(jié)束判斷,直至所有待讀地址均讀完畢,狀態(tài)跳轉(zhuǎn)至IDLE狀態(tài)。

FLASH芯片在復(fù)位和命令操作出錯后均返回讀模式,只要輸出使能信號OE#,片選信號CE#處于低電平,即可將地址總線上對應(yīng)地址存儲單元的數(shù)據(jù)送出。當按照規(guī)定的命令序列向FLASH存儲器發(fā)出命令時,狀態(tài)機自動地完成相應(yīng)的操作。FLASH的狀態(tài)位為RY/BY#引腳,在對FLASH操作過程中,如該引腳輸出低電平表示FLASH處于忙狀態(tài),操作完成后變成高電平,表示FLASH回到空閑狀態(tài)。

3 結(jié)束語

本文設(shè)計了基于FPGA的FLASH控制器,詳細說明了利用同步有限狀態(tài)機實現(xiàn)對FLASH存儲器的讀寫控制方法,并通過modelsim時序仿真驗證了該方法的正確性。該方法已成功應(yīng)用于數(shù)字波束形成系統(tǒng)設(shè)計中,實踐證明了該方法的正確性和可靠性。本文所介紹的設(shè)計方法普遍適用于FPGA對NOR FLASH存儲器的讀寫控制。

參考文獻

[1]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.

[2]魏家明.Verilog編程藝術(shù)[M].北京:電子工業(yè)出版社,2014.

[3]Altera Corporation.Stratix IV Device Handbook[Z].Alteracrop Corporation,2006.

[4]Semiconductor.AM29LV065D Data Sheet [Z].AMD,2005.

[5]吳豫,孟憲元.FLASH編程器的FPGA實現(xiàn)[J].半導(dǎo)體技術(shù),2003(05):48-51,69.

作者簡介

劉?。?985- )男,湖北省石首市人。碩士學(xué)位。現(xiàn)為南京電子技術(shù)研究所工程師。主要研究方向為雷達信號處理。

作者單位

南京電子技術(shù)研究所 江蘇省南京市 210013

猜你喜歡
控制器
模糊PID控制器設(shè)計及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
自動化博覽(2014年9期)2014-02-28 22:33:17
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
4V三輸出同步降壓型控制器
柘城县| 屏东县| 鸡东县| 沂源县| 桃园市| 凌云县| 建湖县| 张北县| 盐池县| 虹口区| 旺苍县| 大洼县| 平原县| 汉中市| 定陶县| 社旗县| 团风县| 钦州市| 兴安县| 南宫市| 靖州| 宝鸡市| 鸡泽县| 白玉县| 建瓯市| 读书| 增城市| 额尔古纳市| 桃园市| 淄博市| 交口县| 绥宁县| 张掖市| 韶山市| 马公市| 敦化市| 宜章县| 平武县| 喜德县| 洪江市| 苍溪县|