Перейти к содержанию
    

Ребята, можно, я прерву? Я не сомневаюсь, что все это останется в памяти благодарных потомков в виде весьма продолжительной, увлекательной и на редкость познавательной светской беседы. За те полторы недели, что народ блещет эрудицией, два просто технически грамотных человека - один по вехнему уровню, другой по нижнему (можно обойтись и одним), основываясь на открытых протоколах, сделали бы программатор, работающий со всеми кристаллами AVR, на которые есть описания, и его себестоимость была бы рублей 100 (простенькая мега, что-то типа 232 макса, кварц, десяток резисторов-кондеров, разъемs DRB-9 и IDC-10).

А я уже схемку - то и спаял (правда на 52- м т.к. если бы у меня были средства программирования AVR - зачем мне программатор. А PonyProg я брезгую) и потихоньку пишу софт. Правда в принципе получается девайс не такой скорострельный (ATmega128 думаю будет программироваться за 1.5 минуты :) ) -

больше будет времени подумать. Потом, наверное заменю проц на AVR, перепишу макросы работы с железом... Управляющая же программа от этого не изменится.

 

Можно, наверное, сделать очень дешево и сердито - поставить последовательно два резистора по 1К, а между ними стабилитрон на 3,3 на землю smile.gif. И уровни туда и обратно через эту цепь всегда будут приводиться к 3,3 вольта, что для 5-вольтовой логики вполне приемлимо smile.gif

Вот даташит. Никакой самодеятельности не нужно

scba011.pdf

scvae01a.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Не надо только в штыки воспринимать" :), но

 

За те полторы недели, что народ блещет эрудицией, два просто технически грамотных человека - один по вехнему уровню, другой по нижнему (можно обойтись и одним), основываясь на открытых протоколах, сделали бы программатор,

Может новые опросы соорудим?

"кто готов оплатить 2*1,5 человеко-недели и выложить это бесплатно?"

и

"кто родился сразу профи и ему не надо было начинать с чего-то дешёвого?"

 

работающий со всеми кристаллами AVR, на которые есть описания, и его

А кто сказал, что оно будет только для AVR?

А кто сказал, что оно будет только программатором и не будет какой-то AVRjtag эмулировать?

А это для начинающего уже совсем другой расклад по деньгам будет.

 

Скольким начинающим реально помогли стать на эту дорожку существующие бесплатные инструменты?

 

А что касается комплектации, то FT232/FT245 уже достаточно массовые, например, в Киеве даже на кардачах есть (хоть это и не самое дешёвое место по ним), думаю, в Харькове без проблем, значит, достать можно. И гонца сгонять, и поездом/автобусом передать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да не о том разговор. Если есть время, желание, единомышленники - конечно можно и нужно сделать все, что душе угодно . Просто на мой взгляд намного актуальней простой и дешевый программатор - аналог ПОНИ. Короче, НОВАЯ ТЕМА.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что касается комплектации, то FT232/FT245 уже достаточно массовые, например, в

Поддерживаю вариант с FT245 как более прогрессивный и предлагаю ReAl посильную помощь в разработке/отладке как софта так и железа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да не о том разговор. Если есть время, желание, единомышленники - конечно можно и нужно сделать все, что душе угодно . Просто на мой взгляд намного актуальней простой и дешевый программатор - аналог ПОНИ. Короче, НОВАЯ ТЕМА.

А зачем нужен новый аналог Пони? Любой может себе спаять STK300/ByteBlaster/Xilinx/AVR910, взять AVRstudio/Пони/avreal/avrdude или любую из появляющихся софтин - и шить AVR сколько душа пожелает.

Разработка такой фиговины - не актуальна. Зачем изобретать ещё одну? Дешевле не будет. Проще в повторнии - не будет.

Совсем простых и дешёвых программаторов AVR уже и так в каждом уважающем себя городе и/или институте понаразработано ("у меня курсовой - программатор АВР, у меня вопрос" - года два назад в моей почте типичное письмо).

 

На мой взгляд - тема о другом.

