Вот в очередном отпуске сваял новый программатор. Не знаю, насколько он будет популярен по сравнению AVR910, но тем не менее он собран на макетной плате и успешно работает. На своем сайте еще его не выложил, так как хочется избежать будущих ошибок в том, что еще в нем не реализовано. Так как хочется опубликовать схему единожды и потом ничего не перекраивать. Это, как понимаете не для себя, а для тех, кто решится повторять. А реализовать собираюсь, кроме собственно программатора для AVR еще и JTAG и не только для AVR. Так вот, пока печатная плата не создана физически, хочу посоветоваться по поводу схемотехники, возможно, что то упустил или не допонял.
По схеме:
Старался использовать доступные компоненты. Так как на борту АРМ на блокировочных конденсаторах решил не экономить. Возможно, для кого то трудно будет достать фильтр USB STF202-22. Я посчитал это лучшим вариантом, чем несколько резисторов и две диодных сборки. В конце коноцов есть альтернатива - соединить перемычками выводы 2-5 и 3-4 оного.
Назначение линий выходного разъема:
1.TGT_TD - MOSI(ISP_AVR) - TDI(JTAG)
2.TGT_B2 - REFCLK(ISP_AVR) - TMS(JTAG) - PDI_D(XMEGA) - возможно отладочный порт
3.TGT_RST - RESET
4.TGT_CLK - SCK(ISP_AVR) - TCK(JTAG) - PDI_CLK(XMEGA)
5.TGT_RD - MISO(ISP_AVR) - TDO(JTAG)
Так как AT91SAM7S64 имеет встроенный стартовый загрузчик, то внешнего программатора не надо. Все прошивается консольной утилитой в любой Windows, при этом не надо после прошивки даже подменять драйвер... пока
Схема и вариант ПП ниже. Размеры платы - 75х32мм
Что реализовано в данный момент:
1. Протокол-программирование как STK500v2
2. Протокол-программирование как JTAGICEmkII в режиме ISP
3. Протокол JTAGICEmkII в режиме JTAG.
Да, забыл добавить, плату затачивал под лазерный утюг.