CF读写的子程序是用的zlg fs里面的,在LPC2148上作了移植。加上USB Mass Storage程序做了个CF卡的U盘。读数据可以达到600KB/s,这个速度还是说的过去,因为程序还未做优化,Fast IO还没开启,USB全速也就这个样子。但写速度只有100K左右,发现大部分时间都浪费在等待扇区写完。用的是SanDisk的CF卡512M,号称读20MB/S,写10MB/S以上,那为什么写个扇区要等这么久?
作者:digiboy 2005-11-29 12:24:00
用GPIO来模拟总线时序来操作CF卡,速度当然就没有那么快啦。
作者:zlgarm 2005-11-29 19:49:00
即使是模拟,传输过程还是很快的,打开Fast GPIO,用16位的话,可以产生8MB的带宽
作者:digiboy 2005-11-29 20:34:00
这个问题也困扰了我,该怎么解决?
作者:ffphoenix 2005-12-5 11:32:00
如果指从usb端点到扇区,这中间包括从usb端点到ram buffer,再从ram buffer到扇区,如果usb端点支持32位访问可以考虑用汇编,或者使用dma(如果支持dma),从ram buffer 到扇区,使用pio,优化的效率并不高,尽量使用宏,或者可以试试把apb总线频率提到最高。。。
作者:lyy1981 2005-12-5 22:30:00
zlg fs不修改达不到这么快吧
作者:yutu2 2006-9-20 22:04:00