新闻中心

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个字节存放的数据格式如下:



评论


相关推荐

技术专区

关闭