阅读:1310回复:9
300分求助!!
各位大哥,问几个问题:
1。小弟在开发u盘时,遇到了一个问题:由于我的单片机只有512个字节的缓冲区,所以当数据比较多时,就要先接收,然后写入flash中,由于在写入flash中时要先写入flash的缓冲块,然后再擦除要写入的目标块,然后再将缓冲块的内容写入目标快,然后擦除缓冲块,所以在这段时间内,设备就不能接收数据,d12一直回应NAK,直到上述的事情做完为止。出现的问题是当PC发送的数据小于32page(512byte/page)时,结果还是正常的,但是一旦比较大了,如128page是,设备收到了reset包,数据传输就停止了,导致不能格式化,请问大侠们,引起这种重启的原因大概是什么呢?附加中是用usb分析仪抓的图。 2。基于51内核的单片机有没有内存大于2k的吗?有的话,是什么公司,什么型号的? 3。基于51内核的单片机有没有加入了usb接口的? 请大哥们告知!谢谢! |
|
沙发#
发布于:2004-08-13 18:35
还有这种问题,没接触过这种芯片,
不支持DMA吗? |
|
|
板凳#
发布于:2004-08-18 07:32
回应NAK间隔时间太长了
|
|
|
地板#
发布于:2004-08-18 09:02
回应NAK间隔时间太长了
?? 那请问应该怎么做呢 |
|
地下室#
发布于:2004-08-18 09:11
1、优化你的程序,加大缓冲
2、3,atmel的很多啊,去他们网站看看吧www.atmel.com AT83C5132 : USB C51-based Microcontroller with 64K Bytes ROM, 2304 bytes RAM, 4 USB Endpoints, SPI, UART, IDE, TWI, MultiMediaCard, DataFlash, I2S, 10-bit ADC. AT89C5132 : USB C51-based Microcontroller with 64K Bytes Flash, 2304 bytes RAM, 4 USB Endpoints, SPI, UART, IDE, TWI, MultiMediaCard, DataFlash, I2S, 10-bit ADC. 这些符合你2种需要 |
|
5楼#
发布于:2004-08-21 19:33
非利铺的P89C669单片机RAM 为2K
给我分吧 |
|
6楼#
发布于:2004-08-22 09:20
能用dma传输尽量用dma,不行的话,另外,速度这么慢,已经没有必要写入flash的缓冲块吧。相应的再优化一下程序,应该就可以了
|
|
|
7楼#
发布于:2004-08-22 19:17
优化提高不了速度,我看换个芯片吧
|
|
|
8楼#
发布于:2004-09-13 23:15
缓冲太小了!最好有双缓冲!
|
|
9楼#
发布于:2004-09-14 10:01
不是选用多缓冲且已经包含MCU控制内核的芯片吧,这样速度才有可能提高上来。
|
|