Kodulabori keskseks mooduliks (kontrollermooduliks) on arendusplaadile paigaldatud mikrokontroller ATmega128. Lisaks mikrokontrollerile on plaadil veel mitmesuguseid perifeeriaseadmeid, pingealaldi ja ühenduspistikud. Kontrollermooduli plaat sisaldab endas järgmisi komponente:
Kontrollermooduli plaat on varustatud alaldiga ja pingestabilisaatoriga. Sisendpingeks sobib plaadile 6-15 V. Voolukadude minimeerimiseks on soovitatav kasutada 6-9 V pingeallikat. Toite ühendamisel peab plaadil toite LED põlema hakkama. Kui see ei sütti, võib põhjus olla puudulikus toites, ühendamata jäänud toitesillas (toitepesa kõrval) või hoopis lühises Kontrollermooduli plaadil või temaga ühendatud seadmes. Mikrokontrollerit saab programmeerida nii ISP kui JTAG liidese kaudu. Kodulabori komplektiga kaasasolev JTAG-ICE programmaator toetab lisaks lihtsale programmi pealelaadimisele ka programmikoodi silumist. JTAG-ICE programmaatorit võib kasutada ka ISP režiimis. Programmeerimise viigud on ühendatud läbi multiplekseri, mis võimaldab kontrolleril töö ajal vastavaid viike kasutada ka teiste funktsioonide jaoks.
Kontrollermooduli plaat on varustatud oleku-LED-iga, mis on ühendatud mikrokontrolleri viiguga PB7. LED süttib, kui viik seada madalasse olekusse (loogiline 0). Seda on hea kasutada lihtsa indikaatorina. ATmega128 mikrokontroller on varustatud kahe jadaliidesega, mille signaalid on MAX232 muunduriga teisendatud RS-232 nivoole. Ühe jadaliidese (UART1) jaoks on standardne RS-232 DB-9 pistik, teise jaoks piikriba.
Plaadile on paigaldatud lisamälu - 4 Mb Atmel AT45DB041B välkmälu. Mälu on ühendatud SPI liidese kaudu mikrokontrolleriga ja seda võib kasutada andmete salvestamiseks, juhul kui need peavad säilima ka pärast toite eemaldamist mikrokontrollerilt.
Nr | Viik | Alternatiivfunktsioon / kirjeldus | |
---|---|---|---|
1 | VCC | - | +5 V |
2 | GND | - | Maa |
3 | REF | AREF | ADC võrdluspinge sisend |
4 | GND | - | Maa |
5 | PF0 | ADC0 | ADC sisendkanal 0 |
6 | GND | - | Maa |
7 | PF1 | ADC1 | ADC sisendkanal 1 |
8 | GND | - | Maa |
9 | PF2 | ADC2 | ADC sisendkanal 2 |
10 | GND | - | Maa |
11 | PF3 | ADC3 | ADC sisendkanal 3 |
12 | GND | - | Maa |
13 | PF4 | ADC4/TCK | ADC sisendkanal 4 või JTAG taktsignaal |
14 | GND | - | Maa |
15 | PF5 | ADC5/TMS | ADC sisendkanal 5 või JTAG režiimivalik |
16 | GND | - | Maa |
17 | PF6 | ADC6/TDO | ADC sisendkanal 6 või JTAG andmete väljund |
18 | GND | - | Maa |
19 | PF7 | ADC7/TDI | ADC sisendkanal 7 või JTAG andmete sisend |
20 | GND | - | Maa |
Nr | Viik | Alternatiivfunktsioon / kirjeldus | |
---|---|---|---|
1 | PD7 | T2 | Taimer/Loendur2 taktsignaali sisend |
2 | PD6 | T1 | Taimer/Loendur1 taktsignaali sisend |
3 | PD5 | XCK1 | USART1 taktsignaali sisend/väljund |
4 | PD4 | IC1 | Taimer/Loendur1 sündmuste püüdja sisend |
5 | PD3 | INT3/TXD1 | Väline katkestus 3 või UART1 andmete väljund |
6 | PD2 | INT2/RXD1 | Väline katkestus 2 või UART1 andmete sisend |
7 | PD1 | INT1/SDA | Väline katkestus 1 või TWI andmesignaal |
8 | PD0 | INT0/SCL | Väline katkestus 0 või TWI taktsignaal |
9 | VCC | - | +5 V |
10 | GND | - | Maa |
11 | PB7 | OC2/OC1C | Taimer/Loendur2 või Taimer/Loendur1 võrdlustulemuse väljastusüksus (C) |
12 | PB6 | OC1B | Taimer/Loendur1 võrdlustulemuse väljastusüksus B |
13 | PB5 | OC1A | Taimer/Loendur1 võrdlustulemuse väljastusüksus A |
14 | PB4 | OC0 | Taimer/Loendur0 võrdlustulemuse väljastusüksus |
15 | PB3 | MISO | SPI master andmete sisend / SPI slave väljund |
16 | PB2 | MOSI | SPI master andmete väljund / SPI slave sisend |
17 | PB1 | SCK | SPI taktsignaal |
18 | PB0 | SS | SPI slave valik |
19 | PE7 | INT7/IC3 | Väline katkestus 7 või Taimer/Loendur3 sündmuste püüdja sisend |
20 | PE6 | INT6/T3 | Väline katkestus 6 või Taimer/Loendur3 taktsignaali sisend |
21 | PE5 | INT5/OC3C | Väline katkestus 5 või Taimer/Loendur3 võrdlustulemuse väljastusüksus C |
22 | PE4 | INT4/OC3B | Väline katkestus 4 või Taimer/Loendur3 võrdlustulemuse väljastusüksus B |
23 | PE3 | AIN1/OC3A | Komparaatori negatiivne sisend või Taimer/Loendur3 võrdlustulemuse väljastusüksus A |
24 | PE2 | AIN0/XCK0 | Komparaatori positiivne sisend või USART0 taktsignaali sisend/väljund |
25 | PE1 | PDO/TXD0 | ISP Programmeerimisliidese väljund või UART0 andmete väljund |
26 | PE0 | PDI/RXD0 | ISP Programmeerimisliidese sisend või UART0 andmete sisend |
Nr | Viik | Alternatiivfunktsioon / kirjeldus | |
---|---|---|---|
1 | GND | - | Maa |
2 | VCC | - | +5 V |
3 | PA0 | AD0 | Välismälu-liidese aadressi- ja andmebitt 0 |
4 | PA1 | AD1 | Välismälu-liidese aadressi- ja andmebitt 1 |
5 | PA2 | AD2 | Välismälu-liidese aadressi- ja andmebitt 2 |
6 | PA3 | AD3 | Välismälu-liidese aadressi- ja andmebitt 3 |
7 | PA4 | AD4 | Välismälu-liidese aadressi- ja andmebitt 4 |
8 | PA5 | AD5 | Välismälu-liidese aadressi- ja andmebitt 5 |
9 | PA6 | AD6 | Välismälu-liidese aadressi- ja andmebitt 6 |
10 | PA7 | AD7 | Välismälu-liidese aadressi- ja andmebitt 7 |
11 | - | - | Pole ühendatud |
12 | - | - | Pole ühendatud |
13 | PG2 | ALE | Välismälu-liidese aadressi lukustussignaal |
14 | - | - | Pole ühendatud |
15 | PC6 | A14 | Välismälu-liidese aadressi- ja andmebitt 14 |
16 | PC7 | A15 | Välismälu-liidese aadressi- ja andmebitt 15 |
17 | PC4 | A12 | Välismälu-liidese aadressi- ja andmebitt 12 |
18 | PC5 | A13 | Välismälu-liidese aadressi- ja andmebitt 13 |
19 | PC2 | A10 | Välismälu-liidese aadressi- ja andmebitt 10 |
20 | PC3 | A11 | Välismälu-liidese aadressi- ja andmebitt 11 |
21 | PC0 | A8 | Välismälu-liidese aadressi- ja andmebitt 8 |
22 | PC1 | A9 | Välismälu-liidese aadressi- ja andmebitt 9 |
23 | PG0 | WR | Välismälu kirjutussignaal |
24 | PG1 | RD | Välismälu lugemissignaal |
25 | - | - | Pole ühendatud |
26 | - | - | Pole ühendatud |
Kontrollermooduli ühendamisel teiste moodulite ning seadmetega on esimeseks ja viimaseks tegevuseks toite eemaldamine ja ühendamine. Ajal kui plaat on pingestatud, on ohtlik seadmeid ühendada. Mooduleid ja seadmeid tuleb omavahel ühendada ettevaatlikult ja liigset jõudu kasutamata, kuna ribakaabliga võib vale käsitlemise tulemusena kontaktid kergesti kõveraks painutada. Programmaatori ühendamisel veenduge, et kaabel saaks õiget pidi. JTAG-ICE programmaatori puhul on ribakaabel suunatud plaadist eemale (punane triip toitepesa pool).