Canaan Kendryte K510: AI-Beschleunigerchip auf RISC-V-Basis mit höherer Performance

Canaan stellen auf der World Artificial Intelligence Conference eine neue Version des AI-Beschleunigers K210 vor, der Entwicklern wesentlich mehr Performance bietet.

von Tam HANNA

Worum geht es hier

Der Canaan K210 ist einer der leistungsstärksten AI-Beschleunigermodule: der vom Formfaktor an den ESP32 erinnernde Chip bringt neben zwei mit 400 MHz getakteten RISC-V-Kernen eine als KPU bezeichnete Engine mit, die neuronale Netzwerke beschleunigt ausführt. Mit dem K510 steht eine schnellere Version des Chips in den Startlöchern – dank höherer Performance lassen sich AI-Aufgaben schneller abarbeiten, was zum Beispiel bei Zielerfassung zu höherer Genauigkeit führt.

Mehr und schnellere Kerne

Der Vorgänger K210 stellte zwei mit 400 MHz laufende RISC-V-Kerne zur Verfügung, die auf die KPU und ein dediziertes FFT-Modul zurückgreifen durften. Das bei diversen Quellen, darunter die im Allgemeinen gut informierte cnx-Software (https://www.cnx-software.com/2021/07/09/kendryte-k510-tri-core-risc-v-ai-processor-3-tops/), angebotene Übersichtsdiagramm zeigt, dass die FFT-Einheit nun aus einem dedizierten zusätzlichen Rechenkern besteht. Die beiden Hauptkerne arbeiten nun mit maximal 800 MHz, was eine Verdoppelung darstellt.

Unter’m Strich verspricht Kendryte eine Verdreifachung der Rechenleistung des Gesamtsystems. Obwohl das Datenblatt des Chips noch nicht zur Verfügung steht, berichten alle Quellen über die Verfügbarkeit eines LPDDR3/LPDDR4-Interfaces für zusätzlichen Arbeitsspeicher. Zudem enthält der Chip ein Ethernet-Interface.
Diese Verbesserungen dürften einen Gutteil der von AI-Experten im Gespräch mit dem Autor geäußerten Kritik an K210 und MAX78000 entschärfen. Im produktiven Bereich genutzte Modelle, beispielsweise zur Kennzeichenerfassung, können mehrere Dutzend Megabyte umfassen – durch das DDR-Interface können Modulhersteller dem K510 nun mehr RAM zur Verfügung stehen.

Problematische Verfügbarkeit

Kendryte K210-Module sind momentan vor Allem in Modulen wie dem MaixDuino erhältlich – weder OEMSecrets noch LCSC offerieren das Bauteil. Beim K510 ist die Verfügbarkeit noch schlechter, bis Ende des Jahres verspricht Canaan nur “einige tausend Samples”, als Begründung führt das Unternehmen Mangel an 28nm-Fertigungskapazität an.
Für die nächsten Jahre plant Canaan die Auslieferung dutzender weiterer Chips. Das im Allgemeinen gut informierte Twitter-Account AnalogLamb bietet unter https://twitter.com/AnalogLamb/status/1413101945171058691/photo/1 die in der Abbildung gezeigte Roadmap an, die auf der Konferenz ohne weitere Erklärungen präsentiert wurde.

Lohnt es sich?

Canaan-Module sind – für Personen ohne Chinesischkenntnisse und lokale Kontakte – Bückware. Wer nicht chinesisch spricht, fährt beim Anbieter unter ferner Liefen. Die extrem hohe Leistung und der im Vergleich zu westlichen Lösungen wie dem MAX78000 geringe Preis der Chips lassen das Bauteil trotzdem attraktiv erscheinen…

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Elektromechanische Neuigkeiten: Beleuchtete Schalter, thermische Dichtungen, PCB-Stecker mit Wagokle

Elektronik ist mehr als Mikrocontroller. In den letzten Wochen erschienen einige elektromechanische bzw. analogelektronische Produkte, die Aufmerksamkeit verdienen.

von Tam HANNA

Worum geht es hier?

Die (normalerweise ein Mal pro Monat erscheinende ) Birulki-Liste möchte Produkte kurz vorstellen, die zwar interessant sind, aber andererseits nicht genug Inhalt für einen kompletten Artikel bieten.

Board-to-Wire-Wagoklemme

Wagoklemmen gehören spätestens dann ins Labor, wenn man eine Immobilie besitzt. Die Komponenten ermöglichen das Verbinden von Drähten – idealerweise sollten diese eine Aderendhülse aufweisen.

WAGO expandiert sein Steckerportfolio seit einiger Zeit. Die 2020 vorgestellte MCS MAXI 16 erreicht nun Distributoren, und fügt den Klemmen eine mit einem Board-To-Wire-Stecker kompatible Variante hinzu.

Das Steckersystem umfasst derzeit Varianten mit zwei bis sechs Polen (siehe https://www.wago.com/global/electrical-interconnections/mcs-maxi). Die Isolationsspannung beträgt 1000V, als Maximalstrom pro Ader gibt Wago 76 Ampere an. Die Komponenten sind alles andere als preiswert, pro Connector fallen in geringen Losgrößen Preise zwischen 5 und 15 EUR an.

Beleuchteter Kippschalter von C&K

Egal ob Modeelektronik oder Messtechnik: Hochwertige Schalter erfreuen den Benutzer. C&K schickt nun Kippschalter ins Rennen, die wie in der Abbildung gezeigt eine farbige LED im “Knopf-Kopf” unterbringen.

Die mit Einzelstückpreisen von rund 20 Euro nicht wirklich preiswerten Schalter der ILT-Serie (andererseits: Wann waren Kippschalter je preiswert?) bringen wie in der Abbildung gezeigt eine Diode mit, die zwischen dem zweiten Schalter-Terminal und Masse geschaltet ist. In Hunderterstückzahlen fallen die Einzelpreise laut dem Preisvergleichsdienst OEMSecrets in den Bereich von 10 EUR pro Stück.

FESTO-Solenoidventile ab Sofort bei Digikey

Solenoidventile erlauben die Steuerung von Gas- und Wasserströmen. Bisher waren die Teile vor Allem bei dedizierten Hydraulik- bzw. Pneumatikdistributoren erhältlich – nun lassen sich einige Serien von FESTO bei DigiKey mitbestellen (siehe https://www.digikey.com/en/product-highlight/f/festo/vuvs-series-solenoid-valves).

Spannungsüberwachungs-IS mit konstantem Verhalten “von Null an”

Einschalt- und Ausschaltprozesse gehören zu den interessantesten Aspekten des Schaltungsdesigns. Die Verwendung eines Versorgungsspannungs-Überwachungsbauteils sorgt für Ruhe – problematisch nur, dass die Ausgangsspannung der Überwachungsbauteile normalerweise erst ab einer gewissen Mindestspannung definiert ist.

Mit dem MAX16162 schickt Maxim einen IS ins Rennen, dessen Ausgangsverhalten von 0.0V an definiert ist – Maxim spricht von “glitch free”.

Die sowohl im SOT23- als auch im WLP-Gehäuse erhältlichen Bauteile sind im Prinzip normale Versorgungsspannungs-Überwacher. Die Einstellung der Grenzspannung und der Dauer des Resets erfolgt dabei durch die Auswahl der korekten Bauteilseriennummer, das Datenblatt bietet mehrere Tabellen und einen nomogrammartigen Auswahlführer.

Maxim lässt sich diese Funktion allerdings gut bezahlen: Der OEMSecrets-Tausender Bestpreis für den MAX16162 pendelt sich um 1.5 USD ein.

Laird Performance-Dichtungen für Thermik und EMV

Unter dem englischen Begriff Gasket fassen Distributoren diverse Dichtungselemente zusammen. Laird Performance Materials – das Unternehmen fiel in der Vergangenheit besonders durch “geometrisch kompakte” Spulen auf – bietet mit der GOF-Serie eine Gruppe neuer Materialien an, deren Abkürzung aus der zu ihrer Erzeugung verwendeten Technologie (Graphite over Foam) folgt.

GOF1000 und GOF2000 beschränken sich auf die thermische Übertragung – die Bauteile sind eine Art “Schaumpad aus Wärmeleitpaste”, das gute Kompressionseigenschaften aufweist. Der GOF3000 verpackt das Schaumelement zusätzlich in eine Art Kupferfolie, was als EMV-Filter agiert.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Zerynth-Python ohne ESP32, MicroEJ erleichtert Continuous Integration, ST-IDE für BlueNRG

Wer mit Python, Java oder BlueNRG-Modulen entwickelt, darf sich über Änderungen im Bereich der Toolchain freuen. Zerynth limitiert Unterstützung für Drittanbieterhardware, während BlueNRG-Nutzer und MicroEJ-Anwender neue Werkzeuge zur Hand bekommen.
von Tam HANNA

Worum geht es hier?

Zerynth ist ein “Python-Compiler”, der die Erzeugung von Mikrocontrolleranwendungen unter Nutzung von Python ermöglicht. Anders als Micro bzw CircuitPython kommt er ohne Interpreter am Controller aus.

MicroEJ ist eine Java-Portierung für diverse 32bit-Controller, die unter Anderem fortgeschrittene GUIs realisieren hilft und eine umfangreiche IDE mitbringt.

Mit WISE Studio bietet ST eine eigene IDE für BlueNRG-Module an: die Chips werden im Allgemeinen nach wie vor nicht von STMCubeIDE unterstützt, nun gibt es aber eine auf Eclipse basierende (und somit das gewohnte GUI offerierende) Alternative zu KEIL.

MicroEJ: Continuous Integration möglich

MicroEJ ist aus technischer Sicht ausgereift, die auf Eclipse basierende IDE erleichtert die Entwicklung von Anwendungen. Problematisch war bisher die Kompilation, die im Allgemeinen unter Nutzung der GUI-Werkzeuge erfolgte und somit für Continuous Integration und andere moderne Entwicklungsprozesse blockierend war.

Mit MicroEJ 21.03 ändert sich dies. Eine als Module Manager bezeichnete Komponente erlaubt die Kompilation diverser Komponenten von der Kommandozeile aus. Über die unter https://docs.microej.com/en/latest/ApplicationDeveloperGuide/mmm.html#command-line-interface im Detail dokumentierte und als mmm bezeichnete Utility lassen sich Applikationen sogar im Simulator ausführen, unter https://docs.microej.com/en/latest/Tutorials/tutorialSetupBuildUsingJenkinsAndArtifactory.html findet sich ein Tutorial, das die Integration in Jenkins demonstriert.

Im Hintergrund erfuhr auch das MicroEJ SDK ein Update – Details hierzu finden sich unter https://forum.microej.com/t/new-microej-sdk-available-distribution-21-03/847.

Zerynth: Ende der Unterstützung für ESP32

Zerynth war seit jeher ein voll kommerzielles Produkt, das “Kleinkunden” einige kostenlose Lizenzen zur Verfügung stellte. Bisher konnte man für die Entwicklung mehr oder weniger beliebige ESP32-Module verwenden.

Mit Zerynth 3 ändert sich dies – fortan unterstützt man nur noch den in der Abbildung gezeigten und unter https://www.zerynth.com/products/hardware/zm1/ im Detail beschriebenen ZM1. Er ist im Prinzip ein ESP32, der aber ein Cryptomodul aus dem Hause Microchip mitbringt.

Für “alte Kunden” des Unternehmens läuft momentan eine Promotion, in der sich das Evaluationsboard mit starkem Rabatt erwerben lässt. Das diesbezügliche E-Mail mit dem Titel “Support for Zerynth 2 and ZM1-DB special offer” wurde heute vormittag verschickt.

Wer bisher ein ESP32-basiertes System nutzt, bekommt in Zerynth 2 allerdings noch bis zum 31. Januar 2022 technische Unterstützung – die “neuen” cloudbezogenen Funktionen von Zerynth 3 (siehe z.b. https://www.zerynth.com/blog/zerynth-reveals-a-new-iot-platform-for-industrial-applications-and-connected-products/) stehen auf dieser Hardware aber nicht zur Verfügung.

WISE Studio: Eclipse für BlueNRG

Das Debuggen von Applikationen für BlueNRG war bisher – auch aufgrund des Fehlens eines auf den Evaluationsboards integrierten STLinks – arbeitsintensiv (siehe z.B. https://www.youtube.com/watch?v=EKxAVufqDVY). Mit dem unter Windows, Mac OS und Linux kostenlos zur Verfügung stehenden WISE Studio bietet ST nun eine neue IDE für das gesamte BlueNRG-Portfolio an:

1
The STSW-WISE-STUDIO package provides the WiSE-Studio Eclipse IDE, GCC toolchain based, supporting the BlueNRG-x Bluetooth Low Energy systems-on-chips (BlueNRG-1, BlueNRG-2 and BlueNRG-LP) and associated evaluation platforms.
2

3

4
. . .
5

6

7
Furthermore, the tool offers standard debug capabilities to debug the user application through the selected SWD channel. CMSIS-DAP, J-Link, ST-Link/V2 are the supported SWD HW channels provided that the specific tool does not add any specific filter on the supported device.

Wichtig ist, dass die unter https://www.st.com/en/embedded-software/stsw-wise-studio.html bereitstehende IDE keinen Codegenerator bietet – wer den für Peripheriegeräte notwendigen Code mit CUBE erzeugen möchte, kann die BlueNRG-Familie nach wie vor nicht als Target verwenden.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Arduino IoT Cloud – IoT-Clouddienst ohne MQTT

IoT-Clouddienste exponieren normalerweise ein MQTT-basiertes Interface. Arduino.cc setzt bei der IoT Cloud auf ein variablenbasiertes Backend, das Nutzern das Hantieren mit Nachrichten weitgehend erspart.
von Tam HANNA

Worum geht es hier

Puristen mögen dieser Situation unzufrieden gegenüberstehen: benötigt man eine Cloudlösung, um Sensor- und Aktordaten zu verarbeiten und zu visualisieren, so greift man zu einem Drittanbieter. Arduino.cc bietet mit der Arduino Cloud einen eigenen Dienst an, der insbesondere für “niederschwellige” Aufgaben des IoT optimiert ist.

Wie funktioniert es am Arduino?

Physikalische Endstellen hören in der Arduino IoT Cloud auf den Namen Thing. Wenn Sie sich unter https://create.arduino.cc/iot/things erstmals einloggen, so fordert Sie der (benutzerfreundlich gestaltete) Dienst zum Anlegen eines solchen an. Im Rahmen der Einrichtung benötigen Sie den Arduino Agent – ein auch unter Linux verfügbares Hilfsprogramm, das die Kommunikation zwischen Workstation, Cloud und angeschlossener Hardware ermöglicht.

Baustein der Kommunikation zwischen Endgerät und Clouddienst sind als Variable bezeichnete Speicherfelder. Die zweite Abbildung zeigt die “grundlegenden” Datentypen, zusätzlich gibt es einige dimensionsbehaftete Werte.

Je nach Konfiguration nehmen Variablen Änderungen entweder am Client, am Server oder auf beiden Seiten auf. Die Arduino Cloud kümmert sich dann selbsttätig um die Synchronisation der Daten.

Arduino-Code im Fokus

Arduino.cc nutzen die IoT Cloud als Weg, um Entwickler zur Nutzung des hauseigenen Cloud-Codeeditors zu animieren. Die “eigentliche Intelligenz” des Clouddiensts liegt im generierten Projekt in der Datei thingProperties.h, die nach folgendem Schema eine Initialisierungsfunktion und eine lokale Variable bereitstellt:

1
int tamsVariable1;
2
void initProperties(){
3
  ArduinoCloud.setThingId(THING_ID);
4
  ArduinoCloud.addProperty(tamsVariable1, READWRITE, ON_CHANGE, onVariable1Change);
5
}

Das vorliegende Beispiel ist für einen RP2040 kompiliert, der per WLAN Verbindung zum Internet aufnimmt. Der Verbindungsaufbau erfolgt dabei in setup(), wo wir auch die Menge der Debug-Statusausgaben beeinflussen können:

1
void setup() {
2
  pinMode(LED_BUILTIN, OUTPUT);
3
  Serial.begin(9600);
4
  delay(1500); 
5
  initProperties();
6
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
7
  setDebugMessageLevel(2);
8
  ArduinoCloud.printDebugInfo();
9
}

Die Zuweisung von Rechenleistung an die Cloudbibliothek ist Aufgabe des Entwicklers:

1
void loop() {
2
  ArduinoCloud.update();
3
}

Änderungen an lokalen Variablen müssen Sie der Bibliothek übrigens nicht anzeigen. Jeder Durchlauf von loop() führt eine Überprüfung der Zustände durch, und meldet Änderungen automatisch beim Server.
Zu guter Letzt gibt es onChange-Methoden, die den Sketch über von der Cloud ausgehende Änderungen am Systemzustand informieren:
[c]
void onVariable1Change() {
Serial.print(“onVariable1Change”);
digitalWrite(LED_BUILTIN, variable1);
}
[c]

Was kostet es?

Arduino.cc möchte mit der IoT Cloud auf den Zug des “Recurring Revenue” aufspringen. Neben einer auf zwei Geräte beschränkten Basisversion gibt es unter https://store.arduino.cc/digital/create#plans drei verschiedene Preisstufen, die in der Abbildung gegenübergestellt sind.

Die Verwendung on ESP32-Hardware ist übrigens auch im kostenlosen Plan erlaubt.

Lohnt es sich?

Außer Frage steht, dass die Erzeugung eines attraktiv aussehenden Dashboards mit der Arduino Cloud schnell und unbürokratisch erledigbar ist – in einem Folgeartikel stellen wir die diesbezüglichen Funktionen vor.
Andererseits ist die Skalierung fraglich: das größte Paket mit “nur” 100 Endstellen ist zudem relativ teuer. Für den kommerziellen Gebrauch ist das Produkt deshalb eher weniger geeignet – insbesondere deshalb, weil sich MQTT am Ende doch vergleichsweise schnell erlernen lässt und Entwicklern in der beruflichen Laufbahn doch immer wieder begegnet.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Birulki, Digitalelektronik – neue Mikrocontroller, neue ICs und Windows 11

Die Welt der digitalen Elektronik steht nicht still. Hier eine Liste neuer Produkte, die dem Autor in den letzten Wochen positiv aufgefallen sind.

von Tam HANNA

Worum geht es hier

Hier eine Gruppe Ankündigungen aus dem Bereich digitale Elektronik, die interessant sein könnten.

Crowd Supply ITACA: Arduino als DIP16-IS

Wer betagte Messtechnik im Haus hat, sucht immer nach Möglichkeiten zum Ersatz nicht mehr erhältlicher IS. Sofern Ihr IS mit dem in der Abbildung gezeigten Pinout realisierbar ist, kann der ITACA eine attraktive Alternative zum Graumarkt sein. Die unter dem Namen CS-USVC-KIT-04 bei Distributoren gelistete Platine kostet pro Stück rund 16 EUR.

Die aus technischer Sicht mit dem Arduino Zero kommunale Plattform passt in DIP16-Sockel. Kritisch ist daran nur, dass das Anlegen von 5V – anders als die Angaben diverser Distributoren – nicht erlaubt ist. In der offiziellen Dokumentation findet sich hierzu folgende Passage:

1
Q: Are the IOs pins 5V-tolerant on uChip?
2
A: No, any voltage exceeding 3.3V+10% (3.6V) could irreversibly damage uChip. Please use adequate 5V
3
to 3.3V conversion circuitry to interface uChip to a 5V system

K210 AI Accelerator – AI-Erweiterung für Raspberry Pi mit K210 Kendryte

Der Kendryte K210 ist ein vergleichsweise leistungsfähiges SoC, das neben einem RISC-V-Prozessor (nicht von GigaDevice) auch einen AI-Beschleuniger und eine Hardware-FFT-Einheit mitbringt. Das in Abbildung zwei gezeigte System verbindet einen K210 per SPI mit dem Raspberry Pi, was das Offloading von AI-Aufgaben erlaubt.

Zum Vergleich mit anderen Beschleunigern sei Abbildung drei empfohlen, die mehr Informationen zum unter https://www.crowdsupply.com/xalogic/k210-ai-accelerator bereitstehenden Produkt anbietet.

VORAGO: (teurer) ARM Cortex M0-MCU bei 200 Grad Celsius

Mikrocontroller mögen es nicht warm. Da man (sowohl im metrologischen als auch im militärischen Bereich) manchmal “mehr” braucht, schickt VORAGO mit dem VA10800 einen mit 50 MHz getakteten Chip ins Rennen, der 200 °C Umgebungstemperatur aushält und mit radioaktiver Strahlung zurechtkommt.
Der in einem 128 Pin umfassenden LQFP-Gehäuse angebotene Chip hat 32KB TAM und 128KB Programmspeicher, insgesamt 56 GPIO-Pins sowie je zwei UARTs, I2C-Transciever und SPI-Ports kommunizieren mit Peripherie.
Unter der Stückzahl VA10800-CQ12803ECA findet OEMsecrers derzeit insgesamt drei Stück (!!!) in den Lagern der Arrow-Gruppe, ein Stück kostet sportliche 1000 USD.

DATENBLATT ohne Login => https://hu.mouser.com/pdfDocs/VA10800_DS_1.pdf

STM32G – Value-Mikrocontroller mit neuen Funktionen

STMicroelectronics bietet mit der STM32G-Serie eine Reihe von preiswerten Mikrocontrollern auf STM32-Basis an, einige davon haben ein nur acht Pin (!!!) hohes Gehäuse. Neu gibt es einerseits Varianten mit 512KB Flashspeicher, andererseits CAN FD- und USB-C Full Speed Dual Role-Peripherievarianten.

Im Bereich der 10k-Preise ruft STM folgendes auf:

1
Die Preise beginnen bei -,47 US-Dollar für den STM32G050F6P6 Value Line im TSSOP20-Gehäuse mit 32 KByte Flash-Speicher. Die Produktlinie STM32G0B beginnt bei 1,21 US-Dollar für den STM32G0B0KET6 im LQFP32-Gehäuse mit 512 KByte Flash

Maxim DeepCover – Kryptobeschleuniger

Kryptographische Operationen sind rechenleistungstechnisch teuer. Mit dem in einem 10 Pins aufweisenden TDFN -Gehäuse vorliegenden MAXQ1065 schickt Maxim nun einen per SPI ansprechbaren Coprozessor ins Rennen, der neben einem Hardware-Zufallsgenerator Unterstützung für eine Gruppe von Kryptoalgorithmen mitbringt.

VL53L5 – 8×8-Tiefenscanner mit 400cm Reichweite

ST bietet in der FlightSense-Produktfamilie seit längerer Zeit auf dem Laserscanning-Prinzip basierende Bausteine, die Entfernungen der physikalischen Welt messen.
Mit dem per I2C oder per SPI ansprechbaren VL53L5 erweitert SGS die Produktfamilie insofern, als die Sensoren nun ein Blickfeld von 60 Grad aufweisen und entweder 4×4 oder 8×8 Pixel Auflösung bieten und dank eines integrierten STM32-Controllers finalisierte Ergebnisse bereitstellen.
Als Anwendungsfälle sieht ST die Verwendung als Laser-Autofokussystem an: ob zur Festlegung der Stärke des Blitzes, oder ob der Arbeitsgeschwindigkeit von 60Hz zur Anpassung von Videos.

Windows 11 mit Android-Emulation und TPM 2.0-Verpflichtung

Zu guter Letzt – Birulki zu Digitalelektronik wären ohne dieses Hölzchen unvollständig – sei noch darauf hingewiesen, dass Microsoft Windows 11 angekündigt bzw. vorgestellt hat. Für uns Elektroniker sind zweierlei Faktoren wichtig: Einerseits läuft das Betriebssystem nach derzeitiger Planung nur auf Systemen, die ein TPM 2.0 mitbringen.
Neuerung Nummer zwei ist, dass das Betriebssystem eine auf dem Amazon App Store basierende Emulationsschicht für Android-Applikationen mitbringt. Wieso Microsoft diese an BB10 erinnernde Strategie fährt, ist dem Autor nur leidlich klar – normalerweise fanden sich solche Emulatoren eher bei “in der Entwicklergunst unterlegenen” Plattformen wie BB10 oder Jolla.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

GigaDevice RISC-V: DAC mit Nuclei Studio

Die Peripheriegeräte der GigaDevice-RISC-V-Mikrocontroller sind an denen des STM32F1 angelehnt. Hier wollen wir abermals auf das kostenlose Nuclei Studio zurückgreifen, um den DAC eines Evaluationsboards in Betrieb zu nehmen.

von Tam HANNA

Worum geht es hier?

Seit der Übernahme von ARM durch NVIDIA gilt, dass ARM eine „amerikanische“ Architektur ist – mit allen Vorteilen (finanzstarker Eigentümer) und allen Nachteilen (Sanktionsanfällig).
RISC-V ist eine quelloffene Prozessor-Architektur, die schon vom Konzept her sanktionssicherer ist, und ob der wegfallenden Lizenzkosten langfristig billiger ausfallen dürfte (Skalierungseffekte bevorzugen derzeit ARM, was zu „Preisparität“ führt).
GigaDevice bietet mit dem GD32VF1 seit einiger Zeit eine vergleichsweise gut verfügbare Serie von Mikrocontrollern an, die vom Aufbau der EA-Geräte am STM32 orientiert sind.
In diesem Artikel wollen wir den DAC eines Evaluationsboards in Betrieb nehmen. Die Einrichtung von der IDE haben wir dabei – im Detail – im unter https://www.mikrocontroller.net/topic/518533 bereitstehenden Artikel beschrieben.

Kein Codegenerator

Wir hatten im letzten Artikel festgestellt, dass es für die GD32VF-Architektur keinen Codegenerator gibt. GigaDevice stellt stattdessen eine Sammlung leicht nutzbarer Codebeispiele zusammen – der verwendet Autor die Version 1.1.1.
Der Unterordner GD32VF103_Firmware_Library_V1.1.1Examples enthält die in Abbildung eins gezeigte Projektstruktur, die die für die diversen Peripheriegeräte vorgesehenen Codestücke zur Verfügung stellt.

Das unter http://www.gd32mcu.com/data/documents/yingyongbiji/GD32VF103_Firmware_Library_User_Guide_V1.0.pdf bereitstehende PDF ist ebenfalls empfehlenswert, da es „alle“ Peripherietreiberfunktionen en Detail erklärt.
Wir wollen an dieser Stelle mit dem im letzten Artikel erzeugten Projektskelett weiterexperimentieren, und die in einem der DAC-Unterordner zur Verfügung stehenden Codeänderungen Tour a Tour einpflegen.
Das für uns relevante Beispiel ist ExamplesDACDACC_output_voltage, der Inhalt des Verzeichnisses präsentiert sich wie in Abbildung zwei gezeigt.

Bei der „Analyse“ des von GigaDevice bereitgestellten Codes ist es immer empfehlenswert, mit der Datei readme.txt zu starten. Unter den Lizenzbedingungen findet sich im Fall des Beispiels folgende Funktionsbeschreibung:

1
This example is based on the GD32V103V-EVAL-V1.0 board, it shows how to use DAC concurrent mode
2
output voltage. No trigger source is chosen to trigger DAC. The DAC0 output pin is configured
3
PA4 and DAC1 output pin is configured PA5. There are two different voltage in PA4 and PA5. The
4
voltage of PA4 is VREF/2 and the voltage of PA5 is VREF/8.

Die Struktur der main-Methode zeigt nun den Aufruf dreier Funktionen:

1
int main(void)
2
{
3
    rcu_config();
4
    gpio_config();
5
    dac_config();
6
    while (1){
7
    }
8
}

Analog zum STM32 hat auch der GD32VF Clock Gating – wir müssen dafür sorgen, dass die Einheiten mit Arbeitstakt versorgt werden:

1
void rcu_config(void)
2
{
3
    /* enable the clock of peripherals */
4
    rcu_periph_clock_enable(RCU_GPIOA);
5
    rcu_periph_clock_enable(RCU_DAC);
6
}

Die eigentliche Konfiguration erfolgt in folgenden Funktionen:

1
void gpio_config(void)
2
{
3
    /* once enabled the DAC, the corresponding GPIO pin is connected to the DAC converter automatically */
4
    gpio_init(GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_4 | GPIO_PIN_5);
5
}
6

7
void dac_config(void)
8
{
9
    dac_deinit();
10
    /* configure the DAC0 */
11
    dac_trigger_disable(DAC0);
12
    dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);
13
    dac_output_buffer_enable(DAC0);
14
    
15
    /* configure the DAC1 */
16
    dac_trigger_disable(DAC1);
17
    dac_wave_mode_config(DAC1, DAC_WAVE_DISABLE);
18
    dac_output_buffer_enable(DAC1);
19
    
20
    /* enable DAC concurrent mode and set data */
21
    dac_concurrent_enable();
22
    dac_concurrent_data_set(DAC_ALIGN_12B_L, DAC_OUT_VAL0, DAC_OUT_VAL1);
23
}

Wichtig sind noch die beiden Konstanten:

1
#define DAC_OUT_VAL0 0x7FF0
2
#define DAC_OUT_VAL1 0x1FF0

Der Hinweis, dass der Wert 0x7FF0 dem Wert VREF/2 entspricht, zeigt dass der DAC eine Nominalauflösung von 12 bit bereitstellt. Mit diesem Wissen können wir die Hauptschleife unseres Programms nach folgendem Schema anpassen:

1
int main(void) {
2
    rcu_config();
3
    gpio_config();
4
    dac_config();
5
    uint16_t daculator = 0;
6
    while(1) {
7
        dac_concurrent_data_set(DAC_ALIGN_12B_R, daculator, daculator);
8
        daculator+=10;
9
        if (daculator>4000)daculator=0;
10
    }
11

12
    return 0;
13
}

Ein weiterer Unterschied zum von GigaDevice bereitgestellten Code ist, dass wir hier die Konstante DAC_ALIGN_12B_R verwenden – das deshalb, weil der in daculator befindliche Wert rechtsbündig ist.

Lohn der Mühen ist, dass wir an den Pins PA4 und PA5 des „kleinen“ Evaluationsboard die in der Abbildung gezeigte Wellenform sehen. Die kleinen Unsauberkeiten in diesem Oszillographen stammen von EMI im Labor des Autors.

Fazit

Der Verzicht auf einen automatischen Codegenerator mag auf den ersten Blick erschrecken – in der Praxis lässt sich nach einer Umgewöhnungsphase erfahrungsgemäß genauso gut ohne ihn arbeiten. Der Autor hofft, dass die hier durchgeführten Experimente zur „Vertiefung“ ihres Interesses an RISC-V geführt haben.

Weitere Ressourcen

GD32VF-Evaluationsboards bei TME
=> https://www.tme.eu/hu/en/katalog/?s_field=1000011&s_order=desc&search=GD32VF&visible_params=2%2C367%2C2479%2C35%2C783%2C2408%2C10%2C32%2C788%2C2955%2C9%2C351&mapped_params=351%3A1530178%3B

GD32VF-Evaluationsboards bei LCSC (seriöser chinesischer Distributor)
=> https://lcsc.com/search?q=GD32VF

Hennessy und Pedersen – allgemeine Einführung zu RISC-V bzw seiner ISA
=> https://www.amazon.com/Computer-Organization-Design-RISC-V-Architecture/dp/0128122757
(Bitte keinesfalls nach dem String “Hennessy Pedersen RISC-V architecture” auf Google HU suchen)

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Neue Hilfssoftware: PicoVoice unterstützt Arduino, Renesas integriert Azure RTOS

Mikrocontroller-Entwickler dürfen sich über neue Bibliotheken freuen. Picovoice – das Unternehmen bietet Offline-Spracherkennung an – unterstützt Arduino, während Renesas Azure RTOS in den Code-Generator integriert.

von Tam Hanna

Worum geht es hier?

PicoVoice ist ein Unternehmen, das grammatikbasierte Spracherkennung ohne Internetverbindung auf Mikrocontrollern möglich macht. Hinter dem Begriff grammatikbasierter Erkennung verbirgt sich der Gedanke, dass das Programm nicht wie beispielsweise Lernout&Hauspie’s Dragon „frei“ Text erkennt, sondern anhand vorgegebener Grammatik-Eingabeschemata Erkennungen durchführt. Die geringe Flexibilität wird durch höhere Erkennungsgenauigkeit und reduzierten Ressourcenverbrauch belohnt.
Im Hause Renesas geht es derweil um eine Erweiterung des hauseigenen Code-Generators, der bei Bedarf Projektskelette generiert, die Azure RTOS enthalten.

Picovoice am Arduino

Picovoice steht per se seit einiger Zeit für diverse Arduino-Plattformen zur Verfügung, die „Integration“ in das Ökosystem musste der Entwickler bisher selbst vornehmen. Nun gibt es erstmals – siehe Abbildung – eine Bibliothek, die zwar nur mit dem Arduino Nano 33 BLE Sense kompatibel ist, sich aber direkt aus der Arduino IDE heraus installieren lässt.

Die Integration in den für die Erzeugung der Modelle notwendigen Cloud Dienst ist, wie man es von Standalone-Varianten von Picovoice erwarten würde. Wichtig ist vor allem das Programmbeispiel GetUUID, das die für die Lizenzierung erforderliche Hardware-Id des Boards erzeugt:

1
#include <Picovoice_EN.h>
2

3
void setup() {
4
    Serial.begin(9600);
5
    while (!Serial);
6

7
    const uint8_t *board_uuid = pv_get_uuid();
8
    Serial.print("UUID: ");
9
    const int32_t format_size = pv_get_uuid_size() * 4;
10
    char format[format_size];
11
    for (uint32_t i = 0; i < pv_get_uuid_size(); i++) {
12
        sprintf(format, " %.2x", board_uuid[i]);
13
        Serial.print(format);
14
    }
15
    Serial.println("r");
16
}

Für den eigentlichen Sprach-Verarbeitungs-Workflow steht mit File -> Examples -> Picovoice_EN -> PicovoiceExample ein weiteres Beispiel zur Verfügung.

Von besonderer Wichtigkeit ist die Methode loop, die unter Nutzung einer von Picovoice vorgegebenen Methode Samples einsammelt und diese zur Verarbeitung freigibt:

1
void loop()
2
{
3
    const int16_t *buffer = pv_audio_rec_get_new_buffer();
4
    if (buffer) {
5
        const pv_status_t status = pv_picovoice_process(handle, buffer);
6
        if (status != PV_STATUS_SUCCESS) {
7
            Serial.print("Picovoice process failed with ");
8
            Serial.println(pv_status_to_string(status));
9
            while(1);
10
        }
11
    }
12
}

Interessant ist auch noch, dass die setup-Funktion komplett ohne Internetverbindung auskommt.

Bei der Beschäftigung mit dem Picovoice-Ökosystem ist noch wichtig, dass zwei unterschiedliche Produkte zur Verfügung stehen: Einerseits die als Porcupine bezeichnete Wakeword-Engine, andererseits das als Rhino bezeichnete Intent-Erkennungssystem.

Code-Konfiguration, automatisch.

Desto leistungsfähiger ein Echtzeit Betriebssystem ausfällt, desto involvierter ist seine Konfiguration. Die von Mikrocontroller-Herstellern seit längerer Zeit angebotenen Codegeneratoren bekamen Module eingeschrieben, die – meist auf FreeRTOS basierte – Projektskeletten generieren konnten.
STMicroelectronics spielte im Bereich der Integration zwischen Cube und Azure RTOS eine Vorreiterrolle, Renesas rüstet nun sein als Flexible Software Packet bezeichnetes Codegenerator-System mit einer Option für Azure RTOS aus. Zur Erinnerung: Azure RTOS ist kein komplett neues Produkt, sondern „nur“ ein Microsoftsches Rebranding von Express Logic’s ThreadX.

Zum Zeitpunkt der Drucklegung unterstützt Renesas dabei RA, RX und Synergy. Im Bereich der Middleware sind folgende Module verfügbar:

1
     Azure RTOS FileX high-performance File Allocation Table (FAT)-compatible file system
2
     Azure RTOS GUIX embedded graphical user interface (GUI) application design environment
3
     Azure RTOS TraceX Windows-based analysis tool
4
     Azure RTOS NetX Duo industrial-grade dual IPv4 and IPv6 TCP/IP network stack
5
     Azure RTOS USBX high performance USB host and embedded stack

Ein unter https://aka.ms/MicrosoftAzureRTOS/RenesasFSP/Video bereitstehendes YouTube-Video illustriert die Tiefe der Integration zwischen FSP und Azure RTOS. So ist es zum Beispiel – siehe Abbildung – möglich, die Prioritäten einzelner Threads aus dem GUI festzulegen.

Interessant ist in diesem Zusammenhang auch noch die in der Abbildung gezeigte Möglichkeit, Einrichtungs-Code für häufig verwendete Bibliotheken wie den MQTT-Client „per Drag and Drop“ aus dem Project Explorer direkt in das geöffnete Codefile abzulegen.

Mehr erfahren

Arduino-Portal für PicoVoice
=> https://picovoice.ai/docs/quick-start/picovoice-arduino/

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Meadow F7: BLE-Server in Betaphase, verbesserte Kompatibilität mit .net-Standards

Bryan Costanitch’s Entwicklerteam haben eine neue Betaversion der Betriebssoftware für die Meadow F7-Plattform ausgeliefert, die neben Bluetooth LE-Unterstützung auch komplette Kompatibilität mit den in .NET Standard 2.0 geforderten APIs offeriert.

von Tam HANNA

Worum geht es hier?

Die Meadow F7-Plattform erlaubt die Ausführung von .net-Code auf einem STM32F7, der im Zusammenspiel mit einem ESP32 Verbindung zu Drahtlosnetzwerken aufnehmen kann. Mit der neuesten Version der Betriebssoftware gibt es nun die Möglichkeit, auf die Bluetooth LE-Funktionen des kombinatorischen Prozessrechners zurückzugreifen. Dank der Kompatibilität mit .NET Standard 2.0 stehen weitere NuGet-Pakete zur Verfügung.

Bluetooth LE-Peripheralemulation

Bluetooth LE unterscheidet sich von seinem ausgewachsenen Kollegen insofern, als es eine Art KV-Speicher implementiert. Als Center bezeichnete Geräte nehmen Kontakt zu den Peripherals auf, die für die eigentliche Vorhaltung der Informationen verantwortlich sind.
Die Implementierung am Meadow F7 geht dabei – wie so oft – einen Sonderweg. Die Erzeugung eines Bluetooth LE-Peripherals erfolgt durch Anlegen einer Definition-Struktur, in der Services und danach die eigentlichen Charakteristiken anzulegen sind:

1
var definition = new Definition(
2
    "MY MEADOW",
3
    new Service(
4
        "ServiceA",
5
        253,
6
        new CharacteristicBool(
7
            "My Bool",
8
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300aa",
9
            permissions: CharacteristicPermission.Read,
10
            properties: CharacteristicProperty.Read
11
            ),
12
        new CharacteristicInt32(
13
            "My Number",
14
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300bb",
15
            permissions: CharacteristicPermission.Write | CharacteristicPermission.Read,
16
            properties: CharacteristicProperty.Write | CharacteristicProperty.Read
17
            ),
18
        new CharacteristicString(
19
            "My Text",
20
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300cc",
21
            maxLength: 20,
22
            permissions: CharacteristicPermission.Write | CharacteristicPermission.Read,
23
            properties: CharacteristicProperty.Write | CharacteristicProperty.Read
24
            )
25
        )
26
    );

Für die Abbildung der eigentlichen Datenspeicher enthält die Meadow-API eine Gruppe von Caracteristic-APIs, die die Informationen gleich typisieren. Zur Überwachung von eingehenden Schreiboperationen lassen sich natürlich auch Listener anmelden:

1
foreach (var characteristic in bleTreeDefinition.Services[0].Characteristics) {
2
    characteristic.ValueSet += (c, d) => {
3
        Console.WriteLine($"HEY, I JUST GOT THIS BLE DATA for Characteristic '{c.Name}' of type {d.GetType().Name}: {d}");
4
    };
5
}

Erweiterte Kompatibilität mit .net Standard

Hauptverwendungszweck des Meadow F7 dürfte – neben Experimenten – die Weiternutzung von schon vorhandenem geistigen Eigentum sein, das in .net-Sprachen vorliegt. Unterstützung des Standards “.NET Standard 2.1” ist in vielen Fällen Voraussetzung zur Code-Wiederverwertung. Bisher war das Fehlen der Assembly NetStandard.dll für Probleme verantwortlich; die neue Version bringt die DLL mit.
Quasi nebenbei bekommen Sie dadurch auch Unterstützung für F# in Version 5 – wer die funktionale Programmiersprache unternehmensintern verwendet, kann dies nun auch mit dem Meadow F7 tun.

Dimensions-Datentypen

Spätestens seit dem Verlust eines Raumschiffs gilt Typsicherheit im Bezug auf Einheiten als wichtig. In der neuesten Version bekommen Entwickler eine Gruppe von leichtgewichtigen Klassen, die mit Dimensionen versehene Messwerte darstellen:

1
     AbsoluteHumidity 
2
     Acceleration 
3
     Acceleration3D 
4
     Angle 
5
     AngularAcceleration 
6
     AngularAcceleration3D 
7
     AngularVelocity 
8
     Azimuth 
9
     Concentration 
10
     Current 
11
     Density 
12
     Energy 
13
     Frequency 
14
     Illuminance 
15
     Length 
16
     MagneticField 
17
     MagneticField3D 
18
     Mass 
19
     Power 
20
     Pressure 
21
     RelativeHumidity 
22
     Speed 
23
     Temperature 
24
     Torque 
25
     Voltage 
26
     Volume

Mehr lesen

Eine Komplettbesprechung der Neuerungen würde den Rahmen dieses Formats sprengen. Die unter http://developer.wildernesslabs.co/Meadow/Release_Notes/Beta5/ bereitstehende URL bietet eine gute Übersicht der Änderungen am Framework.

Sonderhinweis: Probleme beim Softwareupdate

Die Aktualisierung der Haupt-Firmware des F7 nach den unter http://developer.wildernesslabs.co/Meadow/Getting_Started/Deploying_Meadow/ beschriebenen Anweisungen schlägt mitunter mit einem nach folgendem Schema aufgebauten Fehler auf:

1
C:Program Files (x86)Microsoft Visual Studio2019Preview>meadow --FlashOS
2
. . .
3
Unhandled exception. System.ComponentModel.Win32Exception (2): Das System kann die angegebene Datei nicht finden.
4
. . .

Die Lösung des Problems ist eine Aktualisierung der als dfuutil bezeichneten Kommunikationssoftware. Dies lässt sich ebenfalls über das Kommandozeilenwerkzeug erledigen, das dazu aber Administratorrechte benötigt:

1
C:WindowsSystem32>meadow --InstallDfuUtil
2
Installing dfu-util...
3
dfu-util 0.10 installed

Nach der Abarbeitung dieses Schritts läuft die Installation normalerweise wie erwartet durch.

(Teaserbild: Instagram / tam.hanna)

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Microchip liefert USB 3.1-Hub-Controller, Maxim überbrückt I2C und OneWire

Im Bereich der Kommunikations-ICs gibt es Neuzuwachs: Microchip bringt seine unter Anderem vom Raspberry PI bekannten USB-Hub-ICs ins USB 3-Zeitalter, während Maxim einen per I2C ansprechbaren OneWire-Controller ins Rennen schickt.

von Tam HANNA

Worum geht es hier

Eines der Baugesetze der Elektronik ist, dass man immer entweder zu wenige oder die falschen Schnittstellen zur Verfügung hat. Die hier vorgestellten ICs erlauben im Fall von Microchip das Aufsplitten eines USB-Ports, während Maxim eine per I2C ansprechbare OneWire-Schnittstelle realisiert.

USB7206-USB mit Hirn

Dass das Aufteilen eines USB-Ports die Verwendung eines Hub-ICs voraussetzt, wird als allgemein bekannt vorausgesetzt. MicroChip schicken mit dem USB7206 eine Variante ins Rennen, die wie in der Abbildung gezeigt fünf USB 3.0-Ports und einen USB 2.0-Port zur Verfügung stellt.

Neben der gewöhnlichen Hub-Funktion bringt der Chip Zusatzfunktionen mit. Einerseits exponiert er eine IO-Einheit, die I2C, I2S, SPI und normale GPIO-Pins bereitstellt. Zudem unterstützen alle Ports des Chips die diversen Signalisierungsstandards, um das schnelle Aufladen verschiedener Telefone zu erlauben:

1
- USB-IF Battery Charging rev. 1.2 support (DCP, CDP, SDP)
2
- Apple ® portable product charger emulation
3
- Chinese YD/T 1591-2006/2009 charger emulation
4
- European Union universal mobile charger support

Die Konfiguration des Chips erfolgt dabei einerseits durch charakteristische Widerstände und optional durch ein SPI- oder OTP-ROM sowie vom Host zu sendende Kommandos. Der Chip kostet in Einserstückzahlen um 7.5 EUR, und steht in einem VQFN-100-Gehäuse zu ihrer Verfügung.

Aus I2C mach OneWire

OneWire ist sowohl für iButtons (im Schlüsselanhängerformat vorliegende EEPROMs, beispielsweise für Türen) als auch für Temperatursensoren weit verbreitet. Die Emulation mit einem GPIO-Pin ist in mehrerlei Hinsicht unbefriedigend: erstens verbraucht Bit Banging Controllerresourcen, zweitens steht es um die Stromversorgungsfähigkeit oft nicht allzu gut, was bei vielen “passiven” Verbrauchern Probleme verursacht.
Der DS2485 ist ein I2C-Peripheriegerät, das – siehe Abbildung – das Ansteuern von OneWire-Peripheriegeräten ermögliocht und sich um deren Energieversorgung kümmert.

Von Haus aus wartet der Chip unter der Adresse 1000000 auf Anfragen. Durch Senden eines bestimmten I2C-Kommandos lässt er sich allerdings “an eine andere Addresse umziehen” – wichtig ist, dass es sich dabei um ein Write Once-Kommando handelt, das sich pro Chip nur ein mal einsetzen lässt.

In Einserstückzahlen kostet das Bauteil 1.5 EUR, 100 Stück wechseln um etwa 1.1 EUR den Besitzer. Als Gehäuse kommt ein sechs Pin aufweisendes TDFN zum Einsatz.
Maxim bietet unter der Produktnummer DS2485EVKIT zudem um rund 60 EUR ein Evaluationsboard an, das bei der Inbetriebnahme von auf diesem Controller basierender Peripherie hilft. Es besteht aus einem USB-Adapter und zwei laut den Abbildungen mit einem IC-Sockel ausgestatteten Zielboards – in der Vergangenheit hat Maxim diese im Rahmen der Auslieferung (beispielsweise beim MAX78000-Board) durch eingelötete ICs ersetzt.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Standalone-RP2040 kostet einen Euro, Fotos vom WFI32

Die Raspberry Pi Foundation beginnt – wie immer ruckelig – mit der Auslieferung des rohen RP2040 an den Ameisenhandel, während IAR den Controller in der hauseigenen Toolchain unterstützt. Microchip hat derweil hoch auflösende Fotos des hauseigenen ESP32-Konkurrenten zur Verfügung gestellt.

von Tam HANNA

Worum geht es hier?

Im Mikrocontrollerbereich herrscht Bewegung. Die Raspberry Pi Foundation bietet ihren RP2040-Mikrocontroller ab sofort auch als alleinstehenden Chip (also ohne Platine) im freien Handel an. Zur Erinnerung handelt es sich dabei um einen zweikernigen Arm Cortex-M0+ mit 264KB RAM.
Der WFI32 ist MicroChip’s Antwort auf den ESP32 – ein kombinatorischer WiFi-Controller im Stil des bekannten Vorbilds von Espressif.

RP2040: Standalone-Chip kostet einen Euro

War der RP2040 in einer immer größeren Menge von Evaluationsboards verfügbar, so beginnt nun die Auslieferung des Standalone-Chips. Unter der URL https://www.raspberrypi.org/products/rp2040/ darf der geneigte Käufer nach Eingabe seines Wunsch-Standorts aus einer Gruppe von Distributoren wählen.

Wie bei allen Produktauslieferungen der Raspberry Pi Foundation gilt, dass es anfangs nicht genug Produkte zur Befriedigung der Nachfrage gibt: Ob man dies als Indikation der Lieferfähigkeit für große Orders sehen möchte, muss jeder Konstruktor selbst entscheiden.
Sei dem wie es sei, ist im Bereich der großen Distributoren nur noch RS Components vertreten – eine Rolle mit 500 Chips kostet etewa 500 EUR, die Auslieferung ist für August avisiert. Farnell listen den Chip (derzeit) überhaupt nicht.

Der Ameisenhandel ist zum Zeitpunkt der Abfassung dieses Artikels ebenfalls komplett ausverkauft und nennt Lieferzeiten von 30 Tagen. Pro Chip wird im Ameisenhandel normalerweise rund 1.10 EUR aufgerufen, die Versandkosten sind seperat zu begleichen.

Neues Entwicklerwerkzeug: IAR für RP2040

Wer sich nicht mit CircuitPython und Co abärgern möchte, bekommt für den RP2040 ab sofort eine kommerzielle IDE aus dem Hause IAR. Embedded Workbench unterstützt den Controller; von Ebenezer Upton gibt es hierzu einen O-Ton:

1
We're very excited to see support for Raspberry Pi RP2040 coming to the latest release of IAR Embedded Workbench for Arm, said Dr Eben Upton CBE, Founder, Raspberry Pi Foundation. Since launching RP2040, and the $4 Raspberry Pi Pico board, in January of this year, we've seen rapid community adoption of the platform. The availability of high-quality professional development tools is an important prerequisite to industrial adoption, so this is a key milestone for Raspberry Pi

https://www.presseagentur.com/iar/detail.php?pr_id=5959&lang=en

Fotos vom WFI32

Zu guter Letzt sind die angeforderten Fotos des WFI32 eingetroffen. Hier vier Bilder, die den Chip aus verschiedenen Perspektiven zeigen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More