lpcware

Long transfers on SPI peripheral

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on May 29, 2018 by Brendan McDonnell
Content originally posted in LPCWare by MindBender on Mon Jul 20 06:53:03 MST 2015
We need to interface the LPC1785 I selected as a slave to an existing SPI bus. We're not doing anything special: The SPI master activates our SSEL line by lowering it, clocks out a frame of data, and deactivates our SSEL line afterwared.

However, while studying the User Manual to see how we can achieve this, I have noticed something odd: The SPI peripheral supports multiple frame types, and frame sizes from 4...16 bits. I kind'a assumed that the term frame here was used to define the number of data bits, configuring we're always transmitting a multiple of 8 bits.

But now I'm looking at the illustrations, it seems that frame refers to all data between activating and deactivating SSEL. This would not only mean that the frame length needs to be known in advance, but also that we cannot transfer more than 16 bits at a time. Or am I reading this incorrectly?

The SPI bus on our existing application transfers frames of many bytes long, where activating SSEL designates the beginning of a frame. Nothing uncommon in my opinion, but if I understood the manual correctly, this is something I cannot implement with the LPC1785, or am I missing something?

Outcomes