Занимаясь разработкой всё более сложных микроконтроллерных программ, появилась необходимость прибегать к использованию более функциональных микроконтроллеров, по сравнению с давно изученным ATmega8. В подобных случаях при программировании зачастую нельзя обойтись без JTAG интерфейса. JTAG интерфейс – один из стандартных интерфейсов, применяемых при программировании и отладки программ в сложных микроконтроллерах. Для примера, одним из подобных микроконтроллеров, с которым я сталкивался, является ATmega128. Существует множество промышленных JTAG интерфейсов, которые можно найти в продаже. Однако их ценовая категория оставляет желать лучшего. Один из самых популярных JTAG интерфейсов – «AVR JTAG ICE». В Интернете можно найти множество схем его рабочего клона для самостоятельного изготовления. Именно о нём здесь и пойдёт речь. В основу данной конструкции входит микроконтроллер ATmega16. Интерфейс подключается к компьютеру либо к USB, либо к COM порту, в зависимости от конкретно применяемой схемы. Но в любом случае, внутри операционной системы программа, работающая с данным интерфейсом, использует COM порт (виртуальный или физический соответственно). В случае с USB вариантом в схеме совместно с микроконтроллером ATmega16 применяется популярная микросхема FT232 или ей подобная, которая служит своеобразным переходником между UART TTL и USB. Подобная микросхема также применяется для подключения трансивера к USB порту компьютера по CAT интерфейсу. Для работы с ней требуется драйвер, эмулирующий COM порт. В случае варианта JTAG интерфейса с COM портом совместно с микроконтроллером ATmega16 применяется не менее популярная микросхема MAX232, служащая преобразователем уровней сигналов TTL в уровни, применяемые в реальном COM порте компьютера. Данную микросхему можно тоже встретить в схемах CAT интерфейсов. В Интернете имеются различные варианты схем и печатных плат рассматриваемого JTAG интерфейса. Применяется как DIP, так и SMD вариант микроконтроллера ATmega16. В качестве соединительного разъёма JTAG применяется стандартный штыревой разъём 2x5 пинов по стандартной распиновке. На сайте ОЭФ RA3ED делился информацией о своём JTAG интерфейсе, который он приобрёл в виде готового изделия. Данное изделие полностью соответствует изделию, рассматриваемому здесь.
Это USB вариант, и собран он на SMD варианте микроконтроллера ATmega16. Изделие помещено в корпус разъёма DB-25 (LPT). Лично мне захотелось сделать вариант с COM портом и SMD. Ничего подходящего в Интернете для самостоятельного конструирования я не нашёл. Точнее, я нашёл идеально подходящий для себя вариант, изображённый на рисунке ниже, но данный вариант – только для продажи, и рисунков печатных плат не предоставлялось.
Я решил развести печатную плату, похожую на вышесказанный вариант. За основу я взял одну из схем интерфейса на ATmega16 в DIP корпусе совместно с MAX232 на одном из сайтов в Интернете. Оттуда же я взял и прошивку для данного микроконтроллера. Данный интерфейс успешно получилось изготовить. Интерфейс тестировал на микроконтроллере ATmega128 совместно с отладочной средой AVR Studio. Схему (.spl), прошивку (.hex) и чертежи печатных плат (.lay) можно скачать ниже одним архивом. СКАЧАТЬ
Также, представлена конфигурация фьюз-битов при прошивке ATmega16 на примере PonyProg.
Приведу несколько замечаний по схеме. За неимением конденсаторов 22пкф, вешающихся по сторонам кварца на корпус, я их исключил из схемы. Без них схема также нормально функционирует. Однако при разводке печатной платы я предусмотрел для них место. Для облегчения разводки цепей питания печатной платы я воспользовался тем свойством, что все пины GND и VCC микроконтроллера ATmega16 соединены между собой внутри корпуса. На схеме это отмечено серыми линиями внутри обозначения микроконтроллера. Схема нарисована в той же нотации, что и разработанная печатная плата. Все SMD компоненты габаритов 0805 (за исключением конденсатора C3, он - 1210), в том числе и два светодиода (красный и зелёный). Зелёный светодиод включён в цепь питания и горит постоянно. Красный светодиод загорается при подаче питания на устройство и мигает при обмене данных между отлаживаемым микроконтроллером и компьютером. Как следствие, в случае удачной прошивки ATmega16 этот светодиод должен загореться. Микросхема MAX232 применена в SMD корпусе SOIC. Данная микросхема существует ещё и в корпусе SMD SOP. Следует обратить на это внимание. При необходимости, в случае наличия другого корпуса, следует немножко подкорректировать чертёж печатной платы. В варианте SOIC расстояние между ножками немного меньше, чем в SOP, а расстояние между рядами немного больше. При разработке печатной платы я руководствовался тем, что было у меня в наличии. Схема питается напряжением 5В через разъём JTAG от отлаживаемой платы. Это моя личная конструктивная особенность. Прошивается ATmega16 через SPI интерфейс одним из стандартных программаторов. Я использую AVR ISP, работающий от LPT порта компьютера. Пины микроконтроллера, служащие для прошивки, подписаны в схеме серым цветом пунктиром. Они почти все совпадают с целевыми выводами JTAG и сосредоточены на соответствующем разъёме. Единственное исключение – вывод RESET. Перед прошивкой микроконтроллера его временно можно припаять коротким проводком к свободному пину JTAG разъёма для удобства подключения программатора. В схеме данное соединение отражено пунктиром. Разъём COM порта – DB-09F, припаивается на торец двусторонней платы. С противоположной стороны на торец платы припаивается разъём-вилка PLD-10. Толщина двухстороннего текстолита выбрана так, чтобы разъём DB-09F садился на плату впритык. Не помню точно, сколько миллиметров, но текстолит я причисляю к разряду толстых. При желании конструкцию можно воткнуть сразу в COM порт компьютера, не используя соединительный шнур. Но гораздо удобнее использовать шнур, по сути дела удлинитель COM порта (мама-папа). Все основные компоненты я без проблем нашёл в продаже в Орле. В целом, всё обошлось по цене приблизительно в 350р, что сравнительно меньше цены готового подобного изделия.
Отличная конструкция, У меня покупной программатор, по USB подключается к компу. Недавно тоже спаял программатор, но только для PIC контроллеров. Позже выложу фото, если интересно.
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]