I²C bus veilig extern maken
solderen met Henri Derksen

Naar aanleiding van de spreekbeurt van Pieter Drost bij regio Den Haag in 1998, alsmede de hardware interesse bij zowel; de regio's Den Haag, Gooi en Eemland, en Oost, als ook de werkgroep 8-bitters en niet te vergeten de artikelen in de *Asterisk nummer 6 van juli 1999, wil ik het volgende over de I kwadraat C bus aan jullie kwijt.

Pieter Drost had een pak papier met daarin o.a. copiën van de Beeb body building course, een lijst met i2c IC's en een overzicht met artikelen welke Pieter allemaal al heeft verzameld. Je kon aan hem dan vragen wat je wilde hebben en hij zou het dan voor je tegen kostprijs copiëren en toezenden. Vraag Pieter Drost anders ook om zo'n set ? Hij is per AcoNet bereikbaar, zie de pointslijst, 77:8500/203.29.

Zoals iedereen intussen weet is i2c standaard op de Acorn Archimedes en ook RiscPC aanwezig. Acorn gebruikt het voor de interne (Philips) klok-ic en voor het lezen en schrijven van de CMos-battery-backup-ram-ic's. Wat ik nu graag wil weten is op welke i2c-adressen zitten die klok- en cmosram-chips? Zodat we er rekening mee kunnen houden als we er andere zaken aan willen hangen. Daarnaast moet het mogelijk zijn om de i2c van meerdere computers aan elkaar te knopen. Dat heeft uiteraard voordelen. We zouden er zelfs een alternatief datacommunicatie kanaal of netwerk met filing system mee kunnen vormen.

Het allergrootste probleem en tevens flink nadeel is dat de interne clock IC's dan natuurlijk hetzelfde adres op alle machines hebben. En je raad het al; als ik de clock op mijn machine aanpas of de CMOS update (met *CONFIGURE), dan zou dat ook wel eens effect kunnen hebben op de andere machines die op dezelfde i2c bus zijn aangesloten. Hoe dit te omzeilen ben ik nog niet uit. Iemand anders misschien al wel? Zo ja laat ons het dan even weten.

Die i2c interface-signalen zijn dus ook op de 64 pins podulebus aanwezig. Voor de aansturing ervan kan de standaard software uit RiscOS worden gebruikt. Zie RO3 PRM pagina 1-944 SWI 240 "IIC Control". Er zijn heel veel IC's die je er mee kan besturen, waaronder b.v. TV-tuners, teletext-ic's en DCF77 ontvangers, decoders etc. etc.

Bij regio Gooi en Eemland werkt men aan een podulekaart met TV-ontvanger en teletext module. Daarnaast zou ik zelf graag de atoomtijd uit Mainflingen (bij Frankfort BRD) via DCF 77 willen ontvangen en in de computer invoeren, om hem daarmee zuiver te laten lopen, plus automatische in- en uitschakeling van zomertijd. Kortom legio mogelijkheden.

Maar om dit alles te kunnen gebruiken moeten we of een podulekaart bouwen, of voor kleinere projectjes een externe i2c-aansluiting maken. En met name daarover wil ik het hier hebben, omdat daar wat haken en ogen aan zitten, die ik graag wil uitleggen om ze (gezamenlijk) te omzeilen.

Hoe een veilige externe

te maken?

De i2c bus naar buiten leggen is namelijk niet zo heel erg veilig. Daar anderen hiervoor al gedeeltelijk het pad hebben geëffend, wil ik van hun kennis gebruik maken en daar e.e.a. aan toevoegen, zodat er een voor iedereen prettig werkbare constructie ontstaat. Zo heb ik gedeeltes ontleend aan de Mike Cook's Beeb body building course en het tijdschrift Elektuur en dat aangevuld met een voorstel voor een Big Ben Club standaard, over welke laatste ik graag reacties ontvang.

