Просмотр полной версии : UART через магнитофонный интерфейс
CityAceE
05.09.2023, 08:27
Вот я тут играюсь со всякими одноплатниками (https://zx-pk.ru/threads/35227-programmirovanie-gologo-zheleza-raspberry-pi.html?p=1185088&viewfull=1#post1185088), в том числе и через UART. А UART это всего лишь три провода: общий, приём данных и передача данных. Всё, как на магнитофонном интерфейсе ZX-Spectrum. И вот мне стало любопытно, что, кроме уровня сигналов, мешает использовать этот порт в качестве UART? Неужели всё упирается в быстродействие Z80? Или что-то ещё? Или оно уже всё давно реализовано, все наигрались и забыли, а я просто пропустил?
Пока нашёл только такое (https://maker.pro/pcb/projects/make-uart-cassette-tape-interface), но это не совсем то.
https://maker.pro/storage/c06a4eb/thumb/c06a4ebffdf7a01019964629ea8d610d.jpeg https://maker.pro/storage/75563e0/thumb/75563e0f3796d6c877214460e47deb05.jpeg
CodeMaster
05.09.2023, 08:47
что ... мешает использовать этот порт в качестве UART?
Всё, как на магнитофонном интерфейсе ZX-Spectrum.
В магнитофоне же 2 провода: сигнал и земля. Тогда уж 1wire использовать. Но, главный вопрос: зачем?
CityAceE
05.09.2023, 08:57
В магнитофоне же 2 провода: сигнал и земля.
Точно! Что-то я совсем плохой стал. Почему-то подумалось, что там вход и выход разнесены... Тогда всё, вопрос снимается. Вернее ответ получен: не хватает проводов :)
Но, главный вопрос: зачем?
Да для того же, что и сам Спектрум в 2023 году.
CityAceE
05.09.2023, 09:01
Хотя стоп! Это же на ввод один вход (MIC). Но на запись-то сигнал вроде идёт по другому каналу (AIR)?
https://ezcontents.org/sites/default/files/2019-05/PB220391.JPG
HardWareMan
05.09.2023, 09:37
У нормального магнитофона вход и выход разделены, как и режимы. Какой именно магнитофон с совмещёнными входом и выходом имел в виду CodeMaster непонятно. Тем не менее, даже UART часто используют в полудуплексе по одной среде: 1 провод, эфир или оптика.
Serg6845
05.09.2023, 09:53
Вот я тут играюсь со всякими одноплатниками (https://zx-pk.ru/threads/35227-programmirovanie-gologo-zheleza-raspberry-pi.html?p=1185088&viewfull=1#post1185088), в том числе и через UART. А UART это всего лишь три провода: общий, приём данных и передача данных. Всё, как на магнитофонном интерфейсе ZX-Spectrum. И вот мне стало любопытно, что, кроме уровня сигналов, мешает использовать этот порт в качестве UART?
если говорить об именно магнитофонном интерфейсе - то непредсказуемое поведение оного в смысле прохожднения постоянной составляющей сигнала (которая для UART имеет значение)
вот если брать с цифровых выводов (без компаратора на входе и конденсатора на выходе, если он есть) - то ничего не мешает.
Неужели всё упирается в быстродействие Z80?
быстродействие Z80 всего лишь ограничит максимальную скорость с которой получится работать.
Быстродействия z80 на 3.5 МГц хватает ногодрыжить через AY на скорости 9600 без проблем, максимальная же скорость что народ достигал это 115200, но там уже был хардкод из пачки out. А если использовать аппаратный uart, то и 33600 легко достижимо софту.
Для турбо загрузки использовали кемпстон, не просто так. А магнитофонный вход же сильно обрабатывает сигнал входящий, поэтому нужно не просто биты дёргать, а по формату данных их передавать.
CodeMaster
05.09.2023, 13:30
Да для того же, что и сам Спектрум в 2023 году.
А конкретней? Загрузить / выгрузить что-то цифрой на / из Спектрума? Что-то типа Nemo-IDE не проще и удобней? Или управление чем-то нужно? Чем?
CityAceE
05.09.2023, 14:15
А конкретней?
Например, использовать в качестве терминала для какого-нибудь безголового микрокомпьютера, типа этого (https://wiki.sipeed.com/hardware/en/lichee/RV/RV.html).
CodeMaster
05.09.2023, 14:50
использовать в качестве терминала для какого-нибудь безголового микрокомпьютера
Есть ZX Multi Card с RS-232. Или ссуть в том, что вот ничего прям не делая со Спектрумом (кроме патча терминальной программы), воткнуть 3 проводка в магнитофонное гнездо и подключится к другому устройству по UART? Тогда видимо нет, т.к. TTL вхлд/выход на магнитофон был только у Atari, ЕМНИП.
CityAceE
05.09.2023, 16:49
Или ссуть в том, что вот ничего прям не делая со Спектрумом (кроме патча терминальной программы), воткнуть 3 проводка в магнитофонное гнездо и подключится к другому устройству по UART?
Да, именно это и было интересно прежде всего.
Vasily_A
05.09.2023, 21:59
Году примерно в 90-м спаял свой первый спектрум,
а ранее используемый вектор1200 превратил в контроллер печатающего узла телеграфного аппарата РТА-80
(вектор через свои порты через буфера на К155ЛН3 с подтяжками управлял горстью КТ817 транзисторов, управляющих шаговыми моторами и головкой железки от РТА-80, прикрученной к фанере)
Этот "принтер" был подключен к спектруму просто по магнитофонному порту, сперва заливая в вектор программу управления механикой печаталки (по алгоритму работы с магнитфоном у вектора),
а потом передавая данные на печать. Передача была в одну сторону с подтверждением готовности по второму проводу.
программа поддержки печати на спектруме помещалась в озу в штатном буфере печати, работали все функции печати из бейсика и почти всех программ.
Буфер у "принтера" был почти 60кБ памяти вектора, можно была запустить печать на рулоне, и заниматься на спектруме другими делами.
Так что работа по магнитофонному порту вполне возможна, но с учетом его особенностей.
И вот мне стало любопытно, что, кроме уровня сигналов, мешает использовать этот порт в качестве UART? Неужели всё упирается в быстродействие Z80? Или что-то ещё? Или оно уже всё давно реализовано, все наигрались и забыли, а я просто пропустил?
Да вобщем-то кроме уровня больше и ничего. Bitbang UART реализован на огромном количестве архитектур. Например, на той же БК-0010 он штатно в ПЗУ поддерживается, правда скорость так себе и надо перемычки на плате запаивать, не разрешили его штатно почему-то.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot