We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear All,
I took the keil sample for AT91SAM7S-EK for mass storage and modufied it for my AT91SAMSE-EK. After the modification the program runs fine and I can use the board as a USB mass storage.
The big problem is the the reading speed on Windows side. Wrtite speed is acceptable. If the PC wants to read something, I read the sector from the flash (wich is pretty fast) and send 64 Byte to the host. After that I wait for the AT91C_UDP_TXCOMP Interupt that should come after the Buffer is empty to transfer the next 64 Byte. But this interupt occurs only every 1ms which slows down the reading speed. Does anybody know why the TXCOMP interupt is comming only every 1ms?
Thanks a lot for the help,
Christian
It sounds like your application isn't using bulk transfers, and then gets limited to a single 64 byte packet/ms.
Dear Per,
thanks for this very fast reply. This was my first idea, too. But "USB View" tells me the following:
Device Descriptor: bcdUSB: 0x0200 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x08 (8) idVendor: 0xC251 idProduct: 0x1A03 bcdDevice: 0x0100 iManufacturer: 0x04 iProduct: 0x20 iSerialNumber: 0x48 bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x01 Open Pipes: 2
Endpoint Descriptor: bEndpointAddress: 0x81 IN Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00
Endpoint Descriptor: bEndpointAddress: 0x02 OUT Transfer Type: Bulk wMaxPacketSize: 0x0040 (64) bInterval: 0x00
Maybe you have some more ideas.
Kind regards,