Datenübertragung vom Bluetooth-Modul zum FPGA

Ich verwende eine Android-App, die eine Zeichenfolge nimmt und sie in ihre ASCII-Werte konvertiert und an das Bluetooth-Modul hc-05 sendet. Jetzt muss ich diese Daten an einen UART-Empfänger in einem FPGA senden. In welchem ​​​​Format sind ASCII-Daten vom Bluetooth-Modul zum FPGA? Wenn die Zeichenfolge nur ein Zeichen hat, funktioniert es perfekt. Angenommen, wenn es ein Zeichen "a" gibt, dann sind die von UART empfangenen Daten ein Startbit, gefolgt von einem binären Äquivalent von a und dann einem Stoppbit. Wenn die Zeichenfolge zwei Zeichen hat. Ich möchte wissen, ob es für jedes Zeichen zwei separate Startbits und Stoppbits gibt oder nur ein Startbit, dann die Datenbits (mit ASCII-Äquivalent für beide Zeichen) und dann ein Stoppbit.

Zum Beispiel, wenn 'a', dann sind die gesendeten Daten 011000011 (MSB 0 ist Startbit und LSB 1 ist Stoppbit). Wenn 'ab', dann sind die gesendeten Daten 0110000111000101 (msb 0 ist Startbit und lsb1 ist Stoppbit) oder sind es 011000011 011000101 (wie getrennt für beide Zeichen)

Bitte klären Sie.

Jedes von einem UART gesendete Zeichen (oder Byte) wird von einem Startbit und einem oder mehreren Stoppbits eingerahmt. Das Stoppbit ist wirklich nur die Leitung, die für mindestens eine Bitzeit in ihren Ruhezustand zurückkehrt.
Während das, was Sie erreichen möchten, möglich ist , betreten Sie möglicherweise ein Gebiet, in dem Software eine bessere Lösung ist als dedizierte Logik. Das weist entweder auf eine einfache externe MCU (z. B. könnten Sie stattdessen eine BLE-MCU verwenden und über SPI mit dem FPGA kommunizieren) oder einen internen Softcore-Prozessor hin.

Antworten (1)

Jedes Zeichen hat seine eigenen Start- und Stoppbits. Dadurch kann der Empfänger jedes Zeichen neu rahmen, wodurch er die größte Toleranz für Geschwindigkeitsabweichungen erhält.