Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Пришлось еще последний тестик подправить....
mb4012.zip
(143.58 КБ) 273 скачивания
там было "немножко грязючки" :oops: ... теперь нету...
Теперь дописать до полного программатора может любой желающий - основные заготовки в тестовой оболочке уже сделаны, старая версия под ISP для AT89S51/52 так же ранее опубликована (как и еще более "древний" вариант для AT89C2051/4051).
Так что мне можно и не слишком торопиться с окончательным вариантом...
:wink:
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1395
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край

Сообщение главный колбасист »

файл-заготовка программы для AT98S52
; version 1.01 KOBRA softvare
; only c51asm.exe assembler!
;------------------------------------------------------
;
; Projekt _______kotios ( kotuino mode2 )
; Filename ______kotios.asm
; File version __0.1
; начато 16 мая 2021 года
; Autor _________BORIS KRUTITSKIY
;
;------------------------------------------------------
$pagewidth (255)
$da
$include (kotios\baseinc\kotuinko.inc)
;------------------------------------------------------
$include (kotios\librus\dfn_ios.txt) ; файл объявленных имен, бит и констант
$include (kotios\librus\mac_ios.txt) ; файл описания макросов
; вместо name project подставляется имя файла соответствующего проекта
; шаблоны имеют name project = proto
; системная обработка
$include (kotios\librus\io_sys.txt) ; файл переключения в автовыбор для
; переключения памяти программ с РПП на ВПП
;------------------------------------------------------
;
; файлы пользовательской программы
;


$include (kotios\librus\strings.txt) ; файл строк текстовых сообщений ASCII

