-
-
Erfahrener Benutzer
Robotik Einstein
differentielles TWI (achtung ET-tiefflieger braucht hilfe)
Bild hier
ich wollte mal eure meinung/verbesserungsvorschläge ... ich wollte den CAN controller + tranceiver sparen und TWI einfach differentiell übertragen um mehr reichweite zu bekommen ... bei der dimensionierung der widerstande könnte ich vll. noch hilfe brauchen oder jemand hat ne handlichere lösung für mich ?! es soll so billig wie nur irgendmöglich werden! deshalb wollt ich das TWI "optimieren" .... schaltlogik kann cih zwar aber was ET angeht .. naja S.O.S
1-wire wäre auch noch ne variante, aber geht das denn wenn ich NUR avr-controllern benutze???
R5 ist nur aus rationalisierung so gewählt, alternativ könnte ich auch für t2 udn t3 sepparate widerstände wählen
-
Erfahrener Benutzer
Robotik Einstein
1-Wire definiert ja nun auch ein nicht ganz triviales Protokoll. Was hält Dich davon ab, selbst eins zu schreiben, wenn Du damit nur zwischen selbst programmierten Controllern kommunizieren willst? Bei Deinem "TWI" vermisse ich irgendwie die Taktleitung, kann das sein?
Ich würde einfach je einen Portpin pro Controller benutzen und diese über Widerstände (gegen Kurzschluss bei Softwarefehlern) auf die Busleitung legen. Den Rest besorgt die Software...
Wenn es differenziell sein muss, nimmst Du halt zwei Portleitungen und entsprechende Transceiver, bis Du mit einer diskreten Lösung die Vorteile der differnziellen Übertragung 'rausgebastelt hast, haben sich die Treiber zehnmal rentiert. Und wenn man schon soweit ist, kann man auch gleich den UART nehmen...
-
Erfahrener Benutzer
Robotik Einstein
die beschaltung stellt ja auch nur 1 leitung dar, also das ganze noch mal 2 rechnen
wie meinst du das mit "zwei Portleitungen und entsprechende Transceiver" ?
und "gleich den UART nehmen" ... ich brauche eine möglichst stabile kommunikation über ungefähr 25-50m zu rund 15-30 controllern (anzahl steigt mit ausbaustufe)
kann sein das cih grad aufm schlauch stehe, aber hast du eventuell ne konkrete idee was ich dafür benutzen kann ? es soll wirklich kostengünstig sein! ich weis ja nicht was genau der CAN tranceiver macht, aber der hat nen TX und n RX port, kann cih da auch UART anschliessen ??? das protokoll kann cih mir ja austüfteln
-
Erfahrener Benutzer
Robotik Einstein
Was brauchst du denn wirklich?
-Datenrate
-Reichweite
-Topologie (Stern, Bus, etc)
-uni/bidirektional
-single Master/Multi master
-...
-
Erfahrener Benutzer
Robotik Einstein
Und wenn das beantwortet wäre, könnte man mal nachdenken, ob RS485 mal wieder das Mittel der Wahl wäre. Eine Kommunikation wird ja nicht durch bestimmte Bauteile oder Schaltungen sicher, sondern durch die Software, die sie abwickelt und unvermeidbare Störungen erkennt.
-
Erfahrener Benutzer
Robotik Einstein
langgezogener bus (cat5 kabel, für jeden abgriff unterbrochen), datenrate eigentlich egal, aber ansprechzeiten möglicht kurz .... multimaster wäre ideal eben wegen ansprechzeit aber 30 master .... hui dir arbitration wird lustig ... bidirektional ....
ich möchte die zustände von einigen controller gezielt abfragen können, aber die controller müssen auch bei eintretenden "events" direkt was senden können, also polling aller slaves im single master möchte ich vermeiden
als ich das letze mal rs485 gesehen habe so vom schaltplan her war mir das zu kompliziert/aufwendig ums 30 mal zu löten oder hab ich jetzt iwie was verwechselt ?
-
Erfahrener Benutzer
Robotik Einstein
Du hast RS485 gesehen? Wenn ein 8-beiniges IC Dir zu aufwändig ist, wird es wohl wirklich schwer, Dir zu helfen. Nagut: ans Ende gehört wie bei jedem längeren Bus noch je ein Abschlusswiderstand, und ein Kondensator schadet dem IC sicher auch nicht. So oder so, Du musst was anderes gesehen haben
-
Erfahrener Benutzer
Robotik Einstein
hm recht haste ... also hab den
ST75C176CN
grad mal angeschaut ... das datenblatt sieht toll aus sagt viel ... aber nicht so recht wie ich ihn anschliessen muss ... ich bemüh grad die forumssuche aber die schläft ständig ein ...
EDIT: ok hab jetzt zwar einige erklärungen gefunden, aber noch net so recht verstanden was es mit dem dinversen /RE DE zu tun hat, und ob cih die verbleibenden 6 adernpaare nicht für eine art busyschaltung gebrauchen kann?
-
Erfahrener Benutzer
Robotik Einstein
/RE und DE knotest Du zusammen und verbindest sie mit einem Controllerausgang. Dieser geht auf 1 zum Senden (Driver Enable) oder auf 0 zum "lauschen", Receiver Enable low-aktiv. Alles weitere ist Software.
Insbesondere die Kollisionen erkennen, wenn zwei Master meinen, überlappend ein Event mitteilen zu müssen.
-
Erfahrener Benutzer
Robotik Einstein
naja hatte gedacht 2 leitungen zu nehmen, die ich dann auch differentiell verschalte, wenn einer senden will, wechselt er die polarität, alle anderen schweigen, dann gibt erdie leitung wieder frei ... blöde situation wenn 2 einheiten absolut gleichzeitig den pegel wechseln, das könnte problematisch werden ...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen