IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Контроллер псевдодиска на MicroSD
SuperMax
сообщение 14.5.2019, 13:01
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 5 825
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Совместными усилиями разработан контроллер псевдодиска на MicroSD

Данный контроллер предназначен для современной и надежной замены КЖД (DW) в компьютерах серии ДВК-1; ДВК-2; ДВК-3; ДВК-4; Электроника-60; Электроника 60М; Славутич ПК-1 и им аналогичные PDP-11 совместимые.

Фото контроллера:
Прикрепленное изображение


Технические характеристики:
  • Эмуляция 8ми дисков объемом 65534 блока для корректной работы RT-11; таким образом общая используемая емкость накопителя 262136К;
  • Контроллер поддерживает MicroSD- и MicroSDHC; Карточки SDXC нашим устройством не поддерживаются;
  • Поддерживается возможность установки 2х контроллеров с разными адресами;
Инструкция по эксплуатации
Предлагаемый контроллер эмулирует до восьми дисковых устройств AZ на одной микроSD-карточке. Каждый эмулируемый диск (псевдодиск) представлен на карточке файлом с точки зрения PC, поэтому не возникает никаких вопросов в размещении псевдодисков на носителе большого объема - просто помещаем карточку в кардридер, подключаем к PC, копируем на карточку файлы нужного объема (и с нужным содержимым), переставляем ее в контроллер, и всё! Более того, поработав с карточкой на ДВК, можно извлечь ее из контроллера, снова поместить в кардридер и скопировать наработанные файл-образы дисков на PC, где с ними можно работать любыми средствами - например, подключить к эмулятору, заархивировать и сложить куда-нибудь на хранение, отправить в конференцию, и т.п. Также не представляет особого труда скопировать какой-то материал, найденный в сети, на карточку, переставить ее в контроллер и использовать этот материал на ДВК.

Контроллер занимает на МПИ адреса 177220-177226 (словные, байтовый доступ запрещен). 177220 - регистр команд и состояния (РКС, CSR), 177222 - регистр данных, 177224 и 177226 - регистры (однословные ПЗУ) начальных загрузчиков.

Контроллер поддерживает MicroSD- и MicroSDHC-карточки. Мы испытывали SDHC-карты разных производителей и объемов, разница наблюдалась только в скорости записи на псевдодиск. С трудом удалось найти древнюю микро-SD (не HC) на 512М, да, пишет медленно, но работает и скорость чтения почти такая же, как и у SDHC. Карточки SDXC нашим устройством не поддерживаются.

Перепишите на MicroSD-карточку файл-образы дисков AZ0-AZ7. Это файлы AZ000.DSK - AZ007.DSK. Вставьте карточку в гнездо на контроллере, до щелчка.

Вставьте контроллер в корзину ДВК/Э-60. Место пока не имеет значения (прерывания в этой версии не используются, поэтому разрыв линий подтверждения прерывания не влияет на его работу). С какой-то из будущих версий прерывания начнут обрабатываться, поэтому в будущем придется ставить контроллер так, чтобы в цепи сигналов К ППРO Н - К ППРI Н не было разрывов, но пока это не актуально.

