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:mmc_1x1_328pb [2019/06/17 01:17]
tfischer
mexle2020:mmc_1x1_328pb [2022/10/23 23:02] (aktuell)
tfischer
Zeile 1: Zeile 1:
 ====== MEXLE2020 Modul : MMC_1x1_328PB ====== ====== MEXLE2020 Modul : MMC_1x1_328PB ======
  
-<WRAP right>  </WRAP>+<WRAP right> </WRAP>
  
 ^Modultyp|MMC - MEXLE Microcontroller CPU)| ^Modultyp|MMC - MEXLE Microcontroller CPU)|
-^Versionierung| 1.0 | +^Versionierung|1.0| 
-^Ersteller|Gerhard Gruhler| +^Ersteller|Gerhard Gruhler / Tim Fischer
-^letzte Änderung| 2018-01-03 |+^letzte Änderung|2018-01-03|
 ^Kurzbeschreibung|Microcontroller Platine mit ATmega328PB Chip, Quarz, LED und 2 Taster| ^Kurzbeschreibung|Microcontroller Platine mit ATmega328PB Chip, Quarz, LED und 2 Taster|
  
 ====== Hardwareübersicht ====== ====== Hardwareübersicht ======
  
-Die Microcontrollerplatine 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 sind dem verlinkten Datenblatt zu entnehmen. Die 1x1 Platine kann als Grundlage für weitere Projekte dienen. Über die Platine +<WRAP right> 
 +<imgcaption pic01|fertige MMC 1x1 328PB Platine> 
 +{{mexle2020:uc_platine_mmc_1x1_328pb.png?200}} 
 +</imgcaption> 
 +</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. 
 +
 +Die 1×1 Platine kann als Grundlage für weitere Projekte dienen. Dazu ist sie mit verschiedenen Schnittstellen ausgestattet, die im Folgenden beschrieben werden.
 +
 +
 +~~PAGEBREAK~~ ~~CLEARFIX~~ 
 ===== Human-Machine-Interface ===== ===== Human-Machine-Interface =====
  
-Zur Eingabe sind 2 Taster verbaut. Diese ermöglichen das Auslösen eines Reset und das Schalten zu Masse. Letzteres bietet bei aktivierten, internen Pull-up Widerstand eine digitale Eingabe+<WRAP right> 
 +<imgcaption pic02|Human-Machine-Interface der MMC 1x1 328PB Platine> 
 +{{mexle2020:mexle_328pb_hmi_01.jpg?800|mexle_328pb_hmi_01.jpg}} 
 +</imgcaption> 
 +</WRAP>
  
-Weiterhin ist eine LED auf der Platine vorhanden. Diese lässt sich über den Pin 24 aktivieren.+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.
  
-{{:mexle:mexle_328pb_hmi_01.jpg?800|mexle_328pb_hmi_01.jpg}}+Weiterhin ist eine LED auf der Platine vorhandenDiese lässt sich über den Pin 24 aktivieren.
  
 +~~PAGEBREAK~~ ~~CLEARFIX~~ 
 ===== Inter-Platinen Interfaces ===== ===== Inter-Platinen Interfaces =====
  
-Für die Verknüpfung zwischen mehreren Platinen gibt es verschiedene Schnittstellen. 
  
-Mit der Micromatch-Schnittstelle (obenlässt sich das Progi verknüpfen. Dieses 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 pic03>).\\
  
-Die Pinheader an den Ecken sind bei diesem Board aktuell nicht elektrisch genutzt. Bei anderen Boards sind diese mit PGND (Power GroundMasse für Leistungskomponentenund PVCC (Power Voltage, Spannung für Leistungskomponenten) belegt+<WRAP group> 
 +<WRAP column right 50%> 
 +Mit der **Micromatch-Schnittstelle (X1oben)** lässt sich das Progi verknüpfen.\\ Dieses kann über [[https://de.wikipedia.org/wiki/In-System-Programmierung|ISP]] per SPI den Chip programmieren. 
 +</WRAP> 
 +</WRAP>
  
-Die Buchsen links (K1) und rechts (K2) ermöglichen einen Zugriff auf (fast) alle Pins des Controllers. Bis auf die Pins 7 (XTAL1), 8 (XTAL2), 9 (OC0B T1) sind alle Pins verfügbar+<WRAP right> 
 +<imgcaption pic03|Board-Board-Interface der MMC 1x1 328PB Platine></imgcaption> 
 +{{drawio>mexle_328pb_interfaces_03.svg}} 
 +</WRAP>
  
-{{:mexle:mexle_328pb_interfaces_03.jpg?800|mexle_328pb_interfaces_03.jpg}}+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) am Microcontroller sind alle Pins über K1 und K2 verfügbar. Die im Bild dargestellten Pin-Nummern entsprechen denen des Microcontrollers [[http://ww1.microchip.com/downloads/en/DeviceDoc/40001906A.pdf|Atmega328PB]]. 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. 
 + 
 +<WRAP group> 
 +<WRAP column right 50%> 
 +Die **Stecker unten (JP1)** verknüpfen die Platine mit dem Modulträger. Damit ist die Spannungsversorgung über den Modulträger möglich. Die Pins V+ und GND dieses Steckers wird für die Versorgung des Controllers genuntzt. Die Spannung V- wird auf dem Board nicht direkt genutzt, aber an Hook-ups (über Buchse K2) weitergeleitet. Über diesen Stecker ist auch eine I2C-Verbindung zwischen verschiedene Platinen über den Modulträger möglich. Weiterhin gibt es einen Reset-Pin, welcher einen zentralen Reset aller Platinen auf dem Modulträger erlaubt. 
 +</WRAP> 
 +</WRAP>
  
 <WRAP group> <WRAP half column> <WRAP group> <WRAP half column>
Zeile 40: Zeile 69:
 |PTC X0 Y8, <font inherit/inherit;;#999999;;inherit>OC3A, RXD0</font>|Pin30|31|PTC X1 Y9, OC4A, TXD0| |PTC X0 Y8, <font inherit/inherit;;#999999;;inherit>OC3A, RXD0</font>|Pin30|31|PTC X1 Y9, OC4A, TXD0|
 |PTC X2 Y10, INT0, OC3B / OC4B|Pin32|1|PTC X2 Y11, INT1, OC2B| |PTC X2 Y10, INT0, OC3B / OC4B|Pin32|1|PTC X2 Y11, INT1, OC2B|
-|PTC X4 Y12, T0, XCK0|Pin2|3|PTC X5 Y13, OC0B,T1|+|PTC X4 Y12, T0, XCK0|Pin2|9|PTC X5 Y13, OC0B,T1|
 |PTC X6 Y14, <font inherit/inherit;;#2980b9;;inherit>AIN0</font>, OC0A|Pin10|11|PTC X7 Y15, <font inherit/inherit;;#2980b9;;inherit>AIN1</font>| |PTC X6 Y14, <font inherit/inherit;;#2980b9;;inherit>AIN0</font>, OC0A|Pin10|11|PTC X7 Y15, <font inherit/inherit;;#2980b9;;inherit>AIN1</font>|
 |PTC X10 Y18, CLKO, ICP1|Pin12|13|PTC X11 Y19, OC1A| |PTC X10 Y18, CLKO, ICP1|Pin12|13|PTC X11 Y19, OC1A|
 |PTC X12 Y20, OC1B, <font inherit/inherit;;#27ae60;;inherit>SS0</font>|Pin14|15|PTC X13 Y21, OC2A, TXD1, <font inherit/inherit;;#27ae60;;inherit>MOSI0</font>| |PTC X12 Y20, OC1B, <font inherit/inherit;;#27ae60;;inherit>SS0</font>|Pin14|15|PTC X13 Y21, OC2A, TXD1, <font inherit/inherit;;#27ae60;;inherit>MOSI0</font>|
 |PTC X14 Y22, RXD1, <font inherit/inherit;;#27ae60;;inherit>MISO0</font>|Pin16|17|PTC X15 Y23, XCK1, <font inherit/inherit;;#27ae60;;inherit>SCK0</font>| |PTC X14 Y22, RXD1, <font inherit/inherit;;#27ae60;;inherit>MISO0</font>|Pin16|17|PTC X15 Y23, XCK1, <font inherit/inherit;;#27ae60;;inherit>SCK0</font>|
-|PTC X8 Y16, ACO, ICP4, <font inherit/inherit;;#c0392b;;inherit>SDA1</font>|optional \\ Pin3|optional \\ Pin6|PTC X9 Y17, TC4, <font inherit/inherit;;#c0392b;;inherit>SCL1</font>|+|PTC X8 Y16, ACO, ICP4, <font inherit/inherit;;#c0392b;;inherit>SDA1</font>|optional \\ 
 +   Pin3|optional \\ 
 +   Pin6|PTC X9 Y17, TC4, <font inherit/inherit;;#c0392b;;inherit>SCL1</font>|
  
 </WRAP> <WRAP half column> </WRAP> <WRAP half column>
Zeile 60: Zeile 91:
 |PTC Y1, <font inherit/inherit;;#2980b9;;inherit>ADC1</font>, <font inherit/inherit;;#27ae60;;inherit>SCK1</font>|Pin24|23|PTC Y0, <font inherit/inherit;;#2980b9;;inherit>ADC0</font>, <font inherit/inherit;;#27ae60;;inherit>MISO1</font>| |PTC Y1, <font inherit/inherit;;#2980b9;;inherit>ADC1</font>, <font inherit/inherit;;#27ae60;;inherit>SCK1</font>|Pin24|23|PTC Y0, <font inherit/inherit;;#2980b9;;inherit>ADC0</font>, <font inherit/inherit;;#27ae60;;inherit>MISO1</font>|
 |PTC Y7, T3, <font inherit/inherit;;#27ae60;;inherit>MOSI1</font>|Pin22|19|PTC Y6, <font inherit/inherit;;#2980b9;;inherit>ADC6</font>, ICP3, <font inherit/inherit;;#27ae60;;inherit>SS1</font>| |PTC Y7, T3, <font inherit/inherit;;#27ae60;;inherit>MOSI1</font>|Pin22|19|PTC Y6, <font inherit/inherit;;#2980b9;;inherit>ADC6</font>, ICP3, <font inherit/inherit;;#27ae60;;inherit>SS1</font>|
 +
 </WRAP> </WRAP> </WRAP> </WRAP>
  
 ===== Eagle-Dateien ===== ===== Eagle-Dateien =====
  
-===== Softwareübersicht =====+Die aktuellen Eagledateien und Vorversionen sind [[https://redmine.hs-heilbronn.de/projects/microcontroller-grundplatinen/repository/2145/show/030.%20MEXLE%20microController%20PCBs/MmC1x1%20328PB_1.x%20ATmega328PB|hier in Redmine]] zu finden. 
 + 
 +Als Ausgangspunkt können folgende Dateien genutzt werden: 
 +  * {{mexle2020:mexle328pb_1.2.brd}} 
 +  * {{mexle2020:mexle328pb_1.2.sch}} 
 + 
 +====== Softwareübersicht =====
 + 
 +Die Software ist abhängig von dem gewünschten Projekt zu verwenden. 
 + 
 +====== Projektübersicht ====== 
 + 
 +===== Aufgabenstellung/Problemstellung ===== 
 + 
 +Die Aufgabenstellung war eine kompakte Controllerplatine zu erstellen, welche als Basis für unterschiedlichste Projekte genutzt werden kann. Dabei sollte Wert auf Kompatibilität und größtmögliche Ausnutzung des verwendeten Microcontrollers werden. 
 + 
 +===== Lösungsansatz ===== 
 + 
 + 
 +===== Erstellung der Hardware ===== 
 + 
 +  - Schaltplan 
 +  - Board 
 +  - auf was wurde Wert gelegt? \\ 
 +    Welche Hürden wurden genommen?
  
 +===== Überprüfung/Test =====
  
-==== Belegung Buchse xxx ====+  - [[:mexle:inbetriebnahme-dokumentation|Inbetriebnahme-Dokumentation]] 
 +  - [[:mexle:inbetriebnahme-dokumentation|Aufbau vom Board]] 
 +    
 + 
  
-==== Belegung Buchse yyy ====+===== Resumee =====
  
 +  - Fazit
 +  - Verbesserungsvorschläge (Ausblick)
  
 +\\