end
У меня и микросхем то таких в уже не первой свежести AVR studio нет.
only c51asm.exe assembler!
а что это за хрень такая ? :)
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ранее уже писано было - это МК семейства
MCS51 выпускаемые ATMEL - AT89C/S и там с десяток разновидностей.
Атмел студио поддерживает только AVR микроконтроллеры.
Для MCS51 атмелем был сделан кейл-подобный ассемблер (c51asm.exe) с запуском из командной строки.
Ссылки на инструмент разработки были еще где-то в начале "винной"...
( https://radiokot.ru/forum/viewtopic.php?f=62&t=94201 )
А как сегодня разыскать на сайте микрощипа - сказать трудно... там и до документации по современным AVRкам докопаться не так легко...
:dont_know:
Разве что еще разок подготовить архивчик для каталога с настроенными прожками и запускающими батниками да в сундук КОТА предложить к размещению (чтоб потом по ковырдесят раз не копаться в архивах)...
:roll:

Пока что вот такая "напоминалка" - архив каталога, размещаемого в корневом каталоге диска D (иначе переписываем *.bat файлы в соответствие имеющемуся).
https://disk.yandex.ua/d/acM65G-9okpINw
Рассчитано для работы в DOS окне (как в ХР х32, так и в DOS окне 7ки и 10ки) - единственно cmd.exe для ХР х32 уже в каталоге, а для 7-10 надо будет его соответственно туда скопировать.
В каталоге также портабле версия редактора dpad.
Запускающий батник для AD2500 комплекта - a.bat
для c51asm - at.bat
Так что - разобраться таки можно будет.
:tea:
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

И постигла меня ПЕЧАЛЬКА...
:(
Все в теории и на макетке вроде так как требуется, но вот старую AT89C51 никак в режим программирования вогнать не удалось...
Сигнатурку видим, ПЗУ читаем, а прошивать - никак.
Предположительно ошибки разводки платки... возможно преобразователь (хотя на осциллограммах все без нареканий...) или вариант обмена с шинным расширителем придется модернизировать...
:dont_know:
Вобщем пока придется отложить ту "жгучу платку" в приложении к AT89C51 да проверить на всяк случай сам МК на заведомо исправном программаторе все ж валялся весьма долго...
В худшем случае модернизированная схемка "прожигайки"
https://img.radiokot.ru/files/20529/2ldyvr98hd.GIF
и "менюшкин интерфейс" пойдут для работы с менее привередливыми к скоростям железячками.
:roll:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Придется таки отказаться от комбинированной системы управления, задав все критичные функции на шинный расширитель.
В принципе как-то не ново - уже на ISP варианте сталкивался с "ограичением на медлительность", да ранее примерно тот же подход был...
Так что перепахамс схемку "прожигалки" в плане "новых мыслей" вот под такое:
https://img.radiokot.ru/files/20529/2lfi1e39e3.JPG
а далее ... все заново переписывать...
:facepalm:
мнндяаа...
:write:
Вот, кстати, весьма древний вариант подобного устройства (самого простейшего)
https://img.radiokot.ru/files/20529/2lelek3h67.GIF
Кому-то давненько отдал - да и чегодня бы все равно пришлось интерфейс переделывать - та железяка под LPT была заточена...
ЭЭЭХХХхххх....
Антикварьять - ностальжи...
:sleep:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вышла новая версия симулятора ардуино - 2.9.2
(да еще с каким-то Q2WDBotSim... :roll: )
смотрим тут
https://www.sites.google.com/site/unoardusim/
8)

Продолжаемссс работу над программатором для 40-лапых...
Вторая попытка для модуля "прожигайки" с измененной чуток схемкой и подизвращенная прожка для контроллера "прожигайки":
fb4012.zip
(172.94 КБ) 240 скачиваний
тестики для комплекта попозже по готовности будут.
Поглядимссс.... чего на этот раз получится...
:roll:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

ДОСАДКО...
:oops:
Совсем упустил из виду пакостную особенность параллельного режима - при установленных флагах защиты кристалл читается как "пустой"("чистый"), но запись данных в него провести невозможно.
А вот статус бит защиты у АТ89С51/АТ89С52 аналогично сигнатуре просмотреть невозможно (их можно только установить или сбросить).
Неделя к....
Зато и схемку и алгоритм вычухал по максимуму...
:twisted:
Теперь чуток отредактировать "грязючку" да описание работы и можно будет выгрузить "на всеобщий поцарапс".
:hunger:
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Проект PG4012.
В основе та же базовая КОТУИНКО с биосом версии b52m1.
b52m1.zip
(442.67 КБ) 238 скачиваний
Для работы в ПК как и ранее применяется терминал:
https://sites.google.com/site/terminalbpp/
выбираем версию Terminal20130116.zip - эта стабильна и наиболее наворочена.
Для работы с АТ89С51/АТ89С52 была изготовлена «жгучая плата» FB4012 с собственным МК «периферийного расширителя» на базе AT89S51 (прошивка для которого одинаково работает и в АТ89С51) с прошивкой fb.hex версии 0.4.
fb4012.zip
(172.34 КБ) 243 скачивания
Третий компонент — собственно управляющая программа для всего комплекса в сборе — файлик mb.hex версии 0.3, загружаемый в котуинку.
mb4012.zip
(164.33 КБ) 234 скачивания
Остальные действия проводим согласно контекстному меню с помощью терминала.
Программатор позволяет
1. настроить номинал напряжения +12 вольт
2. определить какой МК установлен (по байтам сигнатуры)
3. загрузить целевой файл прошивки из ПК в программатор
4. провести полное стирание МК
5. провести контроль «чистоты» ПЗУ МК
6. провести запись дампа из памяти программатора в ПЗУ МК с одновременной верификацией результата.
Блок-схема комплекта:
https://img.radiokot.ru/files/20529/2lr3u6cbby.JPG
описание процесса работы «в картинках»:
запускаем терминал
https://img.radiokot.ru/files/20529/2lr36l7ie0.png
включаем питание котуинки и ждем завершения самотестирования
https://img.radiokot.ru/files/20529/2lr36mcy6u.png
загружаем в котуинку управляющую программу mb.hex
https://img.radiokot.ru/files/20529/2lr36ngeok.png
https://img.radiokot.ru/files/20529/2lr36pe801.png
после появления заставки даем команду 1 (продолжить)
https://img.radiokot.ru/files/20529/2lr36og348.png
проводим проверку источника +12вольт (можно и пропустить введя 0)
включили
https://img.radiokot.ru/files/20529/2lr36qey52.png
и затем отключили
https://img.radiokot.ru/files/20529/2lr36rgmg6.png
на приглашение устанавливаем МК в «безнажимку»
https://img.radiokot.ru/files/20529/2lr5dje51y.jpg
и вводим 1
программатор проведет чтение сигнатур и предложит ввести файлик дампа для прошивки
https://img.radiokot.ru/files/20529/2lr36khqq5.png
введем сначала 1
https://img.radiokot.ru/files/20529/2lr36tik8p.png
затем требуемый файл
https://img.radiokot.ru/files/20529/2lr36uq29a.png
следующее субменю для дальнейших действий
https://img.radiokot.ru/files/20529/2lr36sjd3y.png
Вариант окна после удачного завершения записи с верификацией (команда 3)
https://img.radiokot.ru/files/20529/2lr36vjak5.png
если затем дать команду проверки чистоты по естественно получим ошибку в первом же байте:
https://img.radiokot.ru/files/20529/2lr36zi5lt.png
ввод нуля приводит к откату в предыдущее меню вплоть до выхода в загрузчик биос
https://img.radiokot.ru/files/20529/2lr36xi85j.png
Из удачных решений — модуль bspi_m.txt подпрограмма обмена данными между двумя «разношерстными» МК. В текущем варианте — под MCS51, но легко переделывается и под АВР и под ПИК.
Защит от неверных действий особо не ставилось, так что аккуратно в работе с вводом цифирек.
Замечания по работе с «залоченными» МК.
Такой МК выдает полную сигнатуру и читается как «чистый».
Статус битов защиты нам остается неизвестен (так задумано изготовителем).
Однако при попытке прошивки программатор «подвиснет» (применен алгоритм с опросом активации нуля на линии busy/ready, а защиту на длительность ожидания я не поставил) — в таком случае просто выключаем и заново включаем питание. Затем все по новой с обязательным выполнением операции «общее стирание» перед проверкой на чистоту и последующей прошивкой.
8)
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

Прошу прощения, что влажу с немного посторонним вопросом. Но возможно здесь, как в довольно близкой по смыслу теме мне подскажут решение. Жизнь принуждает искать параллельный программатор для 89C51RD2 с памятью программ 64КБ. Доставлись пару таких МК, в которых умудрились затереть заводской загрузчик, и теперь они не программируются через утилиту Flip, но путем тщательных поисков на просторах интернетов была найдена статья https://ra4nal.ontvtime.ru/prgrd2.shtml где в прикрепленных файлах нашелся драгоценный загрузчик. Осталось его восстановить.
В продаже необходимого программатора я найти не могу, даже знаменитый TL866 его не поддерживает, как и Willem для LPT-порта. Все найденые варианты программируют максимум 32КБ памяти. Возможно прийдется что-то мудрить самому. Я не уверен, что потяну самостоятельную разработку софта для ПК, но небольшой опыт написания программ под ПК на Pascal имеется. Пока со стороны железа рассмативаю самодельный вариант на AT89S52+КР580ВВ55 (имеются в наличии). 2 порта КР580ВВ55 использовать для задачи адреса, а 3-й для шины данных. Еще пару выводов AT89S52 для всяких служебных входов 89C51RD2 (типа ALE, PSEN и пр.). На стороне ПК простенькая прога, которая будет слать в СОМ-порт команды/данные, и на стороне программатора AT89S52, которая все это принимает и выставляет необходимые уровни на своих ногах и ногах расширителя КР580ВВ55. Почему КР580ВВ55 ? Она 1 по количеству выводов заменяет кучу всяких мультиплексоров/шинных формирователей, а мне важна простая аппаратная часть (как можно меньше корпусов микросхем). Жизнеспособная идея ?
Если вам известен готовый программатор, который может запрограммировать загрузчик в самый конец 64КБ памяти 89C51RD2 - пожалуйста дайте знать.
Последний раз редактировалось Пока_без_кота Пт авг 27, 2021 09:50:19, всего редактировалось 1 раз.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18788
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

