Guten Nachmittach Ich hab jetzt schon Google genutzt und das Forum durchstöbert, find aber trotzdem nicht das was ich suche. Zu mir: Grundbefehle von AVR kann ich langsam denke ich (hoffe ich :D) Zur Sache: Eigendlich möchte ich ein ATmega32 mit mehreren (um die 10) AVR's (Atmega16 oder so in der Art) Die Geschwindigkeit ist eigendlich relativ egal. 1) wäre es möglich für eine Verbindung nur 2 anschlüsse zu Benutzen (also damit 4 AVRS an einen Port passen) 2) wie macht man sowas am Besten? danke schonmal MFG nicknamemissing
Soll jeder mit jedem oder einer der Master sein? Master ist einfacher, z.B. über die UART. Bei kurzer Leitung mußt Du alle TXD der Slave UND-verknüpfen und an RXD des Master. Und TXD des Master geht an alle RXD der Slaves. Jeder Slave kriegt ne eigene Adresse (9Bit-Mode). Bei langen Leitungen brauchst Du Treiberchips, die sich sendeseitig parallel schalten lassen, z.B. PCA82C251. RS485-Treiber benötigen dagegen ein extra Umschaltsignal. Peter
Wie weit sind die Controller voneinander entfernt? Bei welchem Tempo? Hat einer von denen den Hut auf und fragt alle anderen ab (single master), oder sollen alle unkoordiniert rumbrüllen können (multi master)?
Die AVR sind durchschnittlich 5m voneinander wech. Der ATmega32 (A) soll als Zentrale fugieren der die Werte die die anderen AVRs (B bis ma gucken) hintereinander auf Befehl abfragt. B bis ... sind immer einmal mit A verbunden aber nicht untereinander vernetzt
Dann die erwähnten PCA82C251 (oder PCA82C250) als Treiber verwenden und mit UART verbinden. Physikalisch wird dann die Technik vom CAN Bus mitverwendet, was der einfachste Weg ist (einfacher als RS485, wird dadurch aber kein CAN-Bus). Dementsprechend idealerweise alle an einem Bus, nicht Stern, und 120 Ohm Abschluss an beiden Seiten. Aber wenn Tempo gering (<<100Kbps) und Länge im 5m Bereich, dann ist auch ein Stern ok, mit Abschluss nur am Master und Widerstand 33K an Rs vom Transceiver.
ôO öhm :D gibt es dazu irgendwie eine Anleitung o.ä.? oder einen Beispielschaltung? im Datenblatt Link: http://atlas.web.cern.ch/Atlas/GROUPS/DAQTRIG/DCS/CANINFO/pca82c250appl.pdf auf Seite 9 ist ich glaube ein Beispiel, aber so ganz fertig werde ich damit nicht :/
Die AN passt schon mal gut und Seite 9 auch. Vref kannst du offen lassen. Und Rs kannst du gegen GND schalten, es sein denn du willst den Transceiver zum Stromsparen abschalten können.
Zum Verständnis des Busses auch ganz nützlich: Microchip AN228. Wie auch bei der von Philips zählt davon nur die Verdrahtung und die Pegel, den Kram mit Timing, maximaler Länge usw kannst du überspringen weil der Teil nur auf echtes CAN zutrifft.
Weiter weiss ich nicht (wobei ich denke das Das eh falsch ist^^) im Algemeinen weiss ich nicht mal wie ich mit dem PCA82C250 umgehen muss (ich bekomms mit meinen nicht so super Englischkenntnisen auch nicht rausgelesen...)
Philipp M. wrote:
> (wobei ich denke das Das eh falsch ist^^)
Würde ich auch denken, wenn ich mir mal die Zweitbedeutung von PD0/PD1
ansehe.
RS an GND wurde ja schon gesagt.
Peter
Die UART Pins sitzen ja wohl woanders.
> RS an GND wurde ja schon gesagt.
Aber über Widerstand 33-47K um nicht so steile Flanken durch die Gegend
zu spucken. Ist einfach höflicher und bei Sternverkabelung auch nicht
unwichtig.
Ok stimmt wiederstände nicht eingeschaltet mich selber schlag Zitat: "Und Rs kannst du gegen GND schalten, es sein denn du willst den Transceiver zum Stromsparen abschalten können." ja das muss ich (alles gnadenlos auf Energiesparen ;) ) Dann kommt TxD an TxD und RxD an RxD (also PD1 und PD0). Und wo kommen dann CANH und CANL ran?
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.