[PYTHON] Automatisches Hardware-Design-Tool für Web-Programmierer Mille-Feuille-Hardware-Mechanismus

Was ist ein Mille-Feuille-Board?

Klicken Sie hier, um eine Übersicht über die Verwendung des Milfille-Boards zu erhalten → http://qiita.com/my_mil_info/items/ac484c96c867c1b3e702

Wie man die Software schreibt, wird bald veröffentlicht!

Hier wird der Mechanismus der Hardware erklärt. Grundsätzlich arbeitet Milfille mit automatischer Verkabelung über eine Gruppe digitaler Schalter. Die manuelle Verkabelung zwischen Raspberry Pi, Steckbrett und Gerät kann verkürzt werden, indem die Arbeit automatisch anstelle der Hand ausgeführt wird. Theoretisch können Geräteplatinen gestapelt werden, solange die Leistung sie erreicht. Sie sind jedoch für maximal 4 Reihen x 5 Stufen ausgelegt.

Milfille Board Konfiguration

Milfille besteht aus einem Raspberry Pi, einem Baseboard, einem Modul, einem Flachkabel und einer Geräteplatine. (Obwohl Patente in Japan und Übersee erhalten wurden, ist der Teil der Geräteplatine offene Hardware.)

HardAll.jpg

Raspberry Pi Raspberry Pi A +, B +, 2, Zero, 3 können verwendet werden. Sie können jedes E / A-Terminal verwenden, das mit B + identisch ist. Wenn also in Zukunft ein neuer Raspberry Pi veröffentlicht wird, überprüfen Sie, ob er über dasselbe E / A-Terminal wie B + verfügt.

Es werden nicht nur Raspberry Pi, sondern auch Cortex M3- und M4-Versionen entwickelt.

Die automatische Verdrahtungsfunktion wird mit einem 3-Draht-SPI-17-MHz-Signal ausgeführt. (Altes MCU-Getriebe war I2C 1 MHz, aber Milfille hat es auf schnelleres SPI 17 MHz geändert.)

Fußleiste

Das Basisboot hat zwei Chips.

1, digitale Schaltergruppe FPGA mit vorab geschriebenen digitalen Schaltern ähnlich wie Multiplexer für die Verkabelung

2、ARM Cortex-M0 Subcontroller, der den Betrieb des Digitalschalters ergänzt Verwaltet relativ mühsame Verarbeitungen wie Register und Kommunikation

Das Baseboard verwendet einen FPGA-Chip, aber der Benutzer schreibt das FPGA selbst nicht mit Verilog HDL oder dergleichen neu. Wenn der Benutzer das Anweisungsprogramm aus der Bibliothek mit der Aufschrift "Mit diesem Gerät verbinden!" Ausführt, wird der im FPGA vorab geschriebene Multiplexer so geschaltet, dass er das angewiesene Gerät ohne Sichtbarkeit des Benutzers verbindet. Da Milfille ein Gerät für Programmierer ist, ist es kein Mechanismus für Benutzer, Logikschaltungen mit fortschrittlichen FPGAs neu zu synthetisieren. Sobald Sie den digitalen Schalter verkabelt haben, können Sie das Gerät so bewegen, als wäre es manuell verkabelt.

Modulplatine

Die Rolle der Modulplatine besteht darin, die Verbindung zwischen der Basisplatine und der Geräteplatine zu steuern. ARM Cortex-M0 ist auf einer 6-Lagen-Platine montiert, um den Busschalter zu steuern. Selbst mit einer 6-Lagen-Platine ist die Verkabelung kaum möglich.

