Как стать автором
Обновить

Комментарии 35

Надо только LC ФНЧ или полосовой фильтр на выход добавить, иначе оно будет мусорить гармониками на чужих диапазонах.

Надо попробовать
Ато в ДМВ диапазоне штук 5 гармоник можно принять крутя ручку настройки.
Еще есть странность: ЖК телевизор ни в какую не принимает этот сигнал ни в каком диапазоне

НЛО прилетело и опубликовало эту надпись здесь

Чётные и нечётные поля должны немного отличаться друг от друга в области вертикальных синхроимпульсов.
Это может быть критично для приёма сигнала ЖК телевизором.
Хорошее описание нужной последовательности импульсов есть в статье Batsocks — Monochrome Composite Video (на сайте Мартина есть неточности, тут картинки более правильные).

Возможно дело в том что я не генерирую уравнивающие импульсы в области кадрового синхроимпульса. В этой статье лучше описано как их формировать

нет, уравнивающие нужны только если вы генерите кадр на 625 строк
посмотрите по ссылке выше
жк телевизоры нормально обрабатывают и 625 строк и 312.
проверяйте длительность строчного гасящего, время до выдачи изображения, паузу после — вот это для жк действительно критично, у меня например один жк нормально переваривает длину сги до 8 мкс, а другой при 6 мкс уже не видит или изображение теряет стабильность

У меня были слишком длинные синхроимпульсы
Стабильность работы на ЭЛТ телевизоре прибавилась, но на жк сигнал всё-еще не принимается.
Может это из-за того что сигнал не так модулируется и DSP его не понимает.
Если генерировать сигнал с помощью HackRF, и на ЭЛТ, и на ЖК он принимается отлично, без дрожания


Скрытый текст
Видимо ожидает частоту кадров равную не 25гц, а 50 Гц.
А где вы 25 Гц увидели?

В фразе "Формирование кадра


В стандарте PAL/SECAM видеосигнал имеет частоту кадров равную 25гц и 625 строк на кадр. ".
Насколько я помню у кадровых синхроимпульсов частота 50 Гц.

Чересстрочная развёртка, два полукадра.
Телевизор ожидает импульсы 50 Гц. По сильному мерцанию «Видео демонстрации работы прилагаю» (на минимальной скорости воспроизведения Youtube видны искажения) создается впечатление, что телевизор выдает собственные синхроимпульсы, когда не получает настоящих и в этот момент экран черный.

Нет, сигнал генерируется непрерывно. Частота кадров если быть точным у меня равна 49,126Гц и не меняется.
Моменты когда на видео экран темнеет видны только на камеру. Это из-за того что кинескоп сильно мерцает и в 1 кадр видео может не попасть целый кадр телевизора.
На этом видео чуваки сняли телевизор на высокоскоростную камеру, где видно что в каждый момент времени светится только маленькая часть экрана


Анимация замедленной съемки кинескопа
Офтоп, но вспоминается программа, которая заставляла старые мониторы играть музыку через радиосигнал
www.erikyyy.de/tempest

Прошу прощения за минус (промахнулся).
Через подобный эффект (https://ru.wikipedia.org/wiki/TEMPEST) можно не просто генерировать радиоволны, а иногда даже считывать то, что монитор показывает. Нам такие опыты демонстрировали в институте.
Выглядит это примерно вот так https://www.youtube.com/watch?v=V7DMUUNZSm4

Неубедительно как-то, на расстоянии 20 сантиметров от ЭЛТ монитора, в котором сигналы усиливаются до сотен вольт. Хотел бы я посмотреть, как с 300 метров (за забором объекта) улавливать сигналы ЖК-монитора с разрешением 1920*1080, подключенного через hdmi. Только это из области ненаучной фантастики.

это любимая сказка всяких фсб-шников :-)) они вечно пугают что сигнал дескать с монитора может быть просканирован :-)))
при этом забывают сказать что если мониторов будет 2 то уже ничего просканировать не получиться, а если еще и расстояние будет более чем метр — так и вовсе это из разряда фантастики :-)))

Усилитель сделанный из stm32f7discovery фонит в эфир на частоте около 8Мгц и этот сигнал промодулирован звуком, воспроизводимым в динамиках.
С ненаправленной антенной принимается с расстояния в несколько метров.

НЛО прилетело и опубликовало эту надпись здесь

Весь смысл в том чтобы генерировать радиосигнал только средствами микроконтроллера без внешних генераторов.
Просто композитный сигнал — не интересно, его даже на pic16 можно сгенерировать

Чтобы не нарушать концепцию «без внешних генераторов» можно было бы на одном и том же МК формировать композитный сигнал, выводить чистую тактовую-несущую и на 1-2 транзисторах замодулировать. Заодно это подусилит уровень да и фильтр можно будет повесить, чтоб без гармоник.
Мне кажется, что результат будет в разы лучше и по цветности и по разрешению.
ага, для простейших задач :-)
Можно и на второй гармонике попробовать передавать.
Впечатляюще.
Фабрис Беллард сгенерировал сигнал DVB-T в 2005 году, но он использовал видеокарту ATI Radeon 9200SE, чей PLL позволял генерировать частоты вплоть до 400 МГц.
Уговорить мелкоконтроллер, конечно, сложнее.
Прикольный эксперимент.
Народ в комментах пишет про гармоники, но тут актуальнее проблема другая — при таком формировании сигнала большое количество мусора будет и в соседнем канале, из-за чего я бы постеснялся такое излучать и завел в телевизор только коаксиалом. Даже если формировать не радиосигнал, а гораздо более низкочастотный видео--.

Тоже экспериментировал с нищим формированием радиосигналов, но для коротковолновых целей и на ПЛИС.
Взял свой самый мелкий четвертый циклон, сделал в нем сигма-дельта ЦАП, который фапчей разогнал до 200..300 МГц клока и выход вывел на I/O, после которого RC фильтр.
Сделал два синтезатора синуса с клоком 50 МГц: один на 14 МГц, второй на 1 кГц. Перемножил их, получив т.о. положенный для измерения IMD3 двухтональный сигнал, и завел его в сигма-дельта ЦАП с входной разрядностью 10 бит.
Глянул осциллографом — красиво. Дал на спектроанализатор в виде RTL SDR — а там 55 дБ динамики по IMD3 и тоны чистенькие, аж на слух приятные.

Дальше — больше. В своем DDC трансивере за неимением параллельного звукового цапа и нежеланием вникать в сложные кодеки, сделал сигма-дельта АЦП для оцифровки микрофона, использовав в нем порог переключения логики в качестве компаратора (да и весь модулятор — просто инвертирующий D-триггер с интегратором на внешней RC цепи, а фильтр — просто счетчик).
В такой конфигурации при клоке 50 МГц и разрядности счетчика 10 бит получил частоту дискретизации 48 кГц и реальную динамику около 45 дБ. Этот АЦП прекрасно трудится в трансивере. Хорош предельной простотой и реализуемостью прямо в ПЛИС, без специальных микросхем.

Это я к чему подвожу:
Получается, что звуковой АЦП и ЦАП для работы на КВ можно сделать на одной лишь ПЛИС.
И, не используя при этом специальных микросхем АЦП и ЦАП, получить весьма добротный полностью цифровой передатчик, который удовлетворяет требованиям к любительской аппаратуре для работы на КВ.
Если нужно лезть выше — тут только формирование НЧ квадратурного сигнала с последующим преобразованием вверх. Иначе чистый спектр не получить.

И вот смотрю я на попытки сделать подобное на МК — понимаемо только если это из любопытства и спортивного интереса.
Для реальных же цифровых ВЧ вещей уже годятся только плис, с их идеальным реалтаймом, более высокими рабочими частотами и параллельностью вычислений.
Самый мелкий четвертый циклон от Альтеры на простейшей плате стóит баксов 25 на Али. А возможностей для качественной быстрой ЦОС несравнимо больше.
Попробуйте, не пожалеете.
Существуют быстродействующие ЦАП прямого синтеза, лет пятнадцать назад один такой мог сформировать 1 ГГц полосы, т.е. сразу весь диапазон кабельного телевидения с лишком.
Вероятно, ПЛИС всё же дешевле и менее дефицитна.
Можно попробовать сделать АМ, складывая сигнал с MCO и модулирующий сигнал, полученный на простейшем ЦАП из резисторов сопротивлением R, 2*R, 4*R, ..., подключенных к GPIO, на встроенном в МК операционнике, так, чтобы сигнал на выходе операционника зашкаливал за питание. Тогда высокочастотная составляющая сигнала будет промодулирована, а внешние элементы — только резисторы и конденсаторы.
Вроде на 407 нет операционника?
Да, на F407 нет операционников, это я вообще, в тему «как сгенерировать аналоговый ТВ сигнал с помощью STM32». Это можно попробовать сделать, к примеру, на STM32H750.

в F4 серии нету встроенного операционника.
Способ, который вы предложили создаст сигнал на выходе, больше похожий на ШИМ. Тогда лучше используя 3 потока DMA и 2 таймера получить полноценный ШИМ сигнал на выходе MCO.
Первый таймер синхронизирован со вторым. По переполнению первого, через DMA в регистр CCR второго загружается новое значение ШИМ. По переполнению второго таймера в GPIO загружается выключение MCO, по событию сравнения одного из каналов загружается включение MCO.

Нет, мой способ не похож на ШИМ, он позволяет модулировать MCO с максимальной частотой для для GPIO+DMA, и получить при этом до 100 градаций яркости. А если перенастраивать DMA с двойной буферизацией на ходу, можно не ограничиваться 128Кпикселями. А еще можно подумать о том, чтобы вместо DMA+GPIO использовать с таким самодельным ЦАП встроенный контроллер дисплея STM32.

Да, вы правы, действительно модулирует
схема на falstad


скрин схемы
Да, я имел в виду такую схему и эффект. После неё хорошо бы ещё полосовой фильтр на втором встроенном операционнике поставить, чтобы убрать гармоники MCO и видеочастоты.
У этих операционников частота единичного усиления маловата — у STM32H750 гарантируется лишь 4Мгц, типичная — 7,3МГц. Это значит, что для радиочастот коэффициент усиления может быть только очень низким — 0,03..0,05 на каскад. Но для прямого подключения к антенному входу телевизора этого хватит.

Настолько низким, что фильтр (если пытаться сделать активный) не будет работать. Да и вообще — вряд-ли встроенный ОУ будет работать хоть как-то ожидаемо...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории