MEXLE2020 Modul : MMC_1x1_328PB

ModultypMMC - MEXLE Microcontroller CPU)
Versionierung1.0
ErstellerGerhard Gruhler / Tim Fischer
letzte Änderung2018-01-03
KurzbeschreibungMicrocontroller Platine mit ATmega328PB Chip, Quarz, LED und 2 Taster

Hardwareübersicht

Abb. 1: fertige MMC 1x1 328PB Platine

Die Microcontrollerplatine (Abbildung 1) nutzt den Chip 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.

mexle_328pb_hmi_01.jpg Abb. 2: Human-Machine-Interface der MMC 1x1 328PB Platine

Zur Eingabe sind 2 Taster verbaut (vgl. Abbildung 2). 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.

Für die Verknüpfung zwischen mehreren Platinen gibt es verschiedene Schnittstellen (siehe Abbildung 3).

Mit der Micromatch-Schnittstelle (X1, oben) lässt sich das Progi verknüpfen.
Dieses kann über ISP per SPI den Chip programmieren.

mexle_328pb_interfaces_03.jpg Abb. 3: Board-Board-Interface der MMC 1x1 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 im Bild dargestellten Pin-Nummern entsprechen denen des Microcontrollers 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.

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.

FunctionsPinPinFunctions
PTC X0 Y8, OC3A, RXD0Pin3031PTC X1 Y9, OC4A, TXD0
PTC X2 Y10, INT0, OC3B / OC4BPin321PTC X2 Y11, INT1, OC2B
PTC X4 Y12, T0, XCK0Pin29PTC X5 Y13, OC0B,T1
PTC X6 Y14, AIN0, OC0APin1011PTC X7 Y15, AIN1
PTC X10 Y18, CLKO, ICP1Pin1213PTC X11 Y19, OC1A
PTC X12 Y20, OC1B, SS0Pin1415PTC X13 Y21, OC2A, TXD1, MOSI0
PTC X14 Y22, RXD1, MISO0Pin1617PTC X15 Y23, XCK1, SCK0
PTC X8 Y16, ACO, ICP4, SDA1
FunctionsPinPinFunctions
VCCPin421AGND
GNDPin520AREF
-NC18AVCC
-NC29RESET
PTC Y5, ADC5, SCL0Pin2827PTC Y4, ADC4, SCL1
PTC Y3, ADC3Pin2625PTC Y2, ADC2
PTC Y1, ADC1, SCK1Pin2423PTC Y0, ADC0, MISO1
PTC Y7, T3, MOSI1Pin2219PTC Y6, ADC6, ICP3, SS1

Die aktuellen Eagledateien und Vorversionen sind hier in Redmine zu finden.

Als Ausgangspunkt können folgende Dateien genutzt werden:

Softwareübersicht

Die Software ist abhängig von dem gewünschten Projekt zu verwenden.

Projektübersicht

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.

  1. Schaltplan
  2. Board
  3. auf was wurde Wert gelegt?

Welche Hürden wurden genommen?

  1. Fazit
  2. Verbesserungsvorschläge (Ausblick)