Passage du bit-banging software au SPI hardware


06 juin

il y a 11 mois

68

Introduction

Jusqu'à présent, les librairies fournies avec le SDK Dooba (pour contrôler des modules tels que Aecho) utilisent principalement du bit-banging logiciel pour la communication série.

Cela a eu l'avantage d'être très flexible (toutes les broches d'E/S numériques pouvaient être utilisées).
En outre, c'était avant que le bootloader Kiwi nous permette de flasher l'ioNode sans passer par l'ISP (In-System Programming).

Libérer le bus

Se libérer de l'interface ISP signifie également quelque chose de très important pour les développeurs : libérer le bus SPI (Serial Peripheral Interface), permettant de la communication série haute vitesse et sans interaction du CPU.

Ceci est important car la plupart des microcontrôleurs AVR fournissent un hardware dédié.

Le besoin de vitesse

Le support matériel pour SPI signifie que, au lieu de gaspiller des cycles CPU à alterner des broches d'E/S numériques pour chaque bit qui doit être envoyé, nous pouvons simplement transférer un octet complet de données au sous-système SPI puis le laisser se débrouiller.
De toute évidence, il en va de même pour recevoir des données à partir d'une ligne série.

Aussi, la vitesse à laquelle nous pouvons alterner les broches E/S est inférieure à ce que le sous-système SPI peut atteindre.

Ce qu'il reste à faire

Cette transition signifie que je dois mettre à jour quelques éléments.

Tout d'abord, le matériel (schémas et boards) doit être mis à jour pour prendre en charge l'utilisation de SPI :

  • ioNode (footprint)- exposer l'interface SPI
  • Aecho (schéma, board et footprint)- exposer la ligne 'BIT_EN' du STA013
  • Shiva (schéma & board)- utiliser SPI entre ioNode, STA013 et MicroSD
  • Stickie (schéma et board)- utiliser SPI entre ioNode & MicroSD

Ensuite, les librairies fournies avec le SDK pour supporter ces modules nécessitent également une mise à jour:
  • SPI- implémenter la librairie (oui, c'est évident ...)
  • sta013- mettre à jour les méthodes d'E/S pour utiliser la librairie SPI
  • sdcard- mettre à jour les méthodes d'E/S pour utiliser la librairie SPI

Cela ne devrait pas prendre trop de temps, vous pouvez suivre le progrès du hardware et de firmware sur source.dooba.io.

Traduit par Fanny