ist I²C eingeschränkt hotplugfähig? Es geht nur um das Anstecken an den Bus, Zugriffe während des Ein-/Aussteckens schließe ich aus. Möchte gerne einen kleinen Datenspeicher steckbar ausführen.
Benötige ich besondere Vorkehrungen wie z.B. vorauseilende Masse/Versorgungsspannung? Vielleciht lassen sich USB-Sticks dazu zweckentfremden, dort kontaktieren 5V und Masse ja zuerst.
I²C-Chipkarten mit 24C16 (soviel Speicher sollte es sein) kenne ich, finde sie aber aus Platz- und Montagegründen (Kontakteinheit) unpraktisch. Wie wird das hotplugging bei diesen Chipkarten gelöst?
bis dann,
Martin
Didn't find your answer? Ask the community — no account required.
W
Wolfgang Draxinger
Also ob I2C per se hotplug kann, wei=C3=9F ich nicht. Was aber funktionieren d=C3=BCrfte, ist die Stichleitungen f=C3=BCr ein einzelne= s Ger=C3=A4t so zu schalten, dass der Rest vom Bus nicht tangiert wird. Ich denke da an eine Schaltung =C3=A4hnlich wie man sie zum bidirektionalen Level Shift verwendet, also das mit den beiden MOSFETs. Wenn man es so schaltet, dass die MOSFETs im Grundzustand immer sperren, und nachdem man ein Ger=C3=A4t angesteckt hat, zun=C3=A4chst die MOSFETs "freigibt" und nach dieser Freigabe erst die Versorgungsspannung f=C3=BCr das Ger=C3=A4t gibt, dann sollte = man keine Probleme haben. Im Zweifelsfall stellt man noch sicher, dass sich auf dem I2C nichts tut, und "greift" sich den Bus bevor man die Spannung f=C3=BCr das Ger=C3=A4t einschaltet und gibt den=
Nun ja, wenn Du als Einschränkung hinnimmst, dass nach dem Ein- oder Ausstecken möglicherweise der ganze Bus klemmt, dann könntest Du IIC als hot-plug-geeignet annehmen.
Wie willst Du Zugriffe während des Steckvorganges ausschließen? Elektromagnetische Verriegelung der Buchse, so dass man den Stecker nicht zur Unzeit ziehen oder einstecken kann?
Oder zusätzliche vor/nacheilende Kontakte vorsehen, die dem System melden, dass ein Steckvorgang zu erwarten ist, und alle IIC-Zugriffe zu unterbleiben haben. Dann dürfen allerdings nie längere Zugriffssequenzen auftreten (sonst wäre eventuell der Steckvorgang beendet, bevor die Zugriffssequenz beendet ist). Am besten wäre es, wenn am Bus nur der Master und das zu steckende Slave-Device betrieben würden, also eine Punkt-zu-Punkt-Verbindung, kein Bus.
Anders wirst Du das vermutlich nicht annähernd zuverlässig hinbekommen.
Zusätzlich zur Verriegelung bzw. sonstigen Maßnahmen, die Zugriffe während des Steckens ausschließen? Ja.
Dann solltest Du aber noch irgendeine Kodierung vorsehen, die verhindert, dass jemand ein USB-Device in Deinen IIC-Port bzw. dass jemand Deinen IIC-Speicher in einen USB-Port steckt. Es dürfte allerdings schwierig bis unmöglich werden, so eine Kodierung zu fabrizieren.
Da gibt es sicherlich eine ganze Reihe von Lösungen.
Primitiv und wohl am unteren Ende bezüglich Zuverlässigkeit dürfte es wohl sein, wenn einfach unter Spannung gesteckt wird, und der Kontakt/Schalter, der vollständiges Einstecken signalisiert, ausgewertet wird, um Zugriffe freizugeben bzw. zu sperren.
Aufwändiger aber zuverlässiger dürfte es sein, die Spannungsversorgung zur Karte erst dann einzuschalten, wenn vollständiges Einstecken signalisiert wird. Danach die Zugriffe auf den IIC-Bus freigeben. Die Fassung muss so gestaltet sein, dass beim Herausziehen der Karte sie Signalisierung für vollständiges Stecken zurückgenommen wird, bevor die Daten- und Versorgungsleitungen unterbrochen werden. Nach dem wegnehmen des Signals wird der aktuelle Zugriff noch fertig abgearbeitet, dann die Versorgung (auch der Pullups an Takt- und Datenleitung) abgeschaltet. Entsprechend der kürzestmöglichen Zeit zwischen wegnehmen des Signals und Unterbrechung der Daten- und Versorgungsleitungen durch das Ziehen der Karte muss die maximale Länge der Zugriffszyklen bemessen werden. Also vermutlich nie Multi-Byte-Transfers, sondern immer Einzel-Byte-Transfers. Beim Scheiben auf EEPROMs hat man allerdings das Problem, dass die Schreibzyklen meist 10ms dauern. Das könnte eventuell schon zu lang sein (je nachdem, wie schnell man die Karte aus der Fassung reißen kann).
Nachdem es diese IIC-Speicherkarten und die zugehörigen Fassungen schon gibt, und die Leute, die das entworfen haben, sich vermutlich auch einige Gedanken dazu gemacht haben, würde ich die an Deiner Stelle verwenden, anstatt einem Murks mit missbrauchten USB-Steckern.
Ich "durfte" schon mal so ein Design reparieren, bei dem ein Kollege die Verbindung zu einem Device am IIC-Bus schaltbar gestaltet hatte. Das hat überhaupt keinen Spaß gemacht!
Allerdings gibst Du keine Information preis darüber, wozu das Ganze gut sein soll. Wie das halt so immer üblich ist, wenn einer sich seine verschrobenen Ideen "im Internet" bestätigen lassen will. Daher können wir nicht wissen, ob Du das nur dreimal im abgeschlossenen Keller verwenden willst und es dann verschrottest, oder ob es auch andere Leute, vielleicht sogar Kunden, regelmäßig verwenden müssen. Ob der Pfusch mit USB-Steckern ausreicht, weil es eh nur eine kurze Bastelei sein soll, kannst also nur Du beurteilen.
Grüße,
Günther
M
Marcel Müller
Hallo!
Wolfgang Draxinger schrieb:
Wenn dann bitte andersherum. Sonst werden möglicherweise die Schutzdioden der Cortroller-Chips umgepolt. Außerdem geraten Spikes vom Einschaltvorgang auf den Bus. Das könnte andere Devices irritieren.
Elektrisch gesehen ist man damit dann weitgehend auf der sicheren Seite. Ob es allerdings protokolltechnisch immer einwandfrei klappt, hängt von vielern anderen Faktoren ab (siehe PS/2 Mäuse).
Marcel
H
Henry Kiefer
Marcel Müller schrieb:
Ich bin hier in der NG längere Zeit abwesend gewesen, daher mag es sein ich habe hier nicht alles mitgekriegt, aber:
SCL und SDA haben beide KEINE Schutzdioden nach VCC, sondern ne Art Zenerdiode. Das ist allerdings nicht bei allen vermarkten i2c-ICs so.
Es gibt von
formatting link
einen i2c-Buffer, der erst nach einem erkannten STOP auf dem Bus, diesen dann durchschaltet.
Gruß - Henry
www.ehydra.dyndns.info
J
Joerg
Keine parasitaeren Substratdioden? Etwa bei normalen CMOS Chips? Wie haben die denn das hinbekommen?
Geht es eigentlich auch bei Euch mehr in Richtung SPI oder ist das nur hier so?
Gruesse, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
K
Klaus Butzmann
Günther Dietrich schrieb:
Jaaaaaa, wie bei meinen 8" Floppys :-)
Butzo
M
Michael Baeuerle
SCL und SDA sind ja Open-Drain, d.h. da ist kein P-Kanal FET dran und damit auch keine parasitaere Diode nach VCC. Aehnlich wie an den /RESET Pins einiger MCUs: Man legt VCC auf z.B. 5V und legt dann an /RESET 12V an um den Programmiermodus zu aktivieren. Ich habe da deswegen immer eine externe Klemmdiode nach VCC dran.
Mir ist SPI auch lieber. Wenn man hohe Geschwindigkeit braucht (z.B. fuer Speicherchips) hat es mehr zu bieten. Dafuer darf man halt mehr Leiterbahnen verlegen. Dass SPI full-duplex ist bringt IMHO eher selten einen Vorteil.
Micha
R
Ralph A. Schmid, dk5ras
Wir haben an einem unserer älteren Geräte sowas seit über zehn Jahren am Laufen, ohne Probleme. Ist einfach nur ein Sub-D 9 mit einem seriellen EEPROM dran...
Ich habe auch schon über etliche Meter lange Telefonstrippen quer durchs Firmengebäude i2c gesteuerte Weihnachtslichterketten angesteuert. Ist aber wohl nicht die Norm ;-)
Und dann gabs da noch den Mobilfunk-Infrastruktur-Anbieter, der i2c als Busverbindung zwischen Geräten am Mast betreibt...
- Henry
www.ehydra.dyndns.info
H
Henry Kiefer
Joerg schrieb:
Moin Jörg!
Es hält sich die Waage. Philips verlangte schon immer einfach zu viel Kohle für die einfachen i2c-Chips und hat sich damit ziemlich sicher einige nennenswerte Märkte verbaut. Und einige funktionale Bausteine fehlen immer noch nach so langer Zeit.
Aber das Patent ist abgelaufen. TWI darf nun offiziell i2c heißen und ne Busadresse kann man sich auch selber zimmern.
Ich bevorzuge i2c. Da hat man minimal JTAG zum Debuggen gleich integriert...
Übrigens sind JTAG und SPI miteinander verwandt.
Und schau dir mal so feine Sachen wie Si571 an! Wenn du da mal ein paar Cent mehr über hast... ;-)
- Henry
www.ehydra.dyndns.info
F
Frank Buss
Sieht interessant aus, insbesondere vielleicht als leicht zu verwendende Zeitquelle für meinen Funktionsgenerator, den ich irgendwann nochmal zuende bauen möchte.
Wo kann man den kaufen? Bei
formatting link
wird man auf die mouse.com-Seite weitergeleitet, die nur das Devkit zum Si570/Si571 anbieten. Wie teuer ist der Si570?
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
H
Henry Kiefer
So ca. $20 bis 90 je nach Version. Gottseidank schläft Jörg noch, sonst käme sofort das Wort 'Boutique' ;-)
Die Phasenrauschwerte sind dafür aber auch beachtlich.
Wenn du einen haben willst, dann schick mir mal ne mail mit deinen Anforderungen. Vielleicht paßt einer der hier liegenden.
- Henry
www.ehydra.dyndns.info
J
Joerg
Sieht danach aus. Nicht mal Arrow hat den Chip.
Falls nicht, hat vielleicht Oliver Bartels einige Empfehlungen.
Gruesse, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
J
Joerg
I2C ist bei mir zu lange her, gibt's hier immer weniger. Aber ist es nicht so, dass da auch immer Eingaenge mit dranhaengen? Die sollten doch Substratdioden nach VCC haben.
Voll Duplex hat mir schon Vorteile gebracht. Meist dann, wenn ich mal so richtig aufs Gas gestiegen bin, jenseits der 20MHz. Wandler auslesen und dabei gleichzeitig die naechste Config rueberschicken und solche Geschichten.
Gruesse, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
F
Frank Buss
$20 wäre noch ok. Ich vermute aber mal, gerade der Si570 wird teuerer sein?
Ich hatte den Chip hier angedacht: AD9854. Eigentlich möchte ich aber nur eine beliebige Frequenz generieren, vielleicht so zwischen 1 MHz und 100 MHz (wenn er nicht bis 1 MHz runterkommt könnte ich das noch teilen, ich plane sowieso einen FPGA einzusetzen), da ist der schon was kompliziert und so ein einfacher Chip wie der Si571, wo ich nur die Frequenz programmieren brauche und nichts sonst anschließen brauche, wäre schon eine schöne Sache.
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
J
Joerg
Ja, war meist zu teuer. Besonders wenn die Konkurrenz so aussieht und 12 Bits fuer um die $1.50 zu haben sind:
formatting link
8-Bitter gibts unter einem Dollar:
formatting link
Ich heisse doch nicht Rockefeller ... und meine Kunden wuerde mir die Leviten lesen. Besonders deren Einkaufschefs.
Gruesse, Joerg
http://www.analogconsultants.com/
"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
H
Henry Kiefer
Joerg schrieb:
Ist noch zu neu und wenig Konkurrenz.
- Henry
www.ehydra.dyndns.info
H
Henry Kiefer
Im Prinzip brauchst du nur einen VCO mit einem Bereich 2:1 und ne binäre Teilerkette, an der du per Multiplexer die Stufe auswählen kannst. Damit ist dann _jede_ niedere Frequenz erzeugbar.
- Henry
www.ehydra.dyndns.info
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.