首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 电子制作
CF卡在DM642基便携式数字视频系统中的应用
来源:本站整理  作者:佚名  2009-12-16 16:58:45



    寄存器0用于读写数据,寄存器1在读操作时是错误寄存器,存放错误信息,写的时候是特征寄存器。寄存器2用于存放读写扇区的数目。寄存器3~6用于存放读写扇区的地址。CF卡的扇区寻址有两种方式:物理寻址方式(Cylinder/Head/Sector,CHS)和逻辑寻址方式(Logical Block Addressing,LBA)。CHS是扇区对应的具体的柱面、磁头和扇区的地址,LBA的地址则在逻辑上是连续的,两种寻址方式的转换关系为:LBA地址=(柱面号×磁头数+磁头号)×扇区数+扇区号一1。本文选择LBA的线性寻址方式。
    寄存器7在读和写时具有不同的意义。读操作时是状态寄存器,存放CF卡的状态信息,写的时候是命令寄存器,用于设置命令,完成相应的操作。
    CF卡读写程序之前要初始化DSP和CF卡,初始化GPIO,将DM642的CE2空间设置为8位异步接口,将/REG配置为高电平,同时设置CF卡为8位数据接口。
    在读写扇区时,首先要设置好起始扇区的LBA地址和要读写的扇区数目,然后再设置命令寄存器,读取数据设置为20H,写入数据设置为30H,写完后读取状态寄存器,只有当状态寄存器为“58H”时才能开始读写操作,否则继续查询状态。由于数据接口为8位,这样对一个扇区就需要读或写512次数据寄存器即可。之后还要读取状态寄存器看是否为“50H”,判断CF卡的操作是否完成,若完成,则退出本次操作,否则继续查询直至完成。
    CF卡写一个扇区函数部分源码如下:


    读写多个扇区的方法与此类似,设置好扇区的数目和相应的读写命令即可,一般说来直接设置循环读写比调用子程序的运行效率要高,因为它只需要读写一次扇区的起始地址即可。
2.3 CF卡的内存空间管理
   本系统中CF卡上存储的是mpeg2格式的视频数据,虽然视频的长度不确定,但是扇区地址用LBA寻址的话都是4字节。在本设计中CF卡的存储空间可如下进行分配:第一个扇区存放视频的索引信息;从第二个扇区开始存放图像数据。
    其中第一个扇区512个字节存放的数据格式如下:

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:249,925.80000 毫秒