nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

Оцифровка аналоговых сигналов высокой чёткости

Мы почти изучили эти сигналы, осталось только понять, и что же теперь с ними делать.

Сигнал, который выдаёт данная конкретная камера, имеет постоянную составляющую: наименьший уровень, около 0,3 вольта, имеют синхроимпульсы. 0,8 вольта - "уровень чёрного", а 1,5 вольта - "уровень белого". Исходя из этого, мы могли бы подогнать диапазон АЦП строго под эти границы - и горя не знать.

Но это существенно снизит универсальность нашего решения. Возьмём другую камеру, у которой другая постоянная составляющая (или она вовсе отсутствует), или прогоним этот сигнал через какую-то схему - и всё, пиши пропало, ничего не заработает, а может даже пожжёт что-нибудь.

Всё-таки общепринято стало, чтобы любое устройство, имеющее дело с видео, имело на входе разделительный конденсатор и потом самостоятельно восстанавливало постоянную составляющую сигнала. Давайте и мы поступим так же. Возможно, это окажется даже проще в реализации, чем правильно сдвинуть уровни для подачи на АЦП.

P_20190614_185345.jpg


На этой схеме нас интересует нижняя часть. Применённая АЦП, AD9283BRS-100, имеет дифференциальные входы, которые, если поставить разделительные конденсаторы, оба установятся на уровне 0,3×VD, т.е около вольта (питание VD=3,3 вольта). Именно такой уровень считается оптимальным: если синфазная составляющая будет сильно выше или сильно ниже, показатели АЦП снизятся. По-моему, если она уползёт больше чем на 200 мВ вверх или вниз, они вообще ничего не гарантируют.

Микросхема оцифровывает значения от -512 мВ до +511 мВ (дифференциальный сигнал).

Цепь C4-R4 - небольшое "пижонство", эффективность которого я пока не шибко проверял. Смысл в том, что на плате камеры есть два "общих вывода", соединённых где-то внутри. По одному поступает питание, по другому - оплётка коаксиала, по которому должен идти сигнал. Из-за падения напряжения на проводе питания и наводок на него, уровень "нуля" на камере (относительно него выдаётся сигнал) и на АЦП может отличаться. Чтобы скомпенсировать это, мы протягиваем отдельно провод питания и провод сигнала, последний через конденсатор поступает на инверсный вход АЦП и должен по идее улучшить качество картинки - не дать возникнуть разному "снегу". Зачем резистор 27 Ом - не уверен :) Взял из даташита, несколько бездумно. Они в своём примере на основном входе ставят резистор 50 Ом - "терминатор", чтобы законцевать коаксиальный кабель, а потом размышляют - 50 Ом здесь, и 50 Ом выходное сопротивление источника сигнала - для нас включены параллельно - вот и получится 25 Ом. А входные сопротивления надо уравнять! Но для нас это не шибко подходит - у нас добавился резистор R1 в 2,2 кОм, а терминатор мы так и не поставили на самом деле - для жгута МГТФ в 10 см как-то обходимся без него :) Когда заработает всё остальное - можно будет немножко поиграться, посмотреть, как оно влияет на качество.

Ну и теперь самое интересное - диод VD3, стоящий, по сути, между входом и общим проводом. Это он припаян сверху на платке АЦП, т.к в оригинальной схеме его не было:
P_20190614_185345.jpg

Его назначение - избежать нехорошего эффекта, лучше всего проиллюстрированного в книге Е.Айсберга «Телевидение?.. Это очень просто!»:


Если у нас долгое время будут идти тёмные строки, то постоянная составляющая будет примерно на уровне "чёрного". Когда она окажется отсечена разделительным конденсатором, у нас синхроимпульсы будут иметь напряжение -0,5 вольта (пройдут целиком), а уровень белого будет +0,7 вольта (насытится). Но если, наоборот, будет идти много очень светлых строк (сплошная белизна), то постоянная составляющая поднимется высоко вверх, и теперь синхроимпульсы срежутся практически "под корень". Сильнее всего это проявится в формате CVI, когда в течение 43 мкс у нас будет уровень +0,7, в течение 4 мкс: -0,5, остальное за 53,3 мкс время: ноль. Это даст среднее за строку +0,53 вольта. Т.е теперь на входе АЦП белый будет соответствовать 137 мВ, чёрный: -527 мВ - уже не влезет в разрядность, округлится до -512 мВ. А синхроимпульсы-всё!

Способ борьбы почерпнут оттуда же, самый простой, с помощью ОДНОГО ДИОДА. Если постоянная составляющая у сигнала становится слишком большой, свыше 0,6..0,7 вольта от уровня головки рельса синхроимпульсов, то на синхроимпульсе этот диод открывается и подзаряжает разделительные конденсаторы, так, что в момент прихода синхроимпульса на его правой обкладке минус 0,6 вольта относительно инверсного входа АЦП. Остальные уровни отсчитываются соответственно.

Да, если диоду "приходится" открыться, то всё равно от синхроимпульсов "откусывается" где-то 0,1..0,2 вольта, но это не так уж страшно - мы их всё равно сможем "почувствовать". Главное теперь, не перепутать их со "вспышкой" цветовой поднесущей, но против неё у нас тоже метод есть :)

Остаётся последний вопрос - а зачем резистор R1? Увы, без него мы столкнулись с "насыщением" белых областей. Никуда от него, видать, не деться - размах видеосигнала изначально был 1,2 вольта, а размах входного сигнала АЦП (который он оцифрует без насыщения): всего 1,024 вольта. Но если у нас очень много черных областей, и постоянная составляющая опустится практически до уровня чёрного, то +0,7 вольта срежутся, и наш фиксирующий диод не поможет, он "в другую сторону" работает. Можно придумать "в другую сторону" поставить, встречно-параллельно, но надо как-то очень уж хорошо подгадать, чтобы он открывался аккурат от +0,5 вольта (точнее, +0,512). Я таких и не знаю - кремниевые чуть больше, германиевые сильно меньше. Может, какой-нибудь монстрючий выпрямительный, но у него паразитная ёмкость огроменная - и не останется нам никакой высокой чёткости!

Поэтому, скрепя сердце, просто взял и немножко ослабил сигнал. Согласно даташиту, на входе АЦП стоит резистор 14,3 кОм на "землю" и 33,3 кОм на +3,3. По переменному току этот делитель предстаёт как резистор 10 кОм. Вместе с нашим резистором 2,2 кОм, получаем ослабление сигнала примерно до 82% от исходного, т.е 0,7 вольта превратятся в 574 мВ. Возможно, опять слегка пожадничал и надо было поставить самую чуточку побольше, но как-то хитро я посчитал, что при таком резисторе у нас насыщения уже не будет :) Возможно, ошибся, ожидал, что мы обязательно будет "подпёрты" снизу диодом, т.е уровень синхроимпульса -0,6 вольта, тогда уровень белого: +0,6 вольта, а после делителя: 492 мВ. Наверное, именно на это я и надеялся...

На этом схемная часть завершается, дальше дело за ПЛИС, которая управляет АЦП и получает на вход оцифрованные значения. Данная конкретная АЦП очень проста в обращении: на PowerDown подаём лог. "0", чтобы активировать АЦП. На вывод Encode подаём тактовую частоту, на которой хотим делать выборки. По фронту тактового импульса АЦП будет "защёлкивать" на выходе очередную выборку, причём задержка распространения в самой АЦП всего 2 нс (время между фронтом тактового импульса и готовыми к употреблению данными на выходе).


Дальше самое интересное - исполнение селектора синхроимпульсов на ПЛИС, на 47 ЛЭ :)
Tags: ПЛИС, работа, странные девайсы
Subscribe

  • Нахождение двух самых отдалённых точек

    Пока компьютер долго и упорно мучал симуляцию, я пытался написать на ассемблере алгоритм захвата на ближней дистанции. А сейчас на этом коде можно…

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments