Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Использование НМД2 в ДВК
RSS

Использование НМД2 в ДВК

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 8 9 10 11 12 * 13 14 15 16 17
Печать
 
andyTh
Гость

Ссылка

Чисто крик души...
Начал писать "правильную" декодировку Qbus.
Несколько дней не мог понять что происходит и искал программные глюки.
Всё оказалось проще. Принёс боле менее пристойный осциллограф и увидел, что внутренние подтяжки микроконтроллера не вытягивают АП2. Фронты суперзавалены.
То что я списывал на криворукость программирования, оказалось кривостью схемотехники. :)
Вот так лень поставить пару резисторных сборок заставляет паять пару десятков резисторов.
Сейчас на форуме
andyTh
Гость

Ссылка

День добрый, заблудился в 3х соснах.
Шина декодируется. Если "базовым" адресом выбираю адрес системного терминала, весь вывод на монитор чётко дублируется выводом из порта моей платы. Меняю адрес моей платы в программе и обращений к ней нет вообще. В программе поставил контрольную точку:

шаг 1 Проверяем одновременное равенство 0 SYNC и BS7 ( проверяем, что на шине выставлен адрес внешнего устройства)
если совпало, переходим
шаг 2 Считываем адрес.
если совпало, печатаем матерное слово.

Вот это самое слово и не печатается, хотя если подставить адрес 177566, то дальше срабатывают проверки на DIN/DOUT и прочее.

обращаться пытаюсь из терминального режима
@17777570 /
@BUS ERROR
Адреса пробовал разные.


ПыСы Умная мысля приходит опосля...
Завтра по SYNC=BBS7=0 cброшу в лог все адреса и погляжу куда идут обращения.
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Позвольте поинтересоваться, а после прихода сигнала, например, DIN и наличия выборки необходимого адреса, выставляется ли сигнал RPLY ?
Диаграмма чтения на МПИ :

AD0-AD15, A16-A21, BS7 NNNAAAAAAAANNNNNNNNNNNNDDDDDDDDDDNNNNNNNNNNN
SYNC ***************1111111100000000000000000000000000000011111111111
DIN **************** 1111111111110000000000000000000001111111111111111
RPLY *************** 111111111111111111111111111000000001111111111111

1 символ в диаграмме - приблизительно 50 нс
N - неопределено
А - адрес выставлен
D - данные выставлены
0 - о вольт.
1 + 5 вольт.
DIN - выставляется процессором.
RPLY - выставляется портом
*
Ток входа 531АП2 ( при 0в. ) - 3.2 ма, ток +5в. - порядка 0.15 ма.
andyTh
Гость

Ссылка

Смотите, у меня по SYNC ловушка на адрес не срабатывает. Точнее на адрес 177566 работает. А на произвольный нет. Или я не умею это делать.
Перечитайте, я полностью сел параллельно адресу КЦГД и проверил работу дешифратора шины.
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Схема регистра со сменным адресом 177760-177776, самостоятельное устройство на МПИ, подойдет к БК0010, БК11М, УКНЦ, ДВК :
andyTh
Гость

Ссылка

Ок, зайдём с другой стороны.
Что мне нужно набрать в пульте, чтобы в фазе адреса (SYNC упал в 0) на шине появилось к примеру 177570.
DIN/DOUT не важно, до них дело пока не доходит.
Просто чтобы сработала проверка адреса.
Напомню, вывод в системный терминал перехватывается нормально. RPLY генерит железячная 065.
вывод на экран чётко дублируется в отладочный порт.
А вот на
@17777570 /
выдаётся BUS ERROR т.к. RPLY не генерится. Но и адресная защёлка не срабатывает.
Если не хватает частоты программного опроса, почему работает с адресом 177566?
Сейчас на форуме
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
В пульте ДВК-2 ( БК11М ) можно набрать :
177570/ - открытие ячейки с адресом 177570 ( 8 ).
Для моделей с М-ЭВМ МС1201.03 и МС1201.04 надо набрать :
17777560 - т.е. добавить 6 линий Ах, т.е. 2 шт. "7" ( 8 ).
При этом на адресные линии выставится примерно на 100 нс адрес, потом сигнал SYNC опустится с +3.3 в. до уровня 0.5 в., и будет еще не менее 50 нс удерживаться адрес ( после прихода сигнала SYNC ). Для классической схемы опознания адреса ничего больше не производится.
( Однако, есть варианты с сигналом SSYNC и быстрыми процессорами - на 16 и даже больше мгц , но их сейчас не будем рассматривать ).
После поднятия сигнала SYNC с уровня 0.5 в. до уровня 3.3 в. необходимо сбросить внутренний триггер захвата адреса порта на МПИ.
После захвата адреса и пришествия сигнала DIN необходимо в течении 100 тактов процессора выставить сигнал RPLY - если этого не сделать, будет "BUS ERROR". Для процессора 1801ВМ3 при частоте 7.5 мгц это время - немного более 10 мкс. ( ВМ2-12 мгц - 7 мкс ).
*
ИМХО - делать полностью программное опознавание МПИ реально только при быстродествии более 30 лимонов рег-рег однокристалки ( т.е. 1816ВЕ51 никак не подойдет ) , иначе - путь программно - аппаратный ( как в КЖД ДВК ).
В программно - аппаратном захвате адреса захват адреса происходит аппаратно ( см. Э3 выше в моем сообщении ), а работа с сигналами DIN and DOUT - программно в ОЭВМ - в течении до 10 мкс на 1 запрос обмена. При этом на ОЭВМ поступают сигналы "наличие выборки адреса" ( выв.02 ТМ9 , +5в. - выборка есть ) и сигналы адреса в группе захваченных адресов - выв. 05. 07, 10, 12, 15 ТМ9 ( адрес - инверсный ) ). При этом сигналы ввода - вывода целесообразно в ОЭВМ заводить уже стробированными выборкой адреса - выв. 06 и 03 ЛА3 ( соответствеено "чтение" и "запись" , активный уровень - 0в. ). Вывод на МПИ сигнала RPLY целесообразно делать целиком из ОЭВМ . Если ОЭВМ медленнее 5 лимонов рег-рег, целесообразно сделать целиком аппаратный блок обмена данными - на быстром СОЗУ, например ( для богатеньких буратино - двухпортовом ).
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Устройство векторного прерывания для МПИ ( БК11, УКНЦ ). ( Для ДВК следует КР1533ИР23 сменить на КР531АП6 ) :
andyTh
Гость

Ссылка

В общем нехрен по воскресеньям на работу ходить. И то, за чем пришёл (основное ) не вышло, и игрушка не получилась :(
Мысль о недостаточности чисто программного опроса мучила весь вечер, решил всё таки чуть переделать программу.
Но перед этим ещё раз проверить. И, блин, всё заработало. То, что не работало вчера.
В общем, обмен по шине работает.
По скорости, у меня ARM 32-bit CortexTM-M3 CPU;
Частота тактирования до 120МГц, 150 DMIPS/1,25 DMIPS/МГц (Dhrystone 2.1);
Частота тактирования портов CORE CLK / 2
Реально, пока не поставил программные защёлки на однократный проход шины (по перепаду SSYNC 1 в 0 выполнять проверку только один раз. До этого проверка крутилась в бесконечном цикле) получал в диагностическом терминале удвоенные-утроенные символы.
Типа " ДДООССТТУУППННОООЕЕ ООЗЗУУ"
Да, у меня стенд 1201.03 + КЦГД

Похоже надо теперь прикручивать HX сервер и копать далее.
Может коллега Patron модифицирует НХ загрузчик, что бы я его мог разместить у себя внутри контроллера и грузить систему со второго порта?
Или выкинуть КЦГД и работать с писишкой пока.

Ну и разобраться вот с этим:


А есть ли смысл производить в контроллере разбор протокола HX, когда можно просто считывать с Q-BUS команды и выполнять их.

Тогда проще взять за основу драйвер псевдо-диска HD

Контроллер должен принимать следующие команды от драйвера:

1. Установить номер привода для последующей операции.
2. Установить номер блока для последующей операции.
3. Установить счётчик слов для последующей операции.
4. Выполнить операцию "ЧТЕНИЕ".
5. Выполнить операцию "ЗАПИСЬ".
6. Выполнить операцию "СООБЩИТЬ РАЗМЕР НОСИТЕЛЯ" ( в блоках ).

По командам "ЧТЕНИЕ" и "ЗАПИСЬ" контроллер должен прочитать/записать заданное количество слов через регистр данных.
По команде "СООБЩИТЬ РАЗМЕР НОСИТЕЛЯ" контроллер должен поместить в регистр данных размер носителя в заданном приводе.

Если переданная контроллеру команда содержит недопустимое значение ( указанный привод не существует или не содержит носителя, указанный номер блока превышает размер носителя, указанный счётчик слов больше количества слов до конца носителя, произошла ошибка чтения или записи ) - контроллер устанавливает в регистре команд бит 15.


Если мы используем только 65535 блоков по 512 слов, не маловата ли ёмкость диска выйдет?
Сейчас на форуме
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
AndyTh написал:
[q]
грузить систему со второго порта
[/q]
Но если сам загрузчик попадает в память через посылку команд модификации ячеек в пульт ДВК - сделать это можно только через основной порт или через эмулятор клавиатуры МС 7004, подключенный к КЦГД / КСМ.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 8 9 10 11 12 * 13 14 15 16 17
Печать
Полигон-2 »   Другие архитектуры »   Использование НМД2 в ДВК
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS