Просмотр полной версии : СМП-ридер для МК-90
Есть такая замечательная штука для "прошивания" модулей памяти СМП (МПО) для "Электроники МК-90".
Сами модули построены на статическом ОЗУ, а интерфейс с внешним миром сделан через контроллер КА1835ВГ2 (serial/parallel).
Сама тема обмена данными с ПЦ была раскурена замечательным поляком Piotr Piatek (http://www.pisi.com.pl/piotr433/mk90cahe.htm).
Он же предложил ридер, прицепляемый с LPT-порту ПЦ.
Ясен перец, сейчас это уже проблематично...
Поэтому уже наш человек запилил (http://mk90.blogspot.ru/search/label/%D0%A1%D0%9C%D0%9F) USB-версию ридера.
Называться ридером этому девайсу несколько неправильно, ведь он не только читает, но и пишет данные в модули памяти.
Мне сей агрегат стал интересен, поскольку обзавелся пресловутым "Электроника МК-90".
Платку переразвел для QFP-варианта Меги, ибо их у меня много.
Получилось вот так:
http://savepic.net/7810606m.jpg (http://savepic.net/7810606.htm)
Файлик Sprint Layout (https://yadi.sk/d/ix5TWUr4q7mnv).
Архив с файлами (https://yadi.sk/d/vIOxnNLQq7nER), в неизмененном виде утянутый с вышеупомянутого блога mk90. Дабы было не в одном месте.
После изготовления платки и обработки напильником обматывания ее скотчем черной изолентой получилось это -
http://savepic.net/7857696m.jpg (http://savepic.net/7857696.htm)
Работает прекрасно.
Разъем (штырьковый) лучше поставить угловой, чтобы модуль памяти прижать к платке, но - небыло.
Я недавно купил такую штучку в готовом виде. Установил драйвер, всё по инструкции. Windows XP SP3. B диспетчере устройств он есть. Подключаю СМП - светодиод загорается, даже если сама плата не подключена к компьютеру.
Но программа smpusb.exe не работает. В консоли пишется: "Не удается выполнить указанную программу". Если запускать из-под проводника, то появляется сообщение "Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему". Какая повторная установка? Оно не устанавливается, оно уже есть в готовом виде. И как его корректно настроить, если я его даже запустить не могу? По-моему, это просто отмазка, дело в чём-то другом.
Несколько раз пытался написать это сообщение в блоге (https://mk90.blogspot.com/2009/08/usb.html#comment-form). Но что-то не получается. Вошёл с ааккунтом Гугла, втавляю текст, нажимаю "Публикация", страница перезагружается, но сообщение не появляется.
оно уже есть в готовом виде
Вероятно, нет нужных ему DLL.
А как узнать, каких? Написано, что для ХР, у других, почему-то работает. Система практически чистая, не загаженная.
Посмотреть в любом hex-редакторе, наверняка встретятся строки типа KERNEL32.DLL,USER32.DLL (но эти-то всегда есть), и рядом с ними другие .DLL
Есть, конечно, специальные Dependency Walker-ы, они точнее покажут. Хуже, когда программа использует какие-либо ActiveX, тут фиг поймёшь, чего ей надо, объекты создаются по GUID, чаще всего никаких названий рядом нет. Но такие программы и работают "не везде", и распространяются только с инсталятором.
MacBuster
05.01.2019, 21:46
Система практически чистая, не загаженная.
Библиотеки Visual C++ установлены?
- - - Добавлено - - -
А вот это - программу-инсталлятор (https://mk90.blogspot.com/2009/11/smpreaderusb.html) установили?
Обычно такое сообщение появляется, когда отсутствует .Net Framework от M$.
Какая версия - это уже опытным путем. 2.0 - самая легковесная, но и самая старая.
Обычно с 4 (самой жЫрной для XP) все начинает работать :)
Клапауций68
05.01.2019, 22:26
Я недавно купил такую штучку в готовом виде. Установил драйвер, всё по инструкции. Windows XP SP3. B диспетчере устройств он есть. Подключаю СМП - светодиод загорается, даже если сама плата не подключена к компьютеру.
тут много чего тебе насоветовали, но... а, стребовать с продавца, что бы балалайка заработала - слабо?
не работает - делай возврат.
Windows XP SP3
Я не автор, всей кухни программирования W NT не знаю.
Но могу посоветовать Хрюшку SP2 - там идет всё, что шло на W3.1. А в SP3 уже нет 16-битных библиотек - проверял на своих програмочках 1995-1999 г, сделанных с левых компиляторов Бейсика.
MacBuster
06.01.2019, 01:18
не работает
Моя балалайка, приобретенная у того же продавца, работает. Но если будет возврат, то будет еще один владелец, а новой балалайки не будет.
А вот это - программу-инсталлятор установили?
Заработало. Спасибо!
Считал образ, получился некий filename.bin. Что теперь с ним делать, чем распаковать, упаковать?
При открытии bin'a в текстовом редакторе текст Бейсик-программ нормально читается.
Клапауций68
06.01.2019, 13:56
Что теперь с ним делать, чем распаковать, упаковать?
нуу... можно распечатать файл и раздавать прохожим на пешеходных переходах, например.
Если в файле двоичные данные, боюсь, прохожие мою щедрость не оценят.
Я имею в виду, как извлечь данные из образа и запаковать их в образ. Извлечь отдельные файлы, программы или добавить их в образ, чтоб потом записать в СМП. Бейсик-программы, возможно, можно копировать через Блокнот, а программы в кодах как? Или, например, есть образы из СМП-16, в СМП-10 они не влезут. Надо что-то оттуда убрать.
Клапауций68
10.01.2019, 21:34
Если в файле двоичные данные, боюсь, прохожие мою щедрость не оценят.
Я имею в виду, как извлечь данные из образа и запаковать их в образ. Извлечь отдельные файлы, программы или добавить их в образ, чтоб потом записать в СМП. Бейсик-программы, возможно, можно копировать через Блокнот, а программы в кодах как? Или, например, есть образы из СМП-16, в СМП-10 они не влезут. Надо что-то оттуда убрать.
в документации к ридеру, что написано?
например - Ув. Покупатель, ты являешься счастливым обладателем гравицапы, с помощью которой...
не?
MacBuster
10.01.2019, 21:39
Думаю надо экспериментировать - записать 10-20 раз (или какой там максимум) один и тот же текст программы на бейсике и в считанном образе посмотреть что где оказалось.
ilya_dan
10.02.2019, 00:59
Я имею в виду, как извлечь данные из образа и запаковать их в образ. Извлечь отдельные файлы, программы или добавить их в образ, чтоб потом записать в СМП. Бейсик-программы, возможно, можно копировать через Блокнот, а программы в кодах как? Или, например, есть образы из СМП-16, в СМП-10 они не влезут. Надо что-то оттуда убрать.
Этот ридер задумывался как средство обмена с эмулятором http://www.pisi.com.pl/piotr433/mk90emue.htm, то бишь бейсик-программы отлаживаем в эмуляторе, потом файл бинарного образа заливаем в реальный МПО и подключаем к реальному МК-90.
По поводу "СМП-16" - никогда не слышал, чтобы такое подключалось к МК-90. Наверное, речь про МК-106: http://www.kros-niat.ru/docs/product/MK-106_history.php ?
Photocor
12.06.2019, 18:39
Коллеги, здравствуйте! Только-только стал обладателем МК-90. Подскажите, где можно заказать USB-интерфейс для МПО? Компьютер типа "ретро-портал" с Windows XP имеется.
Sergei Frolov
12.06.2019, 18:42
Сейчас делают платку на STM, где модуль МПО эмулируется. По идее должно решать все проблемы с программами.
Photocor
12.06.2019, 20:02
Сейчас делают платку на STM, где модуль МПО эмулируется. По идее должно решать все проблемы с программами.
Тем не менее, в целях исторической реконструкции, хотелось бы иметь возможность залить что-то полезное на настоящий МПО ))
На местной барахолке пока ничего подобного не нашел.
NEO SPECTRUMAN
13.10.2019, 00:37
Есть, конечно, специальные Dependency Walker-ы, они точнее покажут
отлично!
нашел чего хотел прога
вытянул системные dll-ки из 7-ки
положил их в *******.exe.local
после выкидывания ошибок *******.exe с пинка запустилось на ХРю
и даже выполнило поставленные перед собой задачи
немедленно возьмем на вооружение :v2_dizzy_roll:
SMPReaderUSB (http://mk90.blogspot.com/2009/11/smpreaderusb.html). Штука тут достаточно известная. Я же предлагаю Вам всего за 100 рублей собрать аналог данной железки. Без ЛУТа, без фоторезиста. Только макетка (и то не обязательно) и месяц ожидания посылки с Китая. Хотя вполне возможно у Вас итак имеется в ящике парочка программаторов для микроконтроллеров AVR под названием USBasp.
Схемы устройств очень похожи между собой. В части USB они практически одинаковые, что не удивительно. Остается только подключить СМП и радоваться жизни.
Не вижу особого смысла заморачиваться со схемой измерения напряжения на батарейке. Проще взять мультиметр. К нему доверия побольше будет. Так что схема будет состоять из пяти проводков.
https://dev.walhi.ru/_media/smp_adapter.gif
В результате получаем работающий программатор. Из отличий от оригинала: нет загрузчика и ругается на напряжение батареи в 0 вольт. Опять же, не вижу смысла в загрузчике, так как проект давно уже не обновлялся. Последняя версия, вроде, от 2009 года.
Все FUSE биты оставить без изменений. Просто залить файл прошивки в микроконтроллер.
Скачать модифицированный исходный код прошивки: https://dev.walhi.ru/_media/src_smpreader.zip.
Скачать файл прошивки и плату в формате SL6: https://dev.walhi.ru/_media/%D0%BC%D0%BA90.zip.
Для желающих посмотреть процесс адаптации прошивки (запись стрима):
https://www.youtube.com/watch?v=cbEqOipq45k
Решился повторить идею из предыдущего сообщения. Получилось вполне успешно :)
Постараюсь расписать по шагам что именно нужно делать "с нуля". Все изображения в данном сообщении кликабельны.
Первое: покупаем на AliExpress или локально ДВА программатора usbasp. Можно брать любые на базе МК ATmega8. Конкретно я взял тут: https://aliexpress.ru/item/32727211265.html (со временем ссылка может устареть).
Второе: как только программаторы приехали, распаковываем оба. Вставляем один в usb разъём компьютера. Через диспетчер устройств находим наш программатор и ставим драйвера. Их можно взять например вот тут (https://myrobot.ru/downloads/driver-usbasp-v-2.0-usb-isp-windows-7-8-10-xp.php)
Третье: соединяем два программатора штатным кабелем из комплекта через штатные разъёмы.
Тот, который хотим перешивать, оставляем лежать на столе и переводим в режим обновления прошивки установкой перемычки (здесь подписана как upgrade standby).
На том, который воткнут в компьютер, эту перемычку не ставим. Но на обоих надо выставить правильные логические уровни (перемычка output selection). Переводим её в положение 5v.
https://pic.maxiol.com/thumbs2/1614511734.1559558027.wavgatusbaspusbisp.jpg (https://pic.maxiol.com/?v=1614511734.1559558027.wavgatusbaspusbisp.jpg&dp=2)
Четвёртое: скачиваем программу avrdude. Изначально она консольная, но под неё есть неплохая графическая оболочка. Взять её можно тут (https://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/avrdude_prog-programmirovanie-avr/). Выбираем из списка нужный контроллер (ATmega8). Далее в поле "flash" нажимаем на кнопку с тремя точками и выбираем файл smpreaderusb.hex из архива от walhi (https://dev.walhi.ru/_media/мк90.zip). С фьюзами я лично ничего не делал, оставил по умолчанию. Вроде всё работает.
Далее всё в том же поле "flash" нажимаем кнопку "программирование". Как только оно закончится, высветится сообщение об успехе.
Затем можно отключить программаторы друг от друга и снять перемычку обновления прошивки.
Теперь можно распаять шлейф нашего программатора. Схема представлена выше в сообщении walhi.
Здесь важно: крайне нежелательно использовать современные разъёмы-гребёнки. Оригинальные имеют несколько другой вид контактов. Тут они прямоугольного, а не квадратного сечения.
Вот тут наглядно показаны отличия:
https://pic.maxiol.com/thumbs2/1614513730.1559558027.dscn6702.jpg (https://pic.maxiol.com/?v=1614513730.1559558027.dscn6702.jpg&dp=2)
Сейчас такие разъёмы можно снять с донорских плат от дисководов МС 5305 армянского производства.
https://pic.maxiol.com/thumbs2/1614514177.1559558027.dscn7297.jpg (https://pic.maxiol.com/?v=1614514177.1559558027.dscn7297.jpg&dp=2)
Достаточно только их выпаять, очистить от окислов, развернуть контакты на 90 градусов и склеить отдельные секции цианокрилатным клеем.
Но вернёмся к шлейфу. От комплектного шлейфа программатора отрезается один из разъёмов, без разницы какой, и припаивается наша гребёнка с контактами.
Конкретно я сделал вот так:
https://pic.maxiol.com/thumbs2/1614515067.1559558027.dscn7291.jpg (https://pic.maxiol.com/?v=1614515067.1559558027.dscn7291.jpg&dp=2)
Привожу табличку соединений:
+-----+-------+
| СМП | Шлейф |
+-----+-------+
| 1 | --- |
| 2 | 2 |
| 3 | 4 |
| 4 | 6 |
| 5 | 7 |
| 6 | 8 |
+-----+-------+
В шлейфе первый контакт всегда помечен красным цветом, нумерация контактов СМП взята с известного сайта (http://www.pisi.com.pl/piotr433/mk90cahe.htm).
Итак, теперь можно работать! Подключаем наш перепрошитый программатор к ПК. К нему сразу же подтягиваются драйверы от usbasp, но это нам даже на руку.
Скачиваем архив (http://arduino.idanilov.ru/files/b/smpreaderusb/smpreaderusb_2.0-full.zip) с сайта разработчика. Находим программу smpusb.exe по пути \smpreaderusb_2.0-full\software-bin\windows\smpusb.exe.
Синтаксис команд продублирую здесь на всякий случай:
Использование:
Чтение образа СМП: smpusb read -f filename.bin
Запись образа СМП: smpusb write -f filename.bin
При каждом чтении или записи программа будет ругаться на низкий уровень заряда батареи, это совершенно нормально т.к. в перепрошитом программаторе он никак не определяется.
Всё! Можно пользоваться.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot