Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 8 9 10 11 12 * 13 14 15 16 17 | Печать |
andyTh |
Сообщение отправлено: 6 июля 2014 17:35 Сообщение отредактировано: 6 июля 2014 18:53
День добрый, заблудился в 3х соснах. Шина декодируется. Если "базовым" адресом выбираю адрес системного терминала, весь вывод на монитор чётко дублируется выводом из порта моей платы. Меняю адрес моей платы в программе и обращений к ней нет вообще. В программе поставил контрольную точку: шаг 1 Проверяем одновременное равенство 0 SYNC и BS7 ( проверяем, что на шине выставлен адрес внешнего устройства) если совпало, переходим шаг 2 Считываем адрес. если совпало, печатаем матерное слово. Вот это самое слово и не печатается, хотя если подставить адрес 177566, то дальше срабатывают проверки на DIN/DOUT и прочее. обращаться пытаюсь из терминального режима @17777570 / @BUS ERROR Адреса пробовал разные. ПыСы Умная мысля приходит опосля... Завтра по SYNC=BBS7=0 cброшу в лог все адреса и погляжу куда идут обращения. |
Сейчас на форуме |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 июля 2014 19:53 Сообщение отредактировано: 6 июля 2014 19:57
Позвольте поинтересоваться, а после прихода сигнала, например, 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 |
NEW! Сообщение отправлено: 6 июля 2014 20:20
Смотите, у меня по SYNC ловушка на адрес не срабатывает. Точнее на адрес 177566 работает. А на произвольный нет. Или я не умею это делать. Перечитайте, я полностью сел параллельно адресу КЦГД и проверил работу дешифратора шины. |
Сейчас на форуме |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 | |
andyTh |
NEW! Сообщение отправлено: 6 июля 2014 23:08 Сообщение отредактировано: 6 июля 2014 23:10
Ок, зайдём с другой стороны. Что мне нужно набрать в пульте, чтобы в фазе адреса (SYNC упал в 0) на шине появилось к примеру 177570. DIN/DOUT не важно, до них дело пока не доходит. Просто чтобы сработала проверка адреса. Напомню, вывод в системный терминал перехватывается нормально. RPLY генерит железячная 065. вывод на экран чётко дублируется в отладочный порт. А вот на @17777570 / выдаётся BUS ERROR т.к. RPLY не генерится. Но и адресная защёлка не срабатывает. Если не хватает частоты программного опроса, почему работает с адресом 177566? |
Сейчас на форуме |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 июля 2014 0:15 Сообщение отредактировано: 7 июля 2014 0:32
В пульте ДВК-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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 июля 2014 2:51 Сообщение отредактировано: 7 июля 2014 4:31 |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 11:06 Сообщение отредактировано: 7 июля 2014 12:58
В общем нехрен по воскресеньям на работу ходить. И то, за чем пришёл (основное ) не вышло, и игрушка не получилась Мысль о недостаточности чисто программного опроса мучила весь вечер, решил всё таки чуть переделать программу. Но перед этим ещё раз проверить. И, блин, всё заработало. То, что не работало вчера. В общем, обмен по шине работает. По скорости, у меня 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 написал: Но если сам загрузчик попадает в память через посылку команд модификации ячеек в пульт ДВК - сделать это можно только через основной порт или через эмулятор клавиатуры МС 7004, подключенный к КЦГД / КСМ. грузить систему со второго порта |
andyTh |
NEW! Сообщение отправлено: 7 июля 2014 16:48 Сообщение отредактировано: 7 июля 2014 16:51
У меня "на борту" 512К флеша. Если я могу сделать доступной ячейку с адресом хххх, то так же могу и диапазон хххх-уууу в который положить тело загрузчика и выполнить его затем из адреса хххх. Ну да ладно, это такое. Прав ли я на счёт размера "диска" блочного устройства, 65536*512 = 32К? Или на количество блоков можно выделить несколько 16бит слов? На что лучше ориентироваться, прикручивая интерфейс? Есть ли где описание встроенного в 1201.03 MSCP загрузчика? |
Сейчас на форуме |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 8 9 10 11 12 * 13 14 15 16 17 | Печать |
Полигон-2 » Другие архитектуры » Использование НМД2 в ДВК |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |