Скоростные интерфесы для быстрых видеокамер
В настоящее время существует немалое количество стандартов передачи данных от скоростных цифровых видеокамер, которые используются достаточно широко.
Основные стандарты передачи данных от быстрых цифровых видеокамер
- GigE
- IEEE 1394 b
- CameraLink (Base, Medium, Full)
- USB-3.0
- CoaXPress (Base, Full)
- PCI-Express x8 Gen 2
| GigE | IEEE 1394 b | CameraLink | USB-3.0 | CoaXPress | PCIe х8 Gen2 | |
| Поток данных по одному кабелю | 1 Гбит/с | 0,8 Гбит/с | 2,5 Гбит/с (Base) | 6 Гбит/с | 3,125 Гбит/с (Base) 6,25 Гбит/с (Full) |
8 * 5 Гбит/с |
| Макс. поток данных | 1 Гбит/с | 0,8 Гбит/с | 5,44 Гбит/с (Full, 8-tap) 6,8 Гбит/с (Full, 10-tap) (через 2 кабеля) |
6 Гбит/с | 25 Гбит/с (через 4 кабеля) |
40 Гбит/с (через 1 кабель) |
| Макс. длина кабеля | 100 м | 5 м | 10 м | 3 м | 40 / 100 м | 7,5 м |
| Тип кабеля | CAT5e, CAT6 | -- | MDR26 | -- | коаксиальный | медный |
В настоящее время на статус нового высокоскоростного стандарта (учитывая базовые требования - пропускную способность, длину кабеля и доступность технологии) есть два основных претендента: CoaXPress и PCI-Express. У каждого из них есть свои сильные и слабые стороны, которые мы и рассмотрим подробнее. Стоит отметить, что на базе обоих стандартов уже созданы скоростные камеры.
Достоинства CoaXPress
- Основная идея: до сих пор в мире установлено очень много аналоговых видеокамер, подключённых с помощью достаточно длинных коаксиальных кабелей и если заменить камеры на новые цифровые, то можно оставить кабельную инфраструктуру прежней. Т.е. вопрос состоит не в применении принципиально новых технологий и материалов, а в адаптации старых решений к новой элементной базе.
- Передача данных по коаксиальному кабелю
- Относительно высокая скорость передачи данных
- Относительно большая длина кабеля
- Подача питания по кабелю, через который осуществляется передача данных
- Низкая цена кабеля
Недостатки CoaXPress
- Для скоростной передачи данных нужен коаксиальный кабель не стандартный, а "специальный", причём не один (при использовании стандартного кабеля скорость заметно ниже)
- Максимальная длина кабеля на высокой скорости передачи данных не более 40 метров
- Высокая скорость передачи данных от камеры к компьютеру и низкая в обратном направлении
- По сравнению с PCI-Express скорость передачи заметно ниже, и самое главное - пока не видно перспектив по увеличению пропускной способности
- Максимальная скорость передачи данных от камеры к компьютеру достигается при передаче данных сразу по 4-м кабелям, что очень громоздко
- Микросхему CoaXPress выпускает только одна компания (EqcoLogic), производителей фреймграбберов есть несколько - для общепринятого стандарта это нетипично
- И в камеру, и в фреймграббер необходимо ставить FPGA
Основная идея протокола PCI-Express гораздо глубже. В настоящее время этот скоростной последовательный двунаправленный интерфейс является основным кандидатом для осуществления взаимодействия между компонентами компьютера. И уже сейчас пропускная способность достигла впечатляющих значений. Для современных FPGA доступна конфигурация PCIe х8 Gen3, что означает передачу потока данных до 80 Гбит в секунду, а материнские платы и процессоры с поддержкой PCIE-3.0 уже давно есть в продаже. Также есть большой запас с точки зрения увеличения количества линий (до 32). Кроме того, есть варианты передачи данных не только внутри компьютера, но и по кабелю (медь, оптика). Из современных широко распространённых компьютерных интерфейсов таких возможностей нет ни у кого. Таким образом, в ближайшее время не видно ни одного конкурента этому стандарту. Конечно, это вовсе не значит, что такие конкуренты не появятся. Скорее всего, это будут 10GigE/100GigE, Thunderbolt, InfiniBand 12X QDR или подобные интерфейсы. В настоящее время доступны оптические кабели с возможностью передачи данных на скоростях до 150 Гбит/с.
Для высокоскоростных видеокамер с потоком данных 1-2 ГБайт/с и выше, в настоящее время редко используются внешние интерфейсы (кроме экзотических вариантов вроде двойного Full CameraLink или Full CoaXPress с четырьмя кабелями) и обычно запись ведётся в оперативную память, установленную внутри видеокамеры. Таким образом, скорость потока ограничена каналом FPGA-DDR3 и пока альтернатив по скорости такому варианту нет. Длительность записи при этом ограничена размером встроенной в камеру памяти. Если же рассмотреть задачи, требующие передачи всего потока данных из камеры в компьютер, то есть следующие варианты:
- вставить контроллер видеокамеры в разъём PCIe материнской платы компьютера
- передать данные через медный кабель PCIe (Molex, длина до 7,5 метров)
- передать данные через активный оптический кабель (SFP, SFP+, CXP) длиной более 100 метров
Каждый из этих вариантов обеспечивает скорость передачи данных до 3 ГБайт/с по по одному кабелю на PCIe x8 Gen2. Недавно стало доступным пятое поколение FPGA Altera Stratix, что подняло планку пропускной способности до 5 ГБайт в секунду. По всей видимости, для внешнего интерфейса пока это потолок.
Вопрос о том, что же можно сделать в компьютере с входным потоком данных порядка 3 ГБайт в секунду уже решён - его можно в онлайне сжать по алгоритму JPEG на видеокарте с минимальными потерями в качестве, а затем уменьшенный в 10-20 раз видеопоток можно записать на быстрый SSD. Таким образом, длительность высокоскоростной съёмки оказывается ограниченной пропускной способностью внешнего интерфейса между камерой и компьютером.