Dit condensator-, diode- en weerstands-netwerkje beschermt je computer tegen eventuele aansluitfoutjes bij experimenten; aldus J.P. Hendrix uit Dongen op pagina 51 in de Elektuur van oktober 1993. Je kan ook deze onderdelen aan de soldeerzijde van de DIN-bus plaatsen. Je hoeft dan alleen een 2 aderig (getwist) kabeltje te maken naar de SCL en SDA lijnen op de podulebus. I.p.v. de i2c SCL- en SDA- signalen van een podule te betrekken (draad zit dan op een insteekkaart vast) is het misschien handiger om te overwegen om die van de achterkant van de backplane of ergens van het moederbord valt te halen? Het aftappen van de voedingspanning van de podulebus is minder slim, vanwege eventueel optredende relatief grote stroomsterkten.

De voedingsspanningen met een y-kabeltje van de diskdrivevoedingsconnector betrekken is veel veiliger. Neem een wat zwaardere kabel (b.v. randaarde lichtnetsnoer, waarbij bruin = +12 VDC, blauw = +5 VDC en geel/groen is dan 0 VDC).

Voorstel Big Ben Club standaard voor IIC-bus met 5-polige 180 graden DIN-bus Acorn 32 bits computers; afgeleid van Mike Cook's Beeb body building course in diverse oude Engelse computerbladen, aangevuld met dit Elektuur idee + voeding: Een zelf geplaatste 5-polige 180 graden DIN-bus achterzijde RiscPC / Archimedes en/of een niet bezette Econet bus daarvoor benutten, kan als volgt:

Als je GEEN Econet interface-kaartje in je Archimedes hebt gebouwd, dan kun je mooi die plug gebruiken. Voer dan de 4 signalen van de podule bus naar die 5-polige Econet strip welke weer naar de Econet DIN-bus loopt, welke jij als i2c-bus wilt gaan gebruiken. Econet SK5 socket (5 pinnetjes op rij) voor i2c gebruiken:

Op het moederbord van een Archimedes is die econet SK5 socket verbonden met de reeds aanwezige 180o DIN bus. De signalen komen dan op de juiste pin terecht. Meestal is pin2 0VDC/aarde/gnd ook al standaard aangesloten. Het is wel slim om dan toch bovenvermelde beveiligingschakeling (2 condensatoren, 4 diodes en 2 weerstanden) ook in te bouwen. Je kan ook deze onderdelen aan de soldeerzijde van de DIN-bus plaatsen. Je hoeft dan alleen een 2 aderig (getwist) kabeltje te maken naar de SCL en SDA lijnen op de podulebus. En voor de voeding een wat zwaardere kabel (b.v. randaarde lichtnetnsoer nemen, waarbij bruin = +12 VDC, blauw = +5 VDC en geel/groen is dan 0 VDC). Als iedereen deze vrijwillig afgesproken "i2c-Din-bus-standaard" volgt, dan is iedere i2c DIN-bus hetzelfde, en de kans op fouten bij gebruik van andermans machine het kleinste. Maar uiteraard is men ook vrij het anders te doen. Voor het aansluiten van 2 stuks 1c2 bussen (lees: 2 of meer computers); moet dan wel even goed opgelet worden voor wat betreft voeding en aardlussen. M.a.w. in zo'n geval alleen i2c-data, i2c-clock en aarde aansluiten. Anders gaat de ene computer ook de andere voeden en andersom. Voor extern gebruik kun je nog een algemeen bruikbaar aansluitsnoertje maken:

Snoertjes vast uit de kast laten bungelen is nooit zo'n goed idee. Met deze DIN-stekker creër je een elegante oplossing.

D'r is vast ook al wel een i2c busschema voor gebruik bij de Acorn BBC B. Weet iemand anders hier wat over ? Dan heeft onze werkgroep 8-bitters ook weer een project ;-). En last but not least; die i2c van de Beeb aan de i2c van de Archi hangen is natuurlijk ook wel geinig. Zit er ook een i2c bus standaard in de Acorn Master ? Wie wil er even in het schema kijken en dat dan melden ? Immers de Master en Compact hebben ook al CMosRam. Overigens is in 1999 ook de Acorn Atom Club met i2c bezig. Zie Atom Nieuws jaargang 18 nummer 1 bladzijde 4 t/m 17. En, zijn jullie het eens met mijn hier voorgestelde i2c externe aansluit-bus-standaard ? Veel succes met de bouw van i2c-projecten.

Voor reacties ben ik bereikbaar op UniCorn BBS en Point 77:8500/504.1@AcoNet.

Met een vriendelijke groet van: Henri Derksen.