#申请原创#@21小跑堂
在记录仪的开发使用过程中我们会遇到各种各样的问题,当然,有时也会遇到TF卡卡速慢的问题,卡速慢中一个最直观的表现就是会生成一些小文件。下面就让我们针对联詠67X系列的卡来进行测试分析。 以下是请原厂帮忙分析的,现在整理发出,希望能对人有所帮助。 话不多说,先来看下测试SDK关于卡的设置部分: #if 1 ImageUnit_Begin(&ISF_BsMux, 0); ImageUnit_SetParam(ImageApp_MovieMulti_Recid2BsPort(_CFG_REC_ID_1), BSMUXER_PARAM_FLUSH_SEC, 3); ImageUnit_SetParam(ImageApp_MovieMulti_Recid2BsPort(_CFG_REC_ID_1), BSMUXER_PARAM_WRITE_BLKSIZE, 0x400000); ImageUnit_End(); #endif 将上面的软件设置好后再进**资料累积量对写卡速度的影响测试。 测试目的:写卡资料累积量对写卡速度的影响。 这里的测试结论是: 1、通过问题卡与对比卡的比较可以得出记录仪出现卡速慢的问题,与卡本身有关。 2、下图可以看出,通过工具测试不同成色的卡,发现写卡速度与写卡文件的资料量大小有关。 如:NETAC问题卡,在写卡资料量在128kb和4096kb时写卡速度达到35MB/S。其他写卡的资料大小,卡速均在10MB/S左右偏下。 而对比的KingSton卡则表现比较均匀,64kb以上的写卡资料量,写卡速度均能维持在15MB/s以上。 下面的测试图中, 纵坐标:写卡资料累积大小(Kb) 横坐标:读写卡速度(MB/s) 3、通过所有的卡速测试比较,所有的卡在4M的写卡资料量下,写卡速度表现较好均能维持在14M/S以上。 解决办法: 通过升级SDK可以设定写卡的资料量为4M,从而保证写卡的速度大部分时间能够满足1080p size所需的卡速。 实测结果如下: 测试卡-->NETAC问题卡,循环录影1min 1080p (1)未升级SDK以前(当前版本默认写卡资料量2M):录30个文件有5-6个卡速慢导致的小文件。 (2)新SDK(设定写卡资料量4M):录30个文件2个卡速慢导致的小文件。 通过前面的测试后,我们再拿一个原厂提供的patch验证下。下面API是可以设定录像写卡累积多少资料量写一次,多久更新一次FAT。 1、设定参考范例如下: 串口命令cmd: bsmu flush 10 //(每10次更新一次FAT) bsmu blk 2097152 //(累积2MB写卡一次) API部分: NMI_BsMuxer_SetParam(0, BSMUXER_PARAM_FLUSH_SEC, 10); //这里可以依需要自行调整秒数。 NMI_BsMuxer_SetParam(0, BSMUXER_PARAM_WRITE_BLKSIZE, 2097152); //这里可以依需要自行调整block size。 目前默认值是3秒,以下设定为6秒。 ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_ENCBUF_MS, 6000); //这里可以依需要自行调整encode buffer size,但这会占buffer 所以67X情況下需要注意这参数不要调得太大。 还有必须注意一点: 这patch 增加了FAT 更新频率的设定,但是会影响到档案文件断电掉资料的风险,所以预设才是每秒刷新(不掉秒)。 Sample code(略)。
2、累积多少资料量写一次的设定可以根据卡特性,利用设备测试卡速,可以得到卡速最佳写入的资料量。 例如:以下benchmark,可以看到此卡最佳写入资料量是2MB,所以可以设定BSMUXER_PARAM_WRITE_BLKSIZE为2MB 。 测试如下: filesys benchmark 1 Benchmark : Start ----- (uITRON) Write A:\BM00512K.SPD 524288 Bytes (01/01) 80 ms Write A:\BM01024K.SPD 1048576 Bytes (01/01) 126 ms Write A:\BM02048K.SPD 2097152 Bytes (01/01) 195 ms Write A:\BM04096K.SPD 4194304 Bytes (01/01) 478 ms Write A:\BM08192K.SPD 8388608 Bytes (01/01) 863 ms Write A:\BM16384K.SPD 16777216 Bytes (01/01) 1351 ms Read A:\BM00512K.SPD 524288 Bytes (01/01) 28 ms Read A:\BM01024K.SPD 1048576 Bytes (01/01) 52 ms Read A:\BM02048K.SPD 2097152 Bytes (01/01) 95 ms Read A:\BM04096K.SPD 4194304 Bytes (01/01) 186 ms Read A:\BM08192K.SPD 8388608 Bytes (01/01) 369 ms Read A:\BM16384K.SPD 16777216 Bytes (01/01) 730 ms A:\BM00512K.SPD: (512 KB) 1 times W: Min 6.4 MB/s, Max 6.4 MB/s, Avg 6.4 MB/s R: Min 18.3 MB/s, Max 18.3 MB/s, Avg 18.3 MB/s A:\BM01024K.SPD: (1024 KB) 1 times W: Min 8.1 MB/s, Max 8.1 MB/s, Avg 8.1 MB/s R: Min 19.7 MB/s, Max 19.7 MB/s, Avg 19.7 MB/s A:\BM02048K.SPD: (2048 KB) 1 times W: Min 10.5 MB/s, Max 10.5 MB/s, Avg 10.5 MB/s R: Min 21.6 MB/s, Max 21.6 MB/s, Avg 21.6 MB/s A:\BM04096K.SPD: (4096 KB) 1 times W: Min 8.6 MB/s, Max 8.6 MB/s, Avg 8.6 MB/s R: Min 22.0 MB/s, Max 22.0 MB/s, Avg 22.0 MB/s 以上就是这卡速慢问题的分析情况。 在硬件方面需注意事项: (一)最好是保留数据线上串的电阻(一般用值为22欧); (二)卡座的数据焊盘底下相邻层最好不要有电源; (三)在PCB中时钟线最好是包地处理。
最后,文中若有不对的地方,欢迎指正!共同学习! 多谢了! 另外也欢迎一起讨论这影响卡速慢的问题! 谢谢!
|
针对联詠67X系列进**卡速测试,分析行车记录仪的卡速问题。