Nom international : WCH
Nom chinois : 南京沁恒 (ou simplement 沁恒)
Pinyin : nánjīng qìn héng
Site web : https://wch-ic.com/
WCH propose la plus large gamme de micro-contrôleurs RISC‑V que
n'importe quel autre fabricant et a clairement fait de RISC‑V un
choix stratégique :
ils ont développé leur propre IP , les coeurs RISC‑V QingKe V2, V3 et V4 ;
ils l'utilisent pour leurs circuits spécialisés (ex. adaptateur USB <->
PCI), qui étaient auparavant basés sur leurs coeurs MCS-51 ou legacy RISC ;
et enfin, leurs innovations (ex. leur PIOC, Programmable I/O protocol Controller)
viennent enrichir leur gamme RISC‑V et non leur gamme ARM, qui n'évolue plus.
PIOC: programmable I/O protocol controller / PGA: programmable gain amplifier
WCH publie des vidéos intéressantes sur ses micro-contrôleurs (tutoriels, astuces...)
sur sa chaîne YouTube.
Les cartes de développement à base de CH573/571 on été intentionnellement
omises car le CH583/582 lui est généralement préféré.
Une table de sélection couvrant la totalité des produits de WCH et disponible
ici.
Tous les SDK des microcontrôleurs WCH incluent les schemas des "reference
designs", c'est-à-dire des cartes de développement "officielles" de WCH.
Les références des cartes de développement "officielles" de WCH pour les
familles CH32* sont de la forme CH32*-EVT-Rn, où n = 0
pour une carte de base nécessitant d'utiliser un programmeur (voir section
suivante), ou 1 pour un carte intégrant un programmeur (détachable et
réutilisable) et donc nécessitant seulement un câble USB.
Programmeur / debugger
Un programmeur spécifique est nécessaire pour flasher les microcontrôleurs WCH,
le WCH-LinkE. Il inclut à la fois un programmeur / debugger et un adaptateur USB-série,
éliminant le besoin d'un adaptateur séparé.
Un WCH-LinkE est inclus dans certains kits de développement de WCH
(celui du CH32V003 et la combinaison CH32V003+CH32V203).
Vous pourrez également trouver sur AliExpress le WCH-Link (sans le E final).
C'est le prédécesseur du WCH-LinkE et il ne fonctionne pas avec les microcontrôleurs
récents tels que les CH32V003/CH32X035/CH643/CH32L103.
Les WCH-LinkE et WCH-Link ont 2 modes de fonctionnement distincts,
ARM et RISC‑V. Quand la LED bleue est allumée, l'appareil est en mode ARM
et ne peut pas être utilisé avec un microcontrôleur RISC‑V.
Le WCH-LinkE offre un bouton poussoir "ModeS" pour changer de mode.
Enlevez le boîtier plastique transparent et appuyez sur ModeS pendant que
vous insérez le WCH-LinkE dans le port USB de l'ordinateur, le mode de
fonctionnement sera modifié et mémorisé. Vous n'aurez donc pas besoin de
répéter l'opération au prochain usage.
L'ancien WCH-Link ne dispose pas de bouton de changement de mode.
Pour le modifier, vous devrez connecter la ligne TX à GND puis insérer
l'appareil dans le port USB de l'ordinateur. Le nouveau mode sera
mémorisé de la même façon qu'avec le WCH-LinkE.
Utilitaire de programmation
WCH fournit 3 utilitaires pour programmer ses micro-contrôleurs :
WCHISPTool (application Windows, recommandée), WCHISPTool_CMD (application
en ligne de commande multi-plateforme) et WCH-LinkUtility (application
Windows). MounRiver Studio a son propre outil de programmation, qui
ressemble beaucoup à WCH-LinkUtility.
MounRiver Community Edition est un IDE basé sur Eclipse disponible pour
Windows, Linux et Mac. Il supporte tous les microcontrôleurs RISC‑V et ARM
de WCH.
WCH fournit des versions modifiées d'OpenOCD et GCC prenant en charge les
fonctionnalités spécifiques de leurs micro-contrôleurs. Ces outils sont fournis
avec MounRiver, mais peuvent aussi être téléchargés séparément à partir de la
page de téléchargement de MounRiver, par exemple pour installation sur un serveur
d'intégration continue.
Alternatives aux outils de WCH
Si vous préférez utiliser la version "mainstream" de GCC au lieu de celle
de WCH, ou si vous voulez essayer un outil open-source de programmation,
reportez-vous aux fils Reddit suivants :
Pour une explication détaillée de l'installation, configuration et
utilisation des outils de développement pour Linux, veuillez vous
reporter à ce document.
Bluetooth® Low Energy et TMOS
Les API permettant d'utiliser la fonctionnalité Bluetooth® Low Energy (BLE)
de certains micro-contrôleurs WCH sont dépendantes du RTOS maison de WCH, TMOS.
Ceci concerne les CH32V208, CH573/CH571, CH583/CH582 et CH592/591.
Ce document en anglais explique comment utiliser TMOS.
cette carte de développement n'est PAS équipée de quartz, MAIS :
Les condensateurs de 22pF C7 et C8 sont montés bien qu'ils soient inutiles,
et viennent donc charger PA1 et PA2.
C6, un condensateur de 100nF, est monté sur PD7. Notez que ceci est inutile
en l'état car le système de reset du CH32V003 détecte très bien la mise sous
tension. Pour que C6 serve à quelque chose, il faudrait lui ajouter un bouton
poussoir en parallèle, ce qui n'est pas le cas ici.
En conclusion, PA1, PA2 et PD7 ne sont pas directement disponibles,
il faut pour pouvoir les utiliser dessouder C6, C7 et C8.
En outre, cette carte de développement comporte un CH340N comme interface
USB-série, connectée à PD5 et PD6. Ce circuit est inutile puisque le programmeur
WCH-LinkE en intègre un aussi. De plus, il vient interférer avec PD5 et PD6.
Enfin, notez que la tension d'alimentation du CH32V003 est ici de 3.3V.
WeAct Studio CH32V003F4U6
Cette carte existe en 2 variantes, 3.3V et 5V, à choisir selon la tension
d'alimentation des périphériques que vous voulez y connecter.
cette carte de développement n'est PAS équipée de quartz.
En conséquence, les ports d'ES PA1 et PA2 sont disponibles. PD7 est utilisé
pour le reset, donc pas disponible. Le LED bleue D1 est connectée sur PC4.
cette carte de développement n'est PAS équipée de quartz.
En conséquence, PA1 et PA2 sont disponibles. Comme avec la CR-CH32VXX, un
condensateur de 100nF parfaitement inutile est connecté à PD7, qui n'est donc
pas disponible, sauf à dessouder le condensateur. La LED verte est connectée
sur PD1, ce qui est peu judicieux car cette broche correspond également
à SWDIO.
BTE23-15
Cette carte existe en 2 variantes, 3.3V et 5V, à choisir selon la tension
d'alimentation des périphériques que vous voulez y connecter.