Bitstream vom Sensor triggern

Gast #3627836
Lesenswert?

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
Gast #3627891
Lesenswert?

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.
Angehängte Dateien:
Gast #3627961
Lesenswert?

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 ;)
(Firma: www.dossmatik.de) #3628028
Lesenswert?

> 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.
Gast #3628869
Lesenswert?

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 ??
Angehängte Dateien:
Gast #3632425
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren