|
Сделал свой программатор и озадачился протоколом STK, Просветите кто в теме |
|
|
|
Oct 20 2008, 15:28
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Сделал железяку программатора через USB на FT232 и ATMEGA8 с портом SPI, с изоляцией и со сдвигом уровней в диапазоне 1.15-5.5В (раньше через байт-бластер шил через LPT и AvReal, а теперь нотбук, у него нету LPT). Теперь занялся писанием софта контроллера программатора. Посмотрел (достаточно бегло) протокол STK500 v2 (AVR068), варианты реализаций от Doper, Prottoss, Tuxgraphics. И вот что-то не въезжаю, если реализовывать именно STK500 v2, ведь железо (моё в частности) не может ни параллельное программирование, ни HV, ни многие опции настроек поддерживать. Тогда некий кострат получится. А в описании протокола STK500 почему-то ещё упоминается про железо AVRISP (там и строчка "отзыва" соответствующая), который поменьше может. В чём разница то (по железу)? Может надо как раз его реализовывать? В общем какой протокол сейчас лучше запихать в программатор (типа моего)? Хотелось бы, чтобы протокол не привязывался к конкретным чипам (как AVR910). Просто я последнее время отошёл от AVR-ок (Армами занимался) и упустил "бразды". А тут снова возникла потребность.
|
|
|
|
|
 |
Ответов
|
Oct 21 2008, 14:20
|

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

|
Цитата(Dimonira @ Oct 20 2008, 20:35)  Т.е. STK500 получается работает (шьёт и читает) шустрее чем AVRISP. У STK500 и кварц, как я понял 7.3728 МГц (у меня, кстати, такой же), что вдвое больше чем у AVRISP. Макс скорость ISP у них одинаковая ~1Mhz. STK500 просто дополнительно должен (и может): 1. генерить клок для таргет процессора (сокета), до 3 с хвостиком Mhz. 2. и клок для PP режима. в AVRISP кварц 3.6864Mhz. Насчет кварца в STK500 уточню вечером. Цитата Выходит, всё же лучше кастрированный STK500? Если Вам только ISP, то не лучше.
|
|
|
|
|
Oct 21 2008, 15:11
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(defunct @ Oct 21 2008, 18:20)  Макс скорость ISP у них одинаковая ~1Mhz. Ну, я так понимаю, это определяется скоростью обмена 115200 бит/с. Цитата(defunct @ Oct 21 2008, 18:20)  STK500 просто дополнительно должен (и может): 1. генерить клок для таргет процессора (сокета), до 3 с хвостиком Mhz. 2. и клок для PP режима. Я у себя сделал как и в схеме Prottoss-а - вывел дополнительно вывод PB1 на 3 контакт 10-пинового ISP. Так что можно тоже клок генерить. В своё время я делал нечто такое и в байт-бластере (как Real рекомендовал). Один раз, но всё же, это спасло контроллер при неправильном прошитии фуза выбора генератора тактовой. Вот только пока я не очень въехал, завязывать ли как-то настройку этого клока с протоколом STK? Там есть какие-то опции, связанные с генерацией такта. Пока не разобрался. Есть мысли? Или жёстко его как-то задать? Хотя, надо же тогда увязывать с частотой клока SPI, так что наверное надо как-то увязать. Цитата(defunct @ Oct 21 2008, 18:20)  Если Вам только ISP, то не лучше. В принципе в части ISP там большой разницы вроде нет. Что-то там связано опять же с тактом работы SPI, у них вроде по-разному, ещё не вникал. Цитата(BSV @ Oct 20 2008, 23:58)  Ну, ADuM - понятно, дороговато только. Ну, извините. Сотня с чем-то рябчиков дорого? Нельзя экономить на инструментах. Хотите сделать нормальный инструмент, надо немного потратиться. А если хотите сделать себе одну-две штуки, дык вообще можете сэмплами заказать бесплатно (я пока так и сделал). Цитата(BSV @ Oct 20 2008, 23:58)  Про ADG330x тут что-то нехорошее писали, применяли их раньше? Я не применял. Видимо пришло время  Нехороших отзывов как-то не попадалось. Так что надеюсь на AD. Пока вроде не подводил. Цитата(BSV @ Oct 20 2008, 23:58)  Из собственных воспоминаний по даташиту - питание с одной стороны должно быть всегда больше чем с другой. А наличие вторичного источника многое объясняет, спасибо. Вот именно. Имеем 5 В питания, к которой подключаем ту "половину" ADG, которая хочет большего питания чем другая. А другую подключаем на внешнее "общение" по ISP. Внешнее питание получается и будет меньше или равно, как положено.
|
|
|
|
|
Oct 22 2008, 05:12
|
Местный
  
Группа: Свой
Сообщений: 405
Регистрация: 4-10-04
Пользователь №: 777

|
Цитата(BSV @ Oct 21 2008, 23:21)  Тут есть один тонкий момент - если от USB плату отключат, а от таргета нет? До свидания буфер? ХЗ. Думаю, что сейчас, когда возился с платой и подключениями, у меня так было и не раз. Но пока ничего не случилось. Возможно, что соотношение питаний важно для правильной работы драйвера. Именно работы, а не существования  При отключении от USB никакой работы быть не может, так что неважно, правильно транслирует уровни драйвер или нет. Главное, чтобы жил. Цитата(defunct @ Oct 22 2008, 01:06)  Некие "свои" команды - это плохая идея. Ну почему же? Если добавляется какой-то полезный функционал, которого нет в стандартном девайсе? Не хотите - не пользуетесь, это же ни к чему не принуждает. Цитата(defunct @ Oct 22 2008, 01:06)  А конфигурацию которую вам задаст напр. AVR-Studio надо запоминать и хранить в EEPROM'е само-собой. Не очень понятно что надо хранить? По описанию в протоколе, единственная хранимая настройка - полярность RESET. Хотя даже этого я ни в одном из "клонов" не видел. Цитата(defunct @ Oct 22 2008, 01:06)  Стандартный протокол предусматривает возможность задать частоту SPI 600Hz (для девайсов работающих от часового кварца с фузом предделителя частоты на 8, т.е. для случая когда чип работает на 4Khz). Я как-то упустил (сейчас в голове некая каша "варится"), есть ли требование по частоте работы SPI в режиме программирования в зависимости от частоты работы целевого кристалла? Что-то я такое видел, но не помню детали. Цитата(defunct @ Oct 22 2008, 01:06)  AVRISP используется для прошивки конкретных устройств где напряжение таргета и так известно, или в крайнем случае его можно единожды измерить тестером. Тестер у программиста скорее отсутствует чем присутствует. Имхо в случае траблов было бы неплохо оперативно знать состояние питания target.
|
|
|
|
|
Oct 22 2008, 16:18
|

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

|
Цитата(Dimonira @ Oct 22 2008, 08:12)  Не очень понятно что надо хранить? По описанию в протоколе, единственная хранимая настройка - полярность RESET. Хотя даже этого я ни в одном из "клонов" не видел. STK500 может хранить настройки наряжений таргета и Aref. Также вероятно должен хранить последнюю установленную скорость SPI. Насколько помню эти параметры не сбрасываются при вкл/откл питания. (уточню вечером). Цитата есть ли требование по частоте работы SPI в режиме программирования в зависимости от частоты работы целевого кристалла? Что-то я такое видел, но не помню детали. Частота SPI должна быть не выше 1/4 частоты целевого девайса. Цитата Тестер у программиста скорее отсутствует чем присутствует. Имхо в случае траблов было бы неплохо оперативно знать состояние питания target. У программиста который делает свои устройства сам - врятли нет тестера. Из отрицательных сторон (так сказать доп. хлопоты) - лишний пин на разъеме, плюс некоторые программаторы могут блокировать работу когда видять Vtaget 0. (программаторы всмысле soft работающий с STK). Цитата(Dimonira @ Oct 22 2008, 09:44)  Вот тогда и получается, что "железным" SPI такого не достичь. Тогда вылезает программная реализация с перебором пинов и отмериванием задержек. Так? Или я что-то недопонимаю? Я бы порекомендовал не заморачиваться программным SPI в первой реализации. Официальные прошивки AVRISP и те их не особо жаловали (по крайней мере версии 1.02-1.04 точно, на них пробовал) - установить давали, а на деле работало минимум 28.8k.
|
|
|
|
Сообщений в этой теме
Dimonira Сделал свой программатор и озадачился протоколом STK Oct 20 2008, 15:28 defunct Цитата(Dimonira @ Oct 20 2008, 18:28) А в... Oct 20 2008, 15:53   defunct Цитата(Dimonira @ Oct 21 2008, 18:00) Ну,... Oct 21 2008, 15:27    Dimonira Цитата(defunct @ Oct 21 2008, 19:27) Что ... Oct 21 2008, 19:16     defunct ЦитатаНасчет кварца в STK500 уточню вечером.
STK50... Oct 21 2008, 21:06      Dimonira Цитата(defunct @ Oct 22 2008, 01:06) Стан... Oct 22 2008, 06:44      Dimonira Цитата(defunct @ Oct 22 2008, 20:18) STK5... Oct 22 2008, 17:08       defunct Цитата(Dimonira @ Oct 22 2008, 19:49) Как... Oct 22 2008, 17:09        Dimonira Мда. Вчера поздним вечером был пробный запуск. Ком... Oct 22 2008, 17:29         defunct Цитата(Dimonira @ Oct 22 2008, 20:29) А в... Oct 23 2008, 10:42 BSV Цитата(Dimonira @ Oct 20 2008, 19:28) с и... Oct 20 2008, 19:18 Dimonira Цитата(BSV @ Oct 20 2008, 23:18) А можно ... Oct 20 2008, 19:43  BSV Цитата(Dimonira @ Oct 20 2008, 23:43) Схе... Oct 20 2008, 19:58 Dimonira Хорошо, попробую. У меня просто нет готовой платки... Oct 23 2008, 15:37 Dimonira Байда какая-то. Не входит в режим программирования... Oct 25 2008, 17:31 defunct Цитата(Dimonira @ Oct 25 2008, 20:31) И, ... Oct 25 2008, 20:32  Dimonira Заработало! Пока читаю сигнатуры, фузы. Осталь... Oct 25 2008, 21:08   defunct Цитата(Dimonira @ Oct 26 2008, 00:08) Зач... Oct 25 2008, 22:05    Dimonira Цитата(defunct @ Oct 26 2008, 02:05) Дык ... Oct 25 2008, 22:54
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|