Hallo, Ich habe ein GPS-Modul und einen FT232RL, die beide an einen UART eines ATmega32 oder ATmega644 angeschlossen werden sollen. Da nicht beides gleichzeitig verwendet werden muss, sollte das ja eigentlich gehen, indem durch Anschließen eines USB-Kabels der 3V3OUT-Eingang des FT232 auf High geht, einen Interrupt am AVR auslöst und dieser dann den Enable-Eingang des GPS-Moduls ändert. Funktioniert das so oder muss ich noch irgendwas beachten wie parasitäre Spannungsversorgung? Vielen Dank!
Christian schrieb: > Ich habe ein GPS-Modul und einen FT232RL, die beide an einen UART eines > ATmega32 oder ATmega644 angeschlossen werden sollen. UART ist eine Schnittstelle und kein Bus. Darum gibt's keine zwei Module die da angeschlossen werden könnten. Dann nimm einen AVR mit 2 UART Modulen.
Christian schrieb: > Ich habe ein GPS-Modul und einen FT232RL, die beide an einen UART eines > > ATmega32 oder ATmega644 angeschlossen werden sollen Der 644P hat 2 USARTS. mfg.
Lehrmann Michael schrieb: > Dann nimm einen AVR mit 2 > UART Modulen. Oder Software-UART. Nicht besonders schwierig und für kleine Baudraten auch nicht besonders rechenintensiv auf dem AVR. Kann man problemlos in die Hauptschleife bzw. den Hauptinterrupt einbauen.
Hallo, ich weiß, dass der UART kein Bus ist und habe die Möglichkeiten mit 2 UARTs natürlich auch überlegt und hätte sie angewandt, aber ich habe keine Pins mehr für einen Software-UART frei. Deshalb kam ich auf die Idee, die zwei Module einfach nur abwechselnd einzuschalten, da ich sie eh nicht gleichzeitig brauche. Ich möchte nicht auf einen größeren AVR umsteigen... Meine Frage war eigentlich nur, ob das eine Teil das andere stören könnte, selbst wenn eines "abgeschaltet ist". Vielen Dank!
Wenn ich es richtig verstehe möchtest Du jeweils die TX bzw. RX vom 232 und vom GPS zusammenschalten und an den RX bzw. TX vom ATmega anschließen? Ohne weiteres geht das leider nicht, da TX i.A. kein Open-Collector ist. D.h. wenn z.B. der GPS 0V liefert und der 232 5V gibts einen schönen Kurzschluss --> nicht gut ;-)
Ja, so wollte ich es zusammenschalten. Könnte man das Problem nicht mit zwei DIoden beheben? Ich hatte irgendwo ein öhnliches Problem gesehen, finde es aber nicht mehr :(
Genau das wollte ich gerade vorschlagen ;-) Ist ja im Grunde dann ein OR-Gatter; wenn Du sicher weißt dass nie beide gleichzeitig senden sollte das klappen. Wäre denke ich zumindest besser als ein Software-UART, gerade zum Empfangen sind die m.E. nicht so toll. Und wegen der anderen Richtung: hat der GPS überhaupt einen RX?
Kommt drauf an, wie das Enable realisiert ist. Falls dabei dem Chip (oder seinem UART) die Betriebsspannung abgeschaltet wird sollten die RX nicht mehr angesteuert werden. Je nach Eingangsbeschaltung könnten sie sonst niederohmig werden und damit Strom ziehen. Wenn Du bei GPS und beim 232 Enable-Eingänge hast klär am besten im Datenblatt ab ob beim Disable die Eingänge noch angesteuert werden dürfen oder nicht.
Oder nimm so nen CMOS/TTL analogschalter (is billich und dann zu 100% hochohmig)...
Mathias A. schrieb: > nicht mehr angesteuert werden. Je nach Eingangsbeschaltung könnten sie > sonst niederohmig werden und damit Strom ziehen. Das wurde ja auch passieren wenn ich nur das GPS Modul habe, per UART anbinde und dann disable. Klingt eigentlich eher unplausibel ?!
Wie gesagt, kommt drauf an wie das Disable realisiert wird. Wenn da ein Enable-Pin vorgesehen ist wird es sehr wahrscheinlich kein Problem geben (um ganz sicher zu gehen halt mal im Datenblatt nachlesen). Wenn man aber dem ganzen Chip den Strom abdreht, kommt es drauf an wie die Eingangsschaltung aufgebaut ist ob das ok ist oder nicht. Z.B. bei den Multifunktions-Pins von µCn passieren u.U. unerwartete Effekte wenn dort Spannung anliegt und Vcc offen oder Masse ist. Oft steht da auch im Datenblatt, dass die Spannung am Eingang nicht (weit) über Vcc liegen darf. Hatte das erst kürzlich bei einer Schaltung, wo ein Controller einen anderen per Relais abschaltet und beide per UART verbunden sind: Stromverbrauch der dauernd versorgten Schaltung stieg immer dann wenn der andere Teil abgeschaltet wurde um ca. 30mA an. Sobald der andere µC wieder eingeschaltet wurde, fiel der Verbrauch des anderen Teils wieder um 30mA -> stellte sich raus, dass der RX-Pin (ein GPIO) vom abgeschalteten Controller diesen Strom gezogen hat :-/ Vermute dass der RX-GPIO niederohmig zur Masse wurde und damit der TX des anderen µC quasi kurzgeschlossen wurde. Und da TX im idle auf +5V liegt kam da soviel raus wie der Controller eben liefern kann... Hab es allerdings nicht vollständig untersucht was da genau passiert ist, evtl hat jemand eine andere/genauere Erklärung für den Effekt? In dem Fall war jedenfalls die einfache Lösung, dass der steuernde Controller seinen UART auch abschaltet sobald er den anderen µC ausschaltet.
ich hatte ganz gute erfahrungen mit einem serial (bzw analog) multiplexer gemacht. 74HC4052 heisst das teil. hier ist mal ein schaltplan wo das ding verwendet wird: http://www.sparkfun.com/datasheets/Sensors/HAS-v13.pdf schöne grüsse stefan
Christian schrieb: > Ja, so wollte ich es zusammenschalten. Könnte man das Problem nicht mit > zwei DIoden beheben? Ich hatte irgendwo ein öhnliches Problem gesehen, > finde es aber nicht mehr :( Ich finde das einen sehr sehr 'dreckigen' Weg - das ist schon ziemlich heftig.
Christian schrieb: > ... Könnte man das Problem nicht mit > zwei DIoden beheben? Könnte klappen: Läuft unter 'Wired or'. Dioden jeweils von den Ausgängen zum (gemeinsamen) uC-Eingang mit Anode am Eingang, Pull-up vom Eingang an VCC. Wenn du nicht zu schnell werden willst, und die beiden Datenquellen sich nicht in die Quere kommen können, sollte das klappen.
Also ich würde zusehen, daß ich am ATmega noch ein paar Pins frei bekomme und würde dann den 644P einsetzen. Sollte das wirklich nicht möglich sein, würde ich mir vermutlich einen zusätzlichen ATmega48 (o.Ä.) hernehmen und diesen an die UART hängen. Auf dem ATmega48 läuft jeweils eine Soft-UART zum GPS und eine zum FT232. Zwischen den beiden ATmegas würde ein Protokoll laufen, welches es ermöglicht Daten gezielt an eins der angeschlossenen Geräte zu schicken. Ebenso eine eindeutige Identifizierung, von welchem Gerät die Daten kommen. Gruß Jobst
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.