Просмотр полной версии : ЮТ-88 Последовательный порт
Предлагаю вниманию поклонников ЮТ-88 вариант схемотехнической реализации последовательного порта.
Последовательный порт выполнен с использованием мс КР580ВВ51А. Основная предполагаемая скорость приема - передачи 9600 бод в асинхронном режиме. Предварительный делитель выполнен на счетчике К555ИЕ7 и половинке мс К555ТМ2. Использование частоты 16 Мгц для предварительного делителя объясняется желанием получить минимальную погрешность скорости приема - передачи 9600 бод. Согласно даташиту от Интел, отклонение в скорости от стандарта допускается не более 1%. Использование частоты 1,77(7) Мгц не позволяет добиться такой низкой погрешности. Счетчик К555ИЕ7 работает в режиме вычитания, с предварительной записью в него числа 13 (dec). Триггер К555ТМ2 делит полученную частоту на 2. Таким образом, общий коэффициент деления равен 26. Микросхема КР580ВВ51А используется в режиме внутреннего деления частоты приема - передачи равном 64. Вторая половина мс К555ТМ2 синхронизирует момент перезаписи счетчика с неактивным (для счетного входа) уровнем входной частоты. Я не стал приводить в схеме элементы преобразования уровней TTL к уровням стандарта RS-232C, ограничившись усилителем сигналов К155ЛП10. Пусть каждый делает из того что есть в наличии. Это может быть от древних К170АП и УП до MAX232. При чем, используя SMD компоненты, преобразователь уровней можно поместить даже в корпусе разъема RS-232. Микросхема КР580ВВ51А висит на портах IO с D0 по D3.
Нумерация элементов схемы и обозначения сигналов приведены в соответствие с принципиальной схемой (http://ut88-files.perestoroniny.ru/0_d6a40_d16b0783_orig.gif), которая использовалась для изготовления первой версии печатки процессорного модуля.
Схема (http://zx-pk.ru/attachment.php?attachmentid=53649&stc=1&d=1444062242) последовательного порта в архиве.
Наконец-то! ;) Вот теперь-то можно будет использовать ЮТ в терминальном режиме как контроллер, соответственно клава и дисплей становятся ненужными. Разумеется, в специализированных приложениях ;)
А что мешало поставить еще один кварцевый генератор для более точной подгонки тактовой? С кварцами-то сейчас проблем нет, по сравнению с временами создания ЮТа...
И, имхо, достаточно вывести наружу только TxD и RxD, для большинства приложений вполне как бы...
Кварцы на нужную частоту как правило самые труднодоставаемые :) Особенно где-нибудь в Российской глубинке :). И все равно, нужна будет мс под генератор и мс под предделитель. Зачем утруждать себя поиском кварца, когда есть уже нужная тактовая частота в системе?
КР580ВВ51 умеет делить входную тактовую частоту на 16 и 64 (или вообще не делить). Вот из этого и исходи. Если нужна скорость 9600 и использовать делитель на 64, то входная д.б. 614400Гц. На практике используют один из каналов ВИ53, который делит 2МГц на 13, а ВВ51 программируют делителем на 16. Получается 9615 бод.
Так же, изменяя коэффициент деления ВИ53, получают любые скорости из общепринятого ряда. 9600, 4800, 2400, 1200 и т.д. Если очень хочется прям идеального соответствия стандартам, можно использовать кварц на 1,84320 мгц. При наличии ВИ54, можно и 6,1440 мгц. Внутренние коэффициенты деления ВВ51А, программируемые через ее управляющий регистр, уже привели.
Кто-нибудь макетировал последовательный порт для ЮТ-88 ? Думаю внести на макетку к ВВ55, таймеру ВИ53 и статическому ОЗУ с батареей питания.
Кто-нибудь макетировал последовательный порт для ЮТ-88 ?
Наверное, нет.
Если привинтишь ВВ51 - то это будет отличный подвиг на благо общества :)
Физически проблем нет - готовлю макетную плату под КР580ВВ55, КР580ВИ53, ОЗУ на 32 к и КР580ВВ51А. Программно сложнее будет. Гораздо :v2_dizzy_facepalm:
Клок на ВВ51 будет идти с таймера? Или не будешь ВИ53 занимать тактированием?
ИМХО лучше таймер не трогать, отдать его только под звук...
- - - Добавлено - - -
Программно сложнее будет. Гораздо
Пожалуй, тоже буду собирать последовательный порт. Вдвоем веселее будет код ковырять.
Нужен хотя бы примерный эскиз твоей схемы.
perestoronin
16.01.2016, 02:24
Кстати в лабах для студентов входит и задача по организации обмена данными между двумя стендами по последовательному порту. Рекомендую ВИ53 и ВВ51 установить на основную плату немного уплотнив монтаж и уменьшив толщину дорожек.
Таймер и для звука нужен и для замера времени выполнения кода и для обмена по последовптельному порту.
Чтобы удовлетворить одновременно все эти условия сколько нам потребуется корпусов ВИ53. Компромисы возможны? Площадь процессорной платы не безграничная.
У меня есть резонатор на 6,144 МГц и 1,8432 МГц, пока думаю.
Вдвоем веселее будет код ковырять.
Нужен хотя бы примерный эскиз твоей схемы.
Через пару недель займусь, сейчас только дошли руки до постоянного блока питания под ЮТ-88.
Компромисы возможны?
Выходы ВИ53 можно не только на выход звука выводить, но и на чтение их состояния и прочие нужды одновременно.
Вероятно, одной ВИ53 на всё хватит.
Stampmaker
07.02.2016, 19:42
имхо, какая-то мудрёная у автора схема.
может вот так лучше будет?
счётчик делит кварцевую частоту на 6, а ВВ51 программируем 1:16.
в итоге скорость получаем 19200 вместо 9600.
http://s009.radikal.ru/i308/1602/95/99af05844c63.jpg (http://radikal.ru/big/f9e62c48244c4adba4f487013f499e3c)
А может тактировать ВВ51 лучше от отдельной, второй КР580ВИ53 ?
Поддерживаю, одна фиксированная скорость крайне не удобно. Идеально конечно ВВ51, но если не получается, то стоит подумать хотя бы о паре перемычек с выходов счетчика для выбора скорости, как минимум 9600 и 19200 они по частоте использования примерно одинаковы и наиболее востребованны, ниже уже не столь актуально.
Irodenko
08.02.2016, 19:57
ИЕ4 редкий зверь,
Чего это он редкий то, в трех окрестных магазинах от 4 то 10 рублей бери не хочу.
Так ИЕ4 существует только в 155-й серии, во всяком случае у нас в городе...
Кто-нибудь уже пробовал завести ВВ51А?
Я вот разбираюсь с ней уже второй день.
Вроде уже предусмотрел всё, даже включая три нулевых байта после включения.
Схема - от Stampmaker несколькими постами выше.
SERINIT: XOR A
OUT (#81),A
OUT (#81),A
OUT (#81),A
LD A,#40 ;программный сброс
OUT (#81),A
LD A,#4E ;8 бит, 1 стоп-бит, без проверок четности, делитель 1:16
OUT (#81),A
LD A,#15 ; включаем и прием, и передачу
OUT (#81),A
RET
Отправляя далее байт в порт данных #80, на выходе микросхемы ничего не имеем...
Засылая байт на вход, в регистре данных тоже глушняк.
По схеме видно, что на тактовый вход идет CPU_CLK 1,8432МГц, на тактовые входы RxC и TxC - деленное на 6. Микруха подключена портом #80(81).
Есть ли у кого опыт запуска этого зверька?
UPD. Всё работает, код поправлен. Схема приведена выше, скорость - 19200. Аминь.
Ewgeny7,
Там нужно другие сигналы устанавливать.
При чтении CTS и DSR в нулях.
Если RTC в 1 то запрет передачи.
Передача CTS низкий.
Как то так, подробнее смотри даташит на 51.
У меня работает вот такая программа.
Можно посмотреть листинги Bootloader (http://www.nostalcomp.cz/pdfka/ncb85_boot.zip)'а и Shell (http://www.nostalcomp.cz/pdfka/ncb85_shell.zip) с этой странички, http://www.nostalcomp.cz/ncb85.php , там, правда, и каменты на чешском, но понять можно. И да, листинг под 8085.
Вот ведь она зараза какая... пока не победил, хоть в примерах всё понятно и разжевано...
- - - Добавлено - - -
Засомневался в ИЕ4, подал на ВВ51 1,84МГц прямо с генератора и назначил делитель на 64. Должно выплевывать 28800 Бод. Ничего не изменилось, тишина.
Поменял чип, тоже тишина. Что же я упускаю?..
...остаётся только проверять разводку, мож шина данных зеркально заведена. Макетки, они такие,...
Блин, еще раз в ручном режиме заслал настройки, запустилось. И прием, и передача... Ищу собаку, которая закопалась.
- - - Добавлено - - -
...остаётся только проверять разводку, мож шина данных зеркально заведена. Макетки, они такие,...
Не, это в первую очередь проверяется.
Кстати, кой-где документация по ВВ51 с ошибкой приводится. Там D0 указывается как 19 вывод, вместо 27-го в реальности.
Моя невнимательность виновата, голова уже забита циферками :)
Вместо OUT написал команду LD.
Поправил - все заработало. На предыдущей странице поправил свой код на работоспособный.
Схема - также годна в текущем виде.
В "союзе" они запускают 580ВВ51А на скорости 19200Бод, как и говорил Стампмейкер.
- - - Добавлено - - -
Да, все работает прекрасно! Гонял килобайты туда-обратно, без ошибок. Всем спасибо за помощь! :)
А вот вопрос по согласованию интерфейсов: нет желания ставить МАХ232. Зато есть шнурок для программирования сотовых телефонов с благочинной PL'кой USB-RS232, но у неё интерфейс 3,3 Вольта, а ВВ51 имеет ТТЛ. Если после TxD ещё можно поставить резистивный делитель, то надо ли на RxD ставить согласование на вход? Или и от 3,3 Вольт отработает? Вроде бы по справочнику Uср без Шоттки на входе равно 1,5 Вольта...
Да, USB не канонiчен, но уже как бы приходится ;)
Тут как бы встаёт вопрос о нагрузочной способности кмоп выхода пл-ки на ТТЛ вход ВВ51...
3,3В входит в диапазон логической единицы ТТЛ входа (2,4В...5В), а вот ток? Выдержит ли?
561 серия нормально два ТТЛа тянет (это из опыта работы моего терминала. 561 выбрана из-за более крутых фронтов, нежели ТТЛ)... Ну придётся поставить согласующий каскад на транзисторе, оно несложно и места не занимает...
нет желания ставить МАХ232
Можно поставить FT232RL. Вопрос скорее в другом. Hyper Terminal на РС вообще способен общаться по виртуальному COM порту, который создается в операционной системе драйвером FT-шки?
P.S. Сейчас придут и пнут за неканоничность. :v2_dizzy_roll:
Hyper Terminal на РС вообще способен общаться по виртуальному COM порту, который создается в операционной системе драйвером FT-шки?
Да способен
Stampmaker
31.01.2017, 22:18
Вариант на скорость 38400.
Применён народный счётчик ИЕ5 вместо применённого ранее ИЕ4.
http://s45.radikal.ru/i110/1701/32/e6460a88ea53.jpg (http://radikal.ru)
источник: http://zx-pk.ru/threads/21984-dsdos-dlya-prk-quot-orion-128-quot.html?p=876239&viewfull=1#post876239
Маленькое дополнение к схеме: сигналы RTS и CTS надо либо задействовать в интерфейсе, либо замкнуть между собой.
max232cpe
02.05.2024, 17:43
Срезу 3 чтоб на всё хватило
https://sun9-25.vkuserphoto.ru/impg/UUMIzLJaZqryOUBmtTCFkn-EuJxUCyAck8uiDw/fYbT67bkxD8.jpg?size=1300x609&quality=95&sign=4ba41f2412676c1810bbc5645bdd0724&type=album
- - - Добавлено - - -
Осталось дорисовать 75232 на каждую вв51 и будет как с завода...
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot