[PYTHON] Outil de conception de matériel automatique pour les programmeurs Web Mécanisme mille-feuille

Qu'est-ce qu'une planche mille-feuille?

Cliquez ici pour un aperçu de l'utilisation de la carte Milfille → http://qiita.com/my_mil_info/items/ac484c96c867c1b3e702

Comment écrire le logiciel sera bientôt disponible!

Ici, le mécanisme du matériel est expliqué. Fondamentalement, Milfille fonctionne avec un câblage automatique via un groupe d'interrupteurs numériques. Le travail de câblage manuel entre le Raspberry Pi, la maquette et l'appareil peut être raccourci en effectuant automatiquement le travail au lieu de la main. En théorie, les cartes de périphériques peuvent être empilées tant que la puissance les atteint, mais elles sont conçues en supposant un maximum de 4 rangées x 5 étages.

Configuration de la carte Milfille

Milfille se compose d'un Raspberry Pi, d'une plinthe, d'un module, d'un câble plat et d'une carte de périphérique. (Bien que des brevets aient été obtenus au Japon et à l'étranger, la partie carte de périphérique est un matériel ouvert.)

HardAll.jpg

Raspberry Pi Raspberry Pi A +, B +, 2, Zero, 3 peuvent être utilisés. Vous pouvez utiliser n'importe quel terminal IO identique à B +, donc si un nouveau Raspberry Pi est publié à l'avenir, veuillez vérifier s'il a le même terminal IO que B +.

Non seulement Raspberry Pi mais aussi les versions Cortex M3 et M4 seront développées.

La fonction de câblage automatique est effectuée avec un signal SPI 17MHz à 3 fils. (L'ancien équipement MCU était I2C 1MHz, mais Milfille l'a changé en SPI 17MHz plus rapide)

Plinthe

Le bateau de base a deux puces.

1, groupe de commutateurs numériques FPGA avec commutateurs numériques pré-écrits similaires aux multiplexeurs pour le câblage

2、ARM Cortex-M0 Sous-contrôleur qui complète le fonctionnement du commutateur numérique Gère les traitements relativement difficiles tels que les registres et la communication

La carte de base utilise une puce FPGA, mais l'utilisateur ne réécrit pas le FPGA lui-même avec verilog HDL ou similaire. Lorsque l'utilisateur exécute le programme d'instructions de la bibliothèque en disant "Connectez-vous à ce périphérique!", Le multiplexeur qui est pré-écrit dans le FPGA est commuté pour connecter le périphérique instruit sans la vue de l'utilisateur. Puisque Milfille est un appareil destiné aux programmeurs, ce n'est pas un mécanisme permettant aux utilisateurs de resynthétiser des circuits logiques à l'aide de FPGA avancés. Une fois que vous avez câblé le commutateur numérique, vous pouvez déplacer l'appareil comme s'il était câblé à la main.

Carte de module

Le rôle de la carte de module est de contrôler la connexion entre la carte de base et la carte de périphérique. ARM Cortex-M0 est monté sur une carte à 6 couches pour contrôler le commutateur de bus. Même avec une carte à 6 couches, le câblage est à peine possible.

1, intégration d'adresse Lorsque vous connectez une carte de périphérique à une carte de module, elle lit automatiquement l'adresse de l'EEPROM montée sur la carte de périphérique et reconnaît quel périphérique est connecté. À ce moment, la même adresse que la carte de périphérique est attribuée à la carte de module elle-même. Ce faisant, la carte de module et la carte de périphérique sont intégrées et deviennent une seule carte, et vous pouvez contrôler les commandes de l'utilisateur. Étant donné que la carte de module est connectée à la carte de périphérique puis a sa propre adresse, il n'est pas nécessaire de remplacer la carte de module pour chaque carte de périphérique, et toute carte de périphérique peut être prise en charge.

2, fonction de rétention du signal Lorsque vous avez terminé la connexion à la carte de périphérique, la porte de la carte de périphérique inutilisée se ferme et le signal devient haute impédance, et vous ne pouvez pas dire si le signal est haut ou bas. Cette fonction de rétention de signal est responsable de la lecture et de la conservation du signal haut ou bas juste avant la fermeture de la porte. Cette fonctionnalité est automatiquement contrôlée dans la bibliothèque.

3, retard de communication Les retards de communication suivants se produisent lors de la communication avec la carte de périphérique. ・ Communication SPI: environ 2nsec ・ Communication GPIO: environ 25nsec ・ Communication I2C: connexion directe

4, circuit d'alimentation indépendant La carte de module a un circuit d'alimentation indépendant de 3,3 V, et jusqu'à 300 mA peuvent s'écouler vers une carte de module.

hard.png La figure montre les détails du terminal numérique lorsque le GPIO du Raspberry Pi est automatiquement câblé. ・ PIN1 ~ 4 sont GPIO via multiplexeur ou commutateur de bus ・ SCL et SDA sont I2C

Carte de périphérique

La carte de périphérique de Milfille est une carte de dérivation avec un connecteur de câble flexible et une EEPROM pour les adresses de périphérique. Cette EEPROM et la méthode de câblage de la carte sont liées à la carte du module, et il est possible d'utiliser la bibliothèque python, l'outil de génération automatique de schéma de circuit sur le Web et l'outil de conversion automatique du micrologiciel.

・ Matériel ouvert (démarrage prévu en 2017) La carte de base et la carte de module ne sont pas du matériel ouvert, mais la carte de périphérique est du matériel ouvert. Il est également possible pour les utilisateurs de développer et de vendre des cartes d'appareils compatibles Milfille. Chaque carte de périphérique Milfille a sa propre adresse. Vous pouvez également émettre une carte de périphérique développée par l'utilisateur et demander à un autre utilisateur de l'utiliser comme carte de périphérique compatible Milfille. Développons une carte de périphérique originale et profitons davantage de la fabrication. hard2.png

Bonus: bus UART (série)

Le bus UART (série) utilise un connecteur de câble flexible à côté de la carte de base. Fondamentalement, il s'agit d'un câblage fixe destiné à un fonctionnement un à un.

hard3.png La figure montre les détails du terminal numérique lorsque le GPIO du Raspberry Pi est automatiquement câblé. ・ PIN1 et 2 sont GPIO via multiplexeur

Recommended Posts

Outil de conception de matériel automatique pour les programmeurs Web Mécanisme mille-feuille
Outil de conception de matériel automatique pour les programmeurs Web Édition mille-feuille-programme
Outil de conception de matériel automatique pour les programmeurs Web mille-feuille-Qu'est-ce qu'un outil de génération automatique de schéma de circuit?
Matériel pour les programmeurs Web Mille-feuille Outils de support pour Raspberry Pi
[Python] Conception d'applications Web pour l'apprentissage automatique