Lorsque Parallax a présenté sa première puce Propeller en 2006, ça ne ressemblait à rien de connu. Ces derniers temps, tandis que Parallax travaillait sur Propeller 2, ils ont demandé leur avis aux utilisateurs, non pas sur la puce sous forme de silicium qui n’existait pas encore, mais sous forme de flux binaire pour carte FPGA Altera DE10-Nano. Parallax a recueilli les commentaires avant de fondre Propeller 2 dans le silicium pour de bon. Le processus de fabrication de la puce a été décrit sur le forum Propeller pour que la communauté puisse le suivre. Au moment où j’écris ces lignes, le silicium en phase de révision C est approuvé pour la production. Jetons un coup d’œil à Propeller 2 et à ses caractéristiques.

Parallax Propeller 2 Eval Board
Figure 1. Évaluation de la carte Propeller 2 Rev.C de Parallax.

Propeller 2

La fréquence d’horloge officielle de la puce est de 180 MHz, ce qui donne 90 MIPS par noyau, et chaque instruction prend au moins deux cycles d’horloge. Le surcadencement de la Propeller 2 est possible, pour atteindre des fréquences supérieures à 300 MHz, soit 150 MIPS par noyau. Sur les microcontrôleurs, les noyaux d’unité centrale sont généralement célibataires, parfois en couple. Le Propeller 2 en a huit. Oh ! Ces coeurs indépendants, appelés cogs (= rouages ou engrenages), offrent une grande puissance de calcul. Tous les rouages partagent 512 Ko de RAM sur ce modèle, avec en plus, par noyau, des registres (512 * 32 bits) et de la mémoire vive (512 * 32 bits). Outre les nombreux noyaux et la mémoire vive, la puce comprend une batterie de périphériques engageants :

  • solveur CORDIC avec correction du facteur d’échelle
  • sémaphore à 16 bits avec lecture-modification-écriture atomique
  • compteur à 64 bits à fonctionnement libre
  • interface hôte et esclave USB 2.0 FS
  • broches d’E/S intelligentes (cf. encadré).
     
    Smart pin functions

Parallax nous a confié un kit d’évaluation (fig. 1) avec un échantillon en version révisée C, ce qui nous permet de nous faire la main et de commencer à jouer avec. Je l’utiliserai pour cette série d’articles sur la puce, ses périphériques, son code, et bien davantage.

Au moment de boucler cet article (déc. 2020) la puce n’est pas encore disponible officiellement. Il est probable qu’en matière de logiciel nous tomberons sur du logiciel en chantier. Il y a de la matière pour expérimenter, notamment une pile de modules complémentaires à tester (fig. 2). 

Add-on boards for the Propeller 2
Figure 2. Cartes auxiliaires pour la carte d’évaluation de Propeller 2.

Où sont passés les périphériques ?

Il ne vous aura pas échappé qu’il n’a pas encore été question de périphériques. Où sont donc les modules SPI, I2C et UART ? Eh bien, ils peuvent être formés au moyen des broches intelligentes et un peu de code dans les cogs. Ils ne sont pas mentionnés explicitement dans les caractéristiques, mais ils sont disponibles. Cette approche nous permettra de produire un signal HDMI directement sur un moniteur et d’afficher le contenu d’une puce flash. Ce sera pour la fin de cette série. Pour éviter une énumération barbante des périphériques et de leurs caractéristiques, nous les découvrirons à la demande, au fil de notre progression avec Propeller 2, Notre prochaine étape sera un aperçu de l’environnement de développement et notre émoustillante première touche avec une broche d’entrée/sortie pour piloter une LED.

Lire la suite dans la deuxième partie 
 

Qu’en pensez-vous ?
Vos questions et vos remarques sur cet article peuvent être adressées en anglais à mathias.claussen@elektor.com ou en français à redaction@elektor.fr


 
Ont contribué à cet article
Auteur :       Mathias Claußen
Rédaction : Jens Nickel & C. J. Abate
Maquette :  Giel Dols
Traduction :Denis Meyer