Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mexle2020:mcb_1x1_basis_hookup [2020/08/28 20:57]
tfischer
mexle2020:mcb_1x1_basis_hookup [2021/05/30 06:30] (aktuell)
tfischer [Version 1.0 für AVR32DB]
Zeile 1: Zeile 1:
-====== MEXLE2020 Modul : Mxx_1x1_Basis_Hookup ======+====== MEXLE2020 Modul : MCB_1x1_Basis_Hookup ======
  
 <WRAP right> </WRAP> <WRAP right> </WRAP>
  
-^Modultyp|MMC - MEXLE Microcontroller CPU)|+^Modultyp|MCB - MEXLE Basis Circuits)|
 ^Versionierung|1.0| ^Versionierung|1.0|
 ^Ersteller|Tim Fischer| ^Ersteller|Tim Fischer|
Zeile 12: Zeile 12:
  
 <WRAP right> <WRAP right>
-<imgcaption pic01|fertige MMC 1x1 328PB Platine>+<imgcaption pic00|fertige MMC 1x1 328PB Platine>
 {{mexle2020:uc_platine_mmc_1x1_328pb.png?200}} {{mexle2020:uc_platine_mmc_1x1_328pb.png?200}}
 </imgcaption> </imgcaption>
 </WRAP> </WRAP>
  