давно это было... но вроде как для параллельного программирования КР580ВВ55 не нужна, ног и так должно хватать. или там USART по пинам пересекается с шинами данных/адреса?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

[uquote="ARV",url="/forum/viewtopic.php?p=4082096#p4082096"]...ног и так должно хватать...[/uquote]
Благодарю за мысль, сейчас гляну даташит на 89C51R2D.
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Главный вопрос - протокол загрузки...
когда-то пытался подобраться к этим RD (и "понавороченнее") да кроме Flip ни Х/З не обнаружил...
Может плохо искал....
:dont_know:
Грузить дамп из ПК задача осложняемая необходимостью "притормаживания" протокола обмена по последовательному каналу.
Для обхода данного пункта и применяются подобные котуинке решения - сброс сразу всего массива в буферное ОЗУ.
А уже делее работает сам "удаленный прошивальщик" всего-то с применением простейшего интерактива с ПК.
Второй пункт - минимизация "петель сигнальных токов" - генерацию тайм-слотов и контроль критичных данных передаем конечному "жгучему МК" - так и в прошивайке для АТ89Сх051 и в прошивайке для АТ89С51/52 сделано - "жгучая голова" непосредственно под безнажимкой.
А вот командный МК можно и на удалении выставить.
В качестве приемника - накопителя я бы чего-то способного управлять двумя-четырьмя микросхемами ОЗУ поставил...
Там любой кристалл с возможностью грузить внешнее ОЗУ хош в аппаратном, хош в программном варианте подойдет.
Второй кристалл - обеспечение шин сигналов управления.
В конструкции надо много "вольных лапок"....
Как вариант... платку ардуино-мега возможно будет эффективнее использовать для интерфейса с ОЗУ и шинами адреса/данных при дополнительном "жгучем периферийнике" или на 40-лапке MCS51 или на АВРке.
Кстати... шины адреса/данных ОЗУ можно совместить с шинами адреса/данных безнажимки - так уже в прошлом делал.
Вот примерно как это решение:
https://img.radiokot.ru/files/20529/2lelek3h67.GIF
Хотя... такой вариант можно и в AT89S8252/8253 при условии, что основная программа жестко привязана к текущей конструкции и к конкретному МК (несменяемая - т.е. программатор только для определенного типа МК).
Тогда базовый загрузчик дампа от котуинки b52m1(грузит только данные) плюс собственная программа для программатора, внешнее ОЗУ в 64к*8 с "двусторонним доступом" и (возможно - если лапок не хватит) дополнительная "жгуча головушка" на чем удобнее.
Интерфейс с ПК аналогично котуинке для PG4012 интерфейс со жгучей головой - bspi.
Единственно тогда лапок и на управляющие выводы хватило (прошивались не такие "жирные" кристаллы).
На сегодня с загрузчиком котуинки пара выводов может быть в той схеме высвобождена.
:roll:
Последний раз редактировалось BOB51 Пт авг 27, 2021 10:41:38, всего редактировалось 3 раза.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18788
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Добавлено after 4 minutes 5 seconds:
у меня, кстати, есть такой программатор :) для DIP-корпусов
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Кому уж чего проще - до определенного размера массива дампа у котуинки больше преимуществ - всего-то "жгучку"-приставку собрать да прожку написать.
Единственно пока у меня накопительный буфер до 32к*8 абсолютно свободно использоваться может.
Вариант собственного "дисковода" на ОЗУ/ЕЕПРОМках еще вылеживается...
8)
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

