Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : I2C serial and expansion
Author | Message | ||||
jebz Regular Member Joined: 13/06/2011 Location: AustraliaPosts: 79 |
I think for a lot of the parallel applications a PFC8574 I2C expander would be good. A whole byte can be output at once. The addressing on I2C allows many PFC8574s to exist on the same bus for display, keyboard and other I/O. A DS1307 on the same I2C bus would allow maintenance of the time even with power breaks. The stamp has a number I2C modules that can be plugged on with little difficulty. The syntax used seems quite clear and usable - I2CIN 1, 80, [A] I2COUT 1, 80, [C] Variables A&C can even be strings like you'd send to a LCD display. Don's got a heap of PFC8574s in stock. interesting, can't use [B ] it's bold |
||||
rhamer Senior Member Joined: 06/06/2011 Location: AustraliaPosts: 174 |
I thought about that kind of approach to get really low speed serial. You set 8 bits then clock them out with another line. Then do the reverse for the other direction. The off board device (probably another PIC) would buffer it and handle the real serial. Takes heaps of I/O lines and I could probably write faster, but better than nothing. Anyway, hopefully it won't come to that, and Geoff the Genius can figure it out. Regards Rohan Rohan Hamer HAMFIELD Software & Hardware Solutions Makers of the Maximite Expander. http://www.hamfield.com.au |
||||
stuarts Senior Member Joined: 15/06/2011 Location: AustraliaPosts: 199 |
I've currently got 2 DS1631Z thermometer chips running on my maximite. The I2C has been bitbanged using basic. Its not really fast, actually its quite slow. But it is working. I've looked at a Philips I2C UART that emulates a 16C450 UART. I has 64 bytes of FIFO for send and receive. Just haven't bothered to find one yet. At the speed that I can get with I2C from basic, it would only allow very low speed comms. The other IC I've been looking at is the Maxim DS2482 I2C to 1wire bridge. The timings on 1wire are way too tight to do from basic, but the bridge will allow 1wire to be run from I2C. I've previously used the SN8574 to provide button and led from I2C as well as driving 16x2 LCD from I2c. It's a great way to provide remote I/O. Next on my list is an RTC. I have several different ICs from different vendors, its just a matter of deciding which one to use. The difficulty is that while the I2C protocol is nicely defined, every different I2C IC needs different requirements. Some just want a device address and a command byte, some need device address, command, address within the device and data either send or received. Its not just as simple send a byte to the device. I've worked with several basics that made assumptions like the I2C device is a memory and therefore wanted addresses and data supplied when I just had to send one byte to a register. At the moment the code I have is rough and tied to the DS1631. I'm hoping that I can clean it up and make it easily usable on any pins on the expansion connector. I'll then release it for anyone to use as it seems it might be a while before I2C is natively supported on Maximite. Stuart Time is nature's way of keeping everything from happening all at once. |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
Code: [code] I2CIN 1, 80, [A] I2COUT 1, 80, [] [/code] Bold: I2CIN 1, 80, [A] I2COUT 1, 80, [] Italics: I2CIN 1, 80, [A] I2COUT 1, 80, [] Underline: I2CIN 1, 80, [A] I2COUT 1, 80, [] I'll bet you can't use I and U in square brackets either Stuart. Cheers Don... https://www.dontronics.com |
||||
stuarts Senior Member Joined: 15/06/2011 Location: AustraliaPosts: 199 |
Don, I cant say I've tried.... Stuart Time is nature's way of keeping everything from happening all at once. |
||||
donmck Guru Joined: 09/06/2011 Location: AustraliaPosts: 1313 |
IC said the semiconductor manufacturer. Cheers Don... https://www.dontronics.com |
||||
jebz Regular Member Joined: 13/06/2011 Location: AustraliaPosts: 79 |
I think we'll need the I2C UART as at least one part of each pair of asynchronous serial I/O pins are in use. There's PIC pins 43,44 or on Maximite expander pins 21,19 free for I2C though. . |
||||
stuarts Senior Member Joined: 15/06/2011 Location: AustraliaPosts: 199 |
Jebz, I was looking at that yesterday. At least there are both of the I2C pins available. Unfortunately there aren't a TX and RX for conventional serial comms. Until Geoff can get some firmware based I2C, it does work by bitbanging from basic. Its just slow. Stuart Time is nature's way of keeping everything from happening all at once. |
||||
Print this page |