基于FPGA的微型數(shù)字存儲(chǔ)系統(tǒng)設(shè)計(jì)
2.1.3 USB 2.0控制器CY7C68013
CY7C68013是Cypress公司生產(chǎn)的一款USB 2.0控制器,該器件具有運(yùn)算速度快、功耗小和性?xún)r(jià)比高等特點(diǎn)。時(shí)鐘周期高達(dá)40 MHz,每執(zhí)行1條指令需4個(gè)時(shí)鐘周期;其內(nèi)部集成有USB接口,I2C總線(xiàn)接口等,該系統(tǒng)設(shè)計(jì)實(shí)際數(shù)據(jù)傳輸速度高達(dá)10 MHz。
2.2 電路設(shè)計(jì)思路
圖1為系統(tǒng)硬件結(jié)構(gòu)框圖,計(jì)算機(jī)通過(guò)USB接口控制可編程邏輯器件FPGA實(shí)現(xiàn)對(duì)Flash存儲(chǔ)器的塊擦除、頁(yè)編程、讀數(shù)據(jù)等操作。本文引用地址:http://butianyuan.cn/article/191913.htm
塊擦除操作時(shí),計(jì)算機(jī)通過(guò)USB接口向FPGA發(fā)送指令,FPGA接收到指令后對(duì)Flash存儲(chǔ)器進(jìn)行塊擦除操作,并將狀態(tài)返回計(jì)算機(jī);頁(yè)編程操作時(shí), FPGA接收計(jì)算機(jī)并行接口發(fā)送的指令,立即對(duì)Flash存儲(chǔ)器進(jìn)行頁(yè)編程操作,先寫(xiě)命令,再寫(xiě)要編程的地址,然后將數(shù)據(jù)發(fā)送到Flash存儲(chǔ)器中;讀取數(shù)據(jù)操作時(shí),F(xiàn)PGA首先接收計(jì)算機(jī)發(fā)出的指令,然后對(duì)Flash存儲(chǔ)器進(jìn)行讀取數(shù)據(jù)操作,先寫(xiě)命令,再寫(xiě)要讀取的地址,然后開(kāi)始輸出數(shù)據(jù),并將狀態(tài)返回計(jì)算機(jī)并行接口。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 FPGA對(duì)Flash的讀、寫(xiě)、擦除操作
FPGA執(zhí)行對(duì)Flash的讀、寫(xiě)、擦除操作是利用VHDL語(yǔ)言的狀態(tài)機(jī)實(shí)現(xiàn)的。狀態(tài)機(jī)控制Flash的時(shí)序電路簡(jiǎn)單易行,邏輯關(guān)系一目了然。XC2S50接收到CY7C68013傳來(lái)的擦除控制命令,立即執(zhí)行擦除操作。按照時(shí)序,首先寫(xiě)入自動(dòng)塊擦除設(shè)置命令60H,之后依次寫(xiě)入2個(gè)行地址和1個(gè)列地址進(jìn)行尋址,而后寫(xiě)入擦除命令D0H開(kāi)始執(zhí)行擦除操作。
評(píng)論