[uquote="ARV",url="/forum/viewtopic.php?p=4082110#p4082110"]... городить собственный программатор и писать для него софт - крайне неразумное решение... у меня, кстати, есть такой программатор :) для DIP-корпусов[/uquote]
Да, я понимаю, неразумно. Поэтому и рассматривал в первую очередь покупной вариант.
Знакомых с таким железом нет, я тут сам местный прошивальшик AVR/PIC.
А от Вас я далеко.
А восстановить хочется, эти МК у меня уже пару лет валяются, и мысль довольно навязчива.
Глянул даташит - вроде как не хватит мне голого МК без расширителей. На прошивающей стороне 32 управляемых вывода. Минус 2 вывода на UART, остается 30 штук. Минус 24 (8+16) на данные/адрес. Остается 6 шт. А прошиваемый МК аж 9 для контроля требует.
Я все правильно посчитал ?
Вложения
Новый точечный рисунок.jpg
(36.25 КБ) 192 скачивания
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

если судить по рисунку (не вникая в специфику) у нас 12 лап управления и 16+6=22 линии "двойного использования" (если ОЗУ используется как в моем варианте выше)
итогом 34 лапки надо плюс две на RS232 -> 36 свободных лап (не считая интерфейса буферного ОЗУ)...
атмега8515/162 под ассемблером....?
или таки ардуино-мега как более универсально-избыточный вариант (с внешней платкой расширения)...?
:roll:
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

[uquote="BOB51",url="/forum/viewtopic.php?p=4082127#p4082127"]...атмега8515/162 под ассемблером....?
или таки ардуино-мега как более универсально-избыточный вариант (с внешней платкой расширения)...?
:roll:[/uquote]
Ни того, ни другого нет. Но. На производстве таки был найден человек с программатором Тритон. Он за условую "бутылку" прошил загрузчик во все мои МК. Так что я пока задвигаю идею собрать свой параллельный программатор в долгий ящик.
Скриншот после определения прилагаю. На максимальной скорости (115200) не хотело стабильно записывать HEX на "железном" СОМ-порту, только считывало. Уменьшил до 57600, стало немного тормознее на записи/считывании больших файлов, но зато стабильно-надежно.
Из Flip невозможно "убить" загрузчик, он работает только с первыми 63КБ памяти МК, проверял, даже Erase оставляет его нетронутым. Получается, его убили, записав туда прошивку каким-то параллельным программатором.
Вложения
Снимок.JPG
(51.55 КБ) 182 скачивания
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1395
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край

Сообщение главный колбасист »

Пока_без_кота
Такое счастье кишмя кишит по мусоркам.
Можно целый мешок набрать.
Какая проблема? :)
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15792
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

С параллельным режимом надо быть особо осторожным...
Я вот за время последних экспериментов "убил" сигнатуру на АТ89С51 - просто подал +12 на кристалл при наличии единиц на всех входах... ну и копался в тот момент с тестером глядя на номинал +12... может чего щупом и подкоротил..
Как вариант - отключение питания при процессе прошивки гарантированно "подарочки" подкинет (в том числе и на ISP варианте).
Добавим "недокументированные" особенности (коими часто "козыряют" нехорошие редиски от разработки).
Вобщем гадать можно много - главное что удалось благополучно запустить!
:beer:
Кстати... Пока_без_кота возможно где у Вас еще попадутся в лапы AT89C51RC-24JI ...
Для Вас ссылка:
http://radioled.com/news/
RDшки (как и атмега128) были на старых кассовых аппаратах - но там перепайка нужна, а это лишний термоудар...
:roll:
Потрогал лапой паяльник
Сообщения: 359
Зарегистрирован: Чт авг 08, 2013 01:06:54

Сообщение Пока_без_кота »

[uquote="BOB51",url="/forum/viewtopic.php?p=4082712#p4082712"]... возможно где у Вас еще попадутся в лапы AT89C51RC-24JI ...
Для Вас ссылка...[/uquote]
Благодарю, ссылка годная, местами есть "вкусные" предложения.
А чем хороши именно AT89C51RC ?
Ответить

Вернуться в «Разные вопросы по МК»