А именно - о на новом уровне дешёвом и лёгком для повторения программаторе поначалу AVR, а потом - всего, что шьётся последовательно - SPI, JTAG, I2C, близкое к MICROWIRE (те же PIC).

И - изначально на USB, по мере возможности - максимально выбрать скорость. Но - в целях совместимости с существующим софтом железо должно уметь через USB прикидываться COM-ом (но не обязано этим всегда пользоваться :) ).

А вот чтобы не думать о согласовании скоростей втихую от существующего софта работать с этим софтом на максимальной частоте - я и предлагаю FT245.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня смущает в этом решении потеря универсальности ног на выходном разъёме.

А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать.

 

Надо составить список интерфейсов и посмотреть типичные ноги.

JTAG и SPI - практически одно и то же. Хуже с I2C (две двунаправленных линии с ОК) и с 3-проводным интерфейсом типа PIC. Но на I2C надо вывести аппаратные ноги процессора и считать, что не будет работы с устройствами, запитанными от менее 3.3В. Или сразу заложить два полевичка согласователями уровней.

Но это можно решить сделав жёстко пару таких ног и успокоиться на шлейфах-переходниках или на платках, перебрасывающих ноги с единой 16..20-контактной колодки на нужную для данной системы. Ну в крайнем случае одну 74HC4053 возле процессора поставить, программно перекидывать какие-то буфера на входные ноги процессора - всё равно программатор останется простым в повторении и дешёвым.

А вот морочить себе голову об полную универсальность всех ног на колодке я не вижу. Тогда надо и MOSI/MISO/SCK на любую уметь перебрасывать

(программные SPI/I2C не предлагать!).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извинните если немного не в тему, а как насчет поддержки debugWIRE? Реально?

Я просто не смотрел этот протокол (а он уже описан где-то?).

На самом деле проблем быть не должно, было бы описание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать.

 

Надо составить список интерфейсов и посмотреть типичные ноги.

JTAG и SPI - практически одно и то же. Хуже с I2C (две двунаправленных линии с ОК) и с 3-проводным интерфейсом типа PIC. Но на I2C надо вывести аппаратные ноги процессора и считать, что не будет работы с устройствами, запитанными от менее 3.3В. Или сразу заложить два полевичка согласователями уровней.

Но это можно решить сделав жёстко пару таких ног и успокоиться на шлейфах-переходниках или на платках, перебрасывающих ноги с единой 16..20-контактной колодки на нужную для данной системы. Ну в крайнем случае одну 74HC4053 возле процессора поставить, программно перекидывать какие-то буфера на входные ноги процессора - всё равно программатор останется простым в повторении и дешёвым.

А вот морочить себе голову об полную универсальность всех ног на колодке я не вижу. Тогда надо и MOSI/MISO/SCK на любую уметь перебрасывать

(программные SPI/I2C не предлагать!).

1. Я встречался с такими программаторами, которые были предназначены для шитья микросхем, вставляемых в колодку. Так там колодка была универсальная, и действительно все ноги могли быть чем угодно - вход, выход, питание, земля. Нам же такое, определенно ни к чему, т.к. у нас ISP - программатор. Поэтому разговор об универсальности ног - от апориорного незнания ВСЕХ протоколов, по которым эта хрень ныне шьется и по которым она БУДЕТ шиться в будущем. Я предполагаю худшее, поэтому и предполагаю заранее не связываться определенными ограничениями, которые, на мой взгляд, не являются необходимыми. Кстати Вы тут же подтвердили мои опасения, приведя пример с I2C (который мне самому почему-то в голову не пришел).

2.Согласен, уже пора (!) составить список интерфейсов. И положить табличку в Вики.

3. 74HC4053. Ну хорошо, три ноги мы обустроили, а остальные? Бросаем, авось прокатит? Согласен, в обозримом будущем прокатит. Но, некрасивое решение, ещё одна микруха, некие программные довороты по её переключению... мне почему-то не нравится. Более склоняюсь к варианту согласовать питание меги с питанием программируемого контроллера. Тогда все ноги - наши! И аппаратные SPI и I2C и USART, и всё, что мы потом напридумаем. ЕДИНСТВЕННЫЕ грабли при таком подходе - переключение кварцевых разонаторов. И вот, что я подумал - а может надо быть проще, приземленнее, что-ли :)? А давайте просто оставим на плате место для двух (трех) кварцев, и ежели кому-то будет уж сильно невтерпёж прошивать попеременно то 5-вольтовые, то 1,8-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела! Достоинства - предельная простота, и полная универсальность. Недостатки: шевеление руками джампера, и ограничение по скорости при питании меньше 3В. (От 5В до 3В, я думаю переключать скорость не придется, впрочем это надо будет проверить.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А давайте просто оставим на плате место для двух (трех) кварцев, и ежели кому-то будет уж сильно невтерпёж прошивать попеременно то 5-вольтовые, то 1,8-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела!

Рулить таким хозяйством будет тяжело: процессор должен знать на какой частоте его завели в данный момент, вся тактируемая периферия потребует отдельных настроек, также потребуется несколько вариантов кода который привязывается к длительности такта. ИМХО, наличие буфера вполне приемлемо. А что касается 100% универсальности, то она не очень и нужна: обычный БайтБластер подходит для значительного количества последовательных интерфейсов (кроме i2c), а ведь в нем самый обычный hc244. Наличие дополнительных переходников не должно быть проблемой - IDC10 не поставишь абсолютно во все устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет ВСЕМ!

Я уже несколько дней наблюдаю за ходом вашего диалога, и он мне все больше напоминает детектив с закрученым сюжетом, который с удовольствием читаешь и спрашиваешь себя, что-же будет дальше?

Это было так, отступление...

Как я понял, вы люди с опытом, и я хотел-бы задать вам такой вопрос:

Раньше я писал под PIC16 (мелочь всякую) и решил перейти на более серьезные PIC18 или Atmel'ы, но мой програматор ничего толком не поддерживает (у меня старый ComPic).

Посоветуйте, какой программатор лучше собрать (хотелось бы поуниверсальнее, а покупать не хочеться).

Напишите на мыло ([email protected]) или в форуме.

Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет ВСЕМ!

Я уже несколько дней наблюдаю за ходом вашего диалога, и он мне все больше напоминает детектив с закрученым сюжетом, который с удовольствием читаешь и спрашиваешь себя, что-же будет дальше?

Это было так, отступление...

Как я понял, вы люди с опытом, и я хотел-бы задать вам такой вопрос:

Раньше я писал под PIC16 (мелочь всякую) и решил перейти на более серьезные PIC18 или Atmel'ы, но мой програматор ничего толком не поддерживает (у меня старый ComPic).

Посоветуйте, какой программатор лучше собрать (хотелось бы поуниверсальнее, а покупать не хочеться).

Напишите на мыло ([email protected]) или в форуме.

Заранее благодарен.

 

Если не боишься LPT-порта, одна из наиболее развиваемых самоделок - Willem

http://evm.wallst.ru/main/willem/ - русский

http://willem.org - оригинальный сайт

А совсем "универсального" не бывает :( У моего приятеля что-то вроде ALL-11 (боюсь соврать, но список поддерживаемых микросхем там страницы на 4) - так вот ему не хватает!!! :biggrin::biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать.

у нас ISP - программатор. Поэтому разговор об универсальности ног - от апориорного незнания ВСЕХ протоколов, по которым эта хрень ныне шьется и по которым она БУДЕТ шиться в будущем. Я предполагаю худшее, поэтому и предполагаю заранее не связываться определенными ограничениями, которые, на мой взгляд, не являются необходимыми. Кстати Вы тут же подтвердили мои опасения, приведя пример с I2C

2.Согласен, уже пора (!) составить список интерфейсов.

Две поправочки - не всех, а 1) разумного максимума (согласен, звучит расплывчато) и 2) последовательных.

 

Берём два ну очень разных последовательных протокола. JTAG и 8-ногих tinyAVR "высоковольтный". И видим, что они практически одинаковые.

И там, и там - два выхода информации (TDO,TMS и datao, cmdo), один выход такта и один вход информации. Только для AVR ещё нужен выход управления сбросом.

Где тут нужны универсальные ноги?

 

3. 74HC4053. Ну хорошо, три ноги мы обустроили, а остальные? Бросаем, авось прокатит? Согласен, в обозримом будущем прокатит. Но, некрасивое решение, ещё одна микруха, некие программные довороты по её переключению... мне почему-то не нравится. Более склоняюсь к варианту согласовать питание меги с питанием программируемого контроллера. Тогда все ноги - наши! И аппаратные SPI и I2C и USART, и всё, что мы потом напридумаем.

 

Как ни крути - MOSI и SCK процессора всегда будут выходами, MISO - входом.

Сигнал сброса процессора - всегда выход. Сигнал тактировки для него (XTAL1) - тоже выход. Ну ещё какой-то выход для дополнительного управления питанием и пара входов на всякий случай.

Я же говорю - аппаратные ноги I2C процессора вывести наружу через согласователи уровней на полевичках. Для I2C-устройств (включая не помню какой процессор, заливающийся по I2C) - этого достаточно. Для перевода того процессора в режим программирования выходов хватит (MOSI,SCK, собственно сброс для AVR). Для SPI/JTAG-программирования - эти две ноги станут универсальными, как запрограммировать, так и будет. Вывести это всё хором на колодку и все вопросы "какие сигналы нужны" и "какая цоколёвка нужна" решать на уровне переходников-шлейфов.

Максимум, что может понадобиться в таком переходнике - это пара резисторов/транзисторов/диодов, ну может что-то типа 74hc125.

 

Что ещё может вылезти - это UART. Ну может оказаться нужным.

Ну и отлично, два варианта решения:

1) выводим на ту колодку UART процессора - ещё один всегда выход и ещё один всегда вход. Всё равно за 16..20-штыревую колодку мы ещё не вылезли.

Будут в пуле резервных ног.

2) воспользоваться USART-ом mega88/168 - он может как UART, а может как SPI.

 

4053 - это уже вообще на такой крайний случай...

1/3 4053 может понадобиться для переброса MOSI на вход команды 8-ногой тини - это немного ускорит работу (но надо ли оно для таких мелких кристаллов?). И то это уже для относительной экзотики - использования ножки reset как IO.

ещё 1/3 - ну не знаю... ну на XTAL1 подавать то с какого-то OC0 (частоты от Fosc/2 и ниже), то с CLKO (ну совсем чтобы быстро).

ещё 1/3 - сейчас даже не придумаю.

 

Что может стоит сделать сразу - это на выход MOSI отдельный буфер с 3-мя состояниями, чтобы его независимо переводить в hi-Z. Тогда путём объединения в шлейфе MOSI и MISO начинаем работать с 93Cxx и pic16.

Но "на шару" это можно сделать резистором в пару килоом между MOSI и MISO

и на двунаправленную ногу программируемой микросхемы подать MISO.

Какая-то DS1302 у меня таким образом на меге103 на SPI висела рядом с именно SPI-устройствами, почти мегагерц на этом SPI был. Так что и это решается примитивным резистором, обтянутым термоусадкой в шлейфе.

 

ЕДИНСТВЕННЫЕ грабли при таком подходе - переключение кварцевых разонаторов. И вот, что я подумал - а может надо быть проще, приземленнее, что-ли :)? А давайте просто оставим на плате место для двух (трех) кварцев, и ежели кому-то будет уж сильно невтерпёж прошивать попеременно то 5-вольтовые, то 1,8-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела!

Ну так эта... точно так же можно джамперами поменять смысл тех пары ног, которые не вписываются в MOSI/MISO/SCK... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели всё так и затихнет? Сделайте хотя бы чтоб АВРы можно было прошывать через USB + поддержку debugWIRE, а то уже надоело шыть через ICProg + FunCard!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...