Universelles Steuerungsmodul für das Internet der Dinge



    K66BLEZ1 ist eine Modulplatine für die Entwicklung einer breiten Klasse von Geräten, hauptsächlich im Bereich IoT , Wearable Electronics und Small Automation. Es verfügt über eine Vielzahl von Eingangs- / Ausgangsanschlüssen und Schnittstellen, die ihm eine außergewöhnliche Vielseitigkeit verleihen. Entwickelt auf den neuesten NXP-Mikrocontrollern der Kinetis- Familie . Hat ein Funkmodul mit Unterstützung für Bluetooth LE 4.2 und ZigBee an Bord . Auch hat Anschlüsse für microSD - Karten und USB 2.0 HS -fähigen Modus Gerät , host, OTG und Ladegerät Lithium - Batterie 3,6 V. Auf der unteren Seite der beiden Schlitze auf die angezeigte 60 Kontakte. Es gibt eine nichtflüchtige Echtzeituhr mit separatem Akku. Das Board wird von Open Source Software begleitet .


    Kurz über die Tafel.


    Auf der Karte sind zwei Mikrocontroller installiert: MK66FN2M0VLQ18 (180 MHz, 2 MB Flash, 256 KB RAM) und MKW40Z160VHT4 (48 MHz, 160 KB Flash, 20 KB RAM) . Die erste für die Hauptanwendung und die zweite für die drahtlose Kommunikation. 90 Signalpins des MK66-Mikrocontrollers sind auf zwei externe Anschlüsse gelegt.

    Die Modulplatine besteht aus 6 Schichten mit einer integrierten 2,4-GHz- PCB-Antenne .
    Das Material ist FR4-Hochtemperatur-Textolith, der
    das mehrfache Löten ermöglicht.
    Beschichtung - Immersionsgold ENIG.


    (Klicken zum Vergrößern)


    Die eingebaute Antenne kann durch einen ferngelöteten UMC-Stecker auf der Platine ersetzt werden.


    Maßzeichnung des Moduls.

    (Klicken zum Vergrößern)


    Eine schematische und konstruktive (3D) Komponente des Moduls für die Altium Designer- Entwicklungsumgebung wurde erstellt .
    Die Modulkomponentendateien finden Sie im Repository über den Link am Ende des Artikels.


    (Klicken zum Vergrößern)


    Darstellung eines Modulschaltungselements in der Altium Designer- Umgebung


    (Klicken zum Vergrößern)




    Modulschaltbild K66BLEZ1.



    Die meisten Ausgänge des Mikrocontrollers MK66FN2M0VLQ18 sind auf zwei externe Anschlüsse geroutet . Die Anschlüsse sind so ausgewählt, dass es bequem ist, das Modul vom Motherboard zu verbinden und zu trennen.
    Die Stromversorgung der Karte erfolgt entweder über einen USB-Anschluss oder über die Erweiterungsanschlüsse X6, X7. Der Ladegerät- Mikrokreis BQ24296RGET bietet eine zuverlässige autonome Aufladung einer Lithiumbatterie über USB mit Steuerung von Strom, Spannung und Batterietemperatur.

    Die Reihenfolge der Inbetriebnahme der Karte.



    Erster Schritt. Spannungsversorgung des Moduls.


    Die Stromversorgung erfolgt über ein USB-Kabel. Die Stromaufnahme überschreitet 100 mA nicht, daher ist jede USB-Host-Schnittstelle des Computers geeignet. Während sich im Mikrocontroller kein Programm befindet, reagiert der Computer in keiner Weise auf das Anschließen des Moduls über USB.
    Die PwrGood-LED sollte jedoch am Modul leuchten. Die Ladegerät-LED sollte blinken, was darauf hinweist, dass der Akku nicht angeschlossen ist. Die LED „CPU“ ist programmiert und daher auch aus.

    Zweiter Schritt Anschließen des JTAG / SWD-Adapters und Überprüfen der Funktionalität der SWD-Kanäle.


    Die Mikrocontroller auf der Karte verfügen über separate Anschlüsse zum Anschließen von Debugging-Adaptern über die SWD- Schnittstelle. Der K66-Mikrocontroller ermöglicht einen 3-Draht- SWD- Anschluss mit einem SWO- Signal (X3-Anschluss), und der MKW40-Mikrocontroller ermöglicht nur einen 2-Draht-Anschluss (X4-Anschluss). Dies stellt jedoch keine Einschränkung für den Debug-Adapter dar und kann für beide Mikrocontroller gleich sein.
    Für das Debuggen, ich benutze Adapter J-Link . Debugging-Anschlüsse am Modul mit einem Raster von 1,27 mm. Daher musste ich einen speziellen Adapter vom Standardadapterstecker zum Modulstecker herstellen, wie auf dem Foto unten gezeigt.

    (Klicken zum Vergrößern)


    Obwohl der J-Link Adapterund ist das beste seiner Klasse, aber Sie können billigere Debugger zum Debuggen verwenden, zum Beispiel ST-Link .
    Um die Leistung von Debugging- und Programmierkanälen zu testen, verwende ich ein Dienstprogramm von Segger JFlash .
    Mit diesem Dienstprogramm können Sie den Status aller Bereiche des Chipspeichers anzeigen, die Geschwindigkeit der Schnittstelle testen und den Flash-Speicher der Chips programmieren.

    (Klicken zum Vergrößern)



    (Klicken zum Vergrößern)


    Mit JFlash konnte ich beide Chips auf dem Modul verbinden und überprüfen.

    Schritt drei Testen des ersten Programms für den K66-Mikrocontroller


    Das erste Programm ist jedoch weder Hello Word noch eine blinkende LED.
    Als ersten Test wählen wir sofort den externen Festplattenemulator über USB und den USB- Kameraemulator aus .
    Dies ist möglich, weil das Moduldiagramm das Schema der FRDM-K66F- Debug -Karte in vielerlei Hinsicht wiederholt

    , aber Sie mussten zuerst das SDK mit Beispielprogrammen herunterladen .
    Das SDK für das Board wird von einem speziellen Online-Tool auf der NXP.com- Website unter http://kex.freescale.com/en/summary?cas_auth=1 erstellt (dazu müssen Sie sich auf der Site registrieren). Wählen Sie
    im Dialogfeld den MK66FN2M0xxx18-
    Mikrocontroller aus unten gezeigt:

    (Klicken zum Vergrößern)


    Sie müssen sofort die Entwicklungsumgebung bestimmen, in der das SDK kompiliert wird. Sie können eine oder alle auf einmal aus der Liste auswählen. Die Liste enthält sowohl kommerzielle als auch kostenlose IDEs:

    Ich wähle traditionell IAR . Meine jüngsten Untersuchungen zur Auswahl von Compilern haben erneut gezeigt, dass IAR ohnehin für ARM Cortex-M4 noch nicht konkurriert.
    SDK wird mit dem integrierten Beispielen von Anwendungen und Tests für Peripheriekarten erstellt werden frdmk66f und twrk65f180m . Fast alle Beispiele für das Board frdmk66f sind auch für unser Board K66BLEZ1 geeignet. Da die Quarzresonatoren dieser Platinen die gleiche Frequenz haben undK66BLEZ1 passt zum Anschluss einer SD-Karte und einer USB-HS-Schnittstelle.

    Beispiele wurden getestet: usb_device_cdc_vcom, usb_device_cdc_vcom_lite, usb_device_msc_sdcard, usb_device_video_virtual_camera.

    Aufnahme auf SD - Karte im Beispiel usb _device_msc_sdcard ziemlich niedrig war - 200 KB / s, das Lesen -. 1 MB / s.
    Im usb- Beispiel _device_video_virtual_camera haben wir das Video mit dem Programm PotPlayer x64 abgespielt . Ein Screenshot des im Mikrocontroller eingebetteten Videos ist unten dargestellt.

    (Klicken zum Vergrößern)


    Total


    Das Board zeigte eine zuverlässige Leistung. Die USB-Schnittstelle wurde mit einer Geschwindigkeit von 480 Mbit / s getestet. Alle USB-Treiber auf der PC-Seite sind ebenfalls funktionsfähig. Die Debugging-Mechanismen beider Prozessoren funktionieren fehlerfrei, einschließlich SWD, Tracing und virtuellem COM-Port. Weitere Tests werden in zukünftigen Artikeln fortgesetzt.

    Alle Materialien zu diesem Projekt werden hier gespeichert - https://github.com/Indemsys/K66BLEZ1

    Jetzt auch beliebt: