Yra 4 10 июля, 2005 Опубликовано 10 июля, 2005 · Жалоба Ребята, можно, я прерву? Я не сомневаюсь, что все это останется в памяти благодарных потомков в виде весьма продолжительной, увлекательной и на редкость познавательной светской беседы. За те полторы недели, что народ блещет эрудицией, два просто технически грамотных человека - один по вехнему уровню, другой по нижнему (можно обойтись и одним), основываясь на открытых протоколах, сделали бы программатор, работающий со всеми кристаллами 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 11 июля, 2005 Опубликовано 11 июля, 2005 · Жалоба "Не надо только в штыки воспринимать" :), но За те полторы недели, что народ блещет эрудицией, два просто технически грамотных человека - один по вехнему уровню, другой по нижнему (можно обойтись и одним), основываясь на открытых протоколах, сделали бы программатор, Может новые опросы соорудим? "кто готов оплатить 2*1,5 человеко-недели и выложить это бесплатно?" и "кто родился сразу профи и ему не надо было начинать с чего-то дешёвого?" работающий со всеми кристаллами AVR, на которые есть описания, и его <{POST_SNAPBACK}> А кто сказал, что оно будет только для AVR? А кто сказал, что оно будет только программатором и не будет какой-то AVRjtag эмулировать? А это для начинающего уже совсем другой расклад по деньгам будет. Скольким начинающим реально помогли стать на эту дорожку существующие бесплатные инструменты? А что касается комплектации, то FT232/FT245 уже достаточно массовые, например, в Киеве даже на кардачах есть (хоть это и не самое дешёвое место по ним), думаю, в Харькове без проблем, значит, достать можно. И гонца сгонять, и поездом/автобусом передать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yung 0 11 июля, 2005 Опубликовано 11 июля, 2005 · Жалоба Да не о том разговор. Если есть время, желание, единомышленники - конечно можно и нужно сделать все, что душе угодно . Просто на мой взгляд намного актуальней простой и дешевый программатор - аналог ПОНИ. Короче, НОВАЯ ТЕМА. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
halfdoom 0 12 июля, 2005 Опубликовано 12 июля, 2005 · Жалоба А что касается комплектации, то FT232/FT245 уже достаточно массовые, например, в Поддерживаю вариант с FT245 как более прогрессивный и предлагаю ReAl посильную помощь в разработке/отладке как софта так и железа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 12 июля, 2005 Опубликовано 12 июля, 2005 · Жалоба Да не о том разговор. Если есть время, желание, единомышленники - конечно можно и нужно сделать все, что душе угодно . Просто на мой взгляд намного актуальней простой и дешевый программатор - аналог ПОНИ. Короче, НОВАЯ ТЕМА. <{POST_SNAPBACK}> А зачем нужен новый аналог Пони? Любой может себе спаять STK300/ByteBlaster/Xilinx/AVR910, взять AVRstudio/Пони/avreal/avrdude или любую из появляющихся софтин - и шить AVR сколько душа пожелает. Разработка такой фиговины - не актуальна. Зачем изобретать ещё одну? Дешевле не будет. Проще в повторнии - не будет. Совсем простых и дешёвых программаторов AVR уже и так в каждом уважающем себя городе и/или институте понаразработано ("у меня курсовой - программатор АВР, у меня вопрос" - года два назад в моей почте типичное письмо). На мой взгляд - тема о другом. А именно - о на новом уровне дешёвом и лёгком для повторения программаторе поначалу AVR, а потом - всего, что шьётся последовательно - SPI, JTAG, I2C, близкое к MICROWIRE (те же PIC). И - изначально на USB, по мере возможности - максимально выбрать скорость. Но - в целях совместимости с существующим софтом железо должно уметь через USB прикидываться COM-ом (но не обязано этим всегда пользоваться :) ). А вот чтобы не думать о согласовании скоростей втихую от существующего софта работать с этим софтом на максимальной частоте - я и предлагаю FT245. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 12 июля, 2005 Опубликовано 12 июля, 2005 · Жалоба Меня смущает в этом решении потеря универсальности ног на выходном разъёме. <{POST_SNAPBACK}> А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать. Надо составить список интерфейсов и посмотреть типичные ноги. JTAG и SPI - практически одно и то же. Хуже с I2C (две двунаправленных линии с ОК) и с 3-проводным интерфейсом типа PIC. Но на I2C надо вывести аппаратные ноги процессора и считать, что не будет работы с устройствами, запитанными от менее 3.3В. Или сразу заложить два полевичка согласователями уровней. Но это можно решить сделав жёстко пару таких ног и успокоиться на шлейфах-переходниках или на платках, перебрасывающих ноги с единой 16..20-контактной колодки на нужную для данной системы. Ну в крайнем случае одну 74HC4053 возле процессора поставить, программно перекидывать какие-то буфера на входные ноги процессора - всё равно программатор останется простым в повторении и дешёвым. А вот морочить себе голову об полную универсальность всех ног на колодке я не вижу. Тогда надо и MOSI/MISO/SCK на любую уметь перебрасывать (программные SPI/I2C не предлагать!). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jack_avenger 4 12 июля, 2005 Опубликовано 12 июля, 2005 · Жалоба Извинните если немного не в тему, а как насчет поддержки debugWIRE? Реально? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 12 июля, 2005 Опубликовано 12 июля, 2005 · Жалоба Извинните если немного не в тему, а как насчет поддержки debugWIRE? Реально? <{POST_SNAPBACK}> Я просто не смотрел этот протокол (а он уже описан где-то?). На самом деле проблем быть не должно, было бы описание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
m16 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба Да вот он Извиняюсь это протокол mkII AVR067.pdf AVR067.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_N 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать. Надо составить список интерфейсов и посмотреть типичные ноги. JTAG и SPI - практически одно и то же. Хуже с I2C (две двунаправленных линии с ОК) и с 3-проводным интерфейсом типа PIC. Но на I2C надо вывести аппаратные ноги процессора и считать, что не будет работы с устройствами, запитанными от менее 3.3В. Или сразу заложить два полевичка согласователями уровней. Но это можно решить сделав жёстко пару таких ног и успокоиться на шлейфах-переходниках или на платках, перебрасывающих ноги с единой 16..20-контактной колодки на нужную для данной системы. Ну в крайнем случае одну 74HC4053 возле процессора поставить, программно перекидывать какие-то буфера на входные ноги процессора - всё равно программатор останется простым в повторении и дешёвым. А вот морочить себе голову об полную универсальность всех ног на колодке я не вижу. Тогда надо и MOSI/MISO/SCK на любую уметь перебрасывать (программные SPI/I2C не предлагать!). <{POST_SNAPBACK}> 1. Я встречался с такими программаторами, которые были предназначены для шитья микросхем, вставляемых в колодку. Так там колодка была универсальная, и действительно все ноги могли быть чем угодно - вход, выход, питание, земля. Нам же такое, определенно ни к чему, т.к. у нас ISP - программатор. Поэтому разговор об универсальности ног - от апориорного незнания ВСЕХ протоколов, по которым эта хрень ныне шьется и по которым она БУДЕТ шиться в будущем. Я предполагаю худшее, поэтому и предполагаю заранее не связываться определенными ограничениями, которые, на мой взгляд, не являются необходимыми. Кстати Вы тут же подтвердили мои опасения, приведя пример с I2C (который мне самому почему-то в голову не пришел). 2.Согласен, уже пора (!) составить список интерфейсов. И положить табличку в Вики. 3. 74HC4053. Ну хорошо, три ноги мы обустроили, а остальные? Бросаем, авось прокатит? Согласен, в обозримом будущем прокатит. Но, некрасивое решение, ещё одна микруха, некие программные довороты по её переключению... мне почему-то не нравится. Более склоняюсь к варианту согласовать питание меги с питанием программируемого контроллера. Тогда все ноги - наши! И аппаратные SPI и I2C и USART, и всё, что мы потом напридумаем. ЕДИНСТВЕННЫЕ грабли при таком подходе - переключение кварцевых разонаторов. И вот, что я подумал - а может надо быть проще, приземленнее, что-ли :)? А давайте просто оставим на плате место для двух (трех) кварцев, и ежели кому-то будет уж сильно невтерпёж прошивать попеременно то 5-вольтовые, то 1,8-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела! Достоинства - предельная простота, и полная универсальность. Недостатки: шевеление руками джампера, и ограничение по скорости при питании меньше 3В. (От 5В до 3В, я думаю переключать скорость не придется, впрочем это надо будет проверить.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
halfdoom 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба А давайте просто оставим на плате место для двух (трех) кварцев, и ежели кому-то будет уж сильно невтерпёж прошивать попеременно то 5-вольтовые, то 1,8-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела! Рулить таким хозяйством будет тяжело: процессор должен знать на какой частоте его завели в данный момент, вся тактируемая периферия потребует отдельных настроек, также потребуется несколько вариантов кода который привязывается к длительности такта. ИМХО, наличие буфера вполне приемлемо. А что касается 100% универсальности, то она не очень и нужна: обычный БайтБластер подходит для значительного количества последовательных интерфейсов (кроме i2c), а ведь в нем самый обычный hc244. Наличие дополнительных переходников не должно быть проблемой - IDC10 не поставишь абсолютно во все устройства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Alfred_ 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба Привет ВСЕМ! Я уже несколько дней наблюдаю за ходом вашего диалога, и он мне все больше напоминает детектив с закрученым сюжетом, который с удовольствием читаешь и спрашиваешь себя, что-же будет дальше? Это было так, отступление... Как я понял, вы люди с опытом, и я хотел-бы задать вам такой вопрос: Раньше я писал под PIC16 (мелочь всякую) и решил перейти на более серьезные PIC18 или Atmel'ы, но мой програматор ничего толком не поддерживает (у меня старый ComPic). Посоветуйте, какой программатор лучше собрать (хотелось бы поуниверсальнее, а покупать не хочеться). Напишите на мыло ([email protected]) или в форуме. Заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ROC 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба Привет ВСЕМ! Я уже несколько дней наблюдаю за ходом вашего диалога, и он мне все больше напоминает детектив с закрученым сюжетом, который с удовольствием читаешь и спрашиваешь себя, что-же будет дальше? Это было так, отступление... Как я понял, вы люди с опытом, и я хотел-бы задать вам такой вопрос: Раньше я писал под PIC16 (мелочь всякую) и решил перейти на более серьезные PIC18 или Atmel'ы, но мой програматор ничего толком не поддерживает (у меня старый ComPic). Посоветуйте, какой программатор лучше собрать (хотелось бы поуниверсальнее, а покупать не хочеться). Напишите на мыло ([email protected]) или в форуме. Заранее благодарен. <{POST_SNAPBACK}> Если не боишься LPT-порта, одна из наиболее развиваемых самоделок - Willem http://evm.wallst.ru/main/willem/ - русский http://willem.org - оригинальный сайт А совсем "универсального" не бывает :( У моего приятеля что-то вроде ALL-11 (боюсь соврать, но список поддерживаемых микросхем там страницы на 4) - так вот ему не хватает!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 13 июля, 2005 Опубликовано 13 июля, 2005 · Жалоба А я - не понимаю разговоров о двунаправленности (универсальности) всех ног. Чтобы ещё и одной колодкой поддержать все возможные цоколёвки шлейфа? Так тогда на каждую ногу ещё и по паре хороших полевиков надо - GND да VCC изображать. <{POST_SNAPBACK}> у нас 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-вольтовые микрухи, - ну дык перетыкать тогда джамперами (или ВДМ-ками) нужный кварц, и все дела! <{POST_SNAPBACK}> Ну так эта... точно так же можно джамперами поменять смысл тех пары ног, которые не вписываются в MOSI/MISO/SCK... :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jack_avenger 4 15 июля, 2005 Опубликовано 15 июля, 2005 · Жалоба Неужели всё так и затихнет? Сделайте хотя бы чтоб АВРы можно было прошывать через USB + поддержку debugWIRE, а то уже надоело шыть через ICProg + FunCard! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться