Jump to content

    

Считывание ПЗС матрицы

Добрый день!

 

Возникла необходимость сделать девайс для считывания данных с ПЗС матрицы (например Sony ICX429ALL).

 

Собственн, как я это себе представляю:

 

На ПЛИС (если возможно) сделать генератор импульсов для вертикального / горизонталного сдвига данных в ПЗС.

Выходные данные подать на АЦП и потом в какой-нить микроконтроллер (Cypress ?) с USB интьерфейсом, и потом в комп. Т.е. никакой обрботки от железа не требуется.

 

В даташите на вышеуказанную матрицу

 

http://www.sony.co.jp/~semicon/english/img...01/a6804694.pdf

 

на страницах 16-18 приводятся времнные диаграммы "Sensor Readout Clock Timing Chart", "Drive Timing Chart (Vertical Sync)", "Drive Timing Chart (Horizontal Sync)".

На диаграммах присутствуют сигналы HD, VD, BLK, FLD, назначение которых мне не понятно, т.к. их нет в распиновке ни самой матрицы, ни рекомендуемого Vertical Driver CXD1267AN, и других упомянаний о них в даташите тоже нет. Поиск в инете результатов не дал.

 

Обращаюсь за помощью к специалистам :)

Приветствуется любая инфа поданной тематике.

 

P.S.: затевается НИР

Edited by SancheSZ

Share this post


Link to post
Share on other sites

HD - импульсы с частотой строк

VD - импульсы с частотой полей

BLK - сигнал гашения приёмника

FLD - сигнал чётности поля

На ПЗС всё это, конечно, не подаётся. В datasheet на матрицу оно приводится для иллюстрации временных диаграмм с привязкой к видеосигналу. Смотреть надо в описании не драйвера, а timing generator-а, например CXD2463.

Share this post


Link to post
Share on other sites

Спасибо!

 

Т.е. в принципе этих сигналов может и не быть? Допустим я сам хочу сделать упрощенный Timig Generator на ПЛИС (с преобрзованием логических сигналов ПЛИС в сигналы с необходимой амплитудой, полярностью и формой, необходимой для матрицы).

 

Видео сигнал мне не нужен, нужно только оцифровывать "пикселы" причем без обработки.

 

Еще вопрос: сигналы V1-V4 на тих самых диаграммах - это то, что подается на CCD, или то, что подается на Vertical Driver? Просто на схеме в даташите на VDriver подается XV1-XV4, а на матрицу - Vf1-Vf4, где 'f' - греческая буква "Фи".

 

И вообще - зачем этих сигнаов так много? Сигналы V1, V3 являются двуполярными судя по этим самым диаграммам? Просто опять же в раделе, где подробно описывается их форма, об этом ниего не сказано, а по диаграммам поучается, что начало считывания информации происходит после подачи положительных импульсов на эти сигналы.

Share this post


Link to post
Share on other sites

:) В каком бы принципе Вы ни сделали синхрогенератор, импульсы строчной и кадровой частоты в нём будут, даже если они не пойдут наружу из ПЛИС. Если удастся обойтись без этого, поделитесь, пожалуйста.

Временные диаграммы в datasheet на матрицу - это то, что должно быть приложено к электродам матрицы. Видимо, Вы пишете о рисунке "Sensor Readout Clock Timing Chart"? "Третий" уровень, самый высокий, подаётся раз в кадр, и служит для переноса накопленного светового изображения в ту часть матрицы, где оно будет храниться, пока его не считают. Принцип работы ПЗС описывать здесь не хотелось бы. Поищите статью Л.Лазовского "ПРИБОРЫ С ЗАРЯДОВОЙ СВЯЗЬЮ: ПРЕЦИЗИОННЫЙ ВЗГЛЯД НА МИР", когда-то я её скачал тут: http://www.autex.spb.ru/download/sensors/ccd.pdf. ICX429 относится к классу приборов со строчно-кадровым переносом.

Эти "высокие уровни" формирует драйвер 1267 при подаче импульсов на его входы XSG1 и XSG2, а два других уровня переключаются по его входам XVx.

Зачем так много? К Лазовскому!

Share this post


Link to post
Share on other sites
Поищите статью Л.Лазовского "ПРИБОРЫ С ЗАРЯДОВОЙ СВЯЗЬЮ: ПРЕЦИЗИОННЫЙ ВЗГЛЯД НА МИР", когда-то я её скачал тут: http://www.autex.spb.ru/download/sensors/ccd.pdf.

Спасибо за статью - кое что себе уяснил, хотя общий принцип был ясен. И все-таки непонятно. В статье описываются трехфазные матрицы, а эта - похоже 4-х.

Зачем нужна четвертая? И потом, для сдвига по горизонтали почему-то всего 2 фазы...

 

На диаграммах в даташите импульсы Vx имет какую-то странную форму (не сдвинуты по фазе на 120 градусов (ну или 90 для 4-х фаз - типа 360/4=90), как в статье, а сдвинуты как-то произвольно, кроме того скважность импульсов не равна 1/2 и вообще меняется)

 

 

Временные диаграммы в datasheet на матрицу - это то, что должно быть приложено к электродам матрицы. Видимо, Вы пишете о рисунке "Sensor Readout Clock Timing Chart"? "Третий" уровень, самый высокий, подаётся раз в кадр, и служит для переноса накопленного светового изображения в ту часть матрицы, где оно будет храниться, пока его не считают.

Ну в принципе и на рисунке "Vertical Sync" тоже видны эти "пички".

 

Еще насколько я понял матрица относится к классу мариц с черезстрочной (interlace) развертокой. Т.е. сначала читаются нечетные строки, потом - четные. Тык каким образом матрица "узнает" о том, какие строки читаются в данный момент? Т.е. как делется переключение между режимами?

Edited by SancheSZ

Share this post


Link to post
Share on other sites

Зачем нужна четвёртая фаза - забыл за ненадобностью :(. А знал! Просят четыре, четыре и делаем.

То же и про две. Там технологически что-то такое делается для создания поля, тянущего в одну сторону.

Форму там нарисовали как можно ближе к реальности, с учётом неидеальности драйверов, взаимной ёмкости фаз и прочего. Фазовый сдвиг никакого значения не имеет, важно так называемое перекрытие, в микросекундах: чтобы во время одинакового уровня на двух соседних фазах заряд успел перетечь из-под одной фазы в другую.

Чересстрочная развёртка - потому что для вещательного телевидения. Матрице про то знать не надо, это определяется управляющими импульсами. Присмотритесь к временным диаграммам синхрогенератора, хоть того же 2463, увидите разницу между полями, там часто приписано Odd Field и Even Field. Я сейчас уже не помню конкретно. Если Вам не нужно полное разрешение по вертикали, можно и одно поле читать, матрице всё равно.

Share this post


Link to post
Share on other sites
Зачем нужна четвёртая фаза - забыл за ненадобностью :(. А знал! Просят четыре, четыре и делаем.

Действительно :). Что просят, то и сделаем.

 

 

То же и про две. Там технологически что-то такое делается для создания поля, тянущего в одну сторону.

Форму там нарисовали как можно ближе к реальности, с учётом неидеальности драйверов, взаимной ёмкости фаз и прочего. Фазовый сдвиг никакого значения не имеет, важно так называемое перекрытие, в микросекундах: чтобы во время одинакового уровня на двух соседних фазах заряд успел перетечь из-под одной фазы в другую.

А почему тогда нельзя подать один-единственный сигнал сразу на обе фазы? Или можно?

 

 

Еще пара вопросов по сигналам RG и SUB.

 

1. Правильно ли я пониаю, что RG дается перед (после) считывания каждого пиксела (т.е. синхронно с импульсами H1, H2) для снятия остаточного заряда с зарядочувствительного усилителя на выходе?

 

2. SUB используется для разряда всеx потенциальныx ям перед началом экспозиции нового кадра? Т.е. время от SUB до ПОЛОЖИТЕЛЬНЫХ импульсов на V1, V3 (перенос заряда в буферные столбцы) определяет время экспозиции кадра? Можно ли в таком случае использовать этот факт для изменения времени экспозиции при относительно медленном считывании? Т.е. например давать SUB не как в даташите, а существенно позже (например посередине считывания кадра)? И не влияет ли SUB на заряд в буферных столбцах?

Edited by SancheSZ

Share this post


Link to post
Share on other sites
А почему тогда нельзя подать один-единственный сигнал сразу на обе фазы? Или можно?

Так заряд же должен "переливаться": сначала он под фазами 1 и 2, например, потом под 2 и 3 и так далее.

1. Правильно ли я пониаю, что RG дается перед (после) считывания каждого пиксела (т.е. синхронно с импульсами H1, H2) для снятия остаточного заряда с зарядочувствительного усилителя на выходе?

Правильно, после. Прочитали заряд и сбросили выходное устройство. Или до: сбросили заряд в выходном устройстве и начали принимать новый. Что-то я и сам не пойму :) Надо заглянуть в начало строки.

2. SUB используется для разряда всеx потенциальныx ям перед началом экспозиции нового кадра?

Совершенно верно. Именно так и работает автоматическая регулировка времени накопления в камерах (electronic shutter). А кто такие буферные столбцы? Выходной регистр?

И ещё на закуску. Как я понял, Вы собираетесь всю сопровождающую ПЗС схемотехнику делать самостоятельно? Тогда не забудьте про двойную коррелированную выборку (ДКВ), она же CDS (correlated double sample вроде) на выходе ПЗС, без неё будет очень много шумов. Это я так, на всякий случай. :)

Share this post


Link to post
Share on other sites
Так заряд же должен "переливаться": сначала он под фазами 1 и 2, например, потом под 2 и 3 и так далее.

Дык здесь 2-х фазная система. Вы же сами говорили (и согласно даташиту это так), что определяющим является минимальное время перекрытия H1 и H2. Т.е. можно просто считать H2 инверсией H1? И подать сигнал напрямую и через инвертор? (В предыдущем своем сообщении я допустил ошибку, предлагая подать один сигнал на обе ножки CCD - забыл инверсию) Или все-таки нет (необходим сдвиг)?

 

Совершенно верно. Именно так и работает автоматическая регулировка времени накопления в камерах (electronic shutter). А кто такие буферные столбцы? Выходной регистр?

Буферные столбцы - вертикальые сдвиговые регистры, которые закрыты от света и чередуются со светочувствительными столбцами матрицы. Матрица ведь типа interline (по-русски вроде как назывется "с буферизацией столбцов").

 

И все-таки с SUB мне не понятно... Если это электронный затвор, то по логике он должен подаваться раз в кадр (как я и описал в своем предыдущем посте). Но сейчас внимательнее посмотрел на временню диаграмму "Horizontal Sync" из даташита на CCD. Судя по всему там изображено окончание вывода i-ой строки, потом однократный вертикальный сдвиг и вывод (i+1)-ой строки. Сигнал SUB дается как раз между строками ОДНОГО кадра, т.к. смена кадра должна выглдеть поидее по-другому - должны быть высокие пичк на V1, V3 и должна быть разница дя четного и нечетного поля. Т.е. получаеся что на диаграмме показан процесс вывода одного кадра, и между строками при ветикальном сдвиге зачем-то дают сигнал SUB.

Share this post


Link to post
Share on other sites
Дык здесь 2-х фазная система.

Извиняюсь, не понял, о чём речь. Да, для горизонтальных фаз просто два противофазных импульса.

Матрица ведь типа interline (по-русски вроде как назывется "с буферизацией столбцов").

Понял. Раньше, когда у нас две фирмы делали ПЗС и развивалась своя терминология, она, насколько я помню, называлась "со строчно-кадровым переносом". Теперь, наверное, мало кто вообще пытается сказать это по-русски.

Импульс SUB теоретически, наверное, можно подавать раз в кадр, но на практике оба синхрогенератора, с которыми я работал, CXD2400 и CXD2463, выдают эти импульсы в гасящем интервале каждой строки до тех пор, пока не начнётся накопление. Поэтому SUB и попал во временную диаграмму строки. Видимо, идеального уничтожения заряда одним импульсом не получить.

Share this post


Link to post
Share on other sites

Ну понятно. Только в таком случае получается, что время накопления равно времени вывода одной строки, и за один кадр процесс накопления будет повторяться столько раз, сколько строк в кадре. Но так сказать результирующим будет только последний процесс.

 

По поводу невозможности удаления заряда за 1 раз - как-то странно получается: ведь в паузах между SUB заряд накапливается по-новой, что сводит на нет попытки его удалить. Странно все это...

Share this post


Link to post
Share on other sites
Совершенно верно. Именно так и работает автоматическая регулировка времени накопления в камерах (electronic shutter).

И как же тогда оно работает в камерах, если SUB подается всегда между строками, т.е. в одно и то же время?

Share this post


Link to post
Share on other sites
Но так сказать результирующим будет только последний процесс.

Именно так.

И как же тогда оно работает в камерах, если SUB подается всегда между строками, т.е. в одно и то же время?

Так он же подаётся не между всеми строками, а только между теми, которые в начале кадра. А конец кадра отводится на накопление. Чем больше строк, в которых он подаётся, тем меньше время накопления и, соответственно, чувствительность камеры. Кстати, процесс накопления заряда, вообще-то, со строчной развёрткой не связан :), SUB подаётся в гасящем, чтобы не давал помеху на активной части строки. Или, может, ещё какие соображения есть.

Share this post


Link to post
Share on other sites

А какой АЦП подойдет для матрицы? Мжно использовать например AD9203? Вроде по разрядности и по скорости пдходит... На что еще смотреть?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this