#1 LPC2148 SSP endpoint performance patch

open
nobody
None
5
2006-08-18
2006-08-18
Mike Anton
No

Hi All,

It always bothered me that file reading and writing on
an LPC2148 using the SSP port was so much slower than
what the SPI clock rate would make one believe. I
discovered that since the FIFO never gets filled, the
full wire speed cannot be realized. So, I fixed it by
making sure that the FIFO gets, and stays filled.
I've now benchmarked reading at just under 1MB/s.
Writing is similar, and runs as fast as the SSP will
allow (I've seen at least 500kB/s across USB using
your LPCUSB stack). The type of card used, can make
quite a bit of difference in these numbers.

A zip file is attached that includes the files that
have changed in the patch. This should be applied
against V0.2.7 (though it may work for some older
releases as well).

I hope some of you find this useful, and that the
maintainers will add this to the next release.

Thanks,

Mike Anton

Discussion

  • Mike Anton
    Mike Anton
    2006-08-26

    Logged In: YES
    user_id=1471492

    I found a small bug in the patched version of sd_writeSector
    (). It turns out I was sending an extra word. It seems to
    work ok regardless, but I've updated the file.

    Thanks,

    Mike

     
  • Mike Anton
    Mike Anton
    2006-08-26

    Files needed to apply the SSP performance enhancement patch (revised version)

     
    Attachments