1, Adressintegration Wenn Sie eine Geräteplatine an eine Modulplatine anschließen, liest sie automatisch die Adresse aus dem auf der Geräteplatine montierten EEPROM und erkennt, welches Gerät angeschlossen ist. Zu diesem Zeitpunkt wird der Modulplatine selbst dieselbe Adresse wie die Geräteplatine zugewiesen. Auf diese Weise werden die Modulplatine und die Geräteplatine integriert und bilden eine Platine, und Sie können die Befehle vom Benutzer aus steuern. Da die Modulplatine mit der Geräteplatine verbunden ist und dann eine eigene Adresse zugewiesen wird, muss die Modulplatine nicht für jede Geräteplatine ausgetauscht werden, und jede Geräteplatine kann unterstützt werden.

2, Signalretentionsfunktion Wenn Sie mit dem Anschließen an die Geräteplatine fertig sind, schließt sich das Gate der nicht verwendeten Geräteplatine und das Signal wird hochohmig. Sie können nicht feststellen, ob das Signal hoch oder niedrig ist. Diese Signalaufbewahrungsfunktion ist dafür verantwortlich, das hohe oder niedrige Signal unmittelbar vor dem Schließen des Gates zu lesen und beizubehalten. Diese Funktion wird automatisch in der Bibliothek gesteuert.

3, Kommunikationsverzögerung Die folgenden Kommunikationsverzögerungen treten bei der Kommunikation mit der Geräteplatine auf. ・ SPI-Kommunikation: ca. 2 ns ・ GPIO-Kommunikation: ca. 25 ns ・ I2C-Kommunikation: Direkte Verbindung

4, unabhängige Stromversorgungsschaltung Die Modulplatine verfügt über einen unabhängigen 3,3-V-Stromversorgungskreis, und maximal 300 mA können zu einer Modulplatine fließen.

hard.png Die Abbildung zeigt die Details des digitalen Terminals, wenn der GPIO von Raspberry Pi automatisch verkabelt wird. ・ PIN1 ~ 4 sind GPIO über Multiplexer oder Busschalter ・ SCL und SDA sind I2C

Geräteplatine

Die Geräteplatine von Milfille ist eine Breakout-Karte mit einem flexiblen Kabelanschluss und einem EEPROM für Geräteadressen. Diese EEPROM- und Platinenverdrahtungsmethode sind mit der Modulplatine verbunden, und es ist möglich, die Python-Bibliothek, das Tool zur automatischen Generierung von Schaltplänen im Web und das Tool zur automatischen Konvertierung der Firmware zu betreiben.

・ Offene Hardware (voraussichtlich 2017) Die Basisplatine und die Modulplatine sind keine offene Hardware, aber die Geräteplatine ist offene Hardware. Benutzer können auch Milfille-kompatible Geräteplatinen entwickeln und verkaufen. Jede Milfille-Geräteplatine hat eine eigene Adresse. Sie können auch eine Adresse an eine von einem Benutzer entwickelte Geräteplatine vergeben und von einem anderen Benutzer als mit Milfille kompatible Geräteplatine verwenden lassen. Lassen Sie uns eine originale Geräteplatine entwickeln und mehr Spaß an der Herstellung haben. hard2.png

Bonus: UART (serieller) Bus

Der UART-Bus (seriell) verwendet einen flexiblen Kabelanschluss neben der Fußleiste. Grundsätzlich handelt es sich um eine feste Verkabelung für den Eins-zu-Eins-Betrieb.

hard3.png Die Abbildung zeigt die Details des digitalen Terminals, wenn der GPIO von Raspberry Pi automatisch verkabelt wird. ・ PIN1 und 2 sind GPIO über Multiplexer

Recommended Posts

Automatisches Hardware-Design-Tool für Web-Programmierer Mille-Feuille-Hardware-Mechanismus
Automatisches Hardware-Design-Tool für Web-Programmierer Mille-Feuille-Programm Edition
Automatisches Hardware-Design-Tool für Web-Programmierer mille-feuille-Was ist ein Tool zur automatischen Erstellung von Schaltplänen?
Hardware für Webprogrammierer mille-feuille Support-Tools für Raspberry Pi
[Python] Webanwendungsdesign für maschinelles Lernen