- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 17

Thema: Problem mit der seriellen Kommunikation Arduino Due und Navilock NL-852ETTL

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    [...]Du das OK findest das man bei einer Komponete die zumindest mal ca. 100 € kostet dann auch noch selbst die grundlegenden Technischen Parameter ausmessen musst ist das Deine Sache meine ist es nicht. Ganz klar nicht meine Baustelle ...
    Ganz deiner Meinung! Ändert aber an dieser Stelle nichts an der Tatsache, dass die Ermittlung der Baudrate nicht 100% trivial war.
    Ja find ich OK einen ARM 32 BIt 80Mhz Prozessor als Schnittstellen Umsetzer. Wozu soll ich mir einen Konverter bauen oder kaufen wenn der DUE schon da ist? Ausserdem ist er recht fexibel und kann wie in dem Fall auch gleich Schnittstellen Diagnose mit erleichtern hat er ja auch. Bei einem Dummen Konverter ist das nicht möglich.
    In Kombination mit:
    Wenn Du jetzt noch wissen willst obwohl Du nicht erst gefragt hast was es werden soll. Der DUE soll noch ein 5" Display mit Touchscreen (wenn ich eins mit guter Qualität finde) bekommen und dann in meinen Fahrzeugen Daten Sammel.
    Da muss ich meine Aussage dann etwas revidieren . Dann ist das DUE, oder der ARM an sich, passend und ein einfacher Konverter zweifelsohne nutzlos. Ich habe in deine Aussage hineininterpretiert, dass das DUE nun dauerhaft als Konverter dienen soll. Da war ich wohl etwas Arduino-überkritisch^^.

    1,2-1,4 Khz wie viele Baud ist das?
    BD=Symbole/Sekunde
    Bei 10Bit je Zeichen, 8Datenbits, ein Startbit, ein Stoppbit
    =120Symbole/Sekunde=120Bd

    Ausserdem ist es nicht mein Schuld das der Chip Hersteller nur eine Windows Software zum konfigurieren anbietet und keine Module als Source Code die das können. Dann bräuchte ich auch den konverter nicht weil ich dann das Modul nicht an den PC anschließen müsste.
    Aus dem selben Grund liegt hier auch noch ein Modul, wo ich das Konfigurationsprotokoll mal ausspähen muss ^^.

    Einen schönen Abend noch,
    Gruß Jannis

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Die Frequenz Messung an seriellen Daten ist schwierig. Ich hatte mit meinem Oszi die ca. 1,4 Khz gemessen und kam auf ein ähnliches Ergebnis wie Du nur ist das halt sehr weit von den 4800 entfernt die es dann tatsächlich waren. Vielleicht hängt das auch irgendwie mit der angeblichen automatischen Baudraten Ermittlung zusammen. Ich kenne jetzt nicht wirklich die letzten Implemtierungsdetails der Abwicklung. Vermute aber mal das irgendwas nicht so kompatibel ist wie es sein sollte.

    Wenn es ein ublox Chip oder Navilock Modul ist dann kannst Du die Protokoll Beschreibung von denen bekommen. Im ersten Posting oben auf das hier klicken. Da gibs einen Beitrag von mir mit einem Link zur ublox Protokollbeschreibung also für mein Modul zumindest. Mir war das aber jetzt im ersten Anlauf zu Aufwändig das alles nur für die Konfiguration zu Programmieren. Erst mal die NEMA Daten für meine Zwecke auswerten. Alles andere kann man später machen.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Die Frequenz Messung an seriellen Daten ist schwierig. Ich hatte mit meinem Oszi die ca. 1,4 Khz gemessen und kam auf ein ähnliches Ergebnis wie Du nur ist das halt sehr weit von den 4800 entfernt die es dann tatsächlich waren.
    Man misst da auch nicht die Frequenz!
    Je nachdem welche Daten versendet werden, bekommt man da ganz unterschiedliche Werte!

    Man misst die Zeit für eine Bitzelle!
    Bei ASCII-Werten kann man meist das Startbit recht gut erkennen. Je nachdem welche Werte gesendet werden, findet man noch ganzzahlige Vielfache einer Bitzelle.

    4'800Bit/s ergibt dann etwas um die 208µs für eine Bitzelle.

    Übrigens, mit Bit/s und Baud muss man sehr vorsichtig umgehen, diese haben, per Definition, nicht immer die selben Werte.
    Bei einer RS232 sind sie identisch.
    Bei einer Centronis-Schnittstelle ist die Baudrate dann aber 8x Kleiner als Bit/s, da mit jedem Takt 8 Bit übertragen werden.

    Die Baudrate ist aber der wichtige Parameter um die Bandbreite der Übertragungsstrecke zu bestimmen.
    Die alten Telefonmodem hatten keine Baudrate über 2'400 Baud, da eine analoge Telefonleitung nur eine maximale Frequenz von 3'500Hz garantiert. Durch Modulationsverfahren mit z.B. 64 unterschiedlichen Zuständen, können aber dann 8 Bit gleichzeitig übertragen werden. Dadurch ergeben dann 2'400 Baut = 19'200Bit/s.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Man misst die Zeit für eine Bitzelle!
    Klingt für mich sehr nach Frequenzmessung ...
    Hast Du schon recht damit aber das habe ich nicht hin bekommen. Weil mir irgendwie die Triggerung auf das Signal nicht richtig gelungen ist und wenn die Darstellung immer in der gegend herumwandert ist das mit dem Kästchenzählen nicht einfach und schon gar nicht wenn man die an einer bestimmten stelle im Signal zählen sollte. Bräuchte man so ein Digital Oszi mit den ganzen Software Optionen die können dann Schnittstellen analysieren. Man könnte auch die TX Leitung des GPS Moduls an einen normalen GPIO hängen und dann die analyze mit einem kleinen Programm selber auf dem Arduino DUE machen der ist schnell genug dafür aber das war mir zu viel arbeit.

    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    4'800Bit/s ergibt dann etwas um die 208µs für eine Bitzelle.
    Wie hast Du das denn ausgerechnet?

    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Bei einer Centronis-Schnittstelle ist die Baudrate dann aber 8x Kleiner als Bit/s, da mit jedem Takt 8 Bit übertragen werden.
    Mir kommt es so vor als ob Du hier Gemüse mit Obst vergleichst ...
    ... serielle und parallele Daten Übertragung ...

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Hallo!

    Fürs Beobachten einer Dataleitung von COM Schnittstelle auf einem analogem Oszi würde ich empfehlen bei horizontaler Ablenkung zum Triggern "single" bzw. "one shot" verwenden und die "time/div" so einstellen, dass auf dem Bildschirm nur ein Byte sichtbar ist. Dann sieht man sogar sich ändernde Bits.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Klingt für mich sehr nach Frequenzmessung ...
    Und was kommt wohl für eine Frequenz heraus, wenn 2 aufeinanderfolgende Bits den gleichen Wert haben, oder auch drei? Und was wenn der Abstand zwischen den Bytes mal variiert?

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Ich würde über feste Frequenz nur am Clockleitung reden, weil es sonst sinnlos ist.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    An aufeinander folgenden gleichen Bits kannst Du auch keine Baudrate bestimmen. Aber nur weil ich einen Teil aus einem Signal herausgreife um dessen Timing zu ermitteln ist es trotzdem nichts anderes als die Bestimmung der Frequenz. Eine Frequenz auf einer Leitung muss nicht statisch sein. Ist aber halt dann auch nicht mit einem normalen Frequenzzähler zu messen. Es ging um die Bestimmung einer Bit-Zelle nicht um Bytes.

    Selbst die Baud Angabe ist ja nichts anderes als eine Frequenzangabe. 4800 Bit pro Sekunde. Die Definition entspricht halt nicht dem Herz. Aber die Definitionen sind völlig willkürlich von Menschen gemacht um Vorgänge beschreiben zu können oder um damit rechnen zu können.

    Clockleitung gibts hier keine nur TX RX und GND. Wäre der Takt auf der CLOCK Leitung eigentlich abhängig von der Baudrate?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Klingt für mich sehr nach Frequenzmessung ...
    Hast Du schon recht damit aber das habe ich nicht hin bekommen. Weil mir irgendwie die Triggerung auf das Signal nicht richtig gelungen ist und wenn die Darstellung immer in der gegend herumwandert ist das mit dem Kästchenzählen nicht einfach und schon gar nicht wenn man die an einer bestimmten stelle im Signal zählen sollte. Bräuchte man so ein Digital Oszi mit den ganzen Software Optionen die können dann Schnittstellen analysieren. Man könnte auch die TX Leitung des GPS Moduls an einen normalen GPIO hängen und dann die analyze mit einem kleinen Programm selber auf dem Arduino DUE machen der ist schnell genug dafür aber das war mir zu viel arbeit.


    Wie hast Du das denn ausgerechnet?
    1s/4'800 ~ 208µs
    Schauen wir mal was da bei RS232 über die Leitung geht:
    Code:
      StartBit           StopBit
          |                 |
          V                 V
         +-+                 
    ...  | |                     ...  Data = 0x00
       --+ +-+-+-+-+-+-+-+-+-+---
    
       ->|-|<-- BitZelle  (~208µs @ 4'800 Bit/s)
    
    
         +-+-+-+-+-+-+-+-+-+                 
    ...  |                 |     ...  Data = 0xFF
       --+                 +-+---
    
         +-+ +-+ +-+ +-+ +-+                 
    ...  | | | | | | | | | |     ...  Data = 0x55
       --+ +-+ +-+ +-+ +-+ +-+---
    Jetzt miss da mal die Frequenz mit einem normalen Frequenzmesser!
    Dieser misst eigentlich die Anzahl Impulse über eine Sekunde.
    Hinzu kommt noch, dass die Pause zwischen Stop- und Startbit Minimal 0 ist und maximal gegen unendlich gehen darf.

    Zitat Zitat von alexander_ro Beitrag anzeigen
    Mir kommt es so vor als ob Du hier Gemüse mit Obst vergleichst ...
    ... serielle und parallele Daten Übertragung ...
    Das spielt bei Baud gar keine Rolle.
    Zudem spielt es keine Rolle ob ich nun 8 Datenleitungen verwende oder eine Datenleitung und auf dieser mit 256 unterschiedlichen Pegeln arbeite.
    Baud bezeichnet die Anzahl Zustandswechsel pro Sekunde der Schnittstelle. Jetzt kommt es aber auf die Schnittstellendefinition an, wie viele Bits pro Zustandswechsel übertragen werden. Man kann dabei auf einer Leitung mit mehr als zwei Zuständen arbeiten oder mit mehreren Leitungen oder auch beide kombinieren!
    https://de.wikipedia.org/wiki/Baud

    Schau dir mal an, wie das GigaBit Ethernet funktioniert:
    Die Datenrate ist 1Gbit/s die Baudrate aber nur 125MBaud und es werden zwei Aderpaare in jede Richtung verwendet. Die nötige Bandbreite betraägt dann pro Adernpaar 62.5 MHz.
    https://de.wikipedia.org/wiki/Ethernet#Gigabit-Ethernet

    So einfach ist das mit Bit/s und Baud

    Bei der seriellen Übertragung gibt es zwei Methoden: synchron und asynchron.

    Bei der synchronen Übertragung wird der Takt mit übertragen. Dies kann über eine zusätzliche Clock-Leitung geschehen oder der Takt kann aus dem Datenstrom gewonnen werden. Hierbei kann der Takt variabel sein.

    Bei der asynchronen Übertragung (RS232 gehört dazu) wird die Taktinformation nicht mit übertragen. Sender und Empfänger brauche jeweils einen eigenen Taktgenerator, welche empfängerseitig mit dem Sender synchronisiert wird.
    Ein UART für RS232 arbeitet typisch mit der 16-fachen Bitrate. Mit der Flanke des StartBits wird dann der Zähler auf 8 gesetzt. Bei einem Zählerstand von 16 wird dann immer der Wert von der Daten-Leitung eingelesen, was dann immer in der Mitte einer Bitzelle geschieht und der Zähler wieder auf 1 gesetzt.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Danke für die Erklärung alles wusste ich davon noch nicht. Aber bei allem will ich Dir nun auch nicht recht geben ...

    Ja 1/4800 ist mir dann auch aufgefallen. Da hatte ich aber die Frage schon geschrieben.

    Jetzt miss da mal die Frequenz mit einem normalen Frequenzmesser!
    In irgendeinem meiner vorherigen Beiträge steht das es schwierig ist. Es geht mit Frequenzmessung nur wenn man die an einem Teilabschnitt des Signals macht. Etwas bessere Digital Oszi die können dann erstens das Signal brauchbar Trigger und mit Cursormessung ist es ein leichtes den gesuchten Wert zu ermitteln. Ich hatte da aber nur so ein günstiges Teil zum Messen das mehr ein Multimeter als ein Oszi ist. Mein zwar Uraltes Fluke ist die Stromversorgung kaputt. Das hätte aber die nötigen Funktionen. Alternativ wenn man nicht weiss was man mit seiner Zeit anfangen soll könnte mit ein bisschen Programmieren das auch der Arduino DUE messen.

    Da wir bei den Baudraten wenn ich den Text richtig verstanden habe die physikalischen Signale auf einer Datenleitung einer seriellen und einer paralellen betrachtet haben sind die unterschiedlich wenn beide Daten mit der gleichen Geschwindigkeit übertragen. Den Vergleich finde ich aber trotzdem nicht ganz passend. Im übrigen übertragen die beiden genannten Schnittstellen ihre Daten nicht mit 256 zuständen. Aber sowas ist möglich da hast Du schon recht.

Ähnliche Themen

  1. Arduino Due mit Pixy-Cam und eigenem TFT-Monitor
    Von HaWe im Forum Eigene fertige Schaltungen und Bauanleitungen
    Antworten: 0
    Letzter Beitrag: 28.01.2015, 19:42
  2. Erfahrungen/Tutorial: Programmierung von Arduino Due + entspr. IDE?
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 18.06.2014, 10:07
  3. [ERLEDIGT] I2C Problem mit dem Arduino DUE
    Von jok3r im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 2
    Letzter Beitrag: 22.03.2014, 12:21
  4. Arduino Due + Treiber + Schrittmotor PROBLEM
    Von stevie3354 im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 30.01.2014, 23:11
  5. Antworten: 13
    Letzter Beitrag: 28.06.2012, 15:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress