Hallo zusammen, ich wollte euch fragen, ob jmd mir Tipps geben möchte und zwar. Ich will eigentlich eine UART-Schnittstelle machen, ich hab einen Sensor, der 99 bit sequentiell sendet und eine Takt von 40 kHz braucht. Meine Frage ist, wie kann ich das Bitstream ausm Sensor rausholen und dann triggern und danach in ASCII (Zahlen 0-9) umwandeln mit anderen Wörtern wie schreibe ich einen buffer. Es wäre wirklich nett wenn jmd mir dabei beim verstehen helfen oder einpaar Tipps geben würde. MfG Massi
Peter II schrieb: > Hast du mal eine Datenblatt von dem Sensor? ja hab ich, der Sensor braucht 40 kHz wenn er es kriegt dann sendet er die Bitfolge. Die Bitfolge besteht aus 99 bits , so sehen aus (1-8databits-0-0)
ich will eigentlich verstehen, womit ich anfragen muss. ich weiß nicht genau wie es so Signal triggert werden sollte.
Peter II schrieb: > Hast du mal eine Datenblatt von dem Sensor? die Frage zielte darauf ab, dass du uns das Datenblatt auch nennst/hochlädst. Sonst kann dir niemand helfen
chris schrieb: > Peter II schrieb: >> Hast du mal eine Datenblatt von dem Sensor? > > die Frage zielte darauf ab, dass du uns das Datenblatt auch > nennst/hochlädst. > Sonst kann dir niemand helfen Ich hab nur eine alte Seite und darauf steht handschriftlich, dass er nur 40 kHz und 99 bits sendet (Bitfolge). ich hab aber eine Aufnahme vom Oszi die kann ich hochladen aber den zettel muss ich erst einscannen und dann hochladen. Das Signal ist nicht invertiert aber man kann es in VHDL invertieren lassen, das kann kein problem sein.
>ich will eigentlich verstehen, womit ich anfragen muss. ich weiß nicht >genau wie es so Signal triggert werden sollte. Getriggert wird auf das Start bit. http://www.dossmatik.de/mais-cpu.html lade den den Quellcode herrunter. Im Verzeichnis rtl/device/uart/UART_RX_8N1.vhd ist der Quellcode für den typischen UART Empfänger.
René D. schrieb: >>ich will eigentlich verstehen, womit ich anfragen muss. ich weiß > nicht >>genau wie es so Signal triggert werden sollte. > > Getriggert wird auf das Start bit. > > http://www.dossmatik.de/mais-cpu.html > lade den den Quellcode herrunter. > Im Verzeichnis rtl/device/uart/UART_RX_8N1.vhd > > ist der Quellcode für den typischen UART Empfänger. ich dank dir, aber kannst du nur kurz erklären, wie es funktioniert,,, ganz grob ;)
> ich dank dir, aber kannst du nur kurz erklären, wie es funktioniert,,, > ganz grob ;) -Grundzustand high. -Dann kommt ein Start bit. Das ist Low. -Dann kommen 8 Datenbits. (normalerweise das niederwertigste Bit zu erst) -Dann geht es auf High und wartet mindestens eine Bitlänge, das ist das Stopbit Das Stopbit ist geleichzeitig der Grundzustand für die nächste Übertragung. Deine Angabe (1-8databits-0-0) könnte bedeuten 1 Startbit, 8 Datenbits, zwei Stopbits ist nur eine Vermutung. Der VHDL code wartet 1,5Baud. Das ist die Mitte des ersten Bits. Der Zustand wird übernommen und 1Baud gewartet und so 8bit eingefangen. Dann ist es wieder im Urzustand und wartet auf das Startbit.
René D. schrieb: > -Grundzustand high. > -Dann kommt ein Start bit. Das ist Low. > -Dann kommen 8 Datenbits. (normalerweise das niederwertigste Bit zu > erst) > -Dann geht es auf High und wartet mindestens eine Bitlänge, das ist das > Stopbit > > Das Stopbit ist geleichzeitig der Grundzustand für die nächste > Übertragung. > > Deine Angabe (1-8databits-0-0) könnte bedeuten > 1 Startbit, 8 Datenbits, zwei Stopbits ist nur eine Vermutung. > > Der VHDL code wartet 1,5Baud. Das ist die Mitte des ersten Bits. Der > Zustand wird übernommen und 1Baud gewartet und so 8bit eingefangen. > Dann ist es wieder im Urzustand und wartet auf das Startbit. Vielen Dank für deine Erklärung. Aber das Start-bit ist oder muss immer High sein. da im Hang eine Aufnahme von der Bitfolge. ich hab versucht aber im Terminal kommen blöde zeichen. sollte ich die 8bits in ascii konvertieren ??
Übrigens, ich verwende keine Rs232-schnittstelle bei Data-empfangen nur wenn ich die data an PC senden möchte (also als TX) für RX benutze ich ein normales I/O.
Ach ja ich habs verstanden. einfach dumm. Startbit ist low aber bei der Aufnahme ist High ;)
Dein Oszi Screenshot zeigt, dass das Startbit 0 ist (entspricht dem Standard), und du zwei Stopp-Bits hast (high - auch Standard). Dazwischen liegen die 8 Datenbits. Ich habe deinen Screenshot mal vergrößert, und anhand von Byte 4 siehst du ganz gut, wie die Bits liegen.
Und zur Übung habe ich noch einen kleinen Fehler in die untere Bitfolge eingebaut ;-) Fröhliches Suchen wünsche ich.
Easylife schrieb: > Fröhliches Suchen wünsche ich. Naja, das war ja einfach. Die Parität stimmt nicht, weil offenbar ein Bit umgekippt 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.