Sunday, 24 March 2013

Clocking on

Visit Tagbits to see the full range of tagger products described in this blog.

I've been trying to get the Sparkfun serial LED display working with my Milestag UMT lasertag software. This is used to display clips, rounds, health etc. But I couldn't get it working.

The display can accept commands via either a standard serial port or a SPI port. I'm using SPI as with all the other interrupts going off in the software, I cannot guarantee bit timings so synchronous communications make more sense.

I'd already written a software SPI routine for the ISD1790 sound playback chip, so I went ahead and used this routine to access the display.
I could not get it to work, so I resorted to sticking my logic analyser on it:

From this I can see that the first byte sent to the display is 0x78 which is a blank segment. But it is being sent most significant bit first. This is normal for SPI, but the ISD1790 expects least significant bit first. I'd written the ISD SPI routine to spec.But had forgotten the none standard bit order.

I implemented a second routine to send MSB first and hey presto:

No comments: