uC zum Hosten des Bluetooth-Moduls über UART

Ich bin ein Neuling. Ich versuche, ein Schulprojekt zu beenden, ich muss ein analoges Signal über Bluetooth an den Computer übertragen.

Ich verwende Bluegiga WT12 als Bluetooth-Modul und möchte es mit dem SPP-Profil verwenden. Ich muss dieses Modul mit einem uC hosten, das iWRAP5-Anweisungen über UART sendet, um das Modul zu steuern und Daten über UART zu senden.

Umriss

Das Signal hat eine Bandbreite von etwa 4000 Hz, daher muss ich es mit einer Rate von mindestens 8000 Abtastungen pro Sekunde in digital umwandeln.

Meine Frage, da ich mich mit uC's nicht auskenne,

  1. Was sollte ich in einem uC suchen, um mein Projekt zu erfüllen? (außer ADC- und UART-Schnittstellen)

  2. Wie kann ich damit den uC als Host in der UART-Verbindung verwenden? (die Verkabelung und die Software?)

Antworten (2)

Sie haben einen der wichtigeren ADC-Parameter nicht angegeben, nämlich die Anzahl der Auflösungsbits. Dies wählt die Größe Ihres Quantisierungsfehlers aus. ADCs gibt es typischerweise in 8, 10, 12 und 16 Bit. 16-Bit-ADCs sind ziemlich selten. Also suchte ich nach Chips mit 12-Bit-ADCs.

Eine Abtastrate von 8000 Abtastungen/Sek. sollte kein Problem darstellen. Beispielsweise verfügt der Microchip PIC24EP256GP202 , der bei Digi-Key nur 5,41 US-Dollar in Einzelstückzahlen kostet , über einen 12-Bit-Mehrkanal-ADC, der mit 500.000 Abtastungen/Sekunde abtasten kann, was offensichtlich viel mehr ist, als Sie benötigen.

Es hat auch 256 KB Flash und 32 KB RAM und zwei UARTs, so dass Sie einen verwenden können, um eine Verbindung zum WT-12 herzustellen (Sie müssen nur die TX- und RX-Pins zwischen dem WT-12 und dem PIC über Kreuz verbinden). und verwenden Sie den anderen, falls gewünscht, um eine Verbindung zu einem Terminalprogramm auf dem PC herzustellen, um die Ausgabe zu debuggen.

Aufgrund Ihrer vorgeschlagenen Abtastrate von 8000 Samples/s würde die Verwendung von zwei Bytes für jedes 12-Bit-Sample eine serielle Bandbreite von 8000 * 2 * 10 Bit (für das serielle 8N1-Protokoll) oder 160.000 bps erfordern. Dies ist offensichtlich höher als die Standard-Baudrate von 115.200 für den WT-12. Der WT-12 kann jedoch bis zu 3M Baud laufen, und der PIC24 kann höher gehen. Das ist also doch kein Problem. Daher schlage ich vor, eine Baudrate von 460.800 auszuwählen.

Wenn Sie sich für die Verwendung eines 8-Bit-ADC entschieden haben (was ich nicht empfehle), könnten Sie mit dem Standardwert 115.200 auskommen, da Sie nur ein Datenbyte oder die Hälfte der Bandbreite der oben genannten (80.000) senden würden.

Dieser PIC24 ist in einem DIP-Gehäuse erhältlich, was die Erstellung von Prototypen erleichtert.

Zum Programmieren benötigen Sie einen PIC-kompatiblen Programmierer, wie z. B. das PIC-Kit3 . (Dies ist das billigste von Microchip; möglicherweise gibt es einige von Drittanbietern, die Sie auch kaufen können.)

Es gibt einen kostenlosen Compiler für den PIC24, der kostenlos von Microchip ist; Der einzige Unterschied zwischen dem kostenlosen und dem kostenpflichtigen ($495) besteht darin, dass der kostenlose Code keine Optimierung durchführt. Da der Prozessor jedoch mit 70 MIPS läuft, ist das in Ihrem Fall kein Problem. Sie müssen auch die MPLABX IDE herunterladen , die kostenlos ist.

1: Abgesehen von ADC- und UART-Schnittstellen denke ich, wie Sie sagten, an die Speichergröße des uC (damit das Programm, das Sie schreiben, darauf passen kann) und seine maximale Taktrate . Eine Rate von 8000 Samples pro Sekunde scheint mir eine hohe Anforderung zu sein, daher sollte man einen schnellen uC wählen. Sie müssen auch die ADC-Auflösung berücksichtigen (wie viel Präzision Sie für Ihre Messungen benötigen).

Hier sehen Sie einige Berechnungen, die Sie durchführen müssen, um zu wissen, wie schnell Ihr Mikrocontroller laufen muss. Sie haben nicht die gleichen Werte wie deine, aber du kannst dir ein Bild machen: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=119916&start=0

Es gibt jedoch noch viele andere Dinge, auf die Sie achten sollten, um einen uC auszuwählen. Die Liste kann sehr lang sein, aber hier sind einige Hinweise:

  • Preis
  • Energieverbrauch
  • Entwicklungswerkzeuge

2: Die UART-Verkabelung ist ziemlich einfach. Es gibt nur drei Leitungen (GND, TX und RX) und ihre Verdrahtung ist einfach: - WT12 TX-Pin zu MCU RX-Pin - WT12 RX-Pin zu MCU Tx-Pin - WT12 GND-Pin zu MCU GND-Pin

Für die Software hängt es davon ab, welches uC Sie verwenden, aber der Code sollte ähnlich sein. Sie können sich jedes Arduino-Tutorial für die UART-Kommunikation ansehen (es ist ein guter Ausgangspunkt). Sie basieren auf ATMEGA-Mikrocontrollern.