Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://vega.inp.nsk.su/vs56/vs56t.html
Дата изменения: Fri Dec 15 16:14:06 2000 Дата индексирования: Mon Oct 1 19:36:15 2012 Кодировка: koi8-r Поисковые слова: apollo 11 |
Содержание
1. Введение
2. Технические характеристики системы "Тандем 56".
3. Описание контроллера VS56t.
   3.1. Описание телекамеры.
   3.2. Прошивка ПВМ.
      3.2.1. Прошивка VT56_512 .
      3.2.2. Прошивка VT56_576 .
4. Включение системы.
5. Описание программной поддержки системы.
   5.1. Описание портов контроллера.
   5.2. Рабочая область ПЗС матрицы.
   5.3 Программирования контроллера с использованием портов
     
5.3.1 Програмирование входного LUT.
     
5.3.2 Програмирование значений уровня белого (для АЦП).
     
5.3.3 Переключение входного канала АЦП.
     
5.3.4 Начало/Окончание ввода изображения в контроллер.
     
5.3.5 Чтение/Запись изображения с видеопамяти.
     
5.3.6 Загрузка прошивки в ПВМ
     
5.3.7 Управление работой камеры.
   5.4 Работа с прерыванием по IRQ5
6 Литература.
Настоящее техническое описание является слегка переработанным и дополненым исходя из удобства пользования для нас, поэтому за оригинальным техническим описанием контроллера VS56 следует обращатся на сайт
разработчика.
Система VS-tandem-56 (далее "Тандем 56") состоит из контроллера VS56t
и CCD камеры VStTV на основе ПЗС SONY. Система предназначена для высококачественного
ввода черно-белых изображений в ЭВМ типа IBM PC. "Тандем 56" создан на
основе современной элементной базы с применением программируемых пользователем вентильных
матриц.
Камера VStTV формирует видеосигнал, другие вспомогательные сигналы и имеет следующие
технические параметры (данные по чуствительности взяты из описания ПЗС фирмы SONY):
чувствительный элемент |
1/2" ПЗС матрица |
кол.рабочих элементов ПЗС |
741*576 |
размер чувствительной области |
6.46мм*4.83мм |
электронный затвор в диапазоне |
1/50 - 1/10000 сек. |
время накопления сигнала на ПЗС |
до минуты и более |
чувствительность при светосиле объектива F1.2 |
0.25 Lux(выдержка 1/50) |
чувствительность при выдержке 4 сек. |
10(-3)cтепени Lux |
гамма коррекция 0.45 или 1 |
0.45 или 1 |
квантовая эффективность 30% |
30% |
отношение сигнал/шум при полной амплитуде сигнала |
- 44.5 dB |
Система обеспечивает ввод изображения со следующими характеристиками:
-разрешение при вводе до 768*576;
-время ввода - 40 мс;
-время накопления сигнала от 1/10000 сек. до минуты;
-количество экранов при разрешении 512*512 - до 4, при разрешении 768*576 - 1;
-количество градаций уровня серого - 256;
-тактовая частота разложения - 14.1875 Мгц;
-входная и выходная таблица перекодировки (Look up table) ;
-электронная регулировка уровня белого;
-8-ми битный интерфейс с шиной ISA IBM PC;
-возможность вывода изображения на черно-белый и цветной RGB монитор.
Все функции контроллера изменяются с помощью его перепрограммирования. Причем часть
функций может перепрограммироваться пользователем , а часть определяется типом прошивки
программируемой вентильной матрицы (ПВМ). Разработчики поставляют с контроллером
требуемые пользователю варианты прошивки ПВМ. Количество и типы прошивок определяются
типом ПВМ, используемой в конкретном контроллере, и потребностями заказчика.
В настоящее время существуют 2 варианта поставки контроллера VS56 для системы "Тандем
56":
Обозначение |
Обьем памяти |
Вывод на монитор |
Максимальный формат |
|
|
|
|
|
|
|
|
Основной элемент в контроллере - ПВМ, в которую после включения питания необходимо
загрузить прошивку. Загрузка осуществляется через обращение к портам контроллера.
Видео сигнал после мультиплексора попадает на вход аналого-цифрового преобразователя
(АЦП). АЦП имеет электронную регулировку уровня белого , что позволяет подстраиваться
под входной видеосигнал. Пределы регулировки от 0в. до 1.5в. Электронная регулировка
представляет собой 6-ти разрядный ЦАП, который можно программировать. Значения можно
менять от 0 до 63.
После оцифровки данные попадают во входной LUT, расположенный в корпусе АЦП, с организацией
256*8. Далее данные записываются в память.
Во время отсутствия ввода изображения в память (при выключенном вводе, или во время
гасящего импульса) возможен программный доступ к информации в памяти контроллера
со стороны центрального процессора машины. Гасящий импульс возникает 1 раз в течении
каждого полукадра (20мс) и длится 4мс.
Перед началом работы контроллер необходимо инициализировать. Инициализация должна
включать в себя загрузку прошивки в ПВМ и программирование ПВМ и АЦП.
Единственное отличие контроллера VS56t от представленного в [1] состоит в том,
что камера всегда подключена к каналу 1 АЦП
Телекамера создана на основе камеры фирмы Mintron MTV1802CB. Камера смонтирована
в корпусе с резьбой CS для подсоединения объектива. С помощью переходника можно
подсоединять объективы с резьбой С.
Прошивка определяет конкретные характеристики работы контроллера. Прошивки могут
загружаться в контроллер в любой момент времени и любое число раз. Загрузка прошивки
занимает около 80мс. Прошивки хранятся в файлах с расширением .SPE.
Необходимо знать, что никакие изменения в этих файлах недопустимы т.к. это может
вывести контроллер из строя.
Все прошивки имеют следующие общие параметры:
-время ввода изображения в контроллер - 40мс;
-частота оцифровки 14.1875 Мгц;
-показ введенного изображения на телевизионном мониторе (для VS56/2 );
-возможность управлять накоплением на ПЗС.
Прошивка VT56_512 предназначена для работы в системе "Тандем 56А" и
обеспечивают следующие возможности:
-ввод изображения центральной области с разрешением 512*512 точек;
-количество страниц изображения:
4- для VS56/2;
1- для VS56/1.
Прошивка хранится в файле с именем VT56_512.SPE.
Прошивка VT56_512 использует адреса 0x300-0x31f.
Прошивка VT56_576 предназначена для работы в системе "Тандем 56А" и
обеспечивают следующие возможности:
-ввод изображения с разрешением 768*576 точек;
-количество страниц изображения:
1- для VS56/2.
Прошивка хранится в файле с именем VT56_576.SPE.
Прошивка VT56_576 использует адреса 0x300-0x31f.
Контроллер VS56 вставляется в любое свободное гнездо ISA шины IBM PC. К разьемам расположенным на задней панели контроллера подключаются кабельные жгуты, которые является переходниками для соединения с телекамерой и телемонитором.
Перед подключением к ЭВМ монитора корпуса ЭВМ и монитора необходимо соединить общим проводом. |
Соединение и разъединение разъемов на камере и контроллере VS56 производить только при выключенном питании |
С точки зрения программиста контроллер представляет собой несколько внешних портов
в области 0x300-0x31F или 0х320-0х33F, в зависимости от положения перемычки.
Все порты контроллера имеют байтовую организацию и пользователю необходимо осуществлять
запись и чтение портов только байтным форматом.
Порты по записи
0x300 или 0x320 - регистр данных
имеет 8 бит и позволяет записывать данные в экранную память конроллера
на текущую строку. После каждой записи производится инкремент счетчика столбцов.
После 512 обращений счетчик столбцов возвращается к 0-ому столбцу. Автоматического
инкремента строк при этом не происходит. Подробнее о процедуре
чтения/записи данных в экранную память см. раздел 4.6.2.
0x301 или 0х321 - регистр страниц
имеет 2 значащих бита, которые переключают дополнительные страницы
экранной памяти. Регистр есть только в варианте VS56/2.
0x302 или 0x322 - регистр сброса счетчика строк
При записи любых данных в этот порт происходит обнуление счетчика строк и счетчика столбцов, после чего в случае чтения/записи
в экранную память регистры данных будут адресоваться к 0-ому столбцу в 0-ой строке.
0x303 или 0x323 - регистр инкремента счетчика строк
При записи любых даных в этот порт производится
инкремент счетчика строк и обнуление счетчика столбцов.
0x304 или 0x324 - регистр управления
В регистре 4 значащих бита:
0-ой бит - управление вводом изображения. При записи 1 производится ввод 1 кадра
изображения;
1-ой бит - визуализация введенного изображения видеоЦАПом (для VS56/1 не работает).
2-ой бит - управление выдачей сигнала на DS2401 для чтения уникального серийного
номера. При записи 0 на DS2401 выдается высокий уровень, а при записи 1 -
низкий.
3-ий бит - непрерывный ввод изображения с визуализацией вводимого изображения видео-ЦАПом
на ТВ-мониторе. Работает совместно с 0-вым битом (для VS56/1 не работает).
0x305 или 0x325 - регистр маски разрешения прерывания IRQ5
Имеет 6 значащих битов. При записи 1 в
соответствующий бит контроллер начинает производить прерывание IRQ5 при соответствующих условиях. Возможно 6 источников прервания:
0-ой бит - не задействован
1-ый бит - не задействован
2-ый бит - не задействован
3-ый бит - не задействован
4-ый бит - кадровый импульс
5-ый бит - окончание ввода изображения
Запись любого значения в этот порт снимает сигнал "IRQ5" на шине компьютера.
В случае возникновения прерывания пользователь должен прочитать 0х301 (0х321) порт
для определения источника прерывания (если разрешено несколько источников).
0х306 или 0х326 - передача данных для управления камерой
- биты 0 и 1 используются для передачи данных.
0-ой бит этого порта - это линия данных,
1-й бит этого порта - это линия тактирования.
Данные, выставленные в 0-й бит, защелкиваются в приемном сдвиговом регистре управления
камерой по положительному фронту на линии тактирования (бит1). При последовательной
записи в камеру загружается информация о выдержке и т. д. Необходимо осуществить
8 последовательных циклов записей в этот порт. При этом биты загружаются в следующем
порядке:
1 бит -управление экспозицией. Бит должен быть 1 в случае выдержки 1/50 сек и больше.
0 устанавливается в случае выдержек от 1/100сек до 1/10000сек.(см. Табл 2.).
2 бит-вывод сигнала "накопление" на камеру при формировании экспозиций
длиннее 1/50 сек. Этот сигнал управляет накоплением на ПЗС матрице;
1 - обычный режим (для экспозиций 1/50 до 1/10000 сек.);
0 - производить накопление.
При бите равном 0 камера производит накопление изображения на ПЗС, а после посылки
1 выводится накопленная информация. Продолжительность сигнана 0 должна быть кратна
продолжительности кадра (40 мс) для обеспечения одинаковой экспозиции на обеих полукадрах
ПЗС.
3 бит - определяет режим ввода изображения камеры:
0 - пониженное разрешение по вертикали (режим FIELD);
1 - высокое разрешение по вертикали (режим FRAME).
4 бит - осуществляет выбор между режимами АРУ и ручной регулировкой усиления:
0 - ручная регулировка усиления;
1 - использование АРУ.
5 бит - осуществляет включение и выключение гамма-коррекции на камере.
0 - гамма-коррекция включена;
1 - гамма-коррекция выключена и камера работает с линейным выходом.
6-8 биты - выбор времени накопления:
6-8 биты выбор экспозиции согласно таблице :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Порты по чтению
0х300 или 0х320 - регистр данных
имеет 8 бит и позволяет считывать данные из экранной памяти конроллера
в компьютер. После каждого чтения производится инкремент счетчика столбцов. После
512 обращений счетчик столбцов возвращается к 0-ому столбцу. Автоматического
инкремента строк при этом не происходит. Подробнее о процедуре
чтения/записи данных в экранную память см. раздел 4.6.2.
0х301 или 0х321 - регистр состояния контроллера
Задействовано 8 бит:
0 бит- флаг кадрового импульса (КИ)
0-нет КИ
1-идет КИ
1 бит-номер полукадра (НПК)
0-идет четный полукадр
1-идет нечетный полукадр
2 бит- флаг кадрового гасящего импульса (КГИ)
0-идет КГИ
1-нет КГИ
3 бит- флаг процесса ввода изображения
0-ввода нет
1-идет ввод
Этот бит есть только в прошивке с разрешением 512*512. (в 768*576 отсутствует)
Временные соотношения некоторых сигналов представлены на рис 3.
При прошивке 512*512 контроллер вводит центральную часть изображения.
При прошивке 768*576 две самых верхних строки изображения - пустых, а в третьей
информация занимает половину строки. Расположение рабочей области при горизонтальном
разрешении 768 показано на рис.4.
Програмирование контроллера с через обращения к портам контроллера поясняется
рядом примеров. Кроме этого на дискетке поставляется исходный текст библиотеки VS56.LIB
(файлы СOMMON56.C, INXIL56.C и ASM56.ASM).
Следует помнить, что при отключенной камере контроллер с прошивками для Тандема
не работает.
Необходимо произвести следующую последовательность действий:
a). начать ввод:
- дождаться переключения номера полукадра с 0 в 1 (0-ой бит порта rs_read_56);
- вывести 1 в порт write_56;
б). прекратить ввод:
- дождаться переключения номера полукадра 2 раза;
- вывести 0 в порт write_56 ;
Пример на С:
inputFrame56()
{
waitSwitchNpk56();
outp(base_port_56+write_56,1);
waitSwitchNpk56();
waitSwitchNpk56();
outp(base_port_56+write_56,0);
return(0);
}
waitSwitchNpk56()
{
int a;
a=2 & inp(base_port_56+rs_read_56);
while(a == (2 & inp(base_port_56+rs_read_56)))
;
}
Изображение хранится в видеопамяти контроллера и пользователь имеет доступ к
ней через порты dan_56 (по записи) и dan_read_56 (по чтению). В ПВМ
имеются раздельные счетчики строк и столбцов, которые перед началом обмена необходимо
обнулить. Обнуление производиться записью в порт reset_line_56.
При чтении/записи регистров данных происходит автоматический инкремент счетчика
столбцов. После считывания/записи 512 (или 768) байт необходимо инкрементировать
счетчик строк, что производится записью в порт inc_line_56. Пример программы
считывающей кадр в буфер представлен ниже:
unsigned char *buffer;
mov_buf()
{
int i,j;
outp(base_port_56+reset_line_56,0);
for(i=0;i<512;i++)
{
for(j=0;j<512;j++)
*(buffer+i*512L+j)=inp(base_port_56+dan_read_56);
outp(base_port_56+inc_line_56,0);
}
}
Пользователю следует очень внимательно отнестись к разработке и отладке
программы загрузки в ПВМ т.к. при ошибках в этой программе может произойти
выход ПВМ из строя. Если после попытки загрузки прошивки в ПВМ пользователь
видит, что контроллер неработает, необходимо сразу же выключить питание
компьютера. |
Добавление возможности управления камерой приводит к необходимости ее инициализации
перед вводом первого изображения.
Ниже представлены примеры поясняющие работу с камерой.
Установка режимов работы камеры.
При установке режимов работы камеры следует руководствоваться следующей таблицей:
|
"накопление" (2-ой бит) |
|
(8-6 бит) |
|
|
|
|
1/10000 сек |
|
|
|
сигнала (выдержка более 1/50 сек.) |
|
|
|
сигнала |
|
|
|
При работе контороллер может вызывать прерывание IRQ5 по условиям определяемым
пользователем. Для работы с прерыванием необходимо выполнять следующие правила:
- для разрешения прерывания необходимо записать в порт mask_irq5_56 маску
разрешающую прерывания по отдельным каналам (см. описание порта);
- для разрешения обработки прерывания контроллером машины необходимо записать маску
разрешающую прерывание IRQ5 (в порт 0х21);
- при обработке прерывания для разрешения следующего прерывания необходимо еще раз
записать маску в порт mask_irq5_56 и записать 0х20 в порт 0х20;
- для определения, какой из нескольких разрешенных источников прерывания вызвал
его, необходимо прочитать содержимое порта rs_read_56.
[1]
"Техническое Описание VS56" Москва Видеоскан. 1998 г.
Техническое описание системы "VS-tandem/t-56" 10 Апреля, 1999