如何提高ATmega16L+CH375的读写U盘的速度
要提高速度,那么硬件连接必须采用并口方式,采用扇区方式读写,每次读写的扇区数越大越快
我现在采用的是并口方式,只是采用的是字节方式读写,那要多大的RAM才能提高呢
字节方式,速度没法提到很高,RAM多也没有用 扇区读写函数单次最大可以读写255个扇区,至于需要多少RAM,取决于每次想操作多少扇区
要达到200KB/S的速度,要需要多少RAM呢,用AVR的16MHz或者是8MHz的,要读多少扇区一次呢
首先一个,AVR的MEGA16芯片只有模拟I/O口,没有总线接口,其次,如果速度要快的话,一次最少要读8个扇区的数据,这个时候读取的速度才是最快的,建议你采用16M的主频跑单片机,这样速度才是最快的。
那8个扇区的数据,那RAM岂够用吗,ATmega16的
那应该怎么解决呢,是不是用换单片机呢,不然就达不到200KB/S的速度吗
你可以去读取64字节处理64字节,只要处理的时间不是很长就没有问题。
那就是把MAX_PATH_LEN该成65是吧
那处理时间要多长以内才没有问题呢
一般2个64字节之间的延时不要超过2MS就可以了
那如果超过了2MS的速度会变成什么样呢
那如果超过了2MS的速度会变成什么样呢
这个你不用试了,用字节模式是肯定达不到这个速度的。必须用扇区模式进行读写。而且是尽可能多的读扇区。 另外优化CH375的读写子函数。
优化CH375的读写子函数是那些函数呢,如果读多扇区的时候要用多少RAM呢