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/30 13:24]
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>
  
-Das Basis-Hookup dient als Grundlage, um Platinen zu entwickeln, welche auf die beiden 2x8 Buchsen der Microcontrollerplatine (links und rechts in <imgref pic01>) 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_interfacesMMC 1x1 328PB]] 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 nur kurz 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 31: Zeile 31:
 ===== Inter-Platinen Interfaces ===== ===== Inter-Platinen Interfaces =====
  
-<WRAP right><panel type="default">  +==== Version 0.1 für ATmega328PB / ATmega32U4 ==== 
-<imgcaption pic01| Interfacebeschreibung MXX 1x1 Basisplatine>+ 
 +<WRAP right> 
 +<panel type="default">  
 +<imgcaption pic01| Interfacebeschreibung MCB 1x1 Basis Hookup (Version 0.1 für 328PB / 32U4)>
 </imgcaption> </imgcaption>
 \\ {{drawio>IF_mxx_1x1_Basisplatine}} \\ {{drawio>IF_mxx_1x1_Basisplatine}}
-</panel></WRAP>+</panel> 
 +</WRAP> 
  
 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.  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 **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.
 +
 +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 Signals. Wird die Ausgabe per Software umgesetzt, so sind auch die anderen digitalen Pins möglich (d.h. alle außer Pin 4, 5, 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 (OC0A, OC0B, 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 59: 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 73: 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}}