Forum: Mikrocontroller und Digitale Elektronik I2C nach UART Bridge


von Toni S. (schelter)


Lesenswert?

Hallo Allerseits!

Ich habe ein kleines Problem, das mich schon seit Wochen beschäftigt, 
und wozu ich nirgends eine Lösung finde. Daher wollte ich mal die Profis 
fragen, ob das was ich vorhabe überhaupt umsetzbar ist.

Ich habe einen 8KB großen EEPROM, und einen Datalogger. Das EEPROM hat 
einen I2C Anschluss, und der Datalogger blöderweise nur UART.

es müsse also irgend eine Art "Bridge" sein die von UART des Dataloggers 
nach I2C des EEPROMs übersetzt. Die Verbindung sollte bidirektional 
sein, es sollten also lese und schreibzugriffe möglich sein.
idealerweise sollte es von den 3.3V des UART Anschlusses betrieben 
werden können. (muss aber nicht unbedingt)

Ich habe bei Maxim den MAX3108 und bei NXP den SC18IM700 gefunden, die 
genau das tun, blöderweise sind beide Chips nirgends zu kriegen, auch 
nicht direkt beim Hersteller.

Dann habe ich noch diverse Adapter von USB nach I2C und von USB nach 
UART gefunden, die können aber blöderweise nicht ohne weiteres 
zusammengeschaltet werden (und wäre auch irgendwie nicht sinnvoll)

Soweit ich das euren Foren entnehmen konnte, sollte es wohl möglich sein 
irgend ein MC so zu programmieren, dass er entsprechend den Übersetzer 
spielt, aber wie das funktionieren soll ist mir ein Rätsel (und ging aus 
den Threads nicht hervor, da dort nur die Rede von RS232 war, was aber 
im prinzip ähnlich zum 3.3V UART des Dataloggers ist)

Habt ihr vielleicht eine Idee was ich dafür brauche, bzw. wie das 
funktionieren soll?
Oder kennt jemand eine elegantere Lösung um Daten von I2C nach UART zu 
bekommen?

Über eure Hilfe würde ich mich sehr freuen!

von avrGerd (Gast)


Lesenswert?

Hast Du denn Einfluss auf das, was über den UART gesendet/empfangen 
wird?

Kann der Datenlogger denn über seinen UART Daten empfangen und loggen 
oder ist das nur eine Schnittstelle zum PC?

Gib uns mal ein paar mehr Infos zum Logger usw.


Gruß,
avrGerd

von Toni S. (schelter)


Lesenswert?

Die UART Schnittstelle ist als PC-Schnittstelle gedacht, um z.b. die 
Firmware auf zu spielen. Aber soweit ich das sehe kann ich diese 
Firmware umschreiben, und darin auch die UART Schnittstelle frei 
programmieren. Sollte also an der Stelle kein Problem darstellen.

von avrGerd (Gast)


Lesenswert?

Na dann sind die Grundlagen ja schon bestens geeignet um Dein Vorhaben 
erfolgreich umzusetzen.

Im Prinzip kann man dann folgendes machen:

1.
Datalogger Software umschreiben, so dass man über den UART Kommandos 
senden kann z.B. "lesen/schreiben", "Adresse", "Checksumme" usw. ist Dir 
überlassen wie umfangreich Du das machen willst.

2.
Diese Befehle an einen Mikrocontroller(UART) senden, dort auswerten und 
dann vom Mikrocontroller den EEPROM über I2C 
ansprechen(lesen/schreiben).
Evtl. eine Antwort an den Datenloggen über UART zurücksenden.

Ist die UART Schnittstelle des Datenloggers TTL Pegel oder RS232 Pegel?

Den Controller und den EEPROM über die UART zu versorgen könnte knapp 
werden, da muss man sich mal die benötigten Ströme der beteiligten 
genauer ansehen. Es sei denn, der Logger bietet wirklich 3.3V an enem 
Ausgang mit etwas Reserve für die neue Peripherie.

Hast Du schon Erfahrung mit Mikrocontrollern ?

Gruß,
avrGerd

von Arc N. (arc)


Lesenswert?

Toni S. schrieb:
> Ich habe bei Maxim den MAX3108 und bei NXP den SC18IM700 gefunden, die
> genau das tun, blöderweise sind beide Chips nirgends zu kriegen, auch
> nicht direkt beim Hersteller.

5674 Stück
http://search.digikey.com/de/de/products/SC18IM700IPW,112/568-3231-5-ND/1033516

~4000 Stück
http://de.mouser.com/Search/Refine.aspx?Keyword=SC18IM700

~2000 Stück
http://de.farnell.com/nxp/sc18im700ipw-112/ic-i2c-bus-to-uart-interface-tssop/dp/1831261

http://www.nxp.com/products/interface_and_connectivity/bridges/uart_to_i2c_master_gpio_bridges/SC18IM700.html#overview
(da gibt's links auch einen Link zur Sample-Bestellung...)

von Toni S. (schelter)


Lesenswert?

DAnke für die Links!
hab das Sample mal bestellt, mal schauen was draus wird. Die Preise für 
das Teil sind aber auf jeden Fall relativ hoch (vor allem wenn man den 
Versand einrechnet). Daher wäre eine Realisierung mittels MC dennoch 
interessant.

Die UART-Schnittstelle des Dataloggers ist auf TTL Pegel. Erfahrung mit 
MCs habe ich praktisch keine (nur Vorlesung an der Uni, aber da es nur 
Theorie war, zählt es wohl nicht ;))
Vor allem wüsst' ich nicht wo ich da anfangen soll. also welcher MC sich 
für diesen Zweck am besten eignen würde (Preis/Leistungs-technisch, soll 
ja nur ein paar Bytes hin und her schubsen) und was ich an peripherie 
noch brauchen würde.

von avrGerd (Gast)


Lesenswert?

Hallo Toni,

was soll denn der SC18IM700 kosten? Gibts das Muster nicht kostenlos?
Ansonsten tut er ja das, was Du suchst.

Wenn Du später aber Dein System erweitern möchtest, dann wäre ein uC 
sinnvoller.

Als uC kannst Du z.B. die ATMEL AVR Controller (ATMega, ATTiny) nehmen.
Die Kosten 1-2 Euro als Einzelstück, dazu das kostenlose AVRStudio5 (C 
Compiler bereits integriert) oder BASCOM, ein Basic Dialekt, ist bis 
4kByte auch kostenlos bringt auch viele Beispiele und eine gute Hilfe 
mit.

Dann brauchst Du noch ein Programmiergerät, wobei man hier schon für 
wenig Geld was brauchbares bekommt.

Die Frage wäre halt, ob Du Lust hast Dich mit der Materie zu 
beschäftigen und auch praktisch einzusteigen.

Gruß,
avrGerd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.