PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Eddy33 : Maixduino : processeur RISC-V K210

mardi 16 juin 2020 à 11:51

Salut.

Le kit Maixduino de Sipeed est équipé d'un processeur RISC-V développé par la société chinoise Canaan et appelé K210 (K pour Kendryte).

Ce processeur est basé sur une architecture de jeu d'instructions (Instruction Set Architecture) libre RISC-V. Le projet RISC-V est intéressant car c'est un projet de matériel libre (open hardware) que peut implanter tout un à chacun. On vous dit bien sûr quoi faire mais pas comment le faire.

Il existe à l'heure actuelle peu de processeurs RISC-V hardcores et qui supportent Linux en plus.  On peut citer :

Il existe aussi des implantations en tant que processeurs softcores. On peut citer :
  • Le projet LowRISC. On a un processeur RISC-V 64 bits. Le projet LowRISC peut tourner sur une carte FPGA Nexys 4 DDR ou A7 de Digilent et supporte Linux.

La codification d'un processeur RISC-V est normalisée. Le préfixe est RV (pour RISC-V) suivi de 32, 64 ou 128 selon la taille du processeur puis suivi de I ou E (pour Embedded). Exemple : RV32I, RV64I...

Le préfixe est suivi d'une ou plusieurs lettres décrivant les extensions rajoutées :

  • M : Standard Extension for Integer Multiplication and Division
  • A : Standard Extension for Atomic Instructions
  • F : Standard Extension for Single-Precision Floating-Point
  • D : Standard Extension for Double-Precision Floating-Point
  • G : raccourci pour MAFD
  • Q : Standard Extension for Quad-Precision Floating-Point
  • C : Standard Extension for Compressed Instructions. Instructions courtes sur 16 bits
Par exemple, le microcontrôleur GD32V est un RISC-V RV32IMAC. Le processeur K210 est un RISC-V RV64IMAFDC ou de façon plus concise un RISC-V RV64GC.

Le processeur K210 possède les fonctionnalités suivantes :


Le processeur K210 vise des applications d'IA et de traitement du son :
  • Détection d'objets
  • Classification d'images
  • Détection et reconnaissance de visages
  • Obtention de la taille et des coordonnées d'une cible en Temps Réel
  • Détection de l'orientation d'une source de son
  • Reconnaissance de la voix
  • ...

Le processeur K210 contient différents périphériques :
  • 2 coeurs RISC-V RV64GC à 400 MHz
  • 1 processeur KPU (Knowledge Processor Unit) pour l'IA et accélérateur de calcul pour un réseau de neurones convolutionnel CNN
  • 1 processeur APU (Audio Processor Unit) pour le traitement du son
  • 1 accélérateur pour les transformées de Fourier rapides FFT et IFFT sur 64, 128, 256 ou 512 points
  • Accélérateurs pour le chiffrement SHA256 et AES128, AES192 et AES256
  • 8 Mo de SRAM
  • Transferts DMA
  • Périphériques divers  : UART, GPIO, SPI, I²C, I²S, WDT, TIMER, RTC...
  • JTAG
  • ...
Les spécifications du processeur K210 sont disponibles ici (fichier kendryte_datasheet_20181011163248_en.pdf).

Des kits de développement sont disponibles pour le processeur K210 :
  • Kit Kendryte KD2333 de Canaan. Ne semble plus disponible
  • Kit Maixduino de Sipeed pour 23,90 USD
  • Kit MaixCube de Sipeed pour 24,90 USD
  • Kit Maix Go de Sipeed pour 40,90 USD
  • Kit Maix Bit Suit de Sipeed pour 20,90 USD
Il faut noter que la société Sipeed a intégré le processeur K210 dans un module qu'elle a développé : le module Maix-I.

Le module Maix-I ou M1 intègre outre le processeur K210 16 Mo de mémoire Flash et une interface Wifi (M1w à 8,90 USD) ou non (M1 à 7,90 USD). Il permet de réaliser plus facilement sur propre circuit PCB.

La figure suivante montre le module M1.

Nous verrons dans un prochain billet quels sont les environnements de développement disponibles pour le processeur K210 et donc pour le kit Maixduino.

++

Gravatar de Eddy33
Original post of Eddy33.Votez pour ce billet sur Planet Libre.