Как прочитать 8MHz Calibration Byte в PonyProg?

Volante24

Кто-нибудь может подсказать, как прочитать 8MHz Calibration Byte в AVRе (ATTINY26), используя только PonyProg (на COM-порте)? Пока все, что бы я ни делал с ним, выдает лишь этот байт для 1MHz.

Еще вопрос – в AVRStudio дебаггер предполагает, что проц работает на 4MHz, а я использую его на 8MHz. Не смог найти, как поменять этот default…

PigTail

По даташиту после ресета автоматом грузится калибровка на 1 МГц, остальные надо вручную грузить, так что наверное понипрогом не удастся.

Volante24
PigTail:

По даташиту после ресета автоматом грузится калибровка на 1 МГц, остальные надо вручную грузить

Так точно.

наверное понипрогом не удастся.

Я думаю, что Понипрог не читает загруженное значение (поскольку при чтении чип ресетнут), а посылает контроллеру специальную команду на чтение калибровочного байта (она описана в даташите). Ее второй байт, во всяком случае для ATTINY26, определяет, который из калибровочный байтов МК выдаст в ответ. Так что, в принципе, все 4 байта должны читаться с одинаковой легкостью. Проблема, видимо, в Понипроге, наверное, они просто не предусмотрели там другие опции в команде.

А есть в этом Понипроге какая-нибудь “железная” мода, где было бы можно указать свою команду по битам или байтам, и прочитать ответ МК?

PigTail

ХЗ нету уменя понипрога, разоритесь на Драгон уж коль во внутренностях контроллера ковыряетесь.

Volante24
PigTail:

разоритесь на Драгон уж коль во внутренностях контроллера ковыряетесь.

Драгон? Кто такой, и почему не бесплатный? Вообще-то я это так, для удовольствия, ковыряюсь…

SergGP
PigTail:

Атмеловский девайс www.atmel.com/dyn/products/tools_card.asp?tool_id=… стоит порядка 60 баксов и будете с удовольствием ковыряться.

уж лучше AVRISPMKII usb
смоделировать и в проге можно, зато этип программировать удобнее, и (над пилотажевскими регулями издеваться 😛)

Chekhov

А разве пятью проводками + CVAvr нельзя? ( или нету LPT ).
Может и ПониПрог’овский проггер с ним будет работать.

У меня самого параллельный программатор - клон STK500.
Der-Hammer называется.

Volante24
PigTail:

разоритесь на Драгон

Уж коль перешли на тяжелую артиллерию, подскажите: наверное, умельцы уже сделали девайсы для перехватывания/записи/имитации сигналов, по COM порту или просто по проводу. Можно бы попробовать их здесь использовать (для подделки двух битов в запросе от программатора). А заодно я давно хотел иметь возможность схакнуть сигналы программирования некоторых контроллеров бесколлекторников (они программируются со специального программатора, и если он вдруг накроется, то непонятно, можно ли будет ими нормально пользоваться).

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

Chekhov:

А разве пятью проводками + CVAvr нельзя? ( или нету LPT ).
Может и ПониПрог’овский проггер с ним будет работать.

Так и у меня программатор на пяти проводках (точнее, шести), спаян из зенеров. А у Пони просто такой команды, похоже, не предусмотрено на чтение других калибровочных байтов. LPT есть, и даже его кабель для раздраконивания есть. А нельзя ли по-подробнее насчет пяти проводков с CVAvrом? Для меня это все новые слова… (Нет, до пяти я считаю и с проводами не конфликтую, это я насчет самой концепции!)

Chekhov

Пони Прогом не пользовался.
CodeVisionAVR - среда программирования.
у меня версия V2.03.4
Можно в нете найти ломаную, скачать ( <5 метров ). Мне нравиться. Читать Calibration Byte можно , но у меня нету МК, где он запрограммирован.

Volante24
Chekhov:

CodeVisionAVR - среда программирования.
Читать Calibration Byte можно

А эта среда на какое железо рассчитана?

PigTail

К сожалению Драгон это не тяжелая артиллерия, поделка для мелких авр, для любителей типа меня. Погуглете “сниффер com порта”, найдется предостаточно, только насчет хака вопрос сложный данные могут быть зашифрованы, получить Вы их получите, а толку не будет.
CV программит со следующим железом:

Kanda Systems STK200+ and STK300
Atmel STK500 and AVRISP
Atmel AVRISP MkII (USB connection)
Atmel AVR Dragon (USB connection)
Atmel JTAGICE MkII (USB connection)
Atmel AVRProg (AVR910 application note)
Dontronics DT006
Futurlec JRAVR
MicroTronics ATCPU and Mega2000

Volante24
PigTail:

Погуглете “сниффер com порта”, найдется предостаточно, только насчет хака вопрос сложный данные могут быть зашифрованы, получить Вы их получите, а толку не будет.

Да нет, я же не логины в банки собираюсь нюхать. Протоколы ESC примитивны. А как Pony (да и другие программаторы) коммуникируют с МК – это просто документировано, так что шифровать там нечего. Если кто и зашифрует, так МК не будет отвечать.

PigTail:

Погуглете “сниффер com порта”, найдется предостаточно

