Hallo, So nun zu folgender Frage, der AtXMega128A wird mit 3.3V gespeist, ich hab zur Kommunikation den RS485CPA+ (Low-Power) Transciever. Da RS-232 wohl zu Kommunikation zwischen 3 Microprozessoren ausscheidet, habe ich mir überlegt die hier noch Rumliegenden RS485CPA+ zu nutzen. So, nun die Frage, wenn ich nun den Max485CPA+ mit 3.3V betreibe, die AtMega's32 jedoch mit +5V betriebe, kriege ich da bezüglich den Ports evtl. Probleme? Der AtMega erkennt ja schon Low-Pegel als High, somit wäre Empfangen kein Problem, nur was passiert wenn ich versuche vom AtMega32 was zu senden? Der müsste dann ja eigtl. mit +5V in den Max 485 rein powern, der aber mit +3.3V betrieben wird. Werden die Widerstände für den Ruhepegel (1K Leitung A auf VCC) (1K Leitung B auf GND) für jeden einzelnen RS-485 benötigt, wenn diese sich auf einer Platine mit der selbigen Versorgungsspannung liegen? Danke :) Daniel.
Wenn sich die drei Prozessoren auf einer einzigen Platine befinden, dann ist RS485 nicht nötig und sogar unnötig kompliziert. Machs doch so: Der serielle Bus ist eine Eindrahtleitung, die einen Pullup nach 5V bekommt und mit Open-Collector Treibern getrieben wird. Bei dem M32 verbindest Du RXD dirkt mit dem Bus, TXD schließt Du an das Gate eines HC125 an, desen IN auf 5V liegt. OUT geht dann auf den Bus. Beim XMEGA nimmst Du zum Treiben des Busses einen mit 5V betriebenen HCT125, RXD kannst Du über ein 74LVC-Gatter einfach über einen Spannungsteiler an den Bus anschließen. Da ein 74HCT125 vier Einzelgatter mit IN, GATE und OUT enthält, könntest Du das auch für alle TXDs nehmen. Andere Möglichkeit: 3-fach UND-Gatter. Der Ruhezustand auf einer asynchronen seriellen Schnittstelle ist HI. Heißt also: Ein einziger Teilnehmer mit mit einem LO auf seinem TXD den Bus auf LO ziehen können, und genau das macht das UND-Gatter. Auch hierfür einen HCT-Typ nehmen, dann passt das mit den Pegeln schon. Vorteil gegenüber der Pullup-Lösung: die Anstiegszeit und Abfallzeiten sind gleich, da der Bus ja immer aktiv getrieben wird, und die Anstiegszeit wird kürzer sein. Ich denke, das ist die einfachste Lösung. Oder, wenn der XMega Master und die M32 Slaves sind: TXD des XMegas über ein HCT-Gatter an die RXDs der M32, und die TXDs der M32 über ein 74LVC08 (3.3V VCC, 5V Tolerante Inputs) auf den RXD des XMegas. So kann der XMgea jedem M32 Befehle senden, die M32 können darauf hin ihre Antworten zurücksenden, abder die M32 können untereinander nicht kommunizieren. fchk
Du meinst jetzt eine einfache UART Verbindung richtig?! Wenn dann benutz ich für alle txd das Gatter :) werd mich heut Mittag nochmal dran setzen, aber deine Lösung ist wohl aus dem pegelwandler Artikel oder? Da finde ich ja paar schaltpläne :) Gruß Daniel
Wie gesagt: 5V->3.3V: 74LVC*, mit Vcc=3.3V betrieben 3.3V->5V: 74HCT*, mit Vcc=5V betrieben fchk
Vielen dank dir auf jedenfall schonmal, hab mir nun mal die 74LVC und 74HCT besorgt. Du meinst schon eine UART Verbindung richtig? ;)
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.