Hallo, ich habe einen Sensor bei welchem ein Pin, je nachdem wie er konfiguriert wird, entweder Eingang oder Ausgang ist. Diesen single-ended IO möchte ich differenziell an mein System (RS485) anbinden. Das Problem wenn ich z.B. einen RS485 tranceiver ala SN65HVD75 verwende ist, dass ich auf der single-ended Seite immer noch 2 pins habe aus denen ich auswählen muss. Wie kann ich das bewerkstelligen? Anstreben würde ich eine Lösung bei welchem ich über einen digitalen Ausgang auswählen kann, ob ich dem Pin des Sensors ein Signal sende oder eines von ihm emfpange. Jumper möchte ich vermeiden.
G V schrieb: > ich habe einen Sensor bei welchem ein Pin, je nachdem wie er > konfiguriert wird, entweder Eingang oder Ausgang ist. Diesen > single-ended IO möchte ich differenziell an mein System (RS485) > anbinden. Was denn für ein System? RS485 ist normalerweise ein Bus, da hat ein einzelner, "dummer" IO Pin nix mitzureden. > Das Problem wenn ich z.B. einen RS485 tranceiver ala SN65HVD75 > verwende ist, dass ich auf der single-ended Seite immer noch 2 pins habe > aus denen ich auswählen muss. Wie meinen? > Anstreben würde ich eine Lösung bei welchem ich über einen digitalen > Ausgang auswählen kann, ob ich dem Pin des Sensors ein Signal sende oder > eines von ihm emfpange. Jumper möchte ich vermeiden. Die Pins DE und !RE tun das bereits. Siehe Anhang. DIR = LOW, RS 485 Empfänger aktiv, DATA-IO ist Eingang. DIR = HIGH, RS 485 Sender aktiv, DATA-IO ist Ausgang.
Falk B. schrieb: > G V schrieb: >> ich habe einen Sensor bei welchem ein Pin, je nachdem wie er >> konfiguriert wird, entweder Eingang oder Ausgang ist. Diesen >> single-ended IO möchte ich differenziell an mein System (RS485) >> anbinden. > > Was denn für ein System? RS485 ist normalerweise ein Bus, da hat ein > einzelner, "dummer" IO Pin nix mitzureden. Ich möchte einen ADXL355 an einen FPGA anbinden. RS485 ist in dem Fall nur der Standard für die verwendeten Pegel (zw. Sensor und FPGA ist ein Kabel und um weniger anfällig gegen Störungen zu sein erfolgt die Übertragung hier differenziell). Es ist in dem Fall eine reine Punkt zu Punkt Verbindung. >> Das Problem wenn ich z.B. einen RS485 tranceiver ala SN65HVD75 >> verwende ist, dass ich auf der single-ended Seite immer noch 2 pins habe >> aus denen ich auswählen muss. > > Wie meinen? > >> Anstreben würde ich eine Lösung bei welchem ich über einen digitalen >> Ausgang auswählen kann, ob ich dem Pin des Sensors ein Signal sende oder >> eines von ihm emfpange. Jumper möchte ich vermeiden. > > Die Pins DE und !RE tun das bereits. Siehe Anhang. > > DIR = LOW, RS 485 Empfänger aktiv, DATA-IO ist Eingang. > DIR = HIGH, RS 485 Sender aktiv, DATA-IO ist Ausgang. Mir war nicht klar, dass ich R und D einfach direkt zusammenhängen darf.
G V schrieb: > Mir war nicht klar, dass ich R und D einfach direkt zusammenhängen darf. Jetzt kennst du den Zusammenhang ;-)
Funktioniert das bei allen Tranceivern oder muss ich auf was spezielles achten?
G V schrieb: > Funktioniert das bei allen Tranceivern oder muss ich auf was spezielles > achten? Bei ALLLEN sicher nicht, aber bei denen, die sich wie der Klassiker MAX485 & Co verhalten und die gleichen Pins mit der gleichen Funktionalität haben. Warum meinst du, für ein bischen Kabel das differentiell machen zu müssen? Wie lang ist denn das Kabel? Und vor allem, welches Pin soll das sein? Dein IC hat SPI oder IC2 als Schnittstelle. Was soll da RS485?
Ja als Protokoll verwende ich SPI. RS485 steht in der Beschreibung der Schnittstelle am FPGA. Wie gesagt, das sind nur die Signalpegel soweit ich das verstehe. Ohne differenzielle Übertragung bekommen wir im aktuellen Umfeld zu viele Störungen. Das hat sich bei den anderen Signalen gezeigt. Die INT2 und DRDY Pins da ich den Synch Mechanismus umschaltbar machen will. Da wir auch mit dem SN65HVD75 gute Erfahrungen gemacht haben wäre es interessant ob es mit diesem auch geht. Was müsste im DB stehen wenn es nicht geht?
G V schrieb: > Ja als Protokoll verwende ich SPI. RS485 steht in der Beschreibung der > Schnittstelle am FPGA. Wie gesagt, das sind nur die Signalpegel soweit > ich das verstehe. > Ohne differenzielle Übertragung bekommen wir im aktuellen Umfeld zu > viele Störungen. Das hat sich bei den anderen Signalen gezeigt. Das war nicht meine Frage. > Da wir auch mit dem SN65HVD75 gute Erfahrungen gemacht haben wäre es > interessant ob es mit diesem auch geht. Was müsste im DB stehen wenn es > nicht geht? Also wenn ich dich hier so rumstolpern sehe, würde es mich nicht wundern wenn du und deine Leute nicht viel Ahnung von Hardware und gescheiter Signalführung habe und mit Kanonen auf Spatzen schießt. Das kommt davon, wenn man keinen echten HArdwerker mit Wissen und Erfahrung hat und nur Softis ranläßt. Mein Gott, die ERSTE Seite des Datenblatts zeigt ALLLES! Soviel wie das Girl von Seite drei! Damals, in der guten, alten Zeit! ;-)
Falk B. schrieb: > G V schrieb: >> Ja als Protokoll verwende ich SPI. RS485 steht in der Beschreibung der >> Schnittstelle am FPGA. Wie gesagt, das sind nur die Signalpegel soweit >> ich das verstehe. >> Ohne differenzielle Übertragung bekommen wir im aktuellen Umfeld zu >> viele Störungen. Das hat sich bei den anderen Signalen gezeigt. > > Das war nicht meine Frage. Deine Frage war was RS485 da soll... >> Da wir auch mit dem SN65HVD75 gute Erfahrungen gemacht haben wäre es >> interessant ob es mit diesem auch geht. Was müsste im DB stehen wenn es >> nicht geht? > > Also wenn ich dich hier so rumstolpern sehe, würde es mich nicht wundern > wenn du und deine Leute nicht viel Ahnung von Hardware und gescheiter > Signalführung habe und mit Kanonen auf Spatzen schießt. Das kommt davon, > wenn man keinen echten HArdwerker mit Wissen und Erfahrung hat und nur > Softis ranläßt. > Mein Gott, die ERSTE Seite des Datenblatts zeigt ALLLES! Soviel wie das > Girl von Seite drei! Damals, in der guten, alten Zeit! ;-) Tja dann seh ich wohl den notwendigen Zusammenhang nicht. Ich seh da, wie ich mehrere Teilnemer auf den Bus hängen kann...
G V schrieb: >> Das war nicht meine Frage. > > Deine Frage war was RS485 da soll... Da waren mehrere Fragen! Mein Gott, ist das die Kommunikation von Gen-Z? > Tja dann seh ich wohl den notwendigen Zusammenhang nicht. Ja, genau so wenig wie du konkrete Fragen nicht beantworten kannst oder willst. > Ich seh da, > wie ich mehrere Teilnemer auf den Bus hängen kann... Deine Frage war "Da wir auch mit dem SN65HVD75 gute Erfahrungen gemacht haben wäre es interessant ob es mit diesem auch geht. Was müsste im DB stehen wenn es nicht geht?" Welche sich auf meine Schaltung bezieht! https://www.mikrocontroller.net/attachment/586179/RS485_Umschaltung.png Also könnte man im Datenblatt nachschauen, ob DEIN IC die gleichen Pins mit der gleichen Funktion hat.
Nur weil er die gleichen Pins hat heißt das noch nicht, dass es dann auch funktioniert.
G V schrieb: > Nur weil er die gleichen Pins hat heißt das noch nicht, dass es dann > auch funktioniert. Schon wieder Gen-Z, die nur Halbsätze versteht? Ich wünsch dir noch viel Spaß und Erfolg bei deinem Projekt.
Naja wenn ich jedes angriffige Kommentar und jede unnötige Nachfrage kommentieren würde würd das ausarten und man würde noch weiter vom Thema abkommen. Man versteht offenbar schwer, dass man gewisse Gegebenheiten hat an denen man nichts ändern kann und darauf dann entsprechend reagieren muss. Falk B. schrieb: > Also könnte man im Datenblatt nachschauen, ob DEIN IC die gleichen Pins > mit der gleichen Funktion hat Tja viel mehr gibst du an Infos ja auch nicht von dir. Dass die Pins gleich sind liegt ja nahe, ist ja ein RS485 Tranceiver
Hi, alles sehr verwirrend. > Ja als Protokoll verwende ich SPI. > RS485 steht in der Beschreibung der Schnittstelle am FPGA SPI ist kein Protokoll, es ist eine definierte Übertragungsart. SPI=Serial Peripheral Interface mit DI DO CKL und wenn nötig SS dabei ist immer einer Master und der andere Slave. Die Umkehrung von Master und Slave ist unüblich, geht allerdings auch. RS485 ist nur die Art der Übertragung eines Signals. (diff. Halbduplex) > ich habe einen Sensor bei welchem ein Pin, je nachdem wie er > konfiguriert wird, entweder Eingang oder Ausgang ist. Diesen > single-ended IO möchte ich differenziell an mein System (RS485) > anbinden. Das scheint aber etwas anderes zu sein. Wenn du das willst brauchst du für jedes Signal 2 zb. Max485. Damit du die in deinem gestörten Umfeld sicher umschalten kannst brauchst du 2 weitere zb. Max485 welche du nur zur Hälfte nutzt. Mit denen kannst du aber jetzt die Datenrichtung der "Signal" Max485 sicher umschalten. Ich habe aber Bedenken das du das geordnet bekommst und muss Falk rechtgeben wenn er sagt: > Mein Gott, die ERSTE Seite des Datenblatts zeigt ALLLES! Soviel wie das > Girl von Seite drei! Damals, in der guten, alten Zeit! ;-) Wer ein Datenblatt nicht interpretieren kann sollte die Finger davon lassen. trotzdem, viel Erfolg, Uwe [Mod: Zitatformatierung korrigiert]
:
Bearbeitet durch Moderator
G V schrieb: > Ja als Protokoll verwende ich SPI. SPI verwendet 4 Leitungen. Wenn du die differentiell übertragen willst, dann brauchst du logischerweise 4x 2 verdrillte Signalleitungen. Allerdings brauchst du dann nicht den richtungsumschaltbaren RS485, sondern den unidirektionalen RS422. Mein Tipp dafür: nimm "übliche" LVDS Treiber. G V schrieb: > Ich möchte einen ADXL355 an einen FPGA anbinden. Wenn du die Datenleitungen auf einem RS485 übertragen willst, dann brauchst du eine zusätzliche Logik, die die Richtung der Treiber auf beiden Seiten des Busses umschaltet, je nachdem, welcher Befehl (read oder write) grade abgeht, denn bei einem read musst du nach 8 Bits die Treiberrichtung am FPGA und am ADXL umschalten. Beim CS und beim SCLK gibt es nur 1 Richtung: vom FPGA zum ADXL. > Ich möchte einen ADXL355 an einen FPGA anbinden. Mein Vorschlag: setz einen µC an den ADXL und lass den dann über ein "normales" asynchrones serielles Protokoll mit dem FPGA reden. Der µC wandelt also von 4-Draht-SPI nach RX/TX RS485. Und weil du dann sowieso ein eigenes serielles Protokoll zwischen diesem µC und deinem FPGA brauchst, ist auch die Richtungsschaltung wesentlich einfacher und unkritischer. Falk B. schrieb: > Mein Gott, die ERSTE Seite des Datenblatts zeigt ALLLES! Aber auch im Rest des Datenblatts stehen recht interessante Dinge. So z.B. ab Seite 25 die Kommunikationsmöglichkeiten des Bausteins.
:
Bearbeitet durch Moderator
G V schrieb: > Mir war nicht klar, dass ich R und D einfach direkt zusammenhängen darf. Das sind Eingänge. Die darf man meistens zusammenschalten. Interessant wäre dann höchtens das Fanout des treibenden Ausgangs. G V schrieb: > Nur weil er die gleichen Pins hat heißt das noch nicht, dass es dann > auch funktioniert. Millionen von Entwicklern, die das so verwenden, irren sich? Lothar M. schrieb: > Mein Tipp dafür: nimm "übliche" LVDS > Treiber. Oder RS422-Treiber, um bei der RS-Schnittstellenfamile zu bleiben.
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.