O módulo principal do HomeLab é uma placa controlo de desenvolvimento (placa controladora) equipada com o microcontrolador AVR ATmega128. Além do microcontrolador, a placa é composta por diversos periféricos, estabilizador de tensão, conectores, etc. O placa do controlador tem as seguintes características:
O módulo é equipado com circuito retificador AC / DC e estabilizador de tensão LDO (com baixo dropout) - alimentador externo com estabilização de tensão não é necessário.
O módulo pode ser alimentado apenas a partir do transformador com tensão de saída superior a 6 volts e inferior a 15 volts. O módulo tem um circuito de proteção contra polarização errada (ponte Greatz).
O circuito pode ser equipado com o interruptor de alimentação externa ligando-o ao conector S2 2-pin on / off. Se o interruptor de alimentação externa não é usado, o conector S2 2-pin on / off deve ser encurtado.
Todos os sinais ATMega128 estão disponíveis em três conectores na periferia da placa. A atribuição de pinos de ligação é descrita na próxima parte destas instruções. Estas incluiem descrições completas dos pinos ATMega128 e suas funções alternativas. O módulo é equipado com circuito de reset do microprocessador (quando ligado) e botão de reset para reiniciar o microprocessador. O microprocessador pode ser programado com um programador ISP ou JTAG.
Para o sétimo pino da porta B (nomeado como PB7) o LED de status (descrito como PB7 na placa) está conectado. Este LED pode ser usado como um indicador de estado de software de aplicação. O estado Low no pino PB7 faz com que o LED de status acenda.
O módulo fornece duas portas seriais descritas na placa como UART1 e UART2. A primeira delas é um conector fêmea de 9 pinos (DB-9 PC porta serial compatível) e a segunda é um conector de 3 pinos. O circuito MAX232 fornece a conversão do sinal para padrão de série.
O multiplexer 74HC4053 fornece plena utilização dos portos, incluindo aqueles usados para a programação do microprocessador, porque no estado de reset (quando programado) o multiplexer processador muda PE0, PE1 e sinais PB1 ao conector ISP e JTAG. Quando o processador está no estado de funcionamento, estes sinais são ligados aos conectores na periferia da placa.
O módulo é equipado com memória externa (Atmel AT45DB041B). Trata-se de memória de dados flash serial de 4Mbit ligado ao Master/ Slave SPI do interface serial do microprocessador. O tempo real do relógio interno está ligado ao ressonador externo de cristal de 32,768 kHz designado como X2 no tabuleiro.
| Nr | Pin | Alternative function / Description | |
|---|---|---|---|
| 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 function / Description | |
|---|---|---|---|
| 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 |
Ao ligar o módulo do controlador com outros módulos e dispositivos periféricos, deve-se conectar a fonte de alimentação no fim do processo. Se estiver ligada, é perigoso ligar e desligar os dispositivos externos. Os módulos têm de ser ligados uns aos outros com grande cuidado, sem a aplicação de força forte pois esta pode dobrar os conectores. O programador JTAG-ICE tem que ser ligado à porta correta e o cabo fita aponta para fora do bordo (faixa vermelha é do lado do conector da fonte de alimentação).