Just a quick update...I've now got the I2C bus running at 1Mhz and it's very stable. I spent a couple of hours today with the 'scope on the SCL pin and by experiment with the resistor values I've now got a very fast rise time on the clock pulses and it's almost a clean square wave. The bus capacitance on these chips is quite high individually and this was causing the problem. I originally used 4K7 resistors and they worked fine @100Khz and not bad at 400Khz...then while playing with changing almost a 1KB of data after a frame interrupt I found that there was a definite visible lag on changeover...
I then upped the bus speed in increments of 100KHz until the reliability dropped dramatically.
Anyway...the time between the interrupt firing at the end frame and the start of the new frame PWM set is now very slightly over 217mS which I'm more than happy with. I've ordered some free sample 128KB, 1 MHz I2C EEPROMs from my lovely Microchip (
) today so we'll see how fast it runs when pulling data from the external EEPROM...the sky should then be the limit for long animations with full 8 bit PWM...
If you do a software reset and set the shdn-bit to 0, are all controll registers resetted then (set to default
values) ? because thats not written in the datasheet.
We have a saying in English Pantomime....
"OH Yes it is...."
To save you looking (as it's your Christmas present).
If you reset 'shdn' the internal state machine stops and all outputs are turned off.
If you set 'shdn' the internal state machine starts and all outputs are turned on.
So you DON'T lose the register values.
If you reset the 'init bit' then the state machine resets and you DO lose the register values.
Happy New year mate.