[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
It's the FIFO of the SD/MMC interface, which is 16 DWORDs long. I am polling for FIFO_HALF_FULL and then read out 8 DWORDs. I am running the interface with a 9MHz clock, so the data comes in with 36Mbps. The SD card always sends a complete block of 512 bytes, so I have to read the whole block within 114 us.Which FIFO? The UART FIFO is 16 bytes, why 8 DWORDs? In the case you mean 8 bytes (half a buffer), 8 bytes in 17 us means 3,75 Mbps. I don't know the LPC2378, but as far as I can see the UART is considered a low-speed interface and is connected to the APB. Maybe you are stretching the hardware a bit?I'm guessing it is the SSP serial I/O controller. It has an 8-frame FIFO for both RX and TX, and frames are 4-bit to 16-bit. I'd also guess he is using it as a slave, with messages bigger than 8-frames, so has to read from the FIFO fast enough to make space for the rest of the message. Using the DMA might be the solution... Andrew
Before starting the scheduler, all this works perfectly. But as I said, after starting the scheduler the reading gets too slow.
What do you mean with I am stretching the hardware? -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss