ATmega128 kit

В своё время на Космодроме мною была куплена отладочная плата ATmega128kit. Она гармонично вписалась в мой микроконтроллерный конструктор в роли микроконтроллерного модуля да ещё и с некоторой периферией. Для описания данной платы я воспользуюсь оригинальным описанием, взятым там же, на Космодроме, но тщательно отредактированным и исправленным мною, т.к. оригинал содержит неточности и ошибки. Итак, описание:
MEGA128-KIT — отладочная плата, представляет собой микроконтроллер Atmega128 с соответствующей обвязкой, дополненный набором некоторых периферийных устройств. Плата предназначена для разработки (макетирования) проектов на базе AVR- микроконтроллеров, также может быть использована в качестве управляющего контроллера целевой системы.
На плате установлены:
— микроконтроллер Атmega 128;
— супервизор по питанию для сброса МК;
— кварц 14,7456 МГц для тактирования МК и «часовой» кварц 32,768 кГц для асинхронного таймера;
— внешнее ОЗУ данных 32 кБ — микросхема 62256 с необходимым регистром 74НС573;
— четыре пользовательские кнопки и кнопка «Reset»;
— два пользовательских светодиода и светодиод «Питание»;
— разъем IDC10 для ввода/вывода аналоговых сигналов;
— разъем программирования ISP;
— разъем IDC10 для подключения эмулятора JTAG;
— два разъема типа DRB-9FA (интерфейс RS232);
— разъемы IDC10  для подключения внешних сигналов к портам A,B, C,D,E и F микроконтроллера;
— 14-контактный однорядный разъем для подключения цифробуквенного ЖКИ HD44780.
— 20-контактный двухрядный разъем для подключения графического ЖКИ типа BC240128A.
Технические характеристики:
— Питание от источника 9…15 В;
— Напряжение питания микросхем +5 В;
— Потребляемый ток не более 20 мА.

На плату дополнительно могут быть установлены следующие компоненты:
— микросхема памяти серии DataFlash — AT45DB321D в корпусе TSOP;
— стабилизатор напряжения 3,3 В — микросхема LM1117DT3.3;
— двухканальный 8/10/12-разрядный ЦАП — микросхема AD5302/12/22.

Габаритные размеры платы  … 124 х 120 мм.
Для крепления платы в корпусе предусмотрены 4 отверстия диаметром 3 мм.
Установочные размеры по отверстиям … 115 х 111 мм.

Питание платы MEGA128-KIT может подаваться от любого, как стабилизированного, так и от нестабилизированного источника с выходным напряжением от 9 до 15 Вольт. Выходное стабилизированное напряжение +5 Вольт обеспечивается интегральным стабилизатором L7805. Подключение источника питания производится посредством стандартного разъема с коаксиальным расположением контактов, диаметр внутреннего контакта — 2,1 мм. Положительный выход источника питания должен быть подключен к внутреннему контакту разъема. В целях защиты от подключения источника питания с обратной полярностью, в схеме предусмотрен диод. Типовой потребляемый ток платы не превышает 20 мА. Если используется внешний ЖКИ с подсветкой, надо учитывать, что ток подсветки может составлять 100… 300 мА.

Описание разъемов платы MEGA128-KIT
— J1 — разъем питания
— X1 — разъем последовательного порта UART0
— X2 — разъем последовательного порта UART1
— X3 — разъем для подключения ISP программатора
— X4 — разъем для подключения внутрисхемного эмулятора JTAG
— X5 — разъем порта A
— X6 — разъем порта B
— X7 — разъем порта C
— X8 — разъем порта D
— X9 — разъем порта E
— X10 — разъем порта F
— X11 — разъем четырех младших входов АЦП ATmega128 и выходов ЦАП AD5302/12/22
— X12 — разъем для подключения дополнительных устройств (например, графического ЖКИ)
— X13 — разъем для подключения графического ЖКИ BC240128A
— X14 — разъем подключения внешнего ЖКИ HD44780

На разъемы X5 – X10 кроме выводов портов A-F, выведены цепи GND (контакт 9) и
VCC (контакт 10), что позволяет подавать через эти разъемы питание на периферийные модули.
Подстроечные резисторы R15, R16 используются для настройки контраста внешних ЖКИ. На плате размещены 5 кнопок, четыре пользовательских, и кнопка сброса. Пользовательские кнопки подключены к старшим битам порта Е контроллера ATmega128.
Для программирования платы MEGA128-KIT можно использовать внутрисхемный программатор AVR-ISP, который подключается к плате через разъем XP3. Цоколевка разъема соответствует стандарту фирмы ATMEL. Питание на программатор подается от платы MEGA128-KIT. При внутрисхемном программировании микроконтроллера ATmega128 используются выводы микросхемы 2 и 3, которые в основном режиме подключены к UART. Для переключения этих выводов к программирующему разъему на время программирования, на плате MEGA128-KIT установлен мультиплексор 74AC4053…
Схему описываемой платы можно посмотреть здесь. По сравнению с оригиналом я её немного  исправил, а также уложил в один лист A4. Теперь о доработках. Странно почему, но производитель не устанавливает указанную выше периферию, поэтому пришлось самому всё докупать и запаивать. Ещё раз напомню: Flash-память AT45DB321D (не AT45DB321B – как указано оригинальных документах – у них разное количество ног!!!), ЦАП AD5302, стабилизатор 3,3 В LM1117DT3.3. Обвязку для этих элементов можно посмотреть на схеме.
О программировании. В оригинальном документе указано «…При внутрисхемном программировании микроконтроллера ATmega128 используются его выводы 2 и 3, которые в основном режиме подключены к UART. Для переключения этих выводов к программирующему разъему на время программирования, на плате MEGA128-KIT установлен мультиплексор 74AC4053. Соответствующий управляющий сигнал формируется программатором…» Не знаю, где они нашли такой программатор, но в стандартной цоколёвке STK-200, которая де-факто используется как стандарт ISP-разъёма, вывод 3 оставлен незадействованным. Поэтому для разрешения режима программирования я установил DIP-переключатель, который придавливает соответствующую ногу мультиплексора к земле, тем самым подключая выводы программирования контроллера к разъёму (в схему добавил). Из опыта эксплуатации могу сказать следующее. Плата сама по себе достаточно качественная, комплектующие припаяны аккуратно. К разъёмам можно подключать модули периферии микроконтроллерного конструктора, равно как и к микроконтроллерным модулям можно подключить ОЗУ, Flash  и ЦАП, установленные здесь. Непосредственно для этой платы я приобрёл индикатор HD77480 20х4, впаял в него 14-ти контактную однорядную «маму» и вывел подсветку на два отдельных соединителя (ведь вариантов подсветки множество).

Теперь подключать индикатор можно непосредственно на плату без шлейфа, используя предназначенный для этого разъём. Таким образом, уезжая в командировку, можно бросить в сумку с нетбуком эту плату с индикатором (места много не займёт), и долгими вечерами, когда нечем заняться, отлаживать куски кода.

Цена платы более чем адекватная – 300 грн (1200 р).

Запись опубликована в рубрике Микроконтроллерный конструктор с метками , . Добавьте в закладки постоянную ссылку.

41 комментарий: ATmega128 kit

  1. Ниrолай говорит:

    как купить контроллер в Москве?? по какому телефону можно созвониться… мой телефон 903 777 55 14

  2. s_black говорит:

    Купить можно на любом радиорынке или в радиомагазине. Созвонится будет дорого — пишите мне на эл. почту.

  3. Виталий говорит:

    а каковы его признаки жизни?
    в дата шите на 128мегу написано что для програмирования исп. другие выводы, не МИСО, МОСИ, КЛК..м?

  4. s_black говорит:

    Виталий! Извините, конечно! Но … половина ответа — это правильно поставленный вопрос!!! Что Вы спрашиваете? Я не понял? Чьи признаки?

  5. Виталий говорит:

    Извините)
    признаки работы выше описаного стенда. вот подключил питание. подключил прогроматор. но ни одна програма его не видят(. какие светодиоды должны гореть при включениии питания и при програмировании?
    не пойму то ли ЛПТ я спалил, то ли стенд нерабочий.
    всегда говрит VD4, VD1? VD2 то говрят то не(

  6. s_black говорит:

    Могу предположить, что Вы не переключили мультиплексор 74AC4053 для режима ISP. В статье выше я делал на этом акцент. И посмотрите схему — я дорисовал свою доработку для переключения в режим программирования.

  7. Виталий говорит:

    спасибо

  8. s_black говорит:

    Всего хорошего!

  9. Виталий говорит:

    а где можно документацию на стенд этот взять?

  10. s_black говорит:

    А какая документация Вас ещё интересует? Схема с исправленными ошибками и дополнениями приведена в статье. Там же достаточно подробное описание.

  11. Виталий говорит:

    да, за схему спасибо.
    да так прост спортивный интерес))

  12. Юрий говорит:

    Можете сбросить bootloader этой тлаты? udimitrov@mail.ru

  13. s_black говорит:

    Для этой платы у меня нет бутлоадера. А зачем он, если есть ISP?

  14. Юрий говорит:

    Я неправильно прошил atmega128 и заменил её.Хотелось бы програмы кидать в пзу и читать их с пзу.

  15. Юрий говорит:

    После прошивки chip45boot2_atmega128_uart0_rs485_v2.9g_hex программа в пзу не записывается…

  16. Юрий говорит:

    Я думаю проблема в CS пзу.Поправте меня если это не так…

  17. s_black говорит:

    Ну и что с того, что неправильно прошили? Зачем её было менять? Перепрошили бы заново и всё. Если попортилась область загрузчика, воспользуйтесь любым ISP — программатором. Мне сдаётся, что Вы немного неправильно понимаете суть программирования микроконтроллеров. И что Вы предполагаете под термином ПЗУ? Имеете в виду flash-память?

  18. Юрий говорит:

    Я имел в виду DataFlash — AT45DB321D.

  19. s_black говорит:

    Юрий, я не совсем понимаю суть Вашей проблемы. Если Вы неправильно записали информацию в AT45DB321D, то ничего страшного и в этом случае нет — перезапишите и всё. Или Вы хотите в AT45 хранить программу, которой бутлоадер контроллера перепрошьёт сам себя при каком-то условии?

  20. Юрий говорит:

    Спасибо! Я разобрался. chip45boot2_atmega128_uart0_v2.9g_hex работает отлично.Проблема была с переходником USB- COM. DataFlash — AT45DB321D я думал,что с неё контроллер может читать саму программу не зашивая её в свою память.

  21. s_black говорит:

    Это хорошо))) Удачи Вам!

  22. vic555 говорит:

    Здравствуйте! Посмотрел принципиальную схему платы и не понял, как на вывод RESET подаётся высокий уровень, разрешающий работу МК? Судя по схеме, напряжение на этом выводе всегда будет около нуля. Должна быть подтяжка к шине питания через резистор. Или я не прав?

  23. vic555 говорит:

    Прошу прощения. Плохо смотрел. Там же супервайзер стоит. Короче, приобрёл сегодня эту плату, но никак не могу до МК достучаться. Пробую подключать USBasp к выводам MOSI, MISO, SCK контроллера. Зажимаю кнопку S5 (Reset), после чего пытаюсь считать хоть что-нибудь программой AVRDUDE, но контроллер не обнаруживается. После всех попыток измерил тестером напряжение на входе RESET — постоянно 0,15 В. Проблема супервайзера?

  24. s_black говорит:

    1. Нажатием кнопки Reset Вы вводите контроллер в состояние сброса — что же Вы от него хотите?
    2. Надеюсь это: «… Поэтому для разрешения режима программирования я установил DIP-переключатель, который придавливает соответствующую ногу мультиплексора к земле, тем самым подключая выводы программирования контроллера к разъёму (в схему добавил). …» Вы прочитали внимательно и на схеме увидели необходимую доработку.

  25. vic555 говорит:

    1. Насколько я помню, работа по протоколу ISP производится при низком уровне на входе RESET.
    2. Прочитал внимательно, но так и не понял, как это может мне помочь прошить кристалл. Установленный Вами переключатель всего лишь переключает входы мультиплексора на разъём SPROG, вместо микросхемы MAX232. А выходы мультиплексора подключены к интерфейсу USART микроконтроллера. Вероятно, сделано это для прошивки программаторами через бутлодер. А мне надо прошить кристалл напрямую через выводы MISO, MOSI, SCK.

    Кстати, напряжение на входе RESET постоянно 0,15 В. Супервайзер замкнут на землю. Сгорел? Я выпаял резистор R8 220 Ом. После подачи питания напряжение на входе RESET установилось 4,4 В. Загорелись два пользовательских диода VD1 и VD2. Контроллер по-прежнему недоступен. Пробую достучаться до него через USBasp (подключен к MOSI+MISO+SCK+RST МК) или AVR910 USB через SPROG. Результат — нулевой.

  26. s_black говорит:

    1. Неправильно Вы помните. В состоянии сброса контроллер ничего ни принять, ни передать не может. Сброс происходит непосредственно ПЕРЕД программированием и сразу ПОСЛЕ.
    2. Ничего страшного, поймёте после. Вы просто думаете, что для программирования ATmega128 (64) используются стандартные для других выводы MOSI, MISO. Ан нет. И, пока Вы не придавите указанную на схеме ногу к земле, выводы программирования TxD0, RxD0 так и останутся висеть на ADM202.
    Сделайте следующее:
    Запаяйте всё, что Вы выпаяли, на место.
    Если не хотите сразу паять DIP переключатель (или джампер) — просто киньте «соплю» от 3-го контакта SPROG на корпус.
    Подключите программатор и наслаждайтесь процессом.
    Удачи, коллега!

  27. vic555 говорит:

    Спасибо, коллега! 🙂 Нашёл я корень всего зла с прошивкой. В шлейфе, который шёл в комплекте с программатором AVR910 USB, 5-ая жила (сигнал RESET) была некачественно обжата. Из-за этого программатор не видел контроллер. Переобжал, и всё заработало. Ещё раз спасибо за терпение и помощь! Осталась только проблема с супервизором. Его выход накоротко замкнут на землю. Впаиваю R8 обратно, и контроллер не стартует — на входе RESET напряжение 0,15 Вольт. Может, супервизор дохлый?

  28. s_black говорит:

    Проверьте кнопку RESET — не запала ли? Проверьте кондёр C12 — может он пробит? Если всё это в порядке, похоже супервизор полетел (хотя с чего бы?). В общем навскидку точно не скажешь — нужно с мультиметром вдумчиво полазить.

  29. vic555 говорит:

    Здравствуйте, коллега! Всё проверил — кнопка в порядке кондёр тоже. Похоже, всё-таки, что сдох супервизор: на его выходе постоянное напряжение 0 В. Перепаяю его и всё будет ОК.
    Поделитесь, пожалуйста, ссылкой на asm-мануал по работе с ЖКИ через внешнюю память. Полдня голову ломаю над тем, как увязать строб E ЖКИ с адресацией к внешней памяти МК 🙂 Заранее спасибо!

  30. s_black говорит:

    У меня такой информации, к сожалению, нет (((

  31. sergiy говорит:

    Увидел у Вас, прикупил и себе!
    Большое спасибо за разьяснение о 3-ем контакте SPROG, а то намучался с ним((
    Да и JTAG c завода отключен!

  32. s_black говорит:

    Рад, если приведённая информация оказалась Вам полезной ))) Удачи!

  33. vic555 говорит:

    Кстати, смотрю на фотографию Вашей платы, там тоже вместо дросселя L1 впаяно сопротивление в 510 Ом. Интересно, почему?

  34. s_black говорит:

    Наверное у производителей дроссели на том момент закончились 🙂 И, хотя, на работу это не сильно влияет, я заменил таки резистор на необходимый дроссель.

  35. vic555 говорит:

    🙂 Наверное. Вполне креативный подход. Кстати, где Вы покупали недостающие микросхемы: AT45DB321D и AD5302? Шарюсь по украинским фирмам радиокомпонентов, в лучшем случае есть память, а ЦАПа нигде не нашёл.

  36. s_black говорит:

    Всё это я купил на Космодроме (у меня в ссылках есть). Да и вообще, почти всё я там покупаю — на радиорынках сейчас одни мобилы 🙁

  37. vic555 говорит:

    Здравствуйте, коллега! Снова пишу Вам по поводу этой волшебной платы. Дошли руки до её внешней ОЗУ и тут настал тупик. Скажите, пожалуйста, я один заметил, что действительное соединение элементов платы не соответствует принципиальной схеме к этой плате? В частности, микросхема D5 регистра-защёлки (74HC573D) фактически соединена с микросхемой D2 внешнего ОЗУ (BS62LV256SIP55) неправильно. Если посмотреть на принципиальную схему, то можно увидеть, что 0-й вывод регистра-защёлки (вывод 19 D5), как и положено, соединён с 0-ым входом шины адреса ОЗУ (вывод 10 D2). Но, даже бегло взглянув на плату, видно, что реальный вывод 19 микросхемы D5 соединён с выводом 1 (вход шины адреса A14) микросхемы D2. Да и шина данных D0-D7 этой микросхемы включена задом-наперёд по отношению к шине данных МК (и микросхем D5 и D10). Злая шутка производителя платы? Что думаете по этому поводу?

  38. loki_amorf говорит:

    А в комплекте с платой какие нибудь исходники идут?

  39. s_black говорит:

    Нет. В интернете, в том числе и на этом сайте КУЧА разнообразнейших исходников!

  40. loki_amorf говорит:

    Понял. Меня конкретно интересовала специфика работы с графическим дисплеем, с совместным использованием выводов PA0-PA7 (шина D0-D7) с памятью 62256. Вижу что они логикой развязаны, но есть ли какая-то особенность в коде? Сейчас работаю с графическим дисплеем, с целью спортивного интереса есть желание добавить ОЗУ.
    P.S. Поправьте пожалуйста ссылку на схему платы в тексте, не работает.

  41. s_black говорит:

    Я думаю, после просмотра схемы, вопросы у Вас отпадут…
    П.С. Ссылка на схему работает — не знаю, почему у Вас проблемы (((

Добавить комментарий

Ваш e-mail не будет опубликован.