Wie konfiguriere ich HCI UART für 3 Mbps?

Im Moment sende ich Bytes von FPGA (Verilog) an Serial mit 115200 bps .

Ich möchte mit höherer Geschwindigkeit senden und mich mit einem Bluetooth-Modul (RN42) verbinden.

  • UART (SPP oder HCI) und USB (nur HCI) Datenverbindungsschnittstellen.
  • Anhaltende SPP-Datenraten - 240 Kbps (Slave), 300 Kbps (Master)
  • HCI-Datenraten – 1,5 Mbit/s dauerhaft, 3,0 Mbit/s Burst im HCI-Modus

Dann möchte ich jetzt einen HCI-UART implementieren, um maximal 3 Mbit / s zu erhalten .

Ich habe nichts klares darüber gefunden, wie ich das implementieren soll.

Kannst du mir helfen? Was ändert sich? Soll ich meine Daten einfach mit höheren bps senden und fertig?

Es ist das erste Mal, dass ich versuche, eine andere Möglichkeit zum Senden von Daten als seriell zu implementieren.

Antworten (3)

HCI/SPP beziehen sich auf das Kommunikationsprotokoll. Beide verwenden einen Standard-UART, nur mit unterschiedlichen Baudraten. Der SPP-Modus und der HCI-Modus sind jedoch sehr unterschiedlich. Der HCI-Modus umgeht einen Großteil des Bluetooth-Software-Stacks, das müsste man also selbst irgendwo implementieren, wenn man den HCI-Modus nutzen möchte. Um den Modus zu ändern, müssen Sie eine neue Firmware auf das Bluetooth-Modul hochladen. Dies ist im Datenblatt detailliert beschrieben.

Vielen Dank für die Antwort, dh ich kann nicht einfach Daten in schnelleren Baudraten senden. Wie heißt das Kommunikationsprotokoll des Basis-UART? (die, die alle verwenden? SPP?) Was ist die maximale Baudrate, die ich mit dem RN42 verwenden kann? Wenn ich SPP nehme, sind es 300 Kbps, aber der Standard ist 230400 bps oder 460800 bps.

Jedes Bluetooth-SPP-Gerät hat 3 Geschwindigkeiten:

  • lokale Geschwindigkeit über UART-Port,
  • ideale Over-the-Air-Geschwindigkeit,
  • reale Übertragungsgeschwindigkeit (durch Kollisionen verringerte Geschwindigkeit usw.).

Beide Enden der Bluetooth-Verbindung können unterschiedliche UART-Geschwindigkeiten haben. Beide Enden haben FIFO-Puffer, einige auch Flusskontrolle. Alles funktioniert, solange kein Überlauf auftritt.

Sie müssten die API verwenden, die mit dem Microchip RN42 Bluetooth-Modul funktioniert, wenn diese Funktion auf diesem Modul verfügbar ist und es eine API gibt. Zum Beispiel unterstützen Cypress SoC Bluetooth-Geräte einstellbare Baudraten von bis zu 4 Mbit/s über die API wiced_transport_init().