因为最近时间比较忙,所以下册迟迟才出。另外也是一直在测试这个东西,现在把我在搞sd的过程中碰到的问题,写出来和大家探讨,一家之言,大家不要板砖。写的好你大声的叫个好,不好你默默的关闭此文件。轻轻的走,不要留响声。。 摄像头1s有50场图像,怎么能然我们的车载sd卡,能达到隔场采集图像128*56= 7168字节,20ms内完成的目标?只有这样才能最真实的分析车跑的状态,在上位机电脑才能脱离车做程序算法,而能最贴近车跑的状态。本册结合我们在实现的过程来说明此内容。 前两册介绍了相关的sd卡的东西。现在将一下驱动了sd卡然后怎么存储我们的文件。 好了不废话。现在讲些关键性的东西。大体分2部分:1文件系统 2速度
1 文件系统
大体有zlgfs,ucfs这个我前期曾经吐血共享过,ucfs的构架比较清楚,看他的文档主要是移植章,也就是说要写4个函数,分别为初始化,读写扇区,获得时间(这个可以不写),获得状态(这个是为了防止在工作的过程中掉卡)也可以不写。那么剩下的就是三个函数。 详见下列 修改的文件为 smc_x_hw.c 这个是ucfs自带的一个文件,是一个例子,老习惯,在官方的例子上修改。下后面的移值代码 ¨
看了关键移植代码,ucfs还要注意写他的文件有些不能加入xs128的工程,有的能加,你的ucfs就移植好了。 ¨
zlgfs他的写的比较清晰,还有个配套教材大家可以学习文件系统比较快。但是速度比较慢,所以应用不是很多。 2 sd卡的速度 ¨
操作sd卡需要注意几点 一次通信必须凑够512字节。Sd上分簇,扇区。1g的sd卡一簇有32个扇区,一个扇区有512字节。Sd的最小操作单位为扇区。所以想要速度最好凑512字节的整数倍。 ¨
弄这些东西,有了文件系统可以在sd上轻松的高些存储,海量存储等等。另外一个好处u盘的东西不破坏。但是有了文件系统就需要按照一定的规则来办事,1要维护fat表,要记录这些东西,就必须有额外的空间,我移植ucfs需要空间2k。 ¨
怎么提高sd卡的速度。我们在做sd卡的时候经常碰到说我的速sd的时钟度超不到20m,其实能超40m。再高我的xs128超频不够,放弃。看下面的一篇文章,说明大意。 关键语句如下: “在实验中发现,利用C8051单片机SPI接口直接对SD卡进行数据读写,速率最高300 kbyte/s左右,远不能满足本系统中数据实时存储的要求。这里采取了如下的措施:时序相对复杂而应用频率低的SD卡初始化和命令的发送接收由单片机完成,对速率要求高但逻辑相对简单的数据缓冲和格式转换由高速FPGA芯片完成。单片机、FPGA和SD卡的连接关系如图2所示。FPGA采用Altera公司Cyclone系列的EP1C3,时钟源产生的系统时钟进入FPGA,经整形和分频后输出单片机和A/D芯片的工作时钟。“ 这个是硬件的一个超的方法,看我们能从中受到启发?原来我们用软件也可以采用此种思路,我们已经验证,跑1天没有问题。
|