基于FPGA的微型數字存儲系統設計
2.1.3 USB 2.0控制器CY7C68013
CY7C68013是Cypress公司生產的一款USB 2.0控制器,該器件具有運算速度快、功耗小和性價比高等特點。時鐘周期高達40 MHz,每執行1條指令需4個時鐘周期;其內部集成有USB接口,I2C總線接口等,該系統設計實際數據傳輸速度高達10 MHz。
2.2 電路設計思路
圖1為系統硬件結構框圖,計算機通過USB接口控制可編程邏輯器件FPGA實現對Flash存儲器的塊擦除、頁編程、讀數據等操作。本文引用地址:http://www.104case.com/article/191913.htm
塊擦除操作時,計算機通過USB接口向FPGA發送指令,FPGA接收到指令后對Flash存儲器進行塊擦除操作,并將狀態返回計算機;頁編程操作時, FPGA接收計算機并行接口發送的指令,立即對Flash存儲器進行頁編程操作,先寫命令,再寫要編程的地址,然后將數據發送到Flash存儲器中;讀取數據操作時,FPGA首先接收計算機發出的指令,然后對Flash存儲器進行讀取數據操作,先寫命令,再寫要讀取的地址,然后開始輸出數據,并將狀態返回計算機并行接口。
3 系統軟件設計
3.1 FPGA對Flash的讀、寫、擦除操作
FPGA執行對Flash的讀、寫、擦除操作是利用VHDL語言的狀態機實現的。狀態機控制Flash的時序電路簡單易行,邏輯關系一目了然。XC2S50接收到CY7C68013傳來的擦除控制命令,立即執行擦除操作。按照時序,首先寫入自動塊擦除設置命令60H,之后依次寫入2個行地址和1個列地址進行尋址,而后寫入擦除命令D0H開始執行擦除操作。
評論