新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于NAND FLASH的大容量視頻存儲系統的設計

        基于NAND FLASH的大容量視頻存儲系統的設計

        作者: 時間:2012-05-30 來源:網絡 收藏


        3 軟件
        上電復位加載完程序之后,程序對寄存器初始化完成后就進入循環等待狀態,準備接收中心控制發送的命令。當通過PPI接收到命令后,就對命令進行分析,判斷中心控制板要板完成什么操作,如文件、下載、剪切、復制或刪除等等。文件流程圖如圖4所示。

        本文引用地址:http://www.104case.com/article/165555.htm

        d.jpg


        當上位機通過網絡給中心控制板發送開始命令后,中心控制板首先發送開始拍攝命令和拍攝參數給前端壓縮,建立TCP鏈接,然后發送開始命令給存儲板。存儲板接收到中心控制分系統發送過來的命令后,首先讀取文件列表到DSP的SDRAM當中,DSP檢索出其中的文件個數和最后一個文件的存儲地址,在SDRAM中添加新文件表項到當前的文件列表,然后擦除先前存儲在中的文件列表后重新寫入修改過后的文件列表。根據系統壓縮的要求,如果前端壓縮后的碼流速度為2 Mb/s,為了使得DSP集中處理數據,我們擬定中心控制板和存儲板之間每4 s傳輸一次數據。由于每次壓縮后的數據長度不是一個既定數,因此只能按照最大數據長度來傳輸,即每次傳輸1 MB。由于PPI接口寄存器位寬的限制,每次傳輸數據長度不能超過(128K-1)B,我們設定每次傳輸長度為100 KB,財DSP通過PPI接收的數據需要通過11次才能接收完畢。中心控制分系統把有效數據長度作為一個參數放置在數據的末尾,存儲板按照這個參數對緩存到SDRAM中的數據進行處理,剩余無效數據拋掉。

        4 壞塊的檢測處理
        由于制作工藝等原因, 在出廠時會存在隨機分布的壞塊,另外在使用過程中也會造成壞塊。如果冒然對壞塊進行操作,會造成數據的丟失,影響數據的完整性。另外,在檢測編程和擦除結束標志時,FLASH的I/O返回的狀態不穩定,會導致程序進入無限等待狀態,這樣會大大影響整個系統的性能。因此,有必要對FLASH進行壞塊檢測和處理。
        檢測壞塊的方法有兩種:一種方法是利用芯片出廠時廠家給的壞塊信息,它被廠家標記在壞塊的第一頁和第二頁的備用空間的首字節中,即頁內地址(列地址)為4 096的字節中。如果這兩個字節都是0xFF,則表明當前塊不是壞塊,否則為壞塊。另一種方法是將當前塊先擦除,然后讀出當前塊的數據,如果讀出的數據不全是0xFF,則表明此塊為壞塊(考慮到不使用備用空間)。
        由于壞塊與有效塊相互獨立,互不影響,所以對FLASH進行操作時只要將壞塊跳過即可。考慮到本系統的視頻數據采用文件的形式存儲,也就是說在讀寫操作之前DSP需要準確知道文件的存儲地址,包括文件的開始地址和結束地址,所以必須要將檢測出來的壞塊表存儲在DSP的存儲器中。如果將壞塊列表存放在 FLASH中,會存在一個問題:存 放壞塊列表的地方本身就在壞塊區該如何處理,如果做特殊處理的話會影響程序的一致性。另外,每次搜索之前都得把壞塊列表從 FLASH中讀出來,這樣的話程序會進入好幾次中斷,從而影響整個程序的流程。考慮到程序燒寫FLASH有16 Mb,而DSP程序不超過20 KB,于是可以將壞塊列表放在程序燒寫FLASH中,也就是說程序燒寫FLASH既存放程序,又存放壞塊列表。這樣,DSP可以對壞塊列表進行直接訪問。

        5 結語
        在整個系統的測試過程中,本部分工作正常,對NAND FLASH的訪問能跳過壞塊,保證數據的正確性和完整性。另外,如何采用流水線方式提高存儲速率是今后研究的重點。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桃江县| 双牌县| 和平县| 象州县| 安福县| 政和县| 九寨沟县| 定南县| 西乌珠穆沁旗| 万安县| 沅陵县| 普格县| 华亭县| 含山县| 广丰县| 扶风县| 永吉县| 芜湖县| 泰来县| 浑源县| 五河县| 锦州市| 达拉特旗| 巴彦县| 南京市| 铜川市| 山东省| 南皮县| 防城港市| 确山县| 依兰县| 平罗县| 阳新县| 交口县| 望谟县| 五大连池市| 志丹县| 哈尔滨市| 南雄市| 惠水县| 玉树县|