Hi everyone,
Full of questions recently.
I'm doing one of those 'well known' projects of an RGB Led Cube.
A good mix of logic and software (the latter of which really does need picking up!).
I know there is a shed load of examples of different techniques, and I am going down a familiar root using the TLC5490 16 channel PWM LED driver.
I am very much trying to not use the online walkthroughs and build from first principles. Everyone can copy someone else and make it, but you dont understand it.
Anyway, background over... real question..
The TLC5940 implements a bit of a hash of the SPI protocol and as such, has no Chip Select.
Say I want to add another SPI device (in this instance think of an SD card), which ultimatly needs the speed of hardware SPI much like the TLC5940 how could it be implemented?
I was going to delve (first time ever) into the world of the Arduino / Atmega chip with Arduino bootloader, and there is a comprehensive library been built for said TLC5940. This library has the option to bitbang the spi interface, but software spi speed suffers greatly.
I was thinking, as the SPI interface NEEDS the SCLK in order for data to flow. Could I simply logically AND the SCLK with an output pin of the arduino effectivly creating my own 'chip' select?
This introduces a propagation delay of the SCLK of a few ns over other data and clock lines needed for the TLC5940 (primarily the Grayscale Clock and the actual data line)
would that propagation delay cause issues? I've never used SPI before (shock even to me), so wouldn't know a) how common it is to logically AND the signal, and b) if it has an impact.
And are my understandings and fears about bitbanging either of the SD cards or TLC5940s functionality true? I know the LED cube would still work with bitbanging the TLC5940, but it is known to introduce errors and erroneous behaviour in the final graphical outcome.
Your thoughts are greatly welcome!
Owen.
Full of questions recently.
I'm doing one of those 'well known' projects of an RGB Led Cube.
A good mix of logic and software (the latter of which really does need picking up!).
I know there is a shed load of examples of different techniques, and I am going down a familiar root using the TLC5490 16 channel PWM LED driver.
I am very much trying to not use the online walkthroughs and build from first principles. Everyone can copy someone else and make it, but you dont understand it.
Anyway, background over... real question..
The TLC5940 implements a bit of a hash of the SPI protocol and as such, has no Chip Select.
Say I want to add another SPI device (in this instance think of an SD card), which ultimatly needs the speed of hardware SPI much like the TLC5940 how could it be implemented?
I was going to delve (first time ever) into the world of the Arduino / Atmega chip with Arduino bootloader, and there is a comprehensive library been built for said TLC5940. This library has the option to bitbang the spi interface, but software spi speed suffers greatly.
I was thinking, as the SPI interface NEEDS the SCLK in order for data to flow. Could I simply logically AND the SCLK with an output pin of the arduino effectivly creating my own 'chip' select?
This introduces a propagation delay of the SCLK of a few ns over other data and clock lines needed for the TLC5940 (primarily the Grayscale Clock and the actual data line)
would that propagation delay cause issues? I've never used SPI before (shock even to me), so wouldn't know a) how common it is to logically AND the signal, and b) if it has an impact.
And are my understandings and fears about bitbanging either of the SD cards or TLC5940s functionality true? I know the LED cube would still work with bitbanging the TLC5940, but it is known to introduce errors and erroneous behaviour in the final graphical outcome.
Your thoughts are greatly welcome!
Owen.