在记录仪的开发使用过程中我们会遇到各种各样的问题,当然,有时也会遇到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中时钟线最好是包地处理。
最后,文中若有不对的地方,欢迎指正!共同学习! 多谢了!
另外也欢迎一起讨论这影响卡速慢的问题! 谢谢!。
---------------------
作者:wuliangu
链接:https://bbs.21ic.com/icview-3395110-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
---------------------
作者:wuliangu
链接:https://bbs.21ic.com/icview-3395110-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。