This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV5621: SPI data frame on the TLV5621

Part Number: TLV5621

Hello all,

I am thinking of using the TLV5621 in a small project and I am looking to connect it to an Atchip-Micromel AVR(Formerly an Atmel AVR).  The TLV5621 has a 12 bit data or control word format, but the AVRs SPI engine can only output 8 bits each time.  Now if the TLV5621 had a 16bit format this is not an issue as I simply send two bytes, but since the TLV5621 is 12 bits I am wondering if I can get away with sending the two bytes, but for the upper, unused bits set them to zeros as they would be simply shifted out if my theory holds true.

For example:

The datasheet shows the following for a data packet:

1, RS, A1, A0, D7, D6, D5, D4, D3, D2, D1, D0

and the following for a control packet:

1, RS, MODE, RNGA, RNGB, RNGC, RNGD, SIA, SIB, SIC, SID, ACT

thats 12 bits in each packet

What I want to do, in order to use the SPI engine in the AVR is to do the following:

for a data packet:

0, 0, 0, 0, 1, RS, A1, A0, D7, D6, D5, D4, D3, D2, D1, D0

and for the control packet:

0, 0, 0, 0, 1, RS, MODE, RNGA, RNGB, RNGC, RNGD, SIA, SIB, SIC, SID, ACT

The question I have is will this work if I do what I describe?  I would be running this in MODE0, Double buffered.

Any help on this greatly appreciated.

Thanks,

Jim