新聞中心

        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個字節存放的數據格式如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岱山县| 昌宁县| 嘉义县| 沾化县| 巴里| 五华县| 巫溪县| 南江县| 普安县| 绥宁县| 徐闻县| 密山市| 奈曼旗| 洱源县| 诸城市| 垣曲县| 秭归县| 五寨县| 昂仁县| 文登市| 台江县| 灯塔市| 夏河县| 锡林浩特市| 高邑县| 舞阳县| 香港 | 潜江市| 高台县| 松江区| 长沙县| 凤山县| 永寿县| 呼图壁县| 响水县| 萍乡市| 乐平市| 韶山市| 潜山县| 淮安市| 卓资县|