Jump to content
    

Вот в очередном отпуске сваял новый программатор. Не знаю, насколько он будет популярен по сравнению 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.

 

Да, забыл добавить, плату затачивал под лазерный утюг.

ucGoZilla___shematic_rev.1.pdf

ucGoZilla_PCB_BOT.pdf

ucGoZilla_PCB_TOP.pdf

Share this post


Link to post
Share on other sites

Это здорово!

Есть ли возможность добавить в Ваш программатор режим debug консоли (обсуждалось в соседнем топике)?

 

 

Поддержка ATXMega есть?
Судя по обозначения на схеме есть.

 

 

Какие чипы он поддерживает?
Думается все те, что и JTAG ICE MK2 (все существующие AVR8 + XMega).

Share this post


Link to post
Share on other sites

Может тогда и поддержку j-link(мт-линк) туда вставить? Раз уж там АРМ стоит.

Share this post


Link to post
Share on other sites

SAM7, используемый в вашем программаторе, имеет питание 3.3В. AVR может иметь питание от 1.8В до 5В. Не хватает согласования уровней.

 

В микросхеме DD2 сигнал RST надо перенести на вторую половину DD2 ( туда, где CLK).

Share this post


Link to post
Share on other sites

Это здорово!

Есть ли возможность добавить в Ваш программатор режим debug консоли (обсуждалось в соседнем топике)?

 

 

Судя по обозначения на схеме есть.

 

 

Думается все те, что и JTAG ICE MK2 (все существующие AVR8 + XMega).

Тогда должен и AVR32 поддерживать

 

В аттачах только пэдэфки, а где бинарь?

Edited by Зайцев Иван

Share this post


Link to post
Share on other sites

а софт для него какой?

 

SAM7, используемый в вашем программаторе, имеет питание 3.3В. AVR может иметь питание от 1.8В до 5В. Не хватает согласования уровней.

а чем нст244 не согласователь, питаются от таргета же...

Share this post


Link to post
Share on other sites

Может тогда и поддержку j-link(мт-линк) туда вставить? Раз уж там АРМ стоит.

+1000

Тогда соберу. Чтобы было... А так уже на кортексы от НХП переползаю постепенно. Минуя Хмегу...

Share this post


Link to post
Share on other sites

а чем нст244 не согласователь, питаются от таргета же...
HCT244 только на 5В, HC244, как на схеме, при питании таргета выше 4.5В по уровням не бьется. А ниже 3.3В ей на вход с SAM7 будет идти больше рекомендованного, да и единичка у SAM7 2В. В TBDML ставили панельку чтобы можно было менять HC/HCT в зависимости от питания таргета :)

Share this post


Link to post
Share on other sites

HCT244 только на 5В, HC244, как на схеме, при питании таргета выше 4.5В по уровням не бьется. А ниже 3.3В ей на вход с SAM7 будет идти больше рекомендованного, да и единичка у SAM7 2В. В TBDML ставили панельку чтобы можно было менять HC/HCT в зависимости от питания таргета :)
По моим рассуждениям - все бьет.

У САМа выходы - открытый коллектор. На входе 244НС стоят подтяжки R10-R15 которые как раз и подтягивают уровни к питанию 244НС.

 

Какие чипы он поддерживает?
Пока что все AVR

Поддержка ATXMega есть?
Вообще планируется добавить

 

SAM7, используемый в вашем программаторе, имеет питание 3.3В. AVR может иметь питание от 1.8В до 5В. Не хватает согласования уровней.
Про это уже объяснил

В микросхеме DD2 сигнал RST надо перенести на вторую половину DD2 ( туда, где CLK).
А это еще зачем?

 

Может тогда и поддержку j-link(мт-линк) туда вставить? Раз уж там АРМ стоит.
Вообще идея такая есть.

 

Тогда должен и AVR32 поддерживать. В аттачах только пэдэфки, а где бинарь?
Я пока только хотел обсудить схему.

На следующей неделе, после "генеральных" испытаний:) выложу ехе-шник, который заливает прошивку. Там все будет автоматом. Собираешь, запускаешь утилиту, она прошивает, перетыкаешь шнур USB, пользуешься...

 

Есть ли возможность добавить в Ваш программатор режим debug консоли (обсуждалось в соседнем топике)?
Планирую для этого использовать линию TGT_B2 - порт РА21 МК - вход USART1

Share this post


Link to post
Share on other sites

По моим рассуждениям - все бьет.

У САМа выходы - открытый коллектор. На входе 244НС стоят подтяжки R10-R15 которые как раз и подтягивают уровни к питанию 244НС.

 

DD3 питается от таргета, если питание оного будет составлять 1.8В, распознает ли SAM такую единичку? Это же чуть больше половины его питания, а гарантированный уровень единички это 0.7*Uпитания = 2.31В.

 

С другиой стороны при VTGT<CPU_3V3 на вход EN_R будет подаваться напряжение больше питания DD3.

Share this post


Link to post
Share on other sites

DD3 питается от таргета, если питание оного будет составлять 1.8В, распознает ли SAM такую единичку? Это же чуть больше половины его питания, а гарантированный уровень единички это 0.7*Uпитания = 2.31В.
Здесь уже будет работать внутренний пуллап САМа, который будет потягивать выхода DD3 к напряжению питания САМа

С другиой стороны при VTGT<CPU_3V3 на вход EN_R будет подаваться напряжение больше питания DD3.
За подсказку спасибо. Пропустил эту подтяжку. Добавлю еще один резистор на подтяжку EN_R.

 

По поводу толерантности. Лучшим вариантом, конечно будет ставить серию AHC - она толерантна к 5 вольтам при напряжении питания 2..5 вольт.

Share this post


Link to post
Share on other sites

Здесь уже будет работать внутренний пуллап САМа, который будет потягивать выхода DD3 к напряжению питания САМа

 

не будет, т.к. выход DD3 не с открытым коллектором (стоком)

 

 

По поводу толерантности. Лучшим вариантом, конечно будет ставить серию AHC - она толерантна к 5 вольтам при напряжении питания 2..5 вольт.

 

А может глянуть в сторону LVC ?

Share this post


Link to post
Share on other sites

не будет, т.к. выход DD3 не с открытым коллектором (стоком)
Мда, тут не совсем хорошо вяжется.

А может глянуть в сторону LVC?
Вообще изначально гляделось в сторону SN74LVC16T245. Или хотя бы 2Х SN74LVC8T245. Но дорогие, блин, да и не совсем хорошо доставабельные. А хотелось бы чтоб минимум трудностей с приобретением комплектующих (опять же не о себе). Вот и ломаю голову с согласованием до сих пор.

Share this post


Link to post
Share on other sites

Вот и ломаю голову с согласованием до сих пор.

Может стоит поставить полевик в качестве преобразователя получится дешево.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...