Wertes Forum, für meine Eisenbahnanlage (Signalsteuerungen) entwickle ich schon seit langem eigene Schaltmodule. Jeder Schaltmodul hat einen PIC µC. Die miteinander korrespondierenden Module werden über ser. UART-Verbindung miteinander verbunden. Die längste Verbindung zweier µC kann bis zu ca. 20m betragen. Hierfür wurde mir die allgemeine Verwendung von UART-Ver- bindungen empfohlen. Auf beiliegender Zeichnung sind die beiden Verbindungsfälle ersichtlich. Fall 1: Hier ist ein PIC 16F877A der MASTER und überträgt insges. 2byte an verschiedene Slaves. Fall 2: Obengenannter PIC ist hierbei jetzt der Slave, während nur 1 obengenannter Slave (Sk-Rel-Eb-Modul)jetzt der MASTER ist. Er überträgt nur 1 byte. Wie muß ich die Adressierung der einzelnen PICs in den Fällen 1 und 2 vornehmen? Nirgendwo konnte ich bislang entsprechende verständliche Anleitungen finden! Die Programmierung muß in C erfolgen. Wer kann mir mit wenigen verständlichen Angaben weiterhelfen? Für evtl. auftretende Fragen stehe ich gerne zur Verfügung. Freundliche Grüße und Dank im voraus. Jochen
Hallo, habe auch bereits 16 Pics über SPI verbunden. Bei Deinen Entfernungen ist aber wohl UART duch besser.. Du musst erst mal dafür sorgen, dass jeder PIC eine eigene Adresse bekummt. Z.B. über DIP codierschalter. Dann muss der Master ein Telegramm senden, die die Adresse des gemeinten PIC enthält. Nur der PIC, der sich angesprochen fühlt, sendet dann auf seiner TX Leitung Daten zurück. Setz mal besser noch jeweils 100 Ohm Widerstände in des TX Leitung der Slaves, um bei Fehlern zu verhindern, dass 2 Ausgänge parallel arbeiten. In der Software der Slaves die TX nur aus Ausgang setzen, wenn er auch senden möchte. LG Dirk
Schau dir mal halbduplex RS485 an. Entweder Multimaster (wird schwieriger wegen Kollisionserkennung) oder Singlemaster (pollt ggf. die Slaves).
Dirk F. schrieb: > Du musst erst mal dafür sorgen, dass jeder PIC eine eigene Adresse > bekummt. Z.B. über DIP codierschalter. Viele PICs haben ein EEPROM, wo man die ganz ohne zusätzlichen Hardwareaufwand ablegen kann. Wenn man jedem Modul zusätzlich noch eine Seriennummer fest einbrennt - kann man über Broadcast sogar die Adressen neu vergeben, so dass man Module tauschen und umadressieren kann. Außerdem bietet sich an, in jedem Modul z.B. eine Klartextinfo (Funktion, Anlagenkoordinaten, Gleis) o.ä. abzulegen, so dass man aus der bestehenden Anlage die Konfigurationsinformation abrufen kann und nicht auf (veraltete) Listen angewiesen ist.
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.