I2C-based serial to parallel LCD driver chip?
Is there such a thing? I'd like the display I'm using, which is parallel, to reside on an I2C bus along with other components to reduce the I/O pin count of the Prop. I want a single chip solution and will stick with parallel LCDs due to their lower cost. I do not believe that such a chip exists, but I want to make sure. I think that it would be really easy to implement such a chip with a SX microcontroller if none are available. I need 11 I/O pins for the LCD and 3 for the I2C bus, which would leave 6 pins on a SX28AC for I2C address pins. This route will be quite a bit of unnecessary work though, if a chip already exists.
Comments
Post Edited (Mike Green) : 2/24/2008 6:04:34 PM GMT
I ordered the 23S17 from Digi-key a week ago before realizing that I ordered the SPI version. [noparse]:([/noparse]
Post Edited (MarkS) : 2/24/2008 6:55:20 PM GMT
Whenever you're looking for a driver that's I2C to anything, the first place to look is NXP (formerly Philips Semiconductor). NXP "owns" I2C (so to speak), or holds the proprietary rights to it.
There is a PCF8576 data sheet attached to this post. This is a chip·which will permit you to use a parallel LCD on an I2C bus.
Fortunately or unfortunately, as the case may be, the chip is only available in an SOT-190 packages. Samples are available if you check the NXP web site. The samples are available through Avnet, not NXP.
Regards,
Bruce Bates
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Genius is one percent inspiration and ninety-nine percent perspiration."
Thomas Alva Edison
Isn't that chip meant to drive an LCD directly without an HD44780 controller?
Thanks for catching that before Mark looked at it. He might have been thrown for a loop!
I noticed it while perusing other I2C devices, and when the subject came up today, I just grabbed the data sheet without looking at it. BAD PRACTICE on my part!
Thanks again.
Regards,
Bruce Bates
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Genius is one percent inspiration and ninety-nine percent perspiration."
Thomas Alva Edison
www.parallax.com/Portals/0/Downloads/docs/cols/nv/vol5/col/nv109.pdf
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PLEASE CONSIDER the following:
Do you want a quickly operational black box solution or the knowledge included therein?······
I think a SX chip will work quite well in this regard. As I posted earlier, I'll need 11 pins for the LCD, 2 for the I2C bus, and one for a chip select (this was the third I2C pin I mentioned earlier), leaving me with 6 extra pins. Of those six, four would be inputs for buttons with software debounce. The other two would provide a hardware-based I2C address. I'm thinking about adding another 4 address bits that can be set via software, but an initial hardware address would be needed in order to set up the chip.
Any thoughts?
Also, someone mentioned a shift register again. This chip keeps being mentioned across this and other boards, leaving me to believe that I should be able to build a quad-core processor fairly easily with better performance than Intel with nothing more than a few of these chips (sarcasm). I understand how they work, but can someone please explain to me how they have become the cure-all chip for nearly every hardware problem? If someone can explain how to use them for anything other than shifting bits in a circle (great for a light chaser I guess), I'll gladly buy a ton from Digi-key. [noparse];)[/noparse]
I'm just wondering why you are set on I2C for the interface ? I only ask because there are serial to LCD chips.
Do you already have an I2C driver in a cog ?
I have done an SPI slave on the SX, but not I2C.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
www.iElectronicDesigns.com
·
I want a serial interface where I can connect multiple chips to the fewest number of I/O pins. This means I2C (two Prop pins). I'm trying to keep as many I/O pins open as possible without using an I/O expander. I2C just seems like the best way to go.
If you need I/O expansion and you need blocks of 8 bits that are either input or output, then the shift registers are simple to implement, can be very fast, cascadable, and are cheap ... handy if you burn out a bit and you've socketed them. There's also the TPIC6595 which works like the 74HC595, but includes an 8-bit MOSFET driver on the output side ... great for driving relays, solenoids, small motors including steppers.
On the other hand, there are a variety of I2C I/O expanders that can be configured for input or output on a bit by bit basis, are not expensive, are of moderate speed, and can be placed on the same I2C bus as is used for other purposes (like memory, ADC, etc.)
What's best is what fits for your particular situation