====== Модуль контроллера ATMega128 ====== Основным модулем Домашней Лаборатории является модуль контроллера, на макетную плату которого установлен микроконтроллер ATmega128. Помимо микроконтроллера на плате расположены различные периферийные устройства, стабилизатор напряжения и соединительные разъёмы. Плата модуля контроллера содержит в себе следующие компоненты: * Микроконтроллер ATmega128-16AU * 8-канальный аналогово-цифровой преобразователь (ADC) * 128 kB flash-памяти (программная память) * Программируемый широтно-импульсный генератор с 6 каналами * 4 kB EEPROM память (память данных) * Стандартный интерфейс программирования ISP (на английском языке in-system programming interface) с 6 выводами * 14,7456 MHz тактовый генератор * Часы реального времени RTC (на английском real time clock) * LED текущего состояния (PB7) и LED индикатор напряжения * Разъем стандартного последовательного интерфейса RS-232 * Объединенные вывод AVR (1: порты D, B, E; 2: порты G, C, A; 3: порт F) * Кнопка сброса (на английском языке reset) * Интерфейс программирования JTAG с 10 выводами * 2,1 мм разъем питания * Стабилизатор напряжения и защита от обратной полярности [{{ :kit:cpu_module.jpg?580 |Макетная плата микроконтроллера – Плата контроллера}}] Плата модуля контроллера снабжена выпрямителем и стабилизатором напряжения. Входное напряжение платы 6-15 V. Рекомендуемое напряжение 6-9 V. При подключение источника питания на плате должен загореться соответствующие LED. Микроконтроллер можно программировать как через ISP, так и через JTAG интерфейс. Находящийся в комплекте программатор JTAG-ICE позволяет легко загружать программу, а так же оптимизировать программный код. JTAG-ICE программатор можно использовать в ISP режиме. Выводы программирования соединены через мультиплексор, который позволяет во время работы контроллера, использовать соответствующие выводы для других функций. Плата модуля контроллера снабжена LED-ом состояния, который соединен с выводом микроконтроллера PB7. LED загорается, если вывод настроить низким (логически 0) и его можно использовать в качестве обычного индикатора. Микроконтроллер ATmega128 оснащен двумя последовательными интерфейсами, сигналы которых преобразованы на уровень RS-232 преобразователем MAX232. Для одного последовательного интерфейса (UART1) имеется стандартный RS-232 DB-9 штекер, для второго контактный разъём. На плату установлена дополнительная память - 4 Mb Atmel AT45DB041B Flash-память. Память соединена с микроконтроллером через SPI интерфейс и её можно использовать для сохранения данных, в случае если они должны сохраняться после отключения питания от микроконтроллера. [{{:kit:atmega_plaat.png?580|Компоненты платы контроллера}}] ===== Выводы соединительных разъемов и их функции ===== ADC – АЦП (Аналого-цифровой преобразователь) {{:kit:pf.png?450 |}} ~~CL~~ ^Nr^Вывод^Альтернативная функция / Описание^^ |1|VCC|- |+5 V | |2|GND|- |Земля | |3|REF|AREF|Вход опорного напряжения ADC| |4|GND|- |Земля | |5|PF0|ADC0|Входной канал 0 ADC| |6|GND|-|Земля | |7|PF1|ADC1|Входной канал 1 ADC| |8|GND|-|Земля | |9|PF2|ADC2|Входной канал 2 ADC| |10|GND|-|Земля | |11|PF3|ADC3|Входной канал 3 ADC| |12|GND|-|Земля | |13|PF4|ADC4/TCK|Входной канал 4 ADC или тактовый сигнал JTAG| |14|GND|-|Земля | |15|PF5|ADC5/TMS|Входной канал 5 ADC или выбор режима JTAG| |16|GND|-|Земля | |17|PF6|ADC6/TDO|Входной канал 6 ADC или выход данных JTAG| |18|GND|-|Земля | |19|PF7|ADC7/TDI|Входной канал 4 ADC или вход данных JTAG| |20|GND|-|Земля | {{:kit:pe-pb-pd.png?450 |}} ~~CL~~ ^Nr^Вывод^Альтернативная функция / Описание^^ |1 |PD7|T2 |Таймер/Счетчик2 вход тактового сигнала| |2 |PD6|T1 |Таймер/Счетчик1 вход тактового сигнала| |3 |PD5|XCK1 |Вход/выход тактового сигнала USART1| |4 |PD4|IC1 |Вход фиксации события Таймер/Счетчик1| |5 |PD3|INT3/TXD1|Внешнее прерывание 3 или выход данных UART1| |6 |PD2|INT2/RXD1|Внешнее прерывание 2 или вход данных UART1| |7 |PD1|INT1/SDA |Внешнее прерывание 1 или сигнал данных TWI| |8 |PD0|INT0/SCL |Внешнее прерывание 0 или тактовый сигнал TWI| |9 |VCC|- |+5 V| |10|GND|- |Земля| |11|PB7|OC2/OC1C |Единица вывода (С) результата сравнения Таймер/Счетчик1 или Таймер/Счетчик2| |12|PB6|OC1B |Единица вывода B результата сравнения Таймер/Счетчик1| |13|PB5|OC1A |Единица вывода А результата сравнения Таймер/Счетчик1| |14|PB4|OC0 |Единица вывода результата сравнения Таймер/Счетчик0| |15|PB3|MISO |Вход данных SPI master / выход SPI slave| |16|PB2|MOSI |Выход данных SPI master / вход SPI slave| |17|PB1|SCK |Тактовый сигнал SPI| |18|PB0|SS |SPI //slave// valik| |19|PE7|INT7/IC3 |Внешнее прерывание 7 или Таймер/Счетчик3| |20|PE6|INT6/T3 |Внешнее прерывание 6 или вход тактового сигнала Таймер/Счетчик3| |21|PE5|INT5/OC3C|Внешнее прерывание 5 или единица вывода С результата сравнения Таймер/Счетчик3| |22|PE4|INT4/OC3B|Внешнее прерывание 4 или единица вывода В результата сравнения Таймер/Счетчик3| |23|PE3|AIN1/OC3A|Отрицательный вход компаратора или единица вывода А результата сравнения Таймер/Счетчик3| |24|PE2|AIN0/XCK0|Положительный вход компаратора или вход/выход тактового сигнала USART0| |25|PE1|PDO/TXD0 |Выход интерфейса программирования ISP или выход данных UART0| |26|PE0|PDI/RXD0 |Вход интерфейса программирования ISP или вход данных UART0| {{:kit:pa-pc.png?450 |}} ~~CL~~ ^Nr^Вывод^Альтернативная функция / Описание^^ |1 |GND|- |Земля | |2 |VCC|- |+5 V | |3 |PA0|AD0|Бит адреса и бит данных 0 интерфейса внешней памяти | |4 |PA1|AD1|Бит адреса и бит данных 1 интерфейса внешней памяти | |5 |PA2|AD2|Бит адреса и бит данных 2 интерфейса внешней памяти | |6 |PA3|AD3|Бит адреса и бит данных 3 интерфейса внешней памяти | |7 |PA4|AD4|Бит адреса и бит данных 4 интерфейса внешней памяти | |8 |PA5|AD5|Бит адреса и бит данных 5 интерфейса внешней памяти | |9 |PA6|AD6|Бит адреса и бит данных 6 интерфейса внешней памяти | |10|PA7|AD7|Бит адреса и бит данных 7 интерфейса внешней памяти | |11|- |- |Не подключен | |12|- |- |Не подключен | |13|PG2|ALE|Сигнал защелкивания адреса интерфейса внешней памяти | |14|- |- |Не подключен | |15|PC6|A14|Бит адреса и бит данных 14 интерфейса внешней памяти| |16|PC7|A15|Бит адреса и бит данных 15 интерфейса внешней памяти| |17|PC4|A12|Бит адреса и бит данных 12 интерфейса внешней памяти| |18|PC5|A13|Бит адреса и бит данных 13 интерфейса внешней памяти| |19|PC2|A10|Бит адреса и бит данных 10 интерфейса внешней памяти| |20|PC3|A11|Бит адреса и бит данных 11 интерфейса внешней памяти| |21|PC0|A8 |Бит адреса и бит данных 8 интерфейса внешней памяти | |22|PC1|A9 |Бит адреса и бит данных 9 интерфейса внешней памяти | |23|PG0|WR |Сигнал записи внешней памяти | |24|PG1|RD |Сигнал считывания внешней памяти | |25|- |- |Не подключен | |26|- |- |Не подключен | ===== Настройки по умолчанию контроллера ===== Настройки по умолчанию контроллера: {{:images:hardware:atmega128:default_fusebits.jpg|}} ===== Соединение ===== Первое и последнее действие при соединении модуля контроллера с другими модулями и устройствами – это включение и отключение питания. Во время того как плата находится под напряжением опасно подключать устройства. Необходимо осторожно подключать между собой модули и устройства без применения излишней силы, т.к. можно повредить контакты разъемов и соединительных шин. При подключении программатора убедитесь, чтобы кабель был вставлен правильно. В случае программатора JTAG-ICE кабель должен быть направлен в сторону от платы (красной полоской к гнезду питания). [{{:kit:kit_test.jpg?580|Соединение платы контроллера с питанием и программатором}}]