-Die Microcontrollerplatine (<imgref pic01>) nutzt den Chip [[http://ww1.microchip.com/downloads/en/DeviceDoc/40001906A.pdf|ATmega328PB]]. Damit ist es u.a. möglich 2 I2C-, 2 SPI und 8 Analog-Digital-Converter genutzt werden. Details zur Pin-Konfiguration des Chips sind dem verlinkten Datenblatt zu entnehmen, die Pinbelegung des Boards ist unten beschrieben. +Das Basis-Hookup dient als Grundlage, um Platinen zu entwickeln, welche auf die beiden 2x8 Buchsen der Microcontrollerplatine (links und rechts in <imgref pic00>) aufgesteckt werden können. Damit ist es u.a. möglich 2 I2C-, 2 SPI und 8 Analog-Digital-Converter genutzt werden. Details zur Pin-Konfiguration ist unter der Platine [[mexle2020:mmc_1x1_328pb#inter-platinen_interfaces|MMC 1x1 328PB]] beschrieben. 
  
-Die 1×1 Platine kann als Grundlage für weitere Projekte dienen. Dazu ist sie mit verschiedenen Schnittstellen ausgestattet, die im Folgenden beschrieben werden.+Die 1×1 Platine kann als Grundlage für weitere Projekte dienen. Dazu ist sie mit verschiedenen Schnittstellen ausgestattet, die im Folgenden nur kurz beschrieben werden.
  
  
Zeile 25: Zeile 25:
 ===== Human-Machine-Interface ===== ===== Human-Machine-Interface =====
  
-<WRAP right> +Auf der Basisplatine ist im Ausgangszustand kein Human-Machine-Interface (LED, Taster, etc.) vorgesehen
-<imgcaption pic02|Human-Machine-Interface der MMC 1x1 328PB Platine> +Für neuentwickelte Platinen basierend auf dem Basis-Hookup können diese bei Bedarf hinzugefügt werden.
-{{:mexle:mexle_328pb_hmi_01.jpg?800|mexle_328pb_hmi_01.jpg}} +
-</imgcaption> +
-</WRAP> +
- +
-Zur Eingabe sind 2 Taster verbaut (vgl<imgref pic02>). Diese ermöglichen das Auslösen eines Reset und das Schalten zu Masse. Letzteres bietet bei aktivierten, internen Pull-up Widerstand eine digitale Eingabe+
- +
-Weiterhin ist eine LED auf der Platine vorhanden. Diese lässt sich über den Pin 24 aktivieren.+
  
 ~~PAGEBREAK~~ ~~CLEARFIX~~  ~~PAGEBREAK~~ ~~CLEARFIX~~ 
 ===== Inter-Platinen Interfaces ===== ===== Inter-Platinen Interfaces =====
 +
 +==== Version 0.1 für ATmega328PB / ATmega32U4 ====
  
 <WRAP right> <WRAP right>
-<imgcaption pic03|Board-Board-Interface der MMC 1x1 328PB Platine> +<panel type="default">  
-{{:mexle:mexle_328pb_interfaces_03.jpg?700|mexle_328pb_interfaces_03.jpg}}+<imgcaption pic01Interfacebeschreibung MCB 1x1 Basis Hookup (Version 0.1 für 328PB / 32U4)>
 </imgcaption> </imgcaption>
 +\\ {{drawio>IF_mxx_1x1_Basisplatine}}
 +</panel>
 </WRAP> </WRAP>
  
-Für die Verknüpfung zwischen mehreren Platinen gibt es verschiedene Schnittstellen (siehe <imgref pic03>). 
  
-Mit der **Micromatch-Schnittstelle (X1, oben)** lässt sich das Progi verknüpfenDieses kann über [[https://de.wikipedia.org/wiki/In-System-Programmierung|ISP]] per SPI den Chip programmieren. +Für die Verknüpfung zwischen mehreren Platinen gibt es verschiedene Schnittstellen (siehe <imgref pic01>). Die Schnittstellen des Hookups ähneln der der [[mexle2020:mmc_1x1_328pb|MMC1x1 328PB]] Platine
- +
-Die **Pinheader an den Ecken** sind bei diesem Board aktuell nicht elektrisch genutzt. Bei anderen Boards sind diese mit PGND (Power Ground, Masse für Leistungskomponenten) und PVCC (Power Voltage, Spannung für Leistungskomponenten) belegt.+
  
 Die **Buchsen links (K1) und rechts (K2)** ermöglichen einen Zugriff auf (fast) alle Pins des Controllers. Bis auf die Pins 7 (XTAL1) und 8 (XTAL2) sind alle Pins verfügbar. Die untersten Pins der Buchse K1 können optional über die Jumper SJ2 und SJ3 auf der Rückseite der Platine entweder auf V+ und GND oder auf Pin 3 und 6 gelegt werden. Ersteres ist für die Kompatibilität der verschiedenen Controllerplatinen notwendig. Letzteres bietet die Möglichkeit die letzten beiden Pins - und damit die I2C-Schnittstelle - anzusprechen. Im Bild ist die Anordnung der Pins auf die Buchsen zu sehen; diese sind für alle Controllerplatinen gleich. Die beiden Buchsen ermöglichen Hook-up-Platinen, welche auf den Controllerplatinen aufbauen. Eine Spannungsversorgung der Controllerplatine ist auch über die Hook-ups möglich. Die **Buchsen links (K1) und rechts (K2)** ermöglichen einen Zugriff auf (fast) alle Pins des Controllers. Bis auf die Pins 7 (XTAL1) und 8 (XTAL2) sind alle Pins verfügbar. Die untersten Pins der Buchse K1 können optional über die Jumper SJ2 und SJ3 auf der Rückseite der Platine entweder auf V+ und GND oder auf Pin 3 und 6 gelegt werden. Ersteres ist für die Kompatibilität der verschiedenen Controllerplatinen notwendig. Letzteres bietet die Möglichkeit die letzten beiden Pins - und damit die I2C-Schnittstelle - anzusprechen. Im Bild ist die Anordnung der Pins auf die Buchsen zu sehen; diese sind für alle Controllerplatinen gleich. Die beiden Buchsen ermöglichen Hook-up-Platinen, welche auf den Controllerplatinen aufbauen. Eine Spannungsversorgung der Controllerplatine ist auch über die Hook-ups möglich.
  
-Die **Stecker unten (JP1)** verknüpfen die Platine mit der BasisplatineDamit ist die Spannungsversorgung über die Basisplatine möglich. Die Pins V+ und GND dieses Steckers wird für die Versorgung des Controllers genuntztDie Spannung V- wird auf dem Board nicht direkt genutztaber an Hook-ups (über Buchse K2weitergeleitetÜber diesen Stecker ist auch eine I2C-Verbindung zwischen verschiedene Platinen über die Basisplatine möglichWeiterhin gibt es einen Reset-Pinwelcher einen zentralen Reset aller Platinen auf der Basisplatine erlaubt.+Soll auf Basis dieses Boards ein weiteres Hookup erstellt werden, so sollen die vorhandenen Anschlüsse genutzt werden.  
 +Die Anschlüsse einiger Anwendungen sind hier beispielhaft aufgelistet (Details zu den Anschlüssen im Datenblatt des [[http://ww1.microchip.com/downloads/en/DeviceDoc/40001906A.pdf|Atmega328PB]]): 
 +  * **Hookup mit Eingangsfilter**:  
 +    * Ausgabe des gefilteren Signals an einen der ADC Eingänge (ADC0...ADC7). Diese sind bei [[mexle2020:mmc_1x1_328pb|MMC1x1 328PB]] alle als 10-Bit Wandler ausgeführt. 
 +    AGND sollte auf die Bezugsspannung des eingehenden Signals gelegt werden 
 +    AVCC Ist ein Eingangs-Pin, d.h. dieser ist nicht belastbar, sondern dient als Eingang für die ADC-Stufe im Microcontroller 
 +  * **Hookup mit Ausgangsfilter, Motoransteuerungen, Soundausgabe**: Vorteilhaft ist hierbei die Verwendung eines der OCxX Ausgänge zum Erstellen des PWM SignalsWird die Ausgabe per Software umgesetzt, so sind auch die anderen digitalen Pins möglich (d.halle außer Pin 45, 18, 20, 21, 29). Dabei ist zu beachten, dass die Auflösung der genutzten Timer unterschiedlich ist:  
 +    * Timer1 ermöglicht mit einem 16-Bit breiten Timer-Input ein besser aufgelöstes Signal (OC1A, OC1B) 
 +    * Timer0, Timer2 haben ein 16-Bit breiten Timer-Input und damit eine schlechtere Auflösung (OC0AOC0B, OC2A, OC2B) 
 + 
 +~~PAGEBREAK~~ ~~CLEARFIX~~ 
  
 <WRAP group> <WRAP half column> <WRAP group> <WRAP half column>
  
-==== Belegung Buchse K1 (links) ====+=== Belegung Buchse K1 (links) ===
  
 ^Functions^Pin^Pin^Functions| ^Functions^Pin^Pin^Functions|
Zeile 72: Zeile 76:
 </WRAP> <WRAP half column> </WRAP> <WRAP half column>
  
-==== Belegung Buchse K2 (rechts) ====+=== Belegung Buchse K2 (rechts) ===
  
 ^Functions^Pin^Pin^Functions| ^Functions^Pin^Pin^Functions|
Zeile 86: Zeile 90:
 </WRAP> </WRAP> </WRAP> </WRAP>
  
 +==== Version 1.0 für AVR32DB ====
 +
 +<WRAP>
 +<panel type="default"> 
 +<imgcaption pic02| Interfacebeschreibung MCB 1x1 Basis Hookup (Version 1.0 für AVR32DB)>
 +</imgcaption>
 +\\ {{drawio>IF_mxx_1x1_Basisplatine_v1_11}}
 +</panel>
 +</WRAP>
 +
 +
 +Für die neuen Boards wird der Chip [[http://ww1.microchip.com/downloads/en/DeviceDoc/40001906A.pdf|AVR32DB]] und eine geänderte Pin-Konfiguration (siehe <imgref pic02>) verwendet. Hierbei sind folgende Design-Prinzipien genutzt worden:
 +  - Trennung von digitaler Ein-/Ausgabe von analoger Ein-/Ausgabe und Spannungsversorgung.
 +  - Auf der **Buchse K1** sind nur digitale Ein-/Ausgabe-Pins (sowie VCC und GND) zu finden.
 +    - Die Pins 1...8 (PA0...7) stellen dabei nicht nur die digitale Kommunikation mit I2C, UART und SPI zur Verfügung. Die Pins sind zudem die vollständige Ausgabe des Ports A.
 +    - Die Pins 9...12 (PC0...3) entsprechen dem unteren Nibble des Ports C. Zusätzlich bieten diese Pins eine zweite SPI und UART Schnittstelle.
 +    - Die Pins 13...14 (PF4...5) stellen eine weitere Möglichkeit einer UART-Schnittstelle bereit. Zusätzlich bieten sie den Zugriff auf zwei Timer/Counter (TCB und TCC).
 +    - Alle Digitalpins haben mindestens den Zugriff auf einen Timer/Counter. Der Timer/Counter A ist nicht eingezeichnet aber bei fast jedem Pin verfügbar.
 +    - Die untersten beiden Pins erlauben Zugriff auf die Spannungsversorgung.
 +  - Auf der **Buchse K2** sind Spannungsversorgungsanschlüsse, sowie analoge Ein-/Ausgabe-Pins 
 +    - Der Pin 1 (unten rechts) ermöglicht es für die Digital-Pins des Ports C (Pins 9..12 auf Buchse K1) mit einer abweichenden Spannung zu versorgen. Damit ist für diese Pins beispielsweise eine 5V Basis möglich.
 +    - Die Pins 2...8 (PD1...7) bieten Zugriff auf 7 Kanäle des Analog-Digital-Wandlers. Diese Pins erlauben zusätzlich die Verwendung von 2 Operationsverstärkern (OP0 und OP1). Weiterhin ist ein Digital-Analog-Wandler auf Pin D6 verfügbar. Daneben sind über alle ADC-Pins auch die Verwendung von analogen Komparatoren möglich. 
 +    - Die Pins 9...14 und 16 stellen die verschiedenen Spannungsniveaus dar. 
 +    - Der Pin 15 ist nicht belegt und hat keinen physikalischen Stecker / Buchse. Damit wird ein Verdrehen des Hookup um 180° vermieden. Nur wenn Pin 15 auf dem Hookup und dem Basisboard übereinstimmen, kann die Buchse K2 eingesteckt werden.
 +
 +~~PAGEBREAK~~ ~~CLEARFIX~~ 
 ===== Eagle-Dateien ===== ===== Eagle-Dateien =====
  
 Die aktuellen Eagledateien und Vorversionen sind [[https://redmine.hs-heilbronn.de/projects/microcontroller-grundplatinen/repository/2145/show/010.%20MEXLE%20blanco%20PCBs/MhB1x1%20blanco%20HookUp|hier in Redmine]] zu finden. Die aktuellen Eagledateien und Vorversionen sind [[https://redmine.hs-heilbronn.de/projects/microcontroller-grundplatinen/repository/2145/show/010.%20MEXLE%20blanco%20PCBs/MhB1x1%20blanco%20HookUp|hier in Redmine]] zu finden.
  
-Als Ausgangspunkt können folgende Dateien genutzt werden: 
-  * {{mexle2020:mhb1x1.sch}} 
-  * {{mexle2020:mhb1x1.brd}}