Das Hauptmodul des HomeLab ist eine Controller-Entwicklungsplatine ausgestattet mit dem AVR ATmega 128 Mikrocontroller. Zusätzlich zum Mikrocontroller verfügt das Board über verschiedenen Peripherieschnittstellen, Spannungsregler, Anschlüsse etc. Die Platine hat die folgenden Spezifikationen:
Das Modul ist mit einem Wechselstrom (AC) / Gleichstrom (DC) Spannungsreglerkreis sowie einem LDO Spannungsregler (low dropout, geringer Spannungsabfall) – eine externe Stromzuleitung mit Spannungsregler ist nicht notwendig.
Das Modul kann mit einem Abspannungstransformator mit einer Ausgangsspannung von mehr als 6 und weniger als 15 Volt betrieben werden. Es verfügt über einen Schutzschaltkreis für falsche Polarisation (Gleichrichter). Die Power-LED zeigt an, dass das Gerät an die Stromzufuhr angeschlossen ist (Beschriftung „POWER“ auf der Platine).
Der Schaltkreis kann mit einem externen Stromschalter durch Anschluss an den S2 2-Pin an / aus Schalter bestückt werden. Wird kein externer Stromschalter benötigt, muss der S2 2-Pin an / aus Schalter kurzgeschlossen werden.
Sämtliche ATmega128 Signale sind an drei Anschlüssen am Rand der Platine verfügbar. Die Anschluss-Pin Verteilung wird im folgenden Abschnitt dieser Anleitung beschrieben. Der Abschnitt enthält eine vollständige Beschreibung der Pins des ATmega128 sowie deren alternativer Funktionen. Das Modul ist mit einem Mikropozessor-Resetschaltkreis ausgestattet (wenn es an die Stromzufuhr angeschlossen ist) sowie einem Resetschalter für den Neustart des Mikroprozessors. Der Mikroprozessor kann mit ISP oder JTAG programmiert werden.
Am siebten Pin von Port B (PB7) ist eine Status-LED (mit PB7 auf der Platine gekennzeichnet) angeschlossen. Diese LED kann als Statusindikator für Software genutzt werden. Eine niedrige Spannung an PB7 sorgt dafür, dass die LED leuchtet.
Das Modul bietet zwei serielle Anschlüsse die auf der Platine mit UART1 und UART2 gekennzeichnet sind. UART1 ist ein weiblicher 9-Pin Anschluss (kompatibel zum seriellen DB-9 PC Anschluss) UART2 ein 3-Pin Anschluss. Der MAX232 Stromkreislauf ermöglicht die Signalkonvertierung zum seriellen Standard.
Der Multiplexer 74HC4053 ermöglicht die vollständige Nutzung der Anschlüsse einschließlich derer, die für das Programmieren des Mikroprozessors genutzt werden. Im Reset-Status (also während des Programmierens) schaltet der Multiplexor die Signale PE0, PE1 und PB1 Signale zu den ISP und JTAG Anschlüssen. Zur Laufzeit werden diese Signale dann wieder zu den Anschlüssen am Rand der Platine zurückgeschaltet.
Das Modul ist mit einem externen Speicher ausgestattet (Atmel AT45DB041B). Sein 4 Mbit serieller Flash-Datenspeicher ist an die serielle Master / Slave SPI Schnittstelle des Mikroprozessors angeschlossen. Der interne Echtzeitgeber ist mit dem externen 32.768 kHz Schwingquarz verbunden und als X2 auf der Platine gekennzeichnet.
Nr | Pin | Alternative Funktion / Beschreibung | |
---|---|---|---|
1 | PD7 | T2 | Timer/Counter2 Clock Input |
2 | PD6 | T1 | Timer/Counter1 Clock Input |
3 | PD5 | XCK1 | USART1 External Clock Input/Output |
4 | PD4 | IC1 | Timer/Counter1 Input Capture Trigger |
5 | PD3 | INT3/TXD1 | External Interrupt3 Input or UART1 Transmit Pin |
6 | PD2 | INT2/RXD1 | External Interrupt2 Input or UART1 Receive Pin |
7 | PD1 | INT1/SDA | External Interrupt1 Input or TWI Serial Data |
8 | PD0 | INT0/SCL | External Interrupt0 Input or TWI Serial Clock |
9 | VCC | - | +5V |
10 | GND | - | GND |
11 | PB7 | OC2/OC1C | Output Compare and PWM Output for Timer/Counter2 or Output Compare and PWM Output C for Timer/Counter1 |
12 | PB6 | OC1B | Output Compare and PWM Output B for Timer/Counter1 |
13 | PB5 | OC1A | Output Compare and PWM Output A for Timer/Counter1 |
14 | PB4 | OC0 | Output Compare and PWM Output for Timer/Counter0 |
15 | PB3 | MISO | SPI Bus Master Input/Slave Output |
16 | PB2 | MOSI | SPI Bus Master Output/Slave Input |
17 | PB1 | SCK | SPI Bus Serial Clock |
18 | PB0 | SS | SPI Slave Select Input |
19 | PE7 | INT7/IC3 | External Interrupt 7 Input or Timer/Counter3 Input Capture Trigger |
20 | PE6 | INT6/ T3 | External Interrupt 6 Input or Timer/Counter3 Clock Input |
21 | PE5 | INT5/OC3C | External Interrupt 5 Input or Output Compare and PWM Output C for Timer/Counter3 |
22 | PE4 | INT4/OC3B | External Interrupt4 Input or Output Compare and PWM Output B for Timer/Counter3 |
23 | PE3 | AIN1/OC3A | Analog Comparator Negative Input or Output Compare and PWM Output A for Timer/Counter3 |
24 | PE2 | AIN0/XCK0 | Analog Comparator Positive Input or USART0 external clock input/output |
25 | PE1 | PDO/TXD0 | Programming Data Output or UART0 Transmit Pin |
26 | PE0 | PDI/RXD0 | Programming Data Input or UART0 Receive Pin |
Nr | Pin | Alternative Funktion / Beschreibung | |
---|---|---|---|
1 | GND | - | GND |
2 | VCC | - | +5V |
3 | PA0 | AD0 | External memory interface address and data bit 0 |
4 | PA1 | AD1 | External memory interface address and data bit 1 |
5 | PA2 | AD2 | External memory interface address and data bit 2 |
6 | PA3 | AD3 | External memory interface address and data bit 3 |
7 | PA4 | AD4 | External memory interface address and data bit 4 |
8 | PA5 | AD5 | External memory interface address and data bit 5 |
9 | PA6 | AD6 | External memory interface address and data bit 6 |
10 | PA7 | AD7 | External memory interface address and data bit 7 |
11 | - | NC | Not connected |
12 | - | NC | Not connected |
13 | PG2 | ALE | Address Latch Enable to external memory |
14 | - | NC | Not connected |
15 | PC6 | A14 | External memory interface address and data bit 14 |
16 | PC7 | A15 | External memory interface address and data bit 15 |
17 | PC4 | A12 | External memory interface address and data bit 12 |
18 | PC5 | A13 | External memory interface address and data bit 13 |
19 | PC2 | A10 | External memory interface address and data bit 10 |
20 | PC3 | A11 | External memory interface address and data bit 11 |
21 | PC0 | A8 | External memory interface address and data bit 8 |
22 | PC1 | A9 | External memory interface address and data bit 9 |
23 | PG0 | WR | Write strobe to external memory |
24 | PG1 | RD | Read strobe to external memory |
25 | - | NC | Not connected |
26 | - | NC | Not connected |
Nr | Pin | Alternative function / Description | |
---|---|---|---|
1 | VCC | - | +5V |
2 | GND | - | GND |
3 | REF | AREF | Analog reference voltage for ADC |
4 | GND | - | GND |
5 | PF0 | ADC0 | ADC input channel 0 |
6 | GND | - | GND |
7 | PF1 | ADC1 | External memory interface address and data bit 4 |
8 | GND | - | GND |
9 | PF2 | ADC2 | External memory interface address and data bit 6 |
10 | GND | - | GND |
11 | PF3 | ADC3 | Not connected |
12 | GND | - | GND |
13 | PF4 | ADC4/TCK | ADC input channel 4 or JTAG Test ClocK |
14 | GND | - | GND |
15 | PF5 | ADC5/TMS | ADC input channel 5 or JTAG Test Mode Select |
16 | GND | - | GND |
17 | PF6 | ADC6/TDO | ADC input channel 6 or JTAG Test Data Output |
18 | GND | - | GND |
19 | PF7 | ADC7/TDI | ADC input channel 7 or JTAG Test Data Input |
20 | GND | - | GND |
Bei Anschluss des Controllermoduls an andere Peripheriemodule und Geräte sollte die Stromzufuhr immer ganz zum Schluss angeschlossen werden. Wenn der Strom an ist, ist es gefährlich externe Geräte an- und auszustecken. Die Module müssen miteinander verbunden werden, wobei darauf geachtet werden muss, dass nicht zu viel Kraft eingesetzt wird, ansonsten können die Anschlüsse verbiegen. Der JTAG-ICE Programmierer muss an den korrekten Port angeschlossen werden und das Flachbandkabel muss von der Platine weg zeigen (der rote Streifen ist auf der Seite des Anschlusses für die Stromversorgung).