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.
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.
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.
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?
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! ;-)
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...
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?"
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.
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
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.
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.
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.