Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » Программы под RT-11 |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Technomancer
Advanced Member
Откуда: Рига Всего сообщений: 359 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 12 июня 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 8 ноября 2018 12:05 Сообщение отредактировано: 8 ноября 2018 12:33
Обмен информацией с ОС RT-11 через последовательный порт используя протокол Kermit. Начну с того что я не профессионал не RT-11, не PDP-11 и в моём описании могут быть ошибки и неточности. Если кое-что такое находите, пожалуйста, указывайте на них, я всё проверю и исправлю. Описание данного способа я сделал с надеждой что это поможет другим энтузиастам PDP-11 не мучится с записю дискет на ПК, несобместимостю дисководов и других проблем, которые возникает при передачи информации с ПК на ДВК. Первым делом надо установить связь между последовательным портом ПК и портом ИРПС ДВК. Если у вас уже установлена связь между ДВК и ПК, переходите дальше на запуск Kermit-a. Каким образом подключить ДВК к ПК. 1. способ - прямое подключение к контроллеру КР1801ВП1-035 последовательного канала. Если удобнее подключится через USB - нужен кабель USB-UART (последовательный порт с уровнямы ТТЛ например кое-что такое). Если проще через RS-232 тогда нужна платка с преобразователем МАХ232 (или аналогичным), которая из уровней RS232 делает уровни ТТЛ. И нужна микросхема ТТЛ инверторов, например К155ЛН1, ЛА3, ЛП5, 74HC04 или любой другой логический элемент, которуй можно использовать как инвертор. Дальше смотреть схему. Сигнал Tx из ПК через инвертор подаются на 28. ногу контроллера, сигнал из 27. ноги контроллера через инвертор подаются на Rx в ПК. 29. ногу контроллера (разрешение передачи) нужно посадить на землю. Без этого плата ДВК не будет передавать данные. Дорожки резать не надо так как к 28,29 ногах контроллера подключается выходы открытого коллектора, которые не будет мешать инверторам. 2. способ - подключение переходника RS232 или UART к ИРПС. 2.1 Очень простая схема переходника RS232 на ИРПС, но я сам данный способ подключения не пробовал так что немогу комментировать. Автор схемы _Patron_, найдена тут же на форуме. Нельзя забыть что при таком подключении на разъеме ИРПС нужно соединить сигналы ГП+ с ГП- иначе связь не будет работать. 2.2 После запуска своей первой платы ДВК с 1. способом, я сам пользовался переходником UART-ИРПС по такой схеме: 3. способ - переходник USB-ИРПС, который я разработал для стабильной связи с линиям ИРПС. Параметры соединения на плате МС1201 устанавливается с помощи переключателей на плате. Я в своём примере использую плату МС1201.02, документацию которой можно найти здесь. Там на 17. странице описаны установки скорости и адреса порта ИРПС. При подключения терминального эмулятора к консольному порту ДВК, скорость можете выбирать любую, но 9600 самая быстрая и стандартная. Адрес ИРПС должна быть установлена 177560. На странице 25. есть начальные установки и других переключателей. На TeraTerm (и любому другому эмулятору терминала) установка скорости должна совпадать с установкой на плате ДВК. Если подключение правильное и плата исправная, после включения ДВК на экране ПК вы увидите адрес и симбол "@". Дальше, нужна программа терминального эмулятора на ПК, которая поддерживает протокол Kermit. Я использую TeraTerm официально скачиваемую здесь. Программа доступна и на русском языке. Третье, на ДВК нужна программа Kermit-а, две версии (KRT.SAV и KRTMIN.SAV) можно скачать здесь. Там можно найти и подробные описания работы Kermit-а. Можно использовать мануалы и с других местах и для других версии, но синтаксис параметров разных версии может отличатся. Любим способом нужную версию Kermit-а нужно получить на ДВК. Запуск Kermit-а на ДВК. Kermit в нашем случае при передаци файлов может работать в режиме четырёх команд: 1. RECEIVE - ждут пока второй конец отправит файл командой SEND. 2. SEND - отправляет файл. 3. SERVER - запускает Kermit в режиме сервера, но это я использую только на Linux-овском Kermit сервере. 4. GET - запрашивает файл из сервера. Начну со самым простым случаем - к ДВК консольному порту вмето терминала подключен Windows-овский ПК. В таком случае на ДВК можно использовать программу KRTMIN так как она запускается быстрее. 1. Передача файла на ДВК. 1.1. Запускаю TeraTerm на ПК, устанавливаю связь с ДВК, загружаю RT-11. Командой DIR просматриваю содержимое дискеты. Тут две маленькие нюансы - как видите TeraTerm в моём случае не поддерживает кириллицу, но как это устранять я не смотрел. Второе - команда LOAD XL в данном случае нам не нужна, она у меня прописана в файле STRTSB.COM. 1.2. Запускаю KRTMIN на ДВК. 1.3. Подаю команду RECEIVE. Kermit теперь ждут пока ему отправят файл. 1.4. Выбираю возможность передать файл через Kermit. 1.5. Отправляю простой текстовый файлик RTEST.TXT. Открывается окно статуса передачи. 1.6. После отправки подаю команду EXIT для выхода из Kermit-а и возвращаюсь в консоль RT-11. 1.7. Командой DIR убеждаюсь, что файл передан успешно и командой TYPE вижу содержание файла. Всё, файл успешно передан в ДВК. 2. Передача файла из ДВК в ПК. 2.1. На ПК выбираю в какую папку попадут принятые файлы. File->Change Directory. 2.2. Запускаю KRTMIN и подаю команду отправки файла. В моем примере это программа TSTMX.SAV. Команда - SEND TSTMX.SAV. 2.3. В TeraTerm запускаю приём файла в меню File->Transfer->Kermit-Receive. Откроются окно статуса приёма. Здесь один неболшой нюанс. Симболы в последней строке, это SEND пакета от Kermit-а. Получается что после команды SEND Kermit хочет начинать передачу файла, но я еще не запустил Receive, а эмулятор терминала принятые данные интерпретируют как произвольный текст. Это ничего страшного. 2.4. После успешного приёма файла оно находится в папке, которую я выбирал раньше. Всё, теперь Вы можете передать файлы туда и назад через последовательный порт даже не вытаскивая дискеты с ДВК. Процесс не очень быстрый, но по-моему не такой кропотливый как с использованием дискет. Иногда бывает и ошибки, но или они легко понятны (например дискета полная) или это решается перезагрузкой программы или ДВК. Отделное спасибо участнику xoiss за редактирование моей статьи. Со временем я выложу еще несколько вариантов передачи файлов через Kermit в ДВК - черес второй последовательный порт и настройки Linux-овской машины для работы в роли Kermit-сервера. Так же хочу попробовать запустить Kermit на БК, УКНЦ у Э-85, но это дела неопределённого будущего. |
Technomancer
Advanced Member
Откуда: Рига Всего сообщений: 359 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 12 июня 2016 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 22 ноября 2018 11:31 Сообщение отредактировано: 22 ноября 2018 11:34
2. часть - обмен информацией с ОС RT-11 через дополнительный последовательный порт. Тут шагов по-больше, но тоже ничего сложного. Во Вашей системе должно быть как минимум два последовательных порта ИРПС. Один с адресом 177560 для системного терминала и второй с адресом 176560 для подключения ПК. Такое возможно, например, при использовании КЦГД (КЦГД на адресе 177560 а ИРПС на МС1201 на 176560) или при использовании плат с каналамы ИРПС - КТЛК, УПО или других (ИРПС на МС1201 на 177560 а напирмер КТЛК один канал на 176560). Физическое соедиднение между ПК и ДВК никак не отличается от методов соединения в моей первой статье. 1. Первое, последовательный порт обслуживает драйвер XL. Так что на системном диске должен быть файл XL.SYS (скачиваемый здесь). При загрузке драйвер должен быть загружен командой LOAD XL. Если дополнителный порт в корзину не установлен, выводится сообшение ошибки. Команду LOAD XL можно прописать в загрузочном файле STRTSB.COM чтобы драйвер загружался при старте системы. Также в первый раз нужно проверить параметры драйвера XL. Командой SHOW DEV смотрю параметры доступных драйверов. Адрес должен быть 176560 а вектор рерывании - 320. Как я вижу, у меня вектор прерывании неправильный. Командами SET XL CSR=176560 и SET XL VECTOR=320 устанавливаю правильные параметры драйвера XL. Установки сохраняется и в следующий раз драйвер загрузится уже правильно. Я претполагаю что можно подать и команду UNLOAD XL и LOAD XL чтобы перегрузить только драйвер с новыми установками, но я до этого не додумался и перегружал RT-11. 2. Включаю таймер на пульте ДВК. Без таймера программа KRT при запуске на минуту зависнет и выводит ошибку "Time clock is not running". В этот раз нужно запустить программу KRT так как в программе KRTMIN нету возможности переключится на второй порт ИРПС. При нормальном запуске Kermit-а выводится сообшение и попадаю в консоль Kermit-а. 3. Как видно из начального текста, после запуска Kermit для связи используют устройство TT:, это порт системного терминала. Нужно подать команду SET LINE XL чтобы Kermit переключился на второй порт ИРПС. 4. Дальше работа особо не отличается от раньше описанных команд SEND и RECEIVE. Но есть один нюанс. В протрамме KRTMIN при подаче команды RECEIVE есть довольно много времени для выбора передаваемого файла до того как происходит таймоут. Но почему-то в программе KRT, команда RECEIVE таймоутится буквально через секунду. Поэтому перед командой RECEIVE нужно установить максимальное значение таймоута командой SET RECEIVE TIME_OUT 94. После этого таймоут произойдут намного позже и будут достаточно времени для выбора передаваемого файла. Будете внимательны! Здесь небольшой баг. Скажем, подавая команду "SET ?", Kermit выведут все командой SET устанавливаемые параметры. Также при команде "SET RECEIVE ?", Kermit выведут все параметры суб-меню RECEIVE. Один из этих параметров TIME-OUT. Устанавливая этот параметр, Kermit не ругается, НО этот параметр не влияет на реальный таймоут! Поэтому нузно менять параметр TIME_OUT. Очевидно опечатка. Так же я советую подать команду SET TERMINAL TTY, чтобы Kermit не использовал VT100 ESC коды не поддерживаемые платамы КЦГД и КСМ. С КЦГД ничего страшного, но КСМ очевидно часть ESC кода понимает как управляющий симбол и подвисает с надписю "ЗВЫВ" в служебной строке. 5. Дальше пользоватся командам SEND и RECEIVE так же как написано в первом части о Kermit-е. Это как бы всё. Да, это может показатся как-то кропотливо, но при системе, которая налажена чтобы работал Kermit, вся работа происходит довольно просто и быстро, нужно только запомнить несколько команд. В следующей части я напишу о Kermit-а на Linux-е в режиме сервера и о командах GET, REMOTE CD, REMOTE DIR, с которыми очень удобно просмотреть файлы, которые находится на сервере. В еще следующей части я запущу платы КТЛК и УПО как второй порт ИРПС. |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Полигон-2 » Старый софт » Программы под RT-11 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |