Вход

Просмотр полной версии : 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 всего лишь ограничит максимальную скорость с которой получится работать.

Kulich
05.09.2023, 13:15
Быстродействия 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кБ памяти вектора, можно была запустить печать на рулоне, и заниматься на спектруме другими делами.

Так что работа по магнитофонному порту вполне возможна, но с учетом его особенностей.

Sandro
06.09.2023, 00:19
И вот мне стало любопытно, что, кроме уровня сигналов, мешает использовать этот порт в качестве UART? Неужели всё упирается в быстродействие Z80? Или что-то ещё? Или оно уже всё давно реализовано, все наигрались и забыли, а я просто пропустил?


Да вобщем-то кроме уровня больше и ничего. Bitbang UART реализован на огромном количестве архитектур. Например, на той же БК-0010 он штатно в ПЗУ поддерживается, правда скорость так себе и надо перемычки на плате запаивать, не разрешили его штатно почему-то.