Попробовал погуглить, сразу всплыла, например
COM Port Sniffer на www.com-port-monitoring.com/
По описанию, вроде то, что надо. Но: только trial version, на две недели. Неохота разбираться с программами всего на две недели… А есть ли что-нибудь по-настоящему бесплатное? Мне не нужно что-то высокопрофессинальное, я ж любитель… (халявы😈)

А по поводу устройств типа ESC, я имел в виду нечто иное – там не обычный последовательный обмен, а попроще, по одному проводу. Так для этого дела я интересовался чем-то вроде просто рекордера импульсов. Такое что-нибудь готовенькое имеется, чтобы самому огород не городить?

PigTail

Мне все как-то триальных хватало, не было долговременных задач, триальность иногда решается удалением/чисткой реестра и переустановкой по мере надобности… По одному проводу это 1-wire что ли?

Volante24
PigTail:

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

То есть пробовать ту trial version, это советуете? Я не совсем врубился…

По одному проводу это 1-wire что ли?

Ну я не знаю, как это все назывется по-научному. Подсоединяются эти карточки к ESC обычным их серво-проводом, по черному идет земля, по красному 5В, а по третьему тот самый сигнал, как и с сервой. Но только эти программируемые ESC, видимо, не только читают этот третий провод, но могут и тягать его вверх и вниз. Вот и хочется прочесть, чем и как они там обмениваются по этому проводу.

PigTail

Э… я давно не баловался снифферами кома, уж не помню названия 😦, да и дело в функциональности, если она Вас устраивает то и пользуйте.
А ссылочку на эти ESC не кините?

Volante24
PigTail:

А ссылочку на эти ESC не кините?

Конкретно тот ESC, который я имел в виду, это eBay, item=260273683715. Но есть и другие, тоже программируемые (пока что я их всех только на eBayях покупал, но у разных людей). А по поводу их протокола, бОльшее, что я видел, было на чьей-то странице, по-моему это сайт Vad64 с Александром, один из их мелких проектов (если не путаю). Если не найдете, то могу порыться в своих букмарках, но у меня тут с этим кабак…

PigTail

Ага, понятненько, я то думал Вы программу заливаете в микроконтроллер… 😃

Vad64
Volante24:

Кто-нибудь может подсказать, как прочитать 8MHz Calibration Byte в AVRе (ATTINY26), используя только PonyProg (на COM-порте)?

Можно через скрипт. Или залезть в исходник PonyProg, он открыт.

Volante24
Vad64:

Можно через скрипт.

А конкретно синтакс команды не приведете? А то я точного описания не нашел, а то, что пробовал “по аналогии”, не срабатывало.

Или залезть в исходник PonyProg, он открыт.

Он, наверное, на C, а я его не знаю…

PigTail:

Ага, понятненько, я то думал Вы программу заливаете в микроконтроллер… 😃

И то, и другое. Это две совсем разные задачи. Просто, когда зашла речь о железе, пришла мысль задать и второй вопрос, имеющий отношение к перехвату обмена данными.

Vad64
Volante24:

А конкретно синтакс команды не приведете? А то я точного описания не нашел, а то, что пробовал “по аналогии”, не срабатывало.

В понипроге вообще-то есть встроенная справка

READ-CALIBRATION <address>[mem][osc_index]

Description:
Read the internal oscillator calibration value from the AVR and write it to a location in the buffer at the specified address (and memory type DATA or PROG). The osc_index argument specify which calibration value should be read since some AVR have several oscillator frequencies. The osc_index argument is available only from the 2.06c version
Example:
SELECTDEVICE ATMEGA128
READ-CALIBRATION 0x100 DATA 3
Read the oscillator calibration value for 8MHz frequency

Только модификаторы DATA и PROG, вроде, разницы не делают

Volante24
Vad64:

В понипроге вообще-то есть встроенная справка

READ-CALIBRATION <address>[mem][osc_index]

Description:

Example:
SELECTDEVICE ATMEGA128
READ-CALIBRATION 0x100 DATA 3
Read the oscillator calibration value for 8MHz frequency

Только модификаторы DATA и PROG, вроде, разницы не делают

Именно это я и делал, следуя приведенному описанию. Только заменил ATMEGA128 на ATTINY26 (одно из того, что я упоминул, как “по аналогии”). Вот оно и не работало, выдавало одно и тоже значение, что и вообще без DATA. Даже если написать DATA 27 – все то же число. Может, PonyProg чего-то не знает про ATTINY26, и не нужно было заменять с ATMEGA128? Этого я не пробовал…

Вряд ли все calibration байты на моем контроллере в точности совпадали! Так что я расцениваю это как то, что команда не работает так, как должна. Могу, конечно, еще поэкпериментировать, но как то вроде здесь особого простора и нет…

Может быть, какая точно команда исполняется для данного МК, прописано в каком-нибудь конфигурационном файле PonyProgа? Что это за файл и как выглядит соответствующая строка?

Vad64

Выполняю файл
SELECTDEVICE ATTINY26
READ-CALIBRATION 0 PROG 0
READ-CALIBRATION 1 PROG 1
READ-CALIBRATION 2 PROG 2
READ-CALIBRATION 3 PROG 3

и вижу появление в начале буфера 4х разных байт калибровки

Volante24
Vad64:

Выполняю файл

и вижу появление в начале буфера 4х разных байт калибровки

Отлично! Попробую именно это, наверное, я делал что-нибудь “немного неправильно”.