Включите компьютер. Если он автозапускается по какой-либо причине (это возможно при наличии альтернативных прошивок для ВМ2/3 или загрузочного ПЗУ на какой-то из дополнительных плат), остановите его, т.е переведите его в связь с пультовой программой (нажать дважды кнопку "ОСТ" на ДВК-3/Квант-4, опустить и поднять снова флажок "Программа/Пульт" на ДВК-2/3М2/Э-60.

Скорее всего, на экран будет выдано 6 восьмеричных цифр и, в следующей строке, значок "@", курсор будет мигать рядом с ним. Это сигнал о том, что процессор находится в состоянии "Останов" (Halt-Mode) и ждет от вас пультовой команды.

Подадим ее. Команда такая:
Код
177226G

Это указание процессору начать исполнение программы с адреса 177226. По этому адресу располагается однословное ПЗУ программы запуска ОС с диска AZ0. Должна запуститься RT-11. После этого можно перезагрузиться с любого другого диска командой BO AZx:

Есть альтернативная команда - запуск с адреса 177224, т.е 177224G. Пока ее действие точно такое же, как и основной команды запуска, но далее планируется кое-какие изменения, в частности, одна из них будет просто запускать ОС с AZ0, а вторая будет спрашивать, с какого диска загрузиться.

Размер каждого из дисков (файлов с точки зрения PC) должен быть строго 32767К (65534 блока), таким образом общая емкость накопителя будет 262136К. В ближайшей новой версии прошивки будет добавлена смена дисков (файл-образов) прямо из RT-11, специальной программой, тогда на микро-SD можно будет иметь столько файл-образов, сколько туда влезет, однако, одновременно будут доступны только 8 из них, т.е. 262136К, это ограничение RT-11.

Возможна установка двух контроллеров, для этого предусмотрен альтернативный набор адресов контроллера, переключение производится DIP-переключателем №1 на плате контроллера. Основной набор адресов (177220-177226) действует при выключенном состоянииэтого переключателя, альтернативный (177200-177206) - при включенном (ON). Остальные переключатели зарезервированы для дальнейшего расширения функционала.


Перспективы развития продукта
Данный контроллер снабжен достаточно мощным микроконтроллером STM32F407VET6, что позволяет реализовывать расширение возможностей контроллера без изменения аппаратной платформы.

Соответственно обозначу примерный набор функционала для развития:

1. реализовать сетевое подключение при помощи внешней сетевой карты на базе ENC28J60
1.1 подключение позволит получить удаленный доступ к данным на SD-карте - те это будет FTP-сервер
посредством которого можно будет изменять информацию на диске удаленно
1.2 FTP сервер будет предоставлять доступ на уровне самой FS RT11
1.3 Обновление прошивок через Интернет

2. Развитие функционала монтирования образов через ini-файл
2.1 Монтирование образов через команду SET AZ
2.2 Монтирование образов на SMB/NFS-шаре
2.3 Увеличение объема поддерживаемых дисков для работы RSX-11
2.4 Обновление через образ на SD карте

3. Часы

4. Разработка драйвера AZX.SYS для монитора XM

firmware(прошивка) для контроллера
2019.05.14
Прикрепленный файл  AZ707_2.RAR ( 18.11 килобайт ) Кол-во скачиваний: 22

2019.05.19
Прикрепленный файл  AZ707_2_2019_05_19.RAR ( 18.35 килобайт ) Кол-во скачиваний: 16



Комплект дисков
RT11 + ADOS + коллекция софта
Прикрепленный файл  HD2019_05_19.RAR ( 14.93 мегабайт ) Кол-во скачиваний: 23



Ссылки:

Приобрести контроллер можно тут


Процедура обновления firmware (прошивки) контроллера




--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
AFZ
сообщение 8.6.2019, 18:06
Сообщение #2


Пользователь
**

Группа: Продвинутые
Сообщений: 13
Регистрация: 2.6.2019
Пользователь №: 35 247



Вышел новый релиз фирмвари нашего контроллера. Будем считать, что это версия 1.0. Предыдущий вариант был чем-то, вроде 0.х, так, чтобы хоть как-то работало.

Изменения:

1. Отменена жесткая привязка файл-образов к корневому оглавлению и жесткая привязка имён этих файл-образов. Теперь жестко привязанным к корневому оглавлению будет только файл AZ.INI, в котором прописаны все необходимые файлы и их местоположение.

2. Отменена жесткая привязка загрузки к диску AZ0. Номер диска, с которого следует загружаться, также прописывается в AZ.INI.

Файл AZ.INI пока может содержать две секции: [Disks] и [Boot].

Секция [Disks] может содержать от одной до восьми строк вида:
Dn=0:/dir1/subdir1.../file.DSK
Здесь:
n - номер псевдодиска AZn
0 - номер носителя хост-системы, пока только 0 - карточка микро-SD, потом, возможно, что-то добавим.
dir, subdir, ... - оглавления, подоглавления и т.д., короче, путь к файлу
file.DSK - имя файл-образа. Тип .DSK не является строго обязательным, но настоятельно рекомендуется.

Секция [Boot] должна содержать одну строку
Dn
Где n - номер диска, с которого следует загружаться при запуске загрузчика по команде 177226G

Пример файла AZ.INI, который содержится в новом варианте архива с файл-образами:

[disks]
D0=0:/disks/AZ000.DSK
D1=0:/disks/AZ001.DSK
D2=0:/disks/DISKS/51SYS_DS.DSK
D3=0:/disks/disks/disks2/fortra.dsk
[boot]
D0

Общие замечания по названиям файлов, оглавлений и пр.

1. Все названия должны содержать только большие английские буквы и цифры в любых сочетаниях. Из остальных символов допускается только знак подчеркивания "_". То есть, конечно, в .INI-файле можно написать и маленькими буквами, но они будут преобразованы в большие.
2. Длина любого названия не более 8 знаков, иначе будет ошибка. Длинна типа (расширения) не более 3 знаков. Файлы с длинными именами не поддерживаются.
3. Вместо знака "/" может быть использован знак "\".
4. Глубина вложенности ограничивается максимальной длинной строки 127 символов. (не проверялось)

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


Фирмварь 1.0Прикрепленный файл  AZ707_2.hex.zip ( 20.3 килобайт ) Кол-во скачиваний: 13


ДискиПрикрепленный файл  AZwINI.zip ( 24.9 мегабайт ) Кол-во скачиваний: 12


Напоминаю: вместе с обновлением фирмвари, надо обновить и файлы на флешке - если не будет найден файл AZ.INI, контроллер зависает. Впоследствие планируется моргание светодиодами, но пока так.

Сообщение отредактировал AFZ - 12.6.2019, 21:39
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
AFZ
сообщение Вчера, 15:23
Сообщение #3


Пользователь
**

Группа: Продвинутые
Сообщений: 13
Регистрация: 2.6.2019
Пользователь №: 35 247



Подправил релиз 1.0. Новая версия 1.0.1. До этой версии по многим ошибкам управляющая программа банально зацикливала на while(1); и я смотрел отладчиком, что произошло. Теперь все обнаруженные ошибки выдаются на светодиоды. Ошибок всего 15, они выдаются миганием синего светодиода. Сначала на секунду зажигаются оба светодиода (в варианте с одним RGB-светодиодом - бирюзовое свечение в течение 1 сек.), потом, старшим битом вперед, выдается код ошибки, 4 бита, потом 3 сек пауза и все повторяется сначала.

Нулевой бит выдается короткой вспышкой (20 мс), единичный - длинной - 250 мс, далее - пауза, 0.5 сек. Увидев синие мигания, надо записать последовательность битов, должно быть 4 бита и по таблице определить, что за ошибка.

Например, если не воткнуть SD-шку, будет моргать так: зеленый и синий вместе - 1сек, пауза - 1сек, синий - короткая - короткая - длинная - длинная - пауза 3 сек и все сначала. Код получается 0011, т.е ошибка 3 - не монтируется диск 0:, действительно, нет СД-шки. С RGB-светодиодом будет то же самое, только зеленый и синий вместе дадут бирюзовый.

Большинство ошибок - это ошибки в файле AZ.INI или физические ошибки SD-карты, исправляются либо изменением AZ.INI, либо заменой карточки. Две ошибки - 5-я и 8-я - это мои, теоретически, их не должно быть никогда, но, на всякий случай, я проверяю. Если вдруг одна из них вылезет, поместите архив с SD-шкой на файлообменник и сообщите об этих ошибках в теме разработки контроллера на zx-pk.ru, я буду разбираться.

Прошивка 1.0.1 от 16 июня 2019 г. Прикрепленный файл  AZ707_2.hex.zip ( 20.8 килобайт ) Кол-во скачиваний: 4


Коды ошибок:

1 - физическая ошибка при чтении блока INI-файла
2 - слишком длинная строка в инишнике
3 - не монтируется диск 0 (нет СД-шки?)
4 - не найден AZ.INI
5 - ошибка в логике программы
6 - ошибка позиционирования при чтении
7 - физическая ошибка при чтении блока данных
8 - неверная последовательность команд при записи
9 - ошибка позиционирования при записи
10 - физическая ошибка при записи
11 - ошибка сброса буферов при записи
12 - неправильная секция в .INI-файле
13 - неправильная строка - либо в секции дисков начинается не с "Dn=", либо в секции загрузки не "Dn"
14 - слишком длинная строка в секции дисков
15 - не найден или не открывается файл-образ
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17.6.2019, 2:15