新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > CF卡在DM642基便攜式數字視頻系統中的應用

        CF卡在DM642基便攜式數字視頻系統中的應用

        作者: 時間:2009-12-16 來源:網絡 收藏

        寄存器0用于讀寫數據,寄存器1在讀操作時是錯誤寄存器,存放錯誤信息,寫的時候是特征寄存器。寄存器2用于存放讀寫扇區的數目。寄存器3~6用于存放讀寫扇區的地址。卡的扇區尋址有兩種方式:物理尋址方式(Cylinder/Head/Sector,CHS)和邏輯尋址方式(Logical Block Addressing,LBA)。CHS是扇區對應的具體的柱面、磁頭和扇區的地址,LBA的地址則在邏輯上是連續的,兩種尋址方式的轉換關系為:LBA地址=(柱面號×磁頭數+磁頭號)×扇區數+扇區號一1。本文選擇LBA的線性尋址方式。
        寄存器7在讀和寫時具有不同的意義。讀操作時是狀態寄存器,存放卡的狀態信息,寫的時候是命令寄存器,用于設置命令,完成相應的操作。
        卡讀寫程序之前要初始化DSP和,初始化GPIO,將的CE2空間設置為8位異步接口,將/REG配置為高電平,同時設置為8位數據接口。
        在讀寫扇區時,首先要設置好起始扇區的LBA地址和要讀寫的扇區數目,然后再設置命令寄存器,讀取數據設置為20H,寫入數據設置為30H,寫完后讀取狀態寄存器,只有當狀態寄存器為“58H”時才能開始讀寫操作,否則繼續查詢狀態。由于數據接口為8位,這樣對一個扇區就需要讀或寫512次數據寄存器即可。之后還要讀取狀態寄存器看是否為“50H”,判斷的操作是否完成,若完成,則退出本次操作,否則繼續查詢直至完成。
        CF卡寫一個扇區函數部分源碼如下:


        讀寫多個扇區的方法與此類似,設置好扇區的數目和相應的讀寫命令即可,一般說來直接設置循環讀寫比調用子程序的運行效率要高,因為它只需要讀寫一次扇區的起始地址即可。
        2.3 CF卡的
        本系統中CF卡上存儲的是mpeg2格式的數據,雖然的長度不確定,但是扇區地址用LBA尋址的話都是4字節。在本設計中CF卡的存儲空間可如下進行分配:第一個扇區存放的索引信息;從第二個扇區開始存放圖像數據。
        其中第一個扇區512個字節存放的數據格式如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尼勒克县| 平遥县| 营山县| 景洪市| 三原县| 安新县| 白玉县| 尤溪县| 安塞县| 大荔县| 社旗县| 祁东县| 牟定县| 得荣县| 望谟县| 大城县| 清苑县| 日照市| 巴南区| 新龙县| 深水埗区| 射洪县| 桑植县| 定南县| 东乌珠穆沁旗| 尤溪县| 中阳县| 蒙山县| 志丹县| 高唐县| 马鞍山市| 漳州市| 宝兴县| 同仁县| 广安市| 明水县| 綦江县| 阳高县| 清远市| 邛崃市| 盐池县|