|
Программатор Dimoniprog (USB, STK500v2 совместимый, c изоляцией, ПУ, питанием target), Софт + пример железяки для энтузиастов |
|
|
|
Nov 2 2008, 21:47
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Решил таки выложить это своё творение. Может кому пригодится. Раньше программировал AVR с помощью супер-программы AvReal в связке с байт-бластером Альтеры на параллельном порте принтера компьютера. Это было очень хорошее и удобное решение. При использовании для написания софта компилятора IAR, можно было настроить вызов программирования контроллера прямо из оболочки IDE по одному клику, быстро и удобно. Однако время шло и при переходе на ноутбук возникла проблема - отсутствие параллельного порта принтера. Тут и возникла идея создания нового программатора, подключаемого к USB порту. Ознакомившись с доселе созданными вариантами (Prottoss, Petka/Tuxgraphics, Doper), решил сделать программатор с гальванической изоляцией, преобразованием уровней, возможностью питать целевое железо от USB порта и реализовать его на основе связки FT232 + ATMega8. Под это дело был написан софт (проект под IAR 5.11B). Софт старался написать просто, прозрачно и понятно (и никакого ассемблера), чтобы любой легко смог "заточить" его на свой вкус. Мне думается, что связка FT232 + ATMega8 является достаточно универсальным решением, которое позволяет реализовывать разное железо от простых вариантов до более сложных. Так что, внеся небольшие изменения в софт, можно быстро настроить его на свой вариант железа. Железо.Основные пояснения по железу: 1. Изоляция достигается через интерфейс RS-232 и питание с помощью ADUM1201 и изолированного конвертера DC/DC со стабилизированным выходом на 5В типа AM1DR-0505S (я использовал P6CG-0505ELF). 2. Для преобразования уровня от целевого девайса использованы ADG3304 и ADG3301, которые обещают диапазон 1.15-5В. Программатор запитан от 5В питания, чтобы априори быть "больше или равно" чем питание целевого девайса. Поэтому ADG330х "развёрнуты" стороной с большим питанием в сторону программатора. При равном питании для понижения питания "правой" стороны, поставлен диод. Прада, это несколько повышает нижний предел уровней (на 0.25 В). 3. Для интерфейса программирования целевых кристаллов у контроллера ATMega8 использован SPI порт, что позволяет программировать и самому быть программируемым внешним программатором с того же разъёма ISP, надо только ещё перемычку XP5 на RESET переставить: позиция 1-2 соответствует работе программатором, позиция 2-3 - для программирования ATMega8 извне. 4. Программатор генерирует сигнал тактовой частоты (ISP clock) для целевого девайса (на всякий случай). Это нестандартная опция (нет в STK500). Цепь выведена на 3 вывод 10-ти контактных ISP разъёмов (обозначен как PULSE). 5. В контроллер заведены на входы АЦП напряжения питания программатора и целевого девайса (через делители). Правда в STK500 v2 в режиме AVRISP эти измерения (точнее напряжение целевого девайса) не запрашиваются. Но можно проверить встроенным терминалом (см. ниже в описании софта). 6. Наличие DC/DC позволяет питать напряжением 5В целевое устройство (до 1Вт за вычетом потребления самого программатора). Для этого надо замкнуть XP4. 7. На разъём XP6 выведен интерфейс RS-232 "TTL", для двух целей: можно подключать сотовые телефоны для перепрошивки (или ещё для чего?), а ещё надеялся, что можно будет через него зашить сам программатор (не имея другого программатора), подключив нужные связи на разъём ISP и использовав софт PonyProg2000 (аналогично как у Petka). При использовании этого интерфейса надо разомкнуть XP3. При работе программатором XP3 должна быть замкнута. Думаю, ясно почему. 8. Для ISP разведены как 6-ти, так и 10-ти контактные разъёмы с шагом 2.54 и 2 мм. Поэтому их 4-е штуки. 9. Т.к. STK500 v2 в режиме AVRISP , то частота кварца должна быть 3.6864 МГц. 10. Предусмотрены контакты XP1, XP2. для использования boot-загрузчика. Схема приводится в первоначальном варианте (без исправлений). На основе схемы была сделана печатная плата и собрано пару девайсов:  Железо после опробывания потребовало пары доработок, которые на схеме не приведены. Поэтому привожу эти доработки здесь: 1. Резистор R11 (верхний вывод по схеме) надо оторвать и подключить напрямую к цепи VTG. 2. Выяснилось, что надо подтянуть линию MISO с "внешней" стороны к целевому питанию. Так что надо навесить резистор 22к между 1 и 5 выводами D5. По проверкам железа. Зашивал программатор с помощью программатора Prottoss-а (в варианте Мастер-Кит). Не понял почему, но шился только один из двух образцов. На втором не входил в режим программирования. В то же время оба образца на ура прошивались на десктопном компьютере с помощью AvReal+BB(LPT). Программаторы друг друга шить не хотят, видимо это связано с преобразователями уровней ("много" их получается в связке). И вообще эти преобразователи уровней мне как-то не очень понравились. Была замечена чувствительность к длине кабеля ISP, - покороче надо. Хотя идея реализации, а именно подключение программатора к USB через кабель, а не напрямую в разъём, позволяет ситуацию с коротким ISP легко преодолеть. Опять же из-за этих преобразователи уровней (как я понял, но досконально не разбирался, не было нужды) не удалось запрограммировать программатор с помощью PonyProg2000. Проверить прошивание кристаллов с памятью более 64К не удалось за неимением таковых в наличии. Остальное вроде работает. Поэтому (резюмируя выше сказанное) в следующей версии железа (если я на неё пойду) наметились следующие основные идеи доработок: 1. Заменить преобразователи уровней на другие, а именно sn74lvc1t45. Может они будут лучше работать. Тогда, возможно, и диод не понадобится. 2. Вместо перемычки питания XP4 поставить 3-х контактную панельку и завести туда ещё землю. Тогда можно будет не только замыкать для подачи питания 5В на целевую схему, но и втыкать туда, например какой-нибудь LDO и получать из 5В другое требуемое напряжение. 3. Видимо, лучше всё же вывести на отдельный 6-ти пиновый разъём линии SPI интерфейса и RESET контроллера программатора напрямую (минуя преобразователи уровней). Это должно дать возможность зашить программатор без программатора через PonyProg2000. Софт.Софт сделан под IAR 5.11B. Проект разбит на файлы, функциональность которых ясна из названия. Реализован стандартный протокол STK500 v2 в режиме AVRISP (всё что надо поддержал). Помимо стандартного, реализован доморощенный терминальный протокол (для связи можно использовать любую терминальную программу в режиме 115200/8/без паритета/1стоп, т.е. так же как в STK500) для настройки параметров программатора, которые невозможно сделать через STK500. А именно: 1. Настройка частоты ISP clock в соответствии с формулой: ISP clock = 3686400/(2*N*(1+OCR)), где параметры N и OCR можно задать. 2. Настройка значений сопротивлений делителей, через которые заводятся для контроля напряжения питаний программатора и целевого девайса. Это для того, чтобы не заботиться о точности этих резисторов. Измерил тестером перед запайкой, а потом ввёл эти значения и всё будет измеряться точно. В софте "зашито" по-умолчанию значения 330 и 220 (это соответствует 33к и 22к) для обоих делителей. Значения параметров запоминаются в EEPROM (в том числе и параметров протокола STK500). Помимо этого терминальный протокол позволяет выдать измеренные значения напряжений, текущие значения параметров и версии софта (firmware). Выбор протокола происходит автоматом - пока не заработал протокол STK500, работает терминальный протокол. Как только от компьютера получен байт, "понравившийся" протоколу STK500, так сразу терминальный протокол "отключится" и больше не будет работать (мешать) до нового включения программатора в порт USB. Команды терминального протокола и их формат можно увидеть, подключившись терминалом к порту, на котором сидит программатор, и выдав в него символ '?' или 'h'. В ответ программатор выдаст список с пояснениями. Либо можно понять по тесту программы (терминал реализован в main.c). Если нет желания использовать терминальный протокол, то можно его исключить, закомментировав строчку с определением TERMINAL_INTERFACE в main.c. Но тогда частота ISP clock останется фиксированной 921600 Гц (задаётся через определения в isp.c). Фузы надо поставить так: BODLEVEL=0, BODEN=0, SUT=1, CKSEL=F, остальные непрошиты (как есть в новом контроллере). Для облегчения "шития"  сделан AES boot загрузчик (взятый готовый и настроенный на нужную тактовую и скорость обмена). Всё "хозяйство" загрузчика лежит в поддиректории AES-Boot\. Загрузчик использует те же параметры порта (115200 и т.д.). При использовании загрузчика сначала зашиваем его (boot.hex). Потом замыкаем XP1, XP2, втыкаем девайс в USB, размыкаем XP1, XP2, далее запускаем update (точнее upd_com1.bat или upd_com2.bat в зависимости от номера COM порта, либо переделаете на нужный). При использовании загрузчика фузы надо поменять: должно быть BLB1=0, BOOTRST=0, BOOTSZ=0 (он сразу такой). Я шил бут-загрузчик через AvReal+BB(LPT1) сразу со всеми фузами и локами командой: Код avreal32 +atmega8 -p1 -ab -e -l2 -v -w -fbodlevel=0,boden=0,sut=1,cksel=f,bootsz=0,bootrst=0,blb1=0 -c boot.hex Гы-гы, хотя зачем лочить, коли тут всё выложил Проект компиллируется в simple формат (Dimoniprog.raw). После этого надо применить POSTLINK для получения отдельных файлов кода (Dimoniprog_code.hex) и eeprom (Dimoniprog_eeprom.hex). Далее можно их шить. Если используется бут-загрузчик (и boot.hex уже прошит в контроллер вместе с нужными фузами), то надо сначала из двух вышеупомянутых файлов сделать файл Dimoniprog.enc для программы "обновлятеля". Для этого в директории AES-Boot запускаем create.bat. После чего можно обновлять (upd_com1.bat или upd_com2.bat или другой порт). В заключении несколько советов по настройке IAR Embedded Workbench IDE для облегчения жизни. Для начала заменим родной postlink.bat (в C:\Program Files\IAR Systems\Embedded Workbench 5.0\avr\bin\) на прилагающийся. Не помню (давно было) для чего я это делал, видать не работало. Добавим три команды через меню "Configure Tools..." (во всех случаях ставим флажок "Redirect to Output window"): Код Menu Text: Postlink Command: $TOOLKIT_DIR$\bin\POSTLINK.BAT Argument: $TARGET_FNAME$ $TOOLKIT_DIR$\bin\POSTLINK.EXE Initial Directory: $TARGET_DIR$ Код Menu Text: Create boot application Command: $PROJ_DIR$\AES-Boot\create Argument: -c cfg.txt -e $TARGET_DIR$\$PROJ_FNAME$_eeprom.hex -f $TARGET_DIR$\$PROJ_FNAME$_code.hex -o $PROJ_FNAME$.enc -l BLB11 BLB12 Initial Directory: $PROJ_DIR$\AES-Boot\ Код Menu Text: Update booting device (COM1) Command: $PROJ_DIR$\AES-Boot\update Argument: $PROJ_FNAME$.enc -COM1 -115200 Initial Directory: $PROJ_DIR$\AES-Boot\ В последней команде надо уточнить номер порта или можно сделать несколько таких команд для разных портов. Первую команду (Postlink) запускаем после компилляции софта для получения файлов кода (Dimoniprog_code.hex) и eeprom (Dimoniprog_eeprom.hex). Две других нужны при использовании бут-загрузчика. Вторую (Create boot application) запускаем вслед за первой для получения файла Dimoniprog.enc для программы "обновлятеля". Третьей командой (Update booting device) запускаем обновление firmware программатора. Только надо не забыть перед запуском команды произвести манипуляции с перетыканием перемычки между XP1-XP2 с перевтыканием программатора в USB порт (выше писал). ------------------------- Пока всё на этом. Устал набирать...
|
|
|
|
|
 |
Ответов
|
Nov 5 2008, 09:19
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(Непомнящий Евгений @ Nov 5 2008, 09:18)  Я не въеду, зачем нужны самопальные программаторы (ваш, PROTOSSa, avreal), если имеется стандартный AVR ISP-2 от Atmela. Он гарантированно будет поддерживаться, работает со всеми процами, USB и т.д. На счёт последнего утверждения я бы не был так категоричен. А вот случись что, свой всегда можно переделать. Помимо всего прочего, свой можно сделать не только для Атмелов, но и вообще для разных других девайсов, - флешей, еепром, сотовых телефонов и т.п. Над своим имеешь полный контроль и владение. Цитата(Непомнящий Евгений @ Nov 5 2008, 09:18)  При этом он относительно недорог. Ну, это кому как. Вообще я бы сказал (не конкретно про ISP программатор), что средства для разработки стоят дорого. Иной раз очень дорого. Так что для личных целей могут быть не всем по карману. ---------------------------- А потом просто, было время на выходных, руки чесались, хотелось что-то наваять, детальки валялись (жалко ведь, валяются бесхозно). Вот и решил провести время с пользой себе и может другим. Конечно, платы пришлось изготавливать за деньги, это да. Но мне хотелось их сделать для получения опыта заказа плат от частного лица, на будущее, есть некоторые мысли. Опыт появился: заказывал 5 шт. плат, а мне дали 10, из них одна была помечена как бракованная (хотя я смотрел, смотрел, так и не заметил в чём там брак). Как мне сказали, лишних 4 штуки вам передаются безвозмездно, т.е. даром
|
|
|
|
|
Dec 1 2008, 17:42
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Dimonira @ Nov 5 2008, 11:19)  Ну, это кому как. Вообще я бы сказал (не конкретно про ISP программатор), что средства для разработки стоят дорого. Иной раз очень дорого. Так что для личных целей могут быть не всем по карману. Давайте рассматривать не "иной раз", а конкретно этот случай. Скажите зачем нужно исп. кустарный программатор (Ваш, protoss'a или AvrReal и т.п.) если есть AVRISP, есть его схема (проще вашей в разы, и дешевле для изготовления в домашних условиях) есть прошивки и есть поддержка производителя. Что вы добавили? USB конвертер? Дык не проще на FT232 сделать обычный конвертер USB<->COM, и отдельно сделать обычный COM AVRISP. К конвертеру подключать хоть зоопарк разных устройств, в т.ч. и AVRISP...
|
|
|
|
|
Dec 1 2008, 18:16
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(defunct @ Dec 1 2008, 20:42)  Давайте рассматривать не "иной раз", а конкретно этот случай. Скажите зачем нужно исп. кустарный программатор (Ваш, protoss'a или AvrReal и т.п.) если есть AVRISP, есть его схема (проще вашей в разы, и дешевле для изготовления в домашних условиях) есть прошивки и есть поддержка производителя.
Что вы добавили? USB конвертер?
Дык не проще на FT232 сделать обычный конвертер USB<->COM, и отдельно сделать обычный COM AVRISP. К конвертеру подключать хоть зоопарк разных устройств, в т.ч. и AVRISP... Уважаемый "гуру" форума, а вы вообще тему с начала читали? Такое ощущение, что нет. Иначе бы вопрос "зачем?" не стоял бы. Схема AVRISP проще в разы? После добавления конвертера USB<->COM тоже будет проще в разы? А изоляция и питание целевой схемы у AVRISP тоже есть, причём разными напряжениями? Хотелось бы конкретно ваши "разы" увидеть в конкретном виде. Я сделал программатор, который удовлетворяет моим требованиям. И всё. И выложил для тех кому надо аналогичное. Вам не надо? Ну и не надо, я же вас ни к чему не призываю! Можете делать AVRISP. На мой взгляд, проще моей схемы вы не сделаете ( при условии тех же возможностей!). Если часть возможностей исключить, тогда да, можно проще. Поддержка производителя? Даже не смешно. Мне почему-то кажется, что её для AVRISP больше не будет. Или вы ещё надеетесь?  А зачем она там? Лично я терпеть не могу "зоопарка" устройств (байт-бластеры, житаги и т.п.), которые надо как-то соединять, подключать, провода всякие там, кабели. Достало. Меня раздрожает даже один программатор, который надо подключать для прошивания контроллеров. Но тут уж приходится. А вот, например, для АРМа не надо было, шил сразу через USB и это очень радовало! Я вообще не понял зачем вы это сюда написали, а? Настроение плохое?
|
|
|
|
|
Dec 6 2008, 00:56
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Dimonira @ Dec 1 2008, 20:16)  а вы вообще тему с начала читали? Такое ощущение, что нет. Иначе бы вопрос "зачем?" не стоял бы. Схема AVRISP проще в разы? После добавления конвертера USB<->COM тоже будет проще в разы? Я ознакомился с вашим описанием в первом посте и прочитал первые 15 сообщений - и этого было достаточно для того чтобы понять, что здесь очередной баян, с сомнительным будущим. Теперь по теме. А кто сказал, что конвертер надо к нему добавлять?! Хотите делайте, не хотите подключайте к COM порту. Конвертер отдельно, программатор отдельно. В итоге имеем 2 независимых и простых устройства с конкретной функциональностью. 1. конвертер (свободный от целевого железа, в корпусе разъема DB9) который конвертит USB в COM. 2. программатор МК AVR, который поддерживается производителем. Конвертер - вещь полезная ибо к COMу много чего можно подключить, а на современных ноутах COM уже почти не встречается. Программатор тоже полезная вещь но весьма ограниченная, только для программирования некоего набора МС, стоит ли ограничивать возможности конвертера одним программатором? Хотите используете их вместе, хотите отдельно. Мобильность и гибкость получается выше. Хотите подключайте к конвертеру другой программатор, хотите - выводите консольку по RS232 своих же устройств. Цитата А изоляция и питание целевой схемы у AVRISP тоже есть, причём разными напряжениями? А нахрена? Что это за схема такая без собственного питания, и зачем она нужна? Про надобность изоляции и регулируемые уровни как-то тоже не совсем понимаю зачем оно надо - чтобы стабильность стала хуже? Как у вас две платы одного и того же программатора друг-друга прошить не могут. Курам насмех такая изоляция. Цитата Хотелось бы конкретно ваши "разы" увидеть в конкретном виде. Уже как-то приводил минимальную схему AVRISP, вот она: http://dca.narod.ru/images/AVRISP.jpgКондесатор между Rst и Gnd на ISP разъеме там "с бодуна" - удалить. В остальном ее можно упростить еще сильнее, вместо кварца использовать внешний RC. тогда останется только ATmega8535 и 22K резистор. Любой кто имеет хоть небольшие навыки в электронике сможет к этой схеме довесить все, что требуется - по вкусу подцепить гальваноразвязку, USB конвертер, пару светодиодов, токоограничивающие резисторы и т.п.. С другой стороны можно сделать и "как есть" - тоже работает. Ремонтопригодность на высоте - сгорит - сразу ясно, что сгорел чип (ибо больше деталей просто нет), - выбросить, и поставить вместо него другой и все. Но самое смешное, что оно не горит! ;> Цитата Я сделал программатор, который удовлетворяет моим требованиям. И всё. И выложил для тех кому надо аналогичное. Вам не надо? Ну и не надо, я же вас ни к чему не призываю! Можете делать AVRISP. 1. Как быть с поддержкой, тем кто купится и повторит Ваш программатор? 2. Почему используется чип именно mega8? (почему не m16 на котором можно поднять штатный JTAGICE, или m8535 на котором подымается штатный AVRISP/STK500). Цитата На мой взгляд, проще моей схемы вы не сделаете (при условии тех же возможностей!). Если часть возможностей исключить, тогда да, можно проще. Сходите по ссылке и сравните. В плане главной функциональности - шить МК AVR - AVRISP - шьет все. Функциональность Вашего программатора может похвастаться тем же? Вы проверяли его с каждым чипом? Например, как у него с поддержкой AT89S52? Так где функциональность выше? ;> Цитата Поддержка производителя? Даже не смешно. Мне почему-то кажется, что её для AVRISP больше не будет. Или вы ещё надеетесь?  А зачем она там? Я не надеюсь, я пользуюсь и горя не знаю. Прошивки обновляются регулярно с выходом новых чипов. Цитата Лично я терпеть не могу "зоопарка" устройств (байт-бластеры, житаги и т.п.), которые надо как-то соединять, подключать, провода всякие там, кабели. Достало. Меня раздрожает даже один программатор, который надо подключать для прошивания контроллеров. Но тут уж приходится. А вот, например, для АРМа не надо было, шил сразу через USB и это очень радовало! Что ж, это Ваши личные предрассудки, обсуждать их не буду. Но отмечу, что и для AVR и для ARM есть USB отладчики/программаторы выпускаемые уважаемыми фирмами, при использовании которых можно надеяться на качеcтвенную поддержку. Для AVR это - AVRISP MKII, AVRDRAGON, JTAGICE-MK2. Цитата Я вообще не понял зачем вы это сюда написали, а? Настроение плохое? Да нет, с настроением было все ОК ;> Больше затем чтобы предостеречь неопределившихся в выборе инструмента пользователей МК AVR, от использования левых программаторов (не только конкретно Вашего, а вообще всех левых). Дело в том, что Вы будете поддерживать ваше творчество ровно столько, сколько Вам это будет интересно (и/или выгодно). А потом пользователи Вашего программатора останутся "один на один" с его проблемами. Чип в разработку вы заложили - хреновый (самый простой), он даже отладку не поддерживает, т.е. в случае глюка, разобраться в вашей программе и/или что-то добавить будет сложно. В таком свете - лучше повторять программатор производителя чипов. Производитель от него не отвернется до тех пор пока чипы выпускать не перестанет. вот хороший пример для повторения - JTAGICE и AVRISP в одном устройстве, обновляются прямо из AVR-Studio: http://www.siwawi.arubi.uni-kl.de/avr_proj...tool/index.html
|
|
|
|
|
Dec 6 2008, 13:08
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(defunct @ Dec 6 2008, 00:56)  Больше затем чтобы предостеречь неопределившихся в выборе инструмента пользователей МК AVR, от использования левых программаторов (не только конкретно Вашего, а вообще всех левых). Дело в том, что Вы будете поддерживать ваше творчество ровно столько, сколько Вам это будет интересно (и/или выгодно). А потом пользователи Вашего программатора останутся "один на один" с его проблемами. Чип в разработку вы заложили - хреновый (самый простой), он даже отладку не поддерживает, т.е. в случае глюка, разобраться в вашей программе и/или что-то добавить будет сложно. Шел бы ты в жопу(с)В общем, эта...поддерживать вас никто не обязан - код открытый, если что не нравится, добавляйте сами что угодно. Более того, при правильном подходе (не таком, как у atmel) даже перепрошивка программатроа ни разу не потребуется. Мне, например, вариант без перепрошивок больше нравится. Чтобы не разбиратся после каждого обновления программатора, почему вдруг перестала работать какая-то программа на старом чипе. Далее. Чего такого нельзя сделать на m88/m168/m328, что было сделано на m8535/m16 ? И последнее, потому как лень комментировать. Много вы видели изолированных программаторов вообще и под usb в частности ? 2 Petka: я рассматривал Ваш программатор, в качестве варианта - как и везде есть плюсы, есть минусы. Сабжевый мне пока больше подходит. Но не останавливайтесь и возможно у меня будет еще один программатор - Ваш. А при поддержке DW - не возможно, а безусловно.
|
|
|
|
|
Dec 6 2008, 15:42
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(Petka @ Dec 6 2008, 17:00)  ИМХО. После появления поддержки ft2232 в avreal и avrdude все поделки (включая фирменные от Атмел) выглядят несерьёзно и неперспективно. Я бы так не говорил, ибо при чём тут поддержка ft2232 в avreal и avrdude не очень понятно. Это не более чем один из вариантов. Мне бы, например, больше по душе было бы появление подержки протокола STK500 в avreal. И тогда не только я со своим девайсом, но и многие владельцы в т.ч. фирменного железа смогли бы пользоваться avreal, как одной из самых удобных программ прошивания. Имхо, дело ведь не только в прошивании, поэтому я бы по другому сказал. Наличие самого девайса ft2232 (с его MPSSE) позволяет сделать девайс, который может как прошивать девайсы, так и иметь JTAG для отладки. Причём по сути любых устройств. Вопрос только в хостовом софте, который приходится иметь свой для каждого производителя процессоров и сред разработки. Вот это плохо, - закрытые программные коды и интерфейсы. В результате железо можно сделать, а вот с софтовой поддержкой на хосте может быть обломс. Тогда получается, что можем сделать софт только чтобы прошивать. Но тогда применение ft2232 даёт не много преимуществ, а в чём-то имеет и недостатки. Вот когда все или большинство производителей процессоров, матриц и прочего, будут делать свои jtag-и и программаторы на ft2232, вот тогда да, про всё остальное можно забыть. Вот только я как-то сильно сомневаюсь, что производители захотят так делать, ибо сейчас они строгают бабло на своих средствах отладки и программирования, а в том случае им придётся терпеть убытки (один раз купил верёвку на ft2232 и всё, - годится для всего).
|
|
|
|
|
Dec 6 2008, 16:00
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Dimonira @ Dec 6 2008, 18:42)  Я бы так не говорил, ибо при чём тут поддержка ft2232 в avreal и avrdude не очень понятно...... ...... Вопрос только в хостовом софте........ ...... В результате железо можно сделать .......Тогда получается, что можем сделать софт только чтобы прошивать .......(один раз купил верёвку на ft2232 и всё, - годится для всего). В вашем посте есть ответы на ваши-же вопросы и возражения. По поводу самодельных программаторов: ИМХО вынесение логики прошивки в железо - тупиковая ветвь. Железо (программатора/отладчика) должно уметь тока быстро шевелить ножками так как хочет софт верхнего уровня. Такой подход (архитектура) позволяет с помощью унифицированного железа программировать (отлаживать) что угодно. А подход, когда Вася, Петя, Джонни делают "умным" железо программатора - идеологически ошибочный. Прошу этот пост не воспринимать как критику работы топикстартера.
|
|
|
|
|
Dec 6 2008, 16:33
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(Petka @ Dec 6 2008, 19:00)  В вашем посте есть ответы на ваши-же вопросы и возражения. По поводу самодельных программаторов: ИМХО вынесение логики прошивки в железо - тупиковая ветвь. Я не понял какие вопросы и какие ответы имеются в виду? Полностью согласен. Хорошо бы, чтобы и производители это поддерживали. Боюсь как раз с ними то и будут проблемы, - не захотят они делать "совместимые" с конкурентами(!) средства. Что касаемо сабжа, то я сделал его именно таким, чтобы как раз по возможности не было завязки на логику прошивки. Но на данный момент из "стандартных" это позволяет только протокол STK500 (из открытых). Пусть не в полной мере "независимый", но хоть что-то. А для его (STK500) реализации FT2232 никуда не "пристегнёшь". Либо делать полностью свой хостовый софт (как тот же avreal), но тогда его надо делать для всего что используешь - AVR, ARM, матрицы и т.д. На это надо много времени и сил. Или можете назвать что-то другое (софтово-железный интерфейс хост-чип)? Может я чего не увидел и есть что-то ещё? Есть правда ещё открытый протокол для прошивания и отладки ATXMEGA - Program and Debug Interface (PDI). Но такое ощущение, что Атмел постарался этим протоколом усложнить жизнь людям. Надо ж было такое придумать. Эксклюзив эдакий. Пока только принял его к сведению, ибо я пока не очень понимаю назначение самих ATXMEGA, - имхо, ни рыба ни мясо.
|
|
|
|
Сообщений в этой теме
Dimonira Программатор Dimoniprog (USB, STK500v2 совместимый, c изоляцией, ПУ, питанием target) Nov 2 2008, 21:47 acorn Привет. Серьезная разработка, респект. Для меня се... Nov 2 2008, 22:32 Dimonira Нет не сознательно! Спасибо за уточнение.
Рань... Nov 2 2008, 22:41 dch а сайтец у Вас есть ? Целесобразно такие проекты о... Nov 3 2008, 17:12 ukpyr может, пригодиться :
http://ukpyr.narod.ru/prog_av... Nov 3 2008, 17:58 Dimonira Цитата(ukpyr @ Nov 3 2008, 20:58) - испол... Nov 3 2008, 19:10 ukpyr ЦитатаНу у меня же наоборот желание сделать было -... Nov 3 2008, 19:12 Dimonira Цитата(ukpyr @ Nov 3 2008, 22:12) для это... Nov 3 2008, 19:54 ukpyr ЦитатаДа, но хорошо бы ещё избавиться от ограничен... Nov 3 2008, 20:18 Dimonira Ну а если целевое питание тоже 5В? Как-то эти диод... Nov 3 2008, 21:16 Огурцов Вопрос: cкажите, pls, а земли, случайно, соединять... Nov 4 2008, 03:00 Dimonira Зачем?
Цитата(dch @ Nov 3 2008, 20:12) а... Nov 4 2008, 10:10 dch Цитата(Dimonira @ Nov 4 2008, 13:10) А да... Nov 4 2008, 20:30     Dimonira Цитата(Petka @ Dec 6 2008, 11:19) Вы плох... Dec 6 2008, 12:39      defunct Цитата(Dimonira @ Dec 6 2008, 14:39) Баян... Dec 6 2008, 18:03       Огурцов Цитата(defunct @ Dec 6 2008, 18:03) FT232... Dec 6 2008, 18:10       Dimonira Цитата(defunct @ Dec 6 2008, 21:03) Вы и ... Dec 6 2008, 18:52        defunct Цитата(Dimonira @ Dec 1 2008, 20:16) вы в... Dec 7 2008, 02:38         Dimonira Цитата(defunct @ Dec 7 2008, 05:38) похож... Dec 7 2008, 12:09          defunct Цитата(Dimonira @ Dec 7 2008, 14:09) Кста... Dec 7 2008, 18:54           Dimonira Цитата(defunct @ Dec 7 2008, 21:54) Отгов... Dec 7 2008, 21:12            defunct Цитата(Dimonira @ Dec 7 2008, 23:12) Я по... Dec 7 2008, 21:34             Dimonira Цитата(defunct @ Dec 8 2008, 00:34) Прост... Dec 7 2008, 22:07              defunct Цитата(Dimonira @ Dec 7 2008, 23:58) эти ... Dec 7 2008, 22:22               Dimonira Цитата(defunct @ Dec 8 2008, 01:12) На са... Dec 7 2008, 22:27                defunct Цитата(Dimonira @ Dec 8 2008, 00:27) Вы у... Dec 7 2008, 22:37                 Dimonira Цитата(defunct @ Dec 8 2008, 01:37) Выбра... Dec 7 2008, 22:48                  defunct Цитата(Dimonira @ Dec 8 2008, 00:48) У ме... Dec 7 2008, 22:58                   Dimonira Цитата(defunct @ Dec 8 2008, 01:58) Но вы... Dec 7 2008, 23:19                    defunct Цитата(Dimonira @ Dec 8 2008, 01:12) Ну п... Dec 7 2008, 23:45                     Огурцов Цитата(defunct @ Dec 7 2008, 23:45) Миним... Dec 8 2008, 06:14                      defunct Цитата(Огурцов @ Dec 8 2008, 08:14) Вот з... Dec 8 2008, 10:21                       Огурцов Цитата(defunct @ Dec 8 2008, 10:21) m8535... Dec 8 2008, 22:53                        defunct Цитата(Огурцов @ Dec 9 2008, 00:53) Скучн... Dec 8 2008, 23:36           Alex128 Цитата(defunct @ Dec 7 2008, 22:54) ... в... Dec 7 2008, 21:39            defunct Цитата(Alex128 @ Dec 7 2008, 23:39) С это... Dec 7 2008, 21:51             aaarrr Цитата(defunct @ Dec 8 2008, 00:51) Имело... Dec 7 2008, 21:57             Огурцов Цитата(defunct @ Dec 7 2008, 21:51) Имело... Dec 7 2008, 23:22         Огурцов Цитата(defunct @ Dec 7 2008, 02:38) Регул... Dec 7 2008, 13:19      prottoss Цитата(Dimonira @ Dec 6 2008, 19:39) Про ... Dec 8 2008, 03:56       Dimonira Цитата(prottoss @ Dec 8 2008, 06:56) Хм..... Dec 8 2008, 06:39        prottoss Цитата(Dimonira @ Dec 8 2008, 13:39) Ну в... Dec 8 2008, 07:55         Dimonira Цитата(prottoss @ Dec 8 2008, 10:55) Вы, ... Dec 8 2008, 08:52          demiurg_spb Мощно в риторике потренировались - выходные прожит... Dec 8 2008, 09:28          Petka Цитата(Dimonira @ Dec 8 2008, 11:52) Я ни... Dec 8 2008, 10:33     Alex128 Цитата(defunct @ Dec 6 2008, 04:56) Больш... Dec 6 2008, 14:06 Арк К Цитата(Непомнящий Евгений @ Nov 5 2008, 10... Nov 5 2008, 12:09 Dimonira ВНИМАНИЕ! На схеме замечена ошибка! Потеря... Nov 5 2008, 20:47 SKov 2 Dimonira:
Спасибо за интересную разработку.
Не п... Nov 5 2008, 22:11  Огурцов Цитата(SKov @ Nov 5 2008, 22:11) В резуль... Nov 6 2008, 04:10   SKov Цитата(Огурцов @ Nov 6 2008, 07:10) Ну та... Nov 6 2008, 11:30    Dimonira Цитата(SKov @ Nov 6 2008, 14:30) Прямое р... Nov 6 2008, 13:31     SKov Цитата(Dimonira @ Nov 6 2008, 16:31) А я ... Nov 6 2008, 14:15      Dimonira Цитата(SKov @ Nov 6 2008, 17:15) Вообще, ... Nov 6 2008, 20:04       SKov Цитата(Dimonira @ Nov 6 2008, 23:04) Вы д... Nov 6 2008, 20:32        Dimonira Цитата(SKov @ Nov 6 2008, 23:32) Можно ре... Nov 9 2008, 19:20         SKov Цитата(Dimonira @ Nov 9 2008, 22:20) Этот... Nov 9 2008, 20:11          Dimonira Цитата(SKov @ Nov 9 2008, 23:11) Однако, ... Nov 9 2008, 21:36       Огурцов Цитата(Dimonira @ Nov 6 2008, 20:04) Так ... Nov 7 2008, 06:55    Огурцов Цитата(SKov @ Nov 6 2008, 11:30) Прямое р... Nov 6 2008, 14:19 Dimonira Что-то меня пропёрло этими программаторами
Сейчас... Nov 6 2008, 10:18 Dimonira Сразу запамятовал написать, что я не проверял рабо... Nov 12 2008, 11:44 Dimonira Наконец-то решился, развёл плату, заказал её и соб... Nov 26 2008, 08:53 Dimonira Вот зафотил новый вариант: Nov 26 2008, 17:49 Огурцов Куул! Есть ли лишние платы на продажу ? Можно ... Nov 26 2008, 20:09  Dimonira Покрутил немного вечером новый вариант в работе, в... Nov 26 2008, 21:48 bloodden Взял бы у Вас 1 шт. WMZ или WMU. Пустую плату. Сик... Nov 26 2008, 22:44 Огурцов Нужна 1 плата - написал в личку. Nov 26 2008, 23:39 Dimonira По поводу комплектующих: у меня запаса практически... Nov 27 2008, 06:20 Deka Покупатель может отправить к Вам курьера, а саму п... Nov 27 2008, 19:02 Dimonira Вечером запаял ещё один образец. Заработало всё на... Nov 27 2008, 22:21 Dimonira Посчитал по розничным ценам (там где я покупал) во... Nov 28 2008, 09:17 Pyku_He_oTTyda ЦитатаDimonira
Написал в личку Nov 28 2008, 12:00 ukpyr ЦитатаМожно сэкономить примерно 300р на изоляции, ... Nov 28 2008, 12:28 Dimonira Цитата(ukpyr @ Nov 28 2008, 15:28) еще во... Nov 28 2008, 12:54  acorn Dimonira, а софт выложишь?
Уперся я, млин, в AES ... Nov 28 2008, 21:11   Dimonira Цитата(acorn @ Nov 29 2008, 00:11) Dimoni... Nov 28 2008, 21:48 Dimonira Итак, свершилось
Я написал поясняющие тексты опис... Nov 29 2008, 16:04 Dimonira В инструкции по прошиванию забыл указать настройки... Dec 1 2008, 08:15 Dimonira Нашёл дешёвый вариант DC/DC на замену: SPR01L-05 о... Dec 5 2008, 18:37 rvk Считаю Dimonira не просто молодец, а большой молод... Dec 6 2008, 06:01 Petka Цитата(rvk @ Dec 6 2008, 09:01) Считаю Di... Dec 6 2008, 08:19 V.N [quote name='rvk' date='Dec 6 2008, 10... Dec 10 2008, 14:28 rvk Protoss идет с исходниками, согласен, и он мне нра... Dec 6 2008, 09:04 Andrey K. Вопрос!
Во второй версии программатора Вы прим... Dec 8 2008, 03:03 Dimonira Цитата(Andrey K. @ Dec 8 2008, 06:03) Воп... Dec 8 2008, 06:00 ukpyr ЦитатаА дальше видно будет, как раз дойдёт дело до... Dec 10 2008, 20:30 Огурцов Собрал сабж, уже зилюкает:
Жутко доволен. Dimon... Dec 15 2008, 05:24  Dimonira Цитата(Огурцов @ Dec 15 2008, 08:24) Можн... Dec 15 2008, 07:04   Огурцов Цитата(Dimonira @ Dec 15 2008, 07:04) А з... Dec 15 2008, 10:11
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|