Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заливка кода по SPI без программатора
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Serg.L
Подскажите пожалуйста ссылку где описывается заливка кода в микроконтроллер по SPI без использования внутрисхемного программатора. Где-то видел простой переходник на LPT порт и небольшую программу, но где именно- не могу найти. В частности интересует такой переходник на атмеловский AT89S8252
nml
Цитата(Serg.L @ Aug 26 2004, 02:00 PM)
Подскажите пожалуйста ссылку где описывается заливка кода в микроконтроллер по SPI без использования внутрисхемного программатора.

Для AVR - welcome сюда
VadikT
Можно собрать простенький STK200-300 на АП5 или 74HC244.
Заливать можно через PonyProg. Если нужно, могу прислать схемку и печатку в формате P-CAD2002. 51е ядро у Atmel, по-моему, тоже внутрисхемное программирование по SPI держит.
ALexx
Цитата(VadikT @ Aug 27 2004, 10:24 AM)
51е ядро у Atmel, по-моему, тоже внутрисхемное программирование по SPI держит.

Действительно держит, проверено на AT89S8252.
В прикреплении схемка. Распаивается на макетке и прячется в корпусе разъема
DB25 - выходит только шлейф с IDC10 на конце.
Поня тоже работает без проблем
vsn
Раз уж коснулось дело программирования, поделюсь собственным опытом программирования ATMega128. Зашиваю понипрогом, но схемку рекомендую слегка дополнить: параллельно сигналу SCK вешается кондер на 1 нФ, так гораздо лучше (при управлении ресетом ч/з супервизор, по крайней мере), далее. Для более надежного входа в режим программирования использую вход /PEN - притягиваю его к "земле". Это можно сделать автоматом разводкой платы: подвести этот сигнал к "4" разъема, тогда при засовывании шлейфа в разъем, данный вывод коннектится автоматом к земле внутри программатора. Но тогда после каждого программирования надо будет доставать шлейф, что бы включить устройство. Для того, чтобы этого не делать, в большинстве случаев помогает соединение вывода /PEN контроллера с контактом "3" (LED) разъема.
Заодно выложу измененную схему программатора.
А для тех, кому лень искать микруху, компоновать все, в общем любителей экстрима могу предложить альтернативный вариант программатора:
LPT(9) - RESET
LPT(6) - SCK
LPT(7) - MOSI
LPT(10) - MISO
LPT(18..25) - GND
LPT(2) - LPT(12) - перемычка
Всем удачи! cheers.gif
aal
www.ic-prog.com

Этот много что програмит. И ат89ы8252 тоже...
cpl
Цитата(Serg.L @ Aug 26 2004, 13:00)
Подскажите пожалуйста ссылку где описывается заливка кода в микроконтроллер по SPI без использования внутрисхемного программатора. Где-то видел простой переходник на LPT порт и небольшую программу, но где именно- не могу найти. В частности интересует такой переходник на атмеловский AT89S8252
*


Кинь емайл перешлю.
-Tумблер-
Цитата(Serg.L @ Aug 26 2004, 13:00)
Подскажите пожалуйста ссылку где описывается заливка кода в микроконтроллер по SPI без использования внутрисхемного программатора. Где-то видел простой переходник на LPT порт и небольшую программу, но где именно- не могу найти. В частности интересует такой переходник на атмеловский AT89S8252
*


Посмотри тут:
http://spiprog.chat.ru
http://spiprog.narod.ru
smile.gif
vilkin
AVREAL рулит! Правда ваш камень не поддерживает. Но штука полезная. http://www.ln.com.ua/~real/avreal
Roamer
Точно, SpiProg - классная штука. С тех пор, как я открыл для себя wink.gif внутрисхемное программирование на AT89s8252 - только им и пользуюсь совместно с ByteBlasterMV. До того пробовал и с STK2000 - тоже все ОК.
Alexandr
Цитата(Serg.L @ Aug 26 2004, 14:00)
Где-то видел простой переходник на LPT порт и небольшую программу, но где именно- не могу найти. В частности интересует такой переходник на атмеловский AT89S8252
*

А не это ли вы искали ? (Схема и програмный код в одном файле)
Эту штуку я в свое время спаял - работает. Правда эти оптроны не нашел, купил какие были, и поэтому номиналы сопротивлений у меня другие. А инвертор взял КР1533ЛН8 с большим током. Только программа написана на Паскале, я ее переписал на Си. Свой Си-шный исходник чего-то найти не могу. Если правда надо - могу покопаться.
gek
Скачал последнюю версию SPIWC.exe 5.97 (поверх старой)
При запуске выледает ошибка!

Assertion failed: elemType->tpClass.tpcFlags & CF_HAS_DTOR, file xx.cpp, line 3905
Abnormal program termination

Теперь ни чего сделать не могу sad.gif
Стоит WinXP Profession, DLPortIO.
Поставил еще LPTVampir.sys как рекомендовано.
Результат нулевой.
Что делать?

зы: Тут вроде сам разработчик обитает, респект ему.
-Tумблер-
Цитата(gek @ Mar 9 2005, 08:31)
Скачал последнюю версию SPIWC.exe 5.97 (поверх старой)



так прямо сразу и не скажу..
Раз надо работать - лучше вернуться к предыдущей версии.

О-ПА-НЬКИ !!
Посмотрел-скачал файлы !! ПОЖАР нафик.
C http://spiprog.chat.ru скачивается битый файл.
На http://spiprog.narod.ru - файл нормальный.

Шас все будем менять-проверять.

Но все равно - прошу прощения..
sad.gif
-Tумблер-
Вот "такая загогулина".. как перевел Гоблин уж не помню в каком
фильме. Действительно, битый файл.
Ссылка изменилась (стало зазипповано):
http://spiprog.chat.ru/spiwc.zip

smile.gif
gek
Цитата(-Tумблер- @ Mar 9 2005, 13:47)
Вот "такая загогулина".. как перевел Гоблин уж не помню в каком
фильме. Действительно, битый файл.
Ссылка изменилась (стало зазипповано):
http://spiprog.chat.ru/spiwc.zip

smile.gif
*

Цитата
--- SPI-LOADER V5.97 22.02.2005 ---
  W32 CONSOLE-VERSION (intel-386) W95-XP
  port95nt.exe drivers need (AVReAL compatible)
  for XP strongly it is recommended to use the driver Lptvampir.sys
  Web: http://progrex.narod.ru/, FILEs: LPTVAMPIR.ZIP

  ESC - Exit
  CABLE TYPE: ALTERA ByteBlaster
  Chip : AT89S8252


И потом вываливается окошко, что программа выполнила недопустимую операцию. Похоже, что прога не видит драйвера Lptvampir.sys. Мне казалось, что при первом запуске прога написала, что-то типа "опа у вас установлен драйвер" или мне это приснилось
-Tумблер-
Цитата(gek @ Mar 11 2005, 05:06)
И потом вываливается окошко, что программа выполнила недопустимую операцию. Похоже, что прога не видит драйвера Lptvampir.sys. Мне казалось, что при первом запуске прога написала, что-то типа "опа у вас установлен драйвер" или мне это приснилось


Если все-таки у Вас "исправный" файл программатора, то:
Судя по листингу она действительно не видит LptVampir.sys.
Но это и не важно. Хотя и странно.
Этот драйвер нужен только чтобы сделать доступ к LPT-порту
монопольным. Lock-LPT делается в момент перед выдачей
сообщения об этом. Которое Вам не привиделось. Если Вампира нет -
ничего и не делается. Порт не запирается.
В дальнейшей работе Вампир участия не принимает.

Судя по диагностике, крах произошел в момент обращения к LPT-порту,
когда началась реальная работа с LPT-портом. Которая происходит
посредством драйвера из набора port95nt.
Что-то запортилось, не пойму что.

Можно предложить следующее:
1. запустить предыдущую версию spiwc (5.96) - все то же самое, но без
вампира.
---не помогло
2. Удалить из системы LptVampir
---не помогло
3. Переустановить port95nt

Версию 5.96 приаттачена

Если можно, пишите на мэйл :
spiprog@mail.ru
-Tумблер-
Проблема решена. Моя ошибка - виноват.. sad.gif
gek
Цитата(-Tумблер- @ Mar 12 2005, 18:48)
Проблема решена. Моя ошибка - виноват.. sad.gif
*

Ну вот, теперь все ОК.

at893825
Size ROM =8192 Size Flash =2048
а должно быть
8K Flash Memory, 2k EEPROM
но не принципиально

а вопрос у меня такой (может глупый), дле чего 2 типа памяти? могу ли я в процессе работы контроллера записывать данные в энергонезависимую память (защищенную Lock битом от внешнего считывания), не используя внешнею флешпамять?
-Tумблер-
Цитата(gek @ Mar 14 2005, 10:26)
дле чего 2 типа памяти? могу ли я в процессе работы контроллера записывать данные в энергонезависимую память (защищенную Lock битом от внешнего считывания), не используя внешнею флешпамять?


Жуки с внутренним EEPROM-ом (я упорно называю это FLASH, поскольку
так привык huh.gif ) конечно всегда могут читать/писать
эту память. Независимо от установленной защиты. Обычно там хранится
информация, которая:
1. может меняться во время эксплуатации прибора. (уставки, "рукоятки" и.т.п.)
2. отражает индивидуальные особенности прибора. (калибровочные хар-ки)

А вот внутреннюю память программ (ROM) менять "сами себе" могут
далеко не все процессоры. Из серии AT89S.. - никто.
Это нужно читать доки на конкретный процессор.
Среди AVR-ов есть такие, но я с ними не работал.
<_<
gek
а строчек 10 на асме привести для примера не трудно для at89s8252?
напрмер счетчик запусков, что бы писался в 15h адрес (2k EEPROM).
-Tумблер-
Цитата(gek @ Mar 14 2005, 18:15)
а строчек 10 на асме привести для ..
*


На ассемблере не писал уж миллион лет - сходу боюсь
ошибицца. Могу дать пример на С.
К тому же С - компилер может выдать и ассемблерный
листинг, если интересно. В крайнем случае, можно
использовать С-текст как блок схему.
gek
Ну так это еще клевее
спасибо
gek
Tумблер, у меня собран STK200/300/Baytblaster программатор, есть ICProg. Спокойно программирую 89s8252, atmega128(твоей прогой), т.е. шнурок рабочий и с ICProg работает. Вопрос такой, как подключить к нему at24c256 для чтения записи, ни как не получается?
-Tумблер-
Цитата(gek @ Apr 27 2005, 11:11)
..шнурок рабочий и с ICProg работает. Вопрос такой, как подключить к нему at24c256 для чтения записи, ни как не получается?


Не совсем понял вопрос...
spiprog на такие микросхемы я не "затачивал", хотя и можно было бы..
Про другие программаторы не знаю. Не пользовал.

И вот почему:
Действительно, я использую и такие микросхемы.
AT24C01,C64,C512.
Однако никогда не пользую внешний программатор.
Это принципиальная (для меня)...эээ..технология.
Где-то здесь была уже горячая дискуссия.. smile.gif

Кратенько дело в следующем:
1. если при старте процессор обнаружит чистый EEPROM он
пропишет его уставками и калибровочными кривыми "удобными для калибровки". И последующей наладки. Работа с пониженной точностью.
2. если при старте процессор обнаружит частично испорченные данные
он восстановит их. Нормальная "штатная" работа.
3. если при старте процессор обнаружит полностю испорченные данные
(случай невозможного восстановления оригинальной прошивки)
он пропишет "дефаултные" установки и "среднестатистические"
калибровочные характеристики.Работа с пониженной точностью. Но лучше, чем п. 1

В результате во всех случаях прибор в целом будет работоспособен,
хотя в некоторых случаях - с пониженной точностью.
Кроме того, удобнее для производства брать AT24C512 из коробки
и запаивать. А процессор сам все сделает.

Если речь идет о "ремонте там чего-то" cranky.gif так есть у меня
параллельный программатор. В крайнем случае можно использовать
старый макет с микроконтроллером.. glare.gif
gek
Не, ты не понял вопроса
Есть програмка ICProg
В нем выбирается STK200 и выбирается ат24с256
Можно предположить, что при помощи этого шнурка и icprog можно запрограмить at24c256.
Как ее подключить к stk200? Шнурок рабочий!

Конечно я могу воспользоваться Тритоном (супер программатор!), но хотелось бы стк200 юзать.
-Tумблер-
Цитата(gek @ Apr 29 2005, 06:30)
Не, ты не понял вопроса


Так я об этом прямо и сказал.
И все же ответил я точно - почему я этого не знаю как сделать,
и почему мне этого в принципе не нужно.
huh.gif
И все же разобраться с этим вопросом можно sad.gif
идем на
http://www.ic-prog.com, там читаем и находим (приаттачено).

Хотя конечно, документация не везде совершенно точная.
Но если копнуть, можно понять, что хотел автор.
Единственное, что еще удалось узнать из инета
нашлепав клавиатурой:
www.yandex.ru "ICProg" это то, что не только у тебя проблемы
с программированием I2C жуков этим программатором.
Тут можно посоветовать подтяжки-резисторы на сигналы SDA, SCL ~4K7 на +5V. В документации автора ICProg я об этом ничего не нашел.
Ничего иного в голову не пришло.
Или прямо написать автору "почему у меня не получается"
smile.gif
gek
Из первого собщения я понял только, что ты STK не используешь для программирования этой м-мы и это не есть отвт на мой вопрос.
Что куда подключить? SCL м-мы на TCK/CLK, SDA на TDO/MISO(TDI/MOSI)?
Так? Просто я думаю, что тебе лучше знать.
В хелпе нет ответа на этот вопрос.
-Tумблер-
Цитата(gek @ May 4 2005, 04:43)
Из первого собщения я понял только, что ты STK не используешь

Для программирования таких микросхем я вообще не использую никакие
программаторы. Никогда.И, как мог, обьяснил почему. smile.gif
По поводу ICProg лучше спросить у автора.
Из его документации "как это сделать" не понятно и мне тоже.

Цитата(gek @ May 4 2005, 04:43)
Что куда подключить? SCL м-мы на TCK/CLK, SDA на TDO/MISO(TDI/MOSI)?


Не знаю - давай подумаем вместе.
Известно SCK - выход, a SDA - двунаправленный сигнал.
Это значит, надо какой то из входов надо соединять с выходом.
При этом выход должен уметь переходить в 3 состояние.
А другой сигнал - SCK - должен оставаться активным.
Необходимы также нагрузки этих сигналов 4K7 - 10K на +5V.
По схеме понятно, что RESET нельзя использовать как SDA.
(иначе - будет отключаться и вход)
Значит, RESET - это SCK, других вариантов я не вижу.
Вероятно, MISO (вход) нужно соединить с MOSI или CLOCK.
Всего 2 варианта - попробуй. Вдруг получится.
blush.gif
gek
[q]SDA - двунаправленный сигнал[/q]
точно! Все работает!
24с256 / STK200
SCL / CLK
SDA / MISO+MOSI

Где кнопочка "удалить post"
gek
Цитата
SDA - двунаправленный сигнал

точно! Все работает!
24с256 / STK200
SCL / CLK
SDA / MISO+MOSI

На схеме ByteblasterMV установлены подтягивающие резисторы м/д лпт и буфером, подтянуты 2 входных (из вне) сигнала.
У меня м-ма не читалась до тех пор, пока не подтянул еще SCL, прям на программаторе (лишним ни когда не будет), полагаю, что желательно сделать так же и с другими выходными сигналами, на все случаи жизни.
gek
Еще есть PonyProg2000
Все эти проги отлично дополняют друг друга (+icprog+spiprog)
!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.