系統(tǒng)與外部的接口有兩個(gè)。一是與CPU的接口,主要完成系統(tǒng)的初始化、外部命令和地址的輸入以及內(nèi)部狀態(tài)參數(shù)的輸出,同時(shí)CPU還要對(duì)存儲(chǔ)區(qū)完成管理:無效塊的管理、地址的譯碼和映射等;二是與外部高速數(shù)據(jù)源的接口,主要完成外部高速數(shù)據(jù)的接收和發(fā)送。這里選用了1394高速總線作為數(shù)據(jù)源總線。這一模塊包括數(shù)據(jù)輸入FIFO、數(shù)據(jù)輸出FIFO和一個(gè)作為數(shù)據(jù)備份的SRAM。由于閃存的寫入速度比較慢,如果沒有數(shù)據(jù)緩沖區(qū)
系統(tǒng)與外部的接口有兩個(gè)。一是與CPU的接口,主要完成系統(tǒng)的初始化、外部命令和地址的輸入以及內(nèi)部狀態(tài)參數(shù)的輸出,同時(shí)CPU 還要對(duì)存儲(chǔ)區(qū)完成管理:無效塊的管理、地址的譯碼和映射等;二是與外部高速數(shù)據(jù)源的接口,主要完成外部高速數(shù)據(jù)的接收和發(fā)送。這里選用了1394高速總線作為數(shù)據(jù)源總線。
這一
模塊包括數(shù)據(jù)輸入FIFO、數(shù)據(jù)輸出FIFO和一個(gè)作為數(shù)據(jù)備份的SRAM。由于閃存的寫入速度比較慢,如果沒有數(shù)據(jù)緩沖區(qū),外部的高速數(shù)據(jù)很有可能會(huì)丟失,而且數(shù)據(jù)回放時(shí)也需要一個(gè)緩沖區(qū)使內(nèi)外的數(shù)據(jù)率匹配?紤]到編程出錯(cuò)時(shí)需要重新加載數(shù)據(jù),按照流水線的工作方式,如果不進(jìn)行數(shù)據(jù)備份,可能會(huì)出現(xiàn)出錯(cuò)時(shí)的數(shù)據(jù)丟失,因此選用了一個(gè)SRAM進(jìn)行數(shù)據(jù)備份。當(dāng)將輸入FIFO的數(shù)據(jù)寫入FLASH時(shí),同時(shí)也將數(shù)據(jù)寫入到SRAM進(jìn)行備份;當(dāng)需要重新編程時(shí),再從SRAM中將相應(yīng)的備份數(shù)據(jù)重新寫入FLASH。
這一模塊完成整個(gè)存儲(chǔ)器系統(tǒng)的內(nèi)部控制,是核心控制機(jī)構(gòu),連接著存儲(chǔ)區(qū)、數(shù)據(jù)緩沖以及外部接口三個(gè)模塊,完成它們之間的數(shù)據(jù)、命令、地址、狀態(tài)的相互傳遞、轉(zhuǎn)換和處理。主控模塊又分為三個(gè)子模塊,即存儲(chǔ)區(qū)控制子模塊、存儲(chǔ)區(qū)數(shù)據(jù)子模塊和1394接口控制子模塊,分別由三片FPGA(現(xiàn)場可編程邏輯陣列)完成。
1394高速總線上的串行數(shù)據(jù)通過一定的接口芯片變換成并行數(shù)據(jù)。當(dāng)大容量存儲(chǔ)器接收到外部1394高速總線上的數(shù)據(jù)存儲(chǔ)握手信號(hào)時(shí),1394接口控制子模塊利用握手信號(hào)產(chǎn)生一定的時(shí)鐘和控制信號(hào),控制高速數(shù)據(jù)緩存入32位的輸入FIFO。當(dāng)輸入FIFO的存儲(chǔ)量達(dá)到一次8級(jí)流水運(yùn)行的數(shù)據(jù)量時(shí),就向CPU發(fā)出中斷,申請寫操作啟動(dòng)。
存儲(chǔ)區(qū)的尋址采用
內(nèi)存尋址方式,即為FLASH存儲(chǔ)區(qū)分配一段內(nèi)存空間,CPU象訪問內(nèi)存一樣對(duì)其進(jìn)行尋址,大小為2M,共21根地址線,其中高3位是子模塊選擇,選擇8級(jí)流水中的某一級(jí);低18位是子模塊的每塊芯片的頁(行)地址。對(duì)于芯片內(nèi)的列地址,由于向每一頁寫入數(shù)據(jù)時(shí),總是從頁的起始處開始寫,即列地址(頁內(nèi)編程起始地址)是固定的,因此可以直接由FPGA給出。當(dāng)CPU接收