《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于AMBA APB總線的Nand Flash控制器的設計
基于AMBA APB總線的Nand Flash控制器的設計
來源:微型機與應用2013年第20期
王新君1, 張 煒2, 馮士維1, 胡 杰2
(1. 北京工業大學 電子信息與控制工程學院, 北京100124; 2. 北京華芯微特科技有限公司,
摘要: 介紹了基于AMBA APB總線Nand Flash控制器的設計,首先簡單介紹了 Nand Flash的一些特點,然后詳細介紹了Nand Flash 控制器的整體框架、具體功能及其內部的數據通路。該控制器通過ModelSim進行了仿真及FPGA板級驗證,結果證明能夠滿足Nand Flash時序要求。
Abstract:
Key words :

摘  要: 介紹了基于AMBA APB總線Nand Flash控制器的設計,首先簡單介紹了 Nand Flash的一些特點,然后詳細介紹了Nand Flash 控制器的整體框架、具體功能及其內部的數據通路。該控制器通過ModelSim進行了仿真及FPGA板級驗證,結果證明能夠滿足Nand Flash時序要求。
關鍵詞: Nand Flash; Flash控制器; AMBA APB總線; 仿真; 狀態機

    嵌入式系統的廣泛應用使得數據存儲和數據管理逐步成為一個重要課題。Flash存儲器越來越多地應用并逐步取代其他存儲器,成為嵌入式系統中重要地數據及程序載體[1]。
    Flash主要分為Nor Flash、Nand Flash、And Flash三種。Nand Flash由于其優越的性能,成為主流內存。Nand Flash不僅具有存儲密度高、讀出數據快的優點,而且價格上也有優勢,適合大數據存儲[2]。但是應用Nand Flash必須提供專用的接口控制時序,因此目前設計主流的嵌入式SoC芯片如果要提供對Nand Flash的支持,就需要設計一個Nand Flash控制模塊電路。
 本文介紹了Nand Flash的操作方法,并基于此操作方法詳細介紹了該接口電路的結構及讀寫數據流。同時介紹了Nand Flash的詳細操作和狀態機控制。最后,給出了該模塊在服務器上的仿真時序圖。
1 Flash簡介
    由Intel公司于1988年推出的Nor Flash技術具有工作電壓低、隨機讀取快、功耗低、穩定性高等優點。東芝公司于1989年發表的Nand Flash結構則強調成本和性能,其容量較大、改寫速度快,適用于大量數據的存儲,在嵌入式產品中得到了廣泛的應用,如數碼產品、小體積U盤等[3]。
    隨著SoC技術的發展,集成SoC的整機系統規模越來越大,功能越來越強大。在這些整機系統中,Nand Flash得到了廣泛的應用。為了支持Nand Flash通信,在SoC中必須設計Nand Flash控制器接口。本文設計的Nand Flash控制器支持AMBA APB接口。經ModelSim仿真和FPGA驗證表明,本設計完全滿足Nand Flash的時序和通信功能要求,并最終成功流片。
2 總體結構與子模塊劃分
    該設計是基于AMBA APB總線的模塊。AMBA2.0總線為嵌入式微控制器定義了一套片上總線標準,用戶可獨立設計基于該規范的外IP。
 總體結構如圖1所示,可分為APB總線接口模塊、Flash控制模塊。APB總線接口模塊控制時序依據AMBA APB總線規范,主要負責與APB總線之間的通信與交互,如鎖存總線來的地址、數據、片選、使能等。Flash控制模塊主要負責與APB總線接口模塊的交互、從Flash獲取數據,并將8 bit數據整合成32 bit。
    Read_Done表示讀取數據結束,由Flash控制模塊輸出到APB接口模塊,作為中斷觸發信號觸發中斷。APB接口模塊中的中斷(interrupt)部分處理中斷信號,并輸出Int_Output信號。DATA是Flash控制器由Flash中讀出的數據。Flash_Addr、Read_Enable、Read_Type和Addr_Length是由APB接口模塊給到Flash控制模塊的信號,分別是各自對應寄存器的值。Spi_clk、CS、WP、HOLD、SI和SO是Flash控制模塊與Flash對應端口的連接。
3 AMBA APB總線接口模塊
 該Flash控制器通過APB總線接口模塊與APB總線接口通信。APB總線輸入信號包括時鐘信號PCLK、片選信號PSEL、復位信號PRESETn、地址信號PADDR[31:0]、寫數據信號PWDATA[31:0],還包括控制信號組:PWRITE為讀寫控制信號、PENABLE為使能信號。APB總線接口模塊返回給總線的信號有讀數據信號PRDATA[31:0]。APB總線讀寫按照APB總線讀寫時序要求,如圖2、圖3所示。

    APB接口模塊中包含多個寄存器,各個寄存器的功能:Addr_Length_Reg是地址長度寄存器,用于鎖存Addr_Length信號(Addr_Length是長度信號,表示將要傳送的數據長度,該數據長度可以自行定義由APB總線輸入,較為靈活,可以拷貝不同長度的數據或程序);Read_Type_Reg是讀類型寄存器,用于鎖存APB總線的Read_Type信號(Read_Type是讀類型信號,標志讀取數據時的方式,Read_Type為0時是單通道讀數據,為1時是雙通道讀數據);Flash_Addr_Reg 是Flash地址寄存器,用于鎖存Flash_Addr信號(Flash_Addr是Flash讀操作的起始地址);Read_Enable_Reg是讀使能寄存器,用于鎖存APB總線的Read_Enable信號(Read_Enable是使能信號,當Read_Enable置1時,開始從Flash中讀取數據,直到數據長度等于Addr_Length_Reg中的數據長度值)。
4 Flash控制模塊
    本設計采用的Flash支持標準SPI接口,最高時鐘頻率可達120 MHz。本設計支持對Flash的讀操作分為單通道方式和雙通道方式,分別如圖4、圖5所示。

    Flash控制器對于Flash的讀操作通過狀態機實現。狀態機負責整個模塊的狀態控制,完成對Nand Flash的讀、寫、發命令字、發地址等狀態控制操作。寄存器堆包括當前狀態寄存器、下一狀態寄存器、命令寄存器、地址寄存器、數據長度寄存器、數據接收寄存器、地址發送狀態寄存器、命令發送狀態寄存器和數據接收使能寄存器。當前狀態寄存器和下一狀態寄存器分別寄存當前狀態和下一狀態;命令寄存器和地址寄存器分別寄存發給Nand Flash的命令字和地址;數據長度寄存器寄存當前傳輸數據的個數;兩個32位數據接收寄存器輪流交替接收數據;地址發送狀態寄存器和命令發送狀態寄存器分別標示地址和命令的發送完成與否;兩個數據接收使能寄存器標示是否可以接收數據,對應于兩個數據接收寄存器。
    狀態機部分包括9個狀態,分別是Idle、Send_Command、Send_Address_S、Receive_Data_A_S、Receive_Data_B_S、Send_Address_D、Send_M、Receive_Data_A_D和Receive_Data_B_D,用以發出對Nand Flash的控制操作信號。其狀態轉換關系如圖6所示。

 

 

    在有些設計中,會將FIFO控制以及時序控制模塊做在一起,形成一個大狀態機[3]。還有一些設計對FIFO的控制構造成兩個協同工作的狀態機,再對時序的控制劃分成另一個基本上由計數器組成的模塊,使得每個模塊思路簡單清晰,FIFO利用率高,而且FIFO大小可配置[4]。但是,這樣設計的狀態機過于復雜,對FIFO的利用率較低或者控制較為煩冗,硬件資源占用較大。本設計對于數據的緩存采取應用寄存器的方法,占用硬件資源較小,而且采用兩個32位寄存器輪流緩存數據,消除了等待時間且控制簡單,提高了傳輸效率。
5 模塊驗證
 該設計Verilog代碼編寫完成后,編寫測試向量(Testbench)并進行了仿真,證實其功能是完全可以實現的。實際波形如圖7、圖8所示。

    該模塊已先后通過了服務器上進行的寄存器級(RTL)模擬、后模擬驗證和在FPGA開發板上的仿真驗證,并在實際芯片設計中得到了具體的應用驗證,流片后芯片功能達到了預期的設計目的。
    軟件實現對Flash的各種操作的方式很耗費時鐘周期,讀寫速度大大下降。該設計不僅解決了傳輸速度慢的問題,同時建立了由片外Flash到片內存儲空間的直通道,可將數據直接從Flash傳輸到片內,傳輸操作由Flash控制模塊完成而不需要CPU參與,減少CPU占用。與此同時,實現了多種Flash數據傳輸方式,包括單通道讀、雙通道讀,數據傳輸長度由用戶自行定義,根據實際需求自由設置傳輸長度,增強了該設計的利用范圍、靈活性和可移植性。另外,Flash控制模塊內的兩個數據接收寄存器交替接收數據,消除了兩次數據接收之間的等待時間,提高了芯片的工作效率。當然因為Nand Flash的操作復雜,該設計還未能完全實現對Nand Flash所有操作的支持,在今后的設計中需進一步完善。
參考文獻
[1] 蔡錦達,王德福,黃小松.大容量Nand Flash在ARM嵌入式系統中的應用[J]. 工業控制計算機, 2004,17(5):43-44.
[2] 王洋,劉衛東,于崗.基于AMBA APB總線Nand Flash控制器的設計研究[J].電子設計工程,2011,19(20):166-168.
[3] 唐宇光,王鎮,凌明.一種基于AMBA總線的Nand Flash 控制接口電路設計[J].電子器件,2004,27(2):306-311.
[4] 薛杰,戎蒙恬,劉文江.一種可配置Nand-Flash控制器的設計[J].信息技術,2006(11):1-4.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区黄色| 牛牛精品成人免费视频| 亚洲黄色毛片| 久久爱91午夜羞羞| 欧美亚洲一区在线| 亚洲欧美日韩国产综合精品二区 | 欧美另类专区| 久久综合九色综合欧美就去吻| 亚洲国产精品一区二区尤物区 | 亚洲欧洲日本国产| 亚洲国产激情| 亚洲国产精品久久久久秋霞影院| 欧美视频一区在线观看| 欧美精品在线观看一区二区| 噜噜噜噜噜久久久久久91| 久久精品一本久久99精品| 欧美在线观看视频一区二区| 午夜视频一区在线观看| 欧美一区2区三区4区公司二百| 亚洲国产精品久久久久婷婷老年| 亚洲九九爱视频| 日韩网站免费观看| aa国产精品| 亚洲伊人网站| 亚洲欧美日韩直播| 欧美一区二区三区精品电影| 久久精品国产2020观看福利| 久久精品色图| 亚洲日本欧美日韩高观看| 亚洲精品欧美在线| 亚洲色无码播放| 亚洲欧美一区二区原创| 欧美一区二区三区免费看| 久久爱另类一区二区小说| 久久精品夜色噜噜亚洲a∨| 老司机久久99久久精品播放免费| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产精品尤物yw在线观看| 国产精品99久久久久久久久久久久| 精品成人在线| 亚洲国产第一页| 一区二区精品| 午夜精品亚洲一区二区三区嫩草| 亚洲美女视频在线观看| 亚洲少妇中出一区| 性久久久久久久| 亚洲高清视频在线| 99re热这里只有精品免费视频| 亚洲第一天堂av| 亚洲精品一区二区在线观看| 一本久久综合| 久久国产精品黑丝| 欧美国产精品劲爆| 国产精品女人网站| 1024精品一区二区三区| a4yy欧美一区二区三区| 午夜亚洲精品| 日韩视频一区二区在线观看| 午夜精品亚洲| 免费在线看一区| 欧美午夜国产| 一区二区三区我不卡| 日韩一级黄色片| 欧美在线免费播放| 一区二区三区精品视频| 久久精品一级爱片| 欧美日韩国产限制| 国内偷自视频区视频综合| 亚洲精品国产精品国自产观看浪潮| 亚洲国产日韩在线| 亚洲欧美区自拍先锋| 亚洲九九九在线观看| 欧美一区精品| 欧美日韩精品一区视频 | 欧美精品免费视频| 国产精品女主播一区二区三区| 国产精品社区| 亚洲国产精品一区二区久| 午夜精品在线看| 中文亚洲字幕| 欧美成年人视频网站欧美| 国产欧美日韩视频| 99国产精品私拍| 亚洲人成在线影院| 久久精品视频在线观看| 欧美日韩综合不卡| 亚洲电影免费在线| 欧美一级视频精品观看| 亚洲天堂成人在线观看| 久久一区亚洲| 国产欧美三级| 亚洲午夜电影在线观看| 亚洲精品乱码久久久久久按摩观| 一级日韩一区在线观看| 老司机一区二区三区| 国产精品亚洲片夜色在线| 亚洲精品视频在线看| 亚洲电影免费观看高清完整版在线| 亚洲经典一区| 久久精品道一区二区三区| 国产精品第一区| av成人天堂| av成人免费在线观看| 欧美xx视频| 雨宫琴音一区二区在线| 欧美一区二区三区视频在线观看| 久久精品国产一区二区三区免费看| 亚洲电影在线观看| 欧美在线视频一区| 国产精品亚洲一区二区三区在线| 国内精品视频666| 亚洲在线视频网站| 亚洲视频一区二区| 欧美日韩国产精品一区二区亚洲| 国产精品久久久久影院亚瑟| 日韩亚洲视频| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲永久视频| 欧美日韩国产91| 亚洲美女免费精品视频在线观看| 亚洲自拍偷拍网址| 亚洲一区尤物| 国产精品久久久久9999高清| 日韩亚洲在线| 亚洲视频一区二区免费在线观看| 久久婷婷久久| 国产亚洲精品高潮| 久久电影一区| 久久免费一区| 亚洲高清视频中文字幕| 亚洲欧洲精品成人久久奇米网 | 欧美一区二区三区在线视频 | 国产精品色午夜在线观看| 亚洲小视频在线观看| 香蕉免费一区二区三区在线观看| 欧美成人在线影院| 亚洲国产片色| 一区二区欧美日韩| 欧美日韩在线一区二区三区| 亚洲视频在线观看三级| 午夜在线视频观看日韩17c| 国产农村妇女毛片精品久久麻豆 | 欧美中文日韩| 久久久午夜电影| 亚洲国产精选| 亚洲午夜一区二区| 国产目拍亚洲精品99久久精品| 夜夜精品视频一区二区| 亚洲综合色网站| 国产欧美日韩另类一区| 久久国产精品黑丝| 欧美激情精品| 亚洲午夜在线观看视频在线| 久久精品av麻豆的观看方式| 在线成人h网| 一区二区国产日产| 国产欧美精品在线播放| 亚洲国产精品一区二区www| 欧美日韩理论| 亚洲男人天堂2024| 蜜乳av另类精品一区二区| 亚洲免费高清| 久久国产黑丝| 亚洲日本欧美| 性色一区二区| 亚洲国产精品一区二区久 | 久久精品一区二区国产| 亚洲电影免费观看高清完整版在线观看| 欧美一级专区| 欧美成人免费在线| 夜夜嗨av一区二区三区中文字幕| 日韩系列欧美系列| 国产精品久久久久久亚洲毛片| 99re6热只有精品免费观看| 性欧美长视频| 亚洲人成艺术| 久久久精彩视频| 日韩亚洲欧美在线观看| 久久精品人人爽| 亚洲精品一区二区三区蜜桃久| 亚洲精品视频二区| 国产精品系列在线播放| 亚洲人体偷拍| 国产欧美午夜| 亚洲网址在线| 在线激情影院一区| 欧美一区二区高清| 亚洲伦理精品| 久久综合99re88久久爱| 亚洲一区二区欧美日韩| 欧美成人一区二区三区片免费| 亚洲欧洲在线视频| 久久激情视频免费观看| 日韩视频中文字幕| 欧美mv日韩mv国产网站app| 亚洲欧美区自拍先锋| 欧美另类videos死尸| 欧美在线在线| 国产精品影视天天线| 中文精品一区二区三区|