MAILER-DAEMON@UCBVAX.BERKELEY.EDU (Mail Delivery Subsystem) (04/20/91)
----- Transcript of session follows ----- 550 <sci.electronics@ucbvax.BERKELEY.EDU>... Host unknown ----- Unsent message follows ----- Received: from lilac.Berkeley.EDU by ucbvax.Berkeley.EDU (5.63/1.42) id AA25049; Sat, 20 Apr 91 09:51:34 -0700 Received: from UKACRL.BITNET by lilac.berkeley.edu (5.64/1.16.28) id AA10973; Sat, 20 Apr 91 09:51:06 -0700 Received: from RL.IB by UKACRL.BITNET (Mailer R2.07) with BSMTP id 8638; Sat, 20 Apr 91 17:51:03 BST Received: from RL.IB by UK.AC.RL.IB (Mailer R2.07) with BSMTP id 3838; Sat, 20 Apr 91 17:50:59 BST Via: UK.AC.MAN; 20 APR 91 17:50:57 BST Via: uk.ac.umist.electrical-engineering.nabla; Sat, 20 Apr 91 17:50:24 BST (UMPA/20.401e Date: Sat, 20 Apr 91 17:48:55 BST From: Ian D Hawkins <idh@nabla.electrical-engineering.umist.ac.uk> To: sci.electronics@ucbvax.Berkeley.EDU Cc: idh@nabla.electrical-engineering.umist.ac.uk Subject: I2C bus, 8051 compilers. Message-Id: <9104201748.a004887@nabla.electrical-engineering.umist.ac.uk> The Philips iic thing is indeed a wonderful low speed bus. The Philips publication dealing with it is the 'Philips components technical handbook no 4, 'Integrated circuits' part 12a. The formal bus spec does make formidable reading, but the underlying operation is very simple when you've got the idea. I've used the parallel port of my atari st as a i2c interface with no alterations, if your computer has an rs232 port with two outgoing modem control lines and one incoming then you can, with some very simple level shifting circuitry, use that as the interface. Multi master operation would not be possible, but then for your likely uses you wont need it. The software for the master transmiter/ receiver part is actually quite easy to write. In Basic for example. What I most like about the bus: You can poll devices to see if they are there. The chips are fairly cheap (2-3 pounds sterling typically for a battery backed clock calender, or an 8bit i/o port , or a combined 4channel in, 1 analogue out a to d/ d to a converter). You can bodge a working interface on almost any machine You can put quite a few chips on the bus (at different addresses , 16* 8bit dio, 8* a/d,d/a, several sram chips etc) What I dislike: The relative rarity of devices that support the protocol. If only PMI or AD made some of their analogue interface chips with an I2C compatable serial interface. I havent found a 12 (or more) bit d/a or a/d converter, I have to glue these things in with 8bit dio chips. Ugly. The relatively small capacitive loading that the bus lines are allowed if they are to work at full speed (though not a problem with a slow bodged interface). And now a question. Is there an affordable 8051 high (ish) level compiler available ( in C, Basic, (Fortran ?!), Forth ?), if you have used one, would you recommend it ?.