Как пэвм по ethernet обрабатывает поток bt 656 8bitdv 16bitdv lvds serializer

Обновлено: 04.07.2024

Практически все отечественные производители видеорегистраторов знакомы с продукцией компании Techwell. Она славится своими микросхемами обработки видео и хорошо известна во всем мире. Продукция Techwell установлена на платах многих ведущих мировых фирм-изготовителей систем видеонаблюдения, таких как Mitsubishi Electric, Panasonic, Hitachi, Samsung, Sony и др. Основные выгоды от применения микросхем Techwell заключаются в их больших функциональных возможностях, высокой надежности и рентабельности.

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

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

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

Видеодекодер TW 2864
4-канальный видео/аудиодекодер TW2864 компания Тесhwell производит с 2007 года. Он предназначен для замены устаревших TW2815 и TW2816. Микросхема TW2864 выпускается в корпусе TQFP-100 и по выводам совместима со своими предшественниками при потреблении не более 0,5 Вт.

TW2864 работает со всеми разновидностями стандартов видеосигнала NTSC/PAL (с автодетектированием), поддерживает мультиплексированный цифровой видеовыход формата ВТ.656 на частотах 54 МГц или 108 МГц.

Тесhwell выпускает четыре вариации данной микросхемы (табл.). Как видно, TW2864B (54 МГц, есть аудио) является заменой TW2815, а микросхема TW2864D (54 МГц, нет аудио) — заменой TW2816.

Вариации TW2864
НаименованиеОбработка аудиоканаловТактовая частота, МГц
TW2864AЕсть108
TW2864BЕсть54
TW2864CНет108
TW2864DНет54

Наименование Обработка аудиоканалов Тактовая частота, МГц TW2864A Есть 1G8 TW2864B Есть 54 TW2864C Нет 1G8 TW2864D Нет 54 Базовая система TW2700+TW2864B

Пару микросхем TW2864B (54 МГц) и TW2700 часто называют базовой системой для организации видеонаблюдения. И действительно, пара этих чипов способна принимать 4 канала аналогового аудио/видео сигнала различных форматов с автоопределением, оцифровывать его, проводить MJPEG- и JPEG-сжатие, записывать данные на жесткий диск через встроенный ЮЕ-интерфейс, организовывать экранное меню и детектор движения по каждому каналу, передавать данные по Ethernet, USB или GPRS, а также подключать различные виды дисплеев.

На рис. 1 показана блок-схема простейшего видеорегистратора на базе декодера TW2864B и кодека TW2700. Вместо TW2864B можно использовать другие декодеры, например TW2865, TW2866, TW2867. Эта схема, конечно же, не сможет обойтись без хост-контроллера и внешней ОЗУ (SDRAM). Дополнительно можно использовать USB-, Ethernet-, VGA-контроллеры и др.

Микросхему TW2700 можно каскадировать, то есть включать последовательно с целью нарастить количество входов и выходов. Таким образом, можно организовать обработку до 16-ти аудио/видео каналов и подать их одним потоком на дисплей или записать на жесткий диск.

Full HD-система TW2864A+TW2880
С появлением микросхемы TW2880 стало возможным простое и эффективное использование больших дисплеев формата Full HD (1080p). TW2880 совместно с внешним кодеком H.264 способна обработать 16 аудио/видео каналов в режиме реального времени. Микросхема TW2880 выполняет мультиплексирование, масштабирование, деинтерлейсинг, а также выводит на два отдельных монитора 16 прямых и 16 записанных каналов.

На основном Full HD-дисплее микросхема отображает до 20-ти прямых/записанных каналов высокого разрешения и экранное меню. Кроме того, организованы 12-уровне- вый графический оверлей, идентификация каналов и детектор движения.

Поскольку TW2880 работает на максимальной тактовой частоте 108 МГц, эффективную пару ей составит декодер TW2864A (108 МГц). Вместо него можно также использовать декодеры TW2865, TW2866 и TW2867, которые поддерживают частоты 54 МГц и 108 МГц.

TW2851: видеодекодер с LCD-контроллером
В декабре 2009 г. компания Techwell подготовила к выпуску новую микросхему — TW2851, которая представляет собой полностью интегрированный аудио/видеодекодер, мультиплексор и дисплейный контроллер для работы с видеосигналом в режиме реального времени.

Микросхема TW2851 предназначена для преобразования и передачи одновременно четырех аудио/видеоканалов в режиме реального времени в качестве D1 (720x480) или для одновременной передачи 16-ти прямых/записанных каналов в базовом качестве CIF (352x288).

Микросхема имеет 12 входов: 8 аналоговых и 4 цифровых. На аналоговые каналы поступает композитный видеосигнал с видеокамер для последующей подачи на четыре NTSC/PAL-видеодекодера (с автоопределением). Эти видеодекодеры преобразуют аналоговый сигнал в цифровой поток и состоят из 10-битных АЦП и контроллера цветности.

Мультиплексор TW2851 работает с любыми видеовходами и выходами и переводит многоканальное видео в один поток формата BT656/BT601 (до 120-ти кадров в секунду), который сопрягается с внешним кодеком сжатия видео. При этом сохраняются идентификация каждого канала и другие сервисные функции.

Микросхема поддерживает аналоговые и цифровые видеовыходы. К аналоговым относятся один VGA, два CVBS, один SPOT и выход для записи, к цифровым — один RGB, один BT1120, два BT656 (для записи), один цифровой SPOT (BT656) и выход для каскадирования.

Главной особенностью микросхемы TW2851 является ее оснащение в виде VGA/LVDS-интерфейса для прямого подключения к дисплею (интегрированный VGA/LVDS LCD-контроллер). Организована поддержка различных типов TFT-дисплеев с разрешением до WXGA+.

При каскадном включении система из четырех микросхем TW2851 может передавать на экран до 32-х окон и выдавать 16 SPOT-каналов.

В оснащение микросхемы TW2851 входят 16-разрядный контроллер многослойного экранного меню, фильтры шумов (в каналах записи и отображения), детекторы движения и др. Для подключения к хост-контроллеру микросхема имеет параллельный интерфейс. Кроме этого, есть последовательный интерфейс I2C и порт PS2.

TW6864/TW6868: видеодекодеры с интерфейсом PCI Express
В персональных компьютерах уже давно используется технология шины PCI Express для ускоренной передачи данных и получения других преимуществ, которые отсутствуют при использовании PCI.

В ноябре прошлого года компания Techwell представила два новых интегральных решения для обработки видео с интерфейсом PCI Express: TW6864 и TW6868. Новые микросхемы работают с видеосигналом в режиме реального времени и поддерживают на выходе цифровой компонентный сигнал YCbCr с разрешением D1, 1/2 D1 или CIF (по каждому каналу).

Микросхема TW6864 оснащена 4-канальным NTSC/PAL/SECAM-видеодекодером (с автоопределением), четырьмя оцифровщиками аудиосигнала высокой производительности и предназначена для обработки четырех видеоканалов качества D1 в режиме реального времени (до 16-ти каналов в режиме записи).

TW6868 обрабатывает 8 видеоканалов в режиме реального времени (4 аналоговых и 4 цифровых). Микросхема содержит 4 аналоговых видеодекодера (с автоопределением формата), 4-канальный приемник цифрового видеосигнала BT656, 4-канальный аудиокодек и последовательный порт для цифрового аудио.

Для обработки сигнала с восьми аналоговых видеокамер TW6868 можно включить вместе с дополнительным 4-канальным декодером, например TW2865. Таким образом можно обработать восемь каналов аналогового видеосигнала и передать по шине PCI Express восемь каналов цифрового видео D1 в режиме реального времени, а также организовать девять аудиоканалов (рис. 2).

Микросхемы TW6864 и TW6868 оснащены адаптивным гребенчатым фильтром 4H отдельно по яркости и по цветности, который справляется с перекрестными паразитными шумами. Они имеют на борту запатентованный компанией Techwell высокопроизводительный DMA-контроллер, который работает во всем диапазоне PCIe х1 и обеспечивает оптимальную и надежную передачу аудио- и видеоданных.

Высокий уровень интеграции микросхем TW6864 и TW6868 упрощает конструкцию PC-DVR-карты и соответственно уменьшает затраты на ее изготовление. При этом повышается надежность карты и ее производительность при реализации приложений для видеонаблюдения.


Протокол ITU-R BT.656 [1], описывает алгоритм передачи видео для потокового несжатого PAL или NTSC ТВ стандартной четкости (625 или 525 строк) сигналов.

Стандарт NTSC [2] определяет метод кодирования информации в композитный видеосигнал. Согласно стандарту NTSC, каждый видеокадр состоит из 525 горизонтальных строк экрана, по которым каждую 1/30 секунды проходит электронный луч. При отрисовке кадра электронный луч делает два прохода по всему экрану: сначала по нечетным строкам, а потом по четным (чересстрочная развертка — interlacing).

Стандарт PAL [3] использует метод добавления черного и белого цвета к телевизионному сигналу. Создает на экране 625 строк с частотой 25 кадров в секунду. Аналогично системе NTSC использует чересстрочную развертку.

В дальнейшем будет рассматриваться стандарт цифровой передачи видеоданных для системы аналогового цветного телевидения PAL.

Протокол BT.656 опирается на цифровые параметры кодирования видео 4:2:2, определенных в Рекомендации ITU-R BT.601 [4], которая использует цветовое пространство Y-Cb-Cr и частоту дискретизации 13,5 МГц для пикселей.

Структура дискретизации сигнала обозначается как соотношение между тремя частями X:a:b (например, 4:2:2)(рис.1), описывающими число выборок яркостных и цветоразностных сигналов. Этими частями являются:

X — частота дискретизации яркостного канала, выраженная коэффициентом базовой частоты (ширина макропикселя);

a — число выборок цветоразностных сигналов (Cb) в горизонтальном направлении в первой строке;

b — число (дополнительных) выборок цветоразностных сигналов (Cr) во второй строке.


Рис. 1. Структура дискретизации сигнала

Y-Cb-Cr поток видео


После каждого кода SAV, формат каждой пары пикселей имеет вид Cb-Y1-Cr-Y2, где коды яркости (Y) соответствуют каждому пикселю, а коды цветности (Pb-Pr) — группе пикселей. Таким образом, в среднем за два такта передается информация об одном пикселе.

Каждая строка видео оцифровывается с частотой 13.5 МГц, генерируя 720 выборок, как показано на рис. 3 [1]. Это преобразуется в 16-битный 4:2:2 поток данных Y-Cb-Cr, в результате в 720 выборок Y в одной строке, и 360 выборок каждого из Cb и Cr на линию. Данные Y и данные Cb-Cr мультиплексируются, и тактовая частота в 13.5 МГц увеличивается в два раза до 27 МГц.


Рис. 3. BT.656 временные соотношения строки для 625/50 видеосистем

SAV иEAV коды синхронизации

SAV (начало активного видео) и EAV (конец активного видео) коды встроены в видеопоток Y-Cb-Cr. Они устраняют необходимость в HSYNC, VSYNC и FIELD тактовых сигналов, обычно использующихся в видеосистемах. EAV и SAV последовательности показаны в таблице 1 [1].

BT.656 EAV иSAV последовательность


Слово состояния XY, которое также указывает на то, является ли это SAV или последовательность EAV, определяется следующим образом:

F = 0 для поля 1; F = 1 для поля 2;

V = 1 во время вертикального бланкирования;

Н = 0 при SAV, Н = 1 при EAV;

P3-P0 = биты защиты:

где ⊕ представляет собой функцию сложения по модулю 2.

Состояние битов P0, P1, P2, P3 зависят от состояний битов F, V и H, как показано в таблице 2 [1].

Состояние битов



Рис. 4. Типовые BT.656 интервалы вертикального гашения в кадре для 625/50 видеосистем

Структурная схема запоминающего устройства записи видеоинформации

Структурная схема, в которой реализованы рассмотренные принципы, приведена на рис.5.


Рис. 5. Структурная схема запоминающего устройства записи видеоинформации

Данный рисунок представляет собой схему запоминающего устройства видеоинформации. Рассмотренные особенности применения протокола цифровой передачи видео данных ITU-R BT.656используются для передачи видео между процессором и внешним устройством.

Вывод

В статье рассмотрены протокол ITU-R BT.656 и стандарты PAL и NTSC, а так же один из примеров их реализации.

Унификацией и стандартизацией интерфейсов для телевизионной аппаратуры занимаются не только национальные комитеты, но и международные организации, такие как ITU-R (International Telecommunication Union-Radio), Общество инженеров кино и телевидения (SMPTE) и Европейский союз вещания (EBU).

Стандарт BT.601 (до 1992 года CCIR-601)

В качестве частоты оцифровки видеосигнала была выбрана частота 13,5 МГц.

Ниже дано обоснование рекомендуемых в стандарте базовых параметров.

Кодирование цветового пространства

Восприятие цвета представляет собой спектральную чувствительность света сетчаткой глаза.

Зрительная система человека использует трехкомпонентную модель представления цветового пространства за счет наличия трех типов цветных фоторецепторов (колбочек). Цветовое пространство, или же цветовая модель (цветовая система), является методом, посредством которого мы можем описывать, создавать и видеть цвет. Существует множество цветовых пространств, и большинство из них описывает каждый цвет как точку в трехмерном координатном пространстве. Каждая система оптимизирована под конкретную область применения. Три наиболее популярные модели цветового пространства:

Как при аналоговой, так и при цифровой передаче и записи телевизионного изображения возникают проблемы, связанные с необходимостью обеспечения большой полосы пропускания и больших информационных объемов. Сокращение объемов полезной информации и полосы пропускания удалось получить благодаря особенностям человеческого зрения. В отличие от систем технического зрения человеческий глаз не воспринимает цвет при низких уровнях яркости и малых размерах цветных объектов. То есть колбочки глаза воспринимают только низкочастотный спектр изображения. С позиции зрительной системы изображение может быть рационально представлено на базе трех плоскостей или компонент — плоскости яркости, представляющей мелкие черно-белые детали изображения, и двух плоскостей, дающих представление о цвете крупных деталей изображения. Для яркости требуется максимальная полоса пропускания, а полосы пропускания цветовых компонент могут быть урезаны без потери качества для зрительной системы. Именно эта особенность зрительной системы человека использовалась при разработке всех систем цветного телевидения.

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

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

Название

Сигналы

Разъемы

Достоинство

Недостатки

Три сигнала RGB + Hsync,

(сигналы синхронизации могут отсутствовать)

Большая полоса частот, большая стоимость оборудования для передачи и преобразования изображения

Три сигнала Y-яркость, Pb и Pr

Высокое качество, не требуется декодирование, отсутствие перекрестных помех цвет-яркость

Качество немного хуже,

чем в системе RGB, но практически незаметно для зрительной системы

Два сигнала Y-яркость, Pb+Pr — цветность

Реализация дешевле компонентной системы.

Чуть лучшее качество изображения, чем для композитного сигнала

Худшее качество изображения за счет помех при декодировании

Video, один сигнал

Простота и дешевизна

Самое худшее качество изображения вследствие декодирования, наличие перекрестных помех цвет-яркость, сложное кодирование и декодирование

Другое достоинство данной цветовой системы — обеспечивается возможность простая схема приема и отображения цветного изображения на черно-белом экране телевизора. Для этого достаточно использовать только сигнал яркости Y, и нет необходимости реализовывать декодер цветоразностных сигналов.

Частота дискретизации

Модель преобразования видеосигнала в цифровую форму

Рис. 1. Модель преобразования видеосигнала в цифровую форму

На рис. 2 показан аналоговый видеосигнал одной компоненты для одной строки.

Временные соотношения при цифровом кодировании видеосигнала

Рис. 2. Временные соотношения при цифровом кодировании видеосигнала

В кадре цифрового потока, в скобках, показаны порядковые номера слов (дискретов), соответствующих указанным фазам видеосигнала.

Изображение высокого качества имеет полосу частот сигнала яркости 6 МГц. Для адекватного преобразования аналогового сигнала в цифровой код требуется частота дискретизации не менее 12 МГц. С другой стороны, частота должна быть кратна строчным частотам стандартов 15 625 Гц (625 строк) и 15 734, 26 573 Гц (525 строк). Нет смысла выбирать слишком высокую частоту, поскольку это значительно увеличит полосу пропускания канала, а также стоимость обработки и транспортировки цифрового изображения. Минимальная частота, кратная обоим числам одновременно и превышающая 12 МГц, — это частота 13,5 МГц.

Человеческий глаз более чувствителен к изменению сигналов яркости, нежели цветовых сигналов. Поэтому цветовые компоненты могут сжиматься отдельно от яркости и с большим коэффициентом компрессии. Для передачи цветоразностных сигналов выбрана частота вдвое меньшая, то есть 6,75 МГц. Этот стандарт цифрового кодирования условно называется 4:2:2, что отражает соотношение частот дискретизации сигналов яркости и двух цветоразностных сигналов.

Частота квантования 13,5 МГц выбрана в соответствии с используемым уровнем разрешения и предназначена для телевизионных стандартов NTSC (525 строк) и PAL и SECAM (625 строк).

Рекомендация ITU-R BT.656

Стандарт ITU-R BT.601 не содержал спецификации цифрового интерфейса, поэтому через четыре года после его появления возникла потребность в новом стандарте, содержащем детальное описание формата представления данных и электрофизическую спецификацию интерфейса.

В стандарте были введены параметры синхросигналов в потоке и изменены области допустимых цифровых значений для сигналов яркости и цветоразностных сигналов.

Интерфейс BT.656 был первоначально разработан для унификации межмодульных и аппаратных интерфейсов цифрового оборудования профессиональных телевизионных студий. Сегодня интерфейс широко используется и в бытовой аппаратуре: в различных телевизионных приставках и декодерах, в цифровых камерах, аппаратуре видеонаблюдения и т. д.

Уровень интеграции в настоящее время позволил реализовать аппаратуру интерфейса как один из возможных цифровых входных и выходных интерфейсов в микросхемах телевизионной и видеоаппаратуры профессионального и бытового назначения. Данный тип широко используется в качестве цифрового интерфейса в различных микросхемах видеообработки, кодеках, компрессорах, конверторах, в микродисплеях, например в OLED-микродисплее eMagin.

Развитие стандартов BT.601 и BT.656 нашло детальное отражение в стандартах SMTE.

Формирование цифрового потока данных для интерфейса

Рис. 3. Формирование цифрового потока данных для интерфейса

В стандарте регламентируется активное разрешение 720×486 (для видеосистем 525/60, NTSC) или 720×576 (для видеосистем 625/50, PAL/SECAM).

Первому пикселю соответствует компонента яркости Y0 и цветовые компоненты Cr0 и Cb0. А вот для второго пикселя передается только яркостная компонента Y1, красная цветовая компонента для него используется та же, что и для первого пикселя Cr0, а синяя компонента Cb2 берется от третьего пикселя. Таким образом, получаем первичное сжатие полосы, занимаемой видеосигналом.

Данные сигналов яркости и цветовых компонент для последовательных пикселей передаются в следующем порядке:

Формат передачи для видеостандарта 625 строк/50 Гц

Рис. 4. Формат передачи для видеостандарта 625 строк/50 Гц

268 периодов зоны Blanking между синхрословами EAV и SAV может быть использовано для передачи служебной или дополнительной информации, такой как аудио, субтитры, телетекст. Это позволяет создать единый канал для передачи видео-, аудио- и служебной информации.

Полоса пропускания дополнительного канала: 288 (число байт дополнительного канала в строке) × 576 (вертикальное разрешение) × 50 (Гц) = 8,2944 Мбайт/с. Такой полосы хватит и для передачи квадроаудиосигналов высокого качества.

Для передачи данных между микросхемами в пределах одного блока вместо ЭСЛ-сигналов могут быть использованы сигналы с TTL-уровнями.

Структура кодовых посылок EAV и SAV

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

Понимание принципов работы наших глаз сыграло важную роль в развитии систем обработки изображений. Глаза содержат два типа зрительных клеток: палочки и колбочки. Палочки более чувствительны к яркости, но не к цвету. Колбочки, в свою очередь, не реагируют на интенсивность света, зато чувствительны к световым длинам волн в диапазоне от 400 нм (фиолетовый) до 770 нм (красный цвет). Существует три типа колбочек — каждая со своим пигментом, наиболее чувствительным к энергии красного, зеленого или синего цветов. При этом их отклики в значительной степени пересекаются. Совместный отклик колбочек имеет резонанс в области зеленого цвета (примерно 555 нм). Открытие синих, зеленых и красных колбочек привело к появлению трихроматической теории цвета, которая гласит, что любой цвет может быть получен путем смешивания в определенных пропорциях монохроматических длин волн красного, зеленого и синего цветов. Поскольку палочек намного больше, чем колбочек, глаза более чувствительны к интенсивности света, чем к цвету. Это позволяет сократить требуемую для представления изображений полосу путем субдискретизации (оцифровки с пониженной частотой) информации цветности.
Восприятие яркости имеет логарифмический характер. Другими словами, реальная сила света, необходимая для формирования 50-процентного серого изображения (точно посередине между полностью черным и полностью белым), составляет около 18% от силы света, необходимой для формирования полностью белого изображения. Это свойство должно учитываться при выводе информации на дисплеи и обработке изображений, поступающих с сенсоров видеокамер. Из-за нелинейного восприятия яркости при интенсивном свете снижается чувствительность глаза к погрешностям квантования, и эта особенность эксплуатируется во многих алгоритмах кодирования мультимедийных данных.
Еще одной особенностью зрения является то, что наши глаза непрерывно подстраиваются к зрительной среде, создавая собственную опору белого даже при слабом или искусственном освещении. Поскольку сенсоры камер не имеют такой возможности, в камерах требуется регулировка баланса белого, при которой выбирается опорная точка для абсолютно белого цвета.
Вероятно, наиболее важным свойст­вом с точки зрения кодеков неподвижных и движущихся изображений является то, что глаз менее чувствителен к высокочастотной, чем к низкочастотной информации. Более того, он способен выделять мелкие детали и разрешать цвета в неподвижных изображениях, но не способен делать то же самое при быстром изменении картинки. Поэтому для уменьшения полной полосы, необходимой для представления неподвижного или движущегося изображения, может использоваться кодирование с преобразованием и низкочастотная фильтрация.
В условиях яркого света наши глаза реагируют на «мерцание» изображения при скорости обновления картинки, составляющей менее 50…60 кадров в секунду (50…60 Гц). При слабом освещении эта частота уменьшается примерно до 24 Гц. Кроме того, мы более чувствительны к мерцанию в больших равномерных областях, чем в локализованных. Эти моменты оказали значительное влия­ние на развитие систем с чересстрочной разверткой, методов отображения и выбор частот регенерации.

Видеосигнал — это двухмерный массив данных о яркости и цветности, который обновляется с регулярной частотой кадров. В стандартных электронно-лучевых телевизорах и мониторах электронный луч, который модулирован аналоговым видеосигналом, показанным на рисунке 1, подсвечивает люминофорные точки на экране в направлении сверху вниз, слева направо.


Рис. 1. Структура сигнала яркости (1 — задняя площадка строчного интервала гашения, 2 — передняя площадка строчного интервала гашения)


Рис. 2. Типичные временные соотношения между сигналами HSYNC, VSYNC, FIELD

Сигнал строчной синхронизации (HSYNC) отмечает начало активного видеоизображения в каждой строке видеокадра. Гашением обратного хода строчной развертки называется интервал времени, в течение которого электронная пушка возвращается из правой части экрана в левую для начала вывода новой строки. Сигнал кадровой синхронизации (VSYNC) выделяет начало нового поля изображения. Гашением обратного хода кадровой развертки называется интервал времени, в течение которого электронная пушка возвращается из нижнего правого угла экрана в левый верхний угол. Сигнал FIELD в системах с чересстрочной разверткой указывает, какое из полей отображается в текущий момент времени.


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

Стандарты аналогового видео­изоб­ражения различаются способами кодирования информации о яркости и цветности. В системах широковещательного телевидения доминируют два стан­дарта — NTSC и PAL. Стандарт NTSC (Na­tio­nal Television System Committee) используется преимущественно в Азии и Северной Америке, а PAL (Phase Al­ter­na­tion Line) — в Европе и Южной Америке. Третий стандарт, SECAM, популярен во Франции и отдельных странах Восточной Европы, хотя во многих этих регионах используется также и PAL. Мы будем вести речь о системах стандарта NTSC, однако рассматриваемые положения распространяются и на системы стандарта PAL.

Разрешающая способность по горизонтали определяется количеством пикселов в каждой строке изображения, а разрешающая способность по вертикали — количеством строк в полном кадре. В системах NTSC стандартной четкости (SD, standard definition) используется чересстрочная развертка с 480 строками активного изображения по 720 активных пикселов (то есть 720 × 480 пикселов). Обновление кадров происходит с частотой около 30 (в реальности 29,97) кадров в секунду, а вывод полей изображения — с частотой 60 (в реальности 59,94) полей в секунду. В системах высокой четкости (HD, high definition) часто используется прогрессивная развертка. Разрешающие способности по горизонтали и вертикали в таких системах могут быть намного больше, чем в SD-системах.

Основные понятия о работе Ethernet доступны в Википедии. Здесь собраны некоторые сведения, которые необходимо знать для работы с Ethernet в микроконтроллерах компании Миландр.

Рекомендую ознакомиться с данными Technical Notes, ссылки в формате pdf:

В данных документах детально расписана работа Ethernet и ознакомление с ними снимает множество вопросов о назначении тех или иных бит в регистрах блоков MAC и PHY, из которых, в свою очередь, и состоит блок Ethernet.

Тактирование 25МГц

Для работы блока Ethernet PHY нужна высокоточная частота тактирования 25МГц. Как правило, для этого используется отдельный генератор HSE2, запускаемый от внешнего резонатора на 25МГц. Дело в том, что внутренняя PLL имеет недопустимый по стандарту Ethernet джиттер, поэтому ее нельзя использовать для получения точной частоты. По этой причине, со второй ревизии микроконтроллера производителем реализован отдельный генератор HSE2.

Второй вариант - использовать вместо резонатора внешний генератор на 25МГц, подключенный ко входу OSC_IN. В данном случае в HSE необходимо включить режим ByPass, при котором внутренний генератор HSE не работает, а лишь пропускает входную частоту. Таким образом, на выходе HSE будут необходимые стабильные 25МГц для PHY. Но на вход PLL можно подавать частоту от 2МГц до 16МГц, поэтому необходимо включить делитель на 2. Теперь на выходе мультиплексора CPU_C1 получится частота 25МГц/2, что уже вписывается в условие < 16МГц.

Резонатор 25МГц на вход HSE (вместо генератора) использовать нельзя, потому что генератор HSE формирует выходную частоту в диапазоне 2-16МГц. А поскольку генератор не умеет делить/умножать частоту, а только делает из синусоидального сигнала прямоугольные импульсы, то это означает, что на вход HSE можно подключать резонатор с теми же частотами 2-16МГц. Для тактирования PHY и ядра от HSE можно использовать только внешний генератор!

На самом деле частота 25 МГц - это частота, на которой передаются данные между блоками MAC и PHY в режиме 100 Мбит/c. Данные передаются по интерфейсу MII.

(В 1986ВЕ8Т блок PHY отличается от остальных - Особенности блока PHY в 1986ВЕ8Т)

Буферы приема и передачи

Для обработки пакетов Ethernet выделена память размером 8Кбайт. Это отдельная память в блоке периферии, а не часть ОЗУ ядра.

Регистр Delimeter делит эту память на два буфера - буфер входных данных и буфер выходных данных. В зависимости от того, чего ожидается больше - входных или выходных данных, можно поделить общую память в необходимой пропорции. Например, если в задаче пользователя выходных данных генерируется много больше чем входных, то имеет смысл больше памяти выделить для передатчика. Т.е. выставить регистр Delimeter не в середину (0х1000), а в меньшее значение, например Delimeter = 0х800.

Буферы являются кольцевыми, поэтому для считывания и записи данных в каждый буфер выделено по два регистра Head и Tail, свои для приемника и передатчика. Head - указывает на начало действительных данных, Tail - на конец действительных данных. Соответственно регистры R_Head и R_Tail могут принимать значения [0 .. Delimeter-1], а регистры X_Head и X_Tail - [Delimeter .. 0x2000]. Данные регистры необходимы для "ручного" манипулирования данными в буферах, в так называемом линейном режиме.


Для наглядности данные в буферах выглядят так. Картинка соответствует передаче 6-ти фреймов с увеличивающейся длиной в 1986ВЕ8Т в режиме КЗ, т.е. блок МАС принимает то, что сам посылает. Блок Phy в обмене не участвует. В Payload в первых 4-х байтах передается индекс фрейма. В последние два байта записан импровизированный маркер длины пакета, по нему удобно отслеживать конец данных.


Режимы работы буферов

Всего реализовано три режима работы буферов - Линейный, автоматический и FIFO. В линейном режиме регистры R_Tail и X_Head изменяются аппаратно при приеме и передаче данных с линии, программист же должен модифицировать регистры R_Head и X_Tail. R_Head - при чтении из буфера полученных данных, X_Tail - при записи в буфер пакетов на отправку.

В автоматическом режиме происходит все тоже самое, только модифицировать регистры R_Head и X_Tail не надо. Они изменяются автоматически при чтении слова входных данных и при записи слова данных на отправку соответственно.

В режиме FIFO считывание входных данных происходит через чтение адреса 0х0000, отправка же через запись в адрес 0х0004. В SPL для ускорения работы с данными в этом режиме используется DMA. Регистры R_Head и X_Tail здесь не участвуют.

Следует отметить, что в случае, когда есть необходимость пропускать считывание из буфера входного пакета целиком, следует использовать линейный режим работы буферов. Только в нем есть возможность переместить указатель R_Head сразу за конец текущего пакета.

В SPL реализованы функции, которые инкапсулируют в себе работу с буферами во всех режимах. Изучение их реализации поможет в большем понимании принципов работы с буферами.

Отправка пакета

Для отправки пакета необходимо записать его в буфер передатчика.

Первым 32-х битным словом необходимо записать "Поле управления передачей пакета". В этом поле указывается длина пакета в байтах. Передатчик, когда считывает это слово, понимает, сколько последующих байт относится к данному пакету и должно быть передано. Данное слово должно располагаться по выровненному 32-битному адресу. После указания длины пакета в буфер записывается сам пакет обозначенной длины. В линейном режиме после записи пакета необходимо выставить указатель X_Tail на адрес, следующий за статусным словом (пункт 3). При передаче каждого слова передатчик перемещает указатель X_Head. После того, как передатчик осуществит посылку пакета в следующий выровненный 32-битный адрес, он запишет статус передачи пакета. Выставляется флаг прерывания от передатчика.

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

Прием пакета

Приемник принимает пакет с линии и записывает его в буфер.

Первым 32-битным выровненным словом записывается "Поле состояния приема пакета". Это поле содержит биты статуса приема и длину пакета в байтах.

Со стороны приемопередатчика работа с буфером и регистрами всегда одинакова. Разница в режимах (линейный, автоматический и FIFO) сказывается только при обращении к буферу из ядра.

При приеме с линии, данные начинают записываться в буфер приемника, начиная с указателя R_Tail. После приема заголовка с МАС адресами приемник проверяет надо ли дальше принимать данные. Если прием чужих, широковещательных и т.д. типов пакетов выключен, то дальше данные не записываются. Все это время R_Tail стоит на месте. Если МАС адреса данных соответствуют принимаемым, то данные с линии сохраняются в буфер дальше. После приема всех данных проверяется CRC, и если пакет битый и стоит опция не принимать битые пакеты, то принятые данные опять игнорируются и R_Tail остается на месте. Если же пакет засчитывается принятым, то в поле приема пакета (адрес которого как раз содержится в R_Tail) записывается статусная информация, а в регистр R_Tail записывается адрес следующей свободной ячейки в буфере приема.

Поэтому, неравенство R_Tail и R_Head говорит о том, что в буфере есть данные для считывания и пользовательская программа может с ними работать.

Подключение

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

При подключении к PC можно использовать любой кабель, поскольку сетевые карточки как правило поддерживают Auto-MDI(X) режим. При этом выводы на PC автоматически подстроятся на прием или выдачу сигнала.

При подключении двух устройств происходит процедура автосогласования (Autonegotiation) скорости обмена и дуплекса. Микроконтроллеры Миландр поддерживают скорости обмена 10Мбит/сек и 100Мбит/сек (Fast Ethernet). В режиме полудуплекса используется один кабель и обмен происходит то в одну сторону, то в другую. Микроконтроллер, то передает, то принимает данные. В полнодуплексном режиме прием и передача идут одновременно, каждый по своему кабелю. При автосогласовании выбирается режим, который поддерживают оба устройства и который обеспечивает максимальную скорость обмена. Приоритеты выбора режимов такие:

Подробнее о том, как происходит согласование описано здесь Интуит: Auto-Negotiation.

Процедура Autonegotiation не является обязательной и ее можно отключить. В таком случае режим обмена должен быть выбран одинаковым в обоих подключенных устройствах. Делается это в регистре PHY_Control. Так же, в блоке PHY есть регистры, значения которых влияют на процесс выбора скорости и дуплекса. Доступ к этим расширенным регистрам осуществляется через интерфейс MDIO.

Интерфейс MDIO

Контроллер Ethernet состоит из двух частей блока MAC и блока PHY. Обмен данными между этими блоками происходит по интерфейсу MII. Настройка же блока PHY производится по интерфейсу MDIO. Подробнее об этих интерфейсах на Вики: MII и Wiki: MDIO.

По стандарту, интерфейс MDIO позволяет адресовать до 31-го PHY устройства. Это обусловлено тем, что в обмене используется поле PHY_ADDR, который имеет ширину 5 бит. 0-й адрес является широковещательным, а остальные 31 - это адреса конкретного блока PHY. Соответственно для работы с блоком PHY необходимо в регистре PHY_Control задать поле PHYADDR[15..11]. И затем именно этот адрес необходимо указывать в транзакциях по MDIO. В библиотеке SPL в функции ETH_StructInit() поле PHYADDR задается равным 0x1C, но значение может быть любым другим (ненулевым).

Для работы с MDIO используются два регистра

MDIO_DATA - регистр данных для чтения и записи регистров PHY.

Именно в регистре MDIO_CTRL указывается PHY_ADDR для выбора блока PHY, с которым будет происходить обмен данными через регистр MDIO_DATA. В этом же регистре MDIO_CTRL указывается адрес внутреннего регистра PHY, текущая операция - чтение или запись, а так же частота обмена и прочее. Подробно биты расписаны в спецификации. В SPL работа с MDIO реализована в функциях:

К примеру, вот как можно выключить подключение на скорости 100Мбит/сек при Autonegotiation. Функция сбрасывает биты 7 и 8 в "Регистре рекомендации автоподстройки (4)". После вызова данной функции МК будет подключаться к PC на скорости 10Мбит/сек.

В библиотечной (SPL) функции ETH_WritePHYRegister() была ошибка и если регистр у Вас не прописывается, проверьте сбрасывается ли бит OP при записи в ETH_MDIO_CTRL: tmpreg &=

Вот исправленная версия:


Осциллограмма чтения по MDIO, возвращается значение 0x0FDF.

Бит G_CFGh.EXT_EN

Бит EXT_EN регистра G_CFGl определен в спецификации как - "Включение режима дополнения коротких пакетов до размера SlotTime полем Extension".

Данный бит выставлен в регистре G_CFGl после Reset и предназначен для борьбы с коллизиями в Half Duplex режиме. О назначении SlotTime можно прочитать здесь.

Эта ссылка лучше Link - "По существу Время канала ST (slot time)- это минимальное время, в течении которого узел обязан вести передачу, занимать канал. Это время соответствует передаче кадра минимального допустимого размера, принятого стандартом Ethernet IEEE 802.3. Время канала связано с максимальным допустимым расстоянием между узлами сети - диаметром коллизионного домена."

При работе в Full Duplex необходимости в данном бите нет. Поэтому для работы в современных сетях, данный бит необходимо сбросить. К тому же, по некоторой информации, некоторые ревизии микроконтроллеров в режиме с EXT_EN работают некорректно. Либо не корректно работает ответная часть подключенная к МК. Определенности по данному вопросу пока нет.

По факту, при EXT_EN = 1 в конец пакета, отправляемого микроконтроллером, приписывается 10 дополнительных байт. Причем в любом случае, меньше ли отправляемый пакет минимального размера в 64 байта или больше.

Особенности блока PHY в 1986ВЕ8Т

Стоит отметить, что встроенный блок PHY в микроконтроллере 1986ВЕ8Т совсем другой и он позволяет работать только на скорости 10 Мбит/c. Для работы на больших частотах к блоку MAC можно подключить внешний PHY.

Чтобы правильно запустить PHY необходимо:

1. Сбросить блок в регистре PHY_CONTROL в 15 бит записать лог 1.

2. Произвести настройку, записав значения в регистры блока.

3. Запустить работу блока, сбросив лог 1 в 15 бите регистра PHY_CONTROL.

(При тактировании блока частотой 80 МГц, необходимо использовать значение поля LINK_PERIOD=0x8).

ИТОГО: Тактировать блок Ethernet PHY микроконтроллеров 1986ВЕ1Т, 1986ВЕ3Т необходимо внешней стабильной частотой 25МГц. Для тактирования PHY в 1986ВЕ8Т необходима внешняя стабильная частота 80МГц.

Внешний PHY в "Электросиле"

На отладочной плате для мк "Электросила" используется микросхема внешнего PHY - LAN8742A, которая подключена по интерфейсу RMII. Чтобы работать с внешним PHY необходимо:

Блок Ethernet необходимо затактировать частотой Eth_Clock = 50МГц, которая необходима для прокачки данных через RMII. (Для работы по MII потребовалась бы частота в 25МГц, потому что линий данных в MII в два раза больше.) Для обращения к регистрам PHY используется MDIO, частота которого не должна превышать 2,5МГц. Для этого частоту Eth_Clock надо поделить делителем DIV в регистре MDIO_CTRL.

Толкование регистров

Согласно п. "30.10 Режим детерминированного времени доставки." пакеты могут передаваться в привязке к отсчетам времени (с периодом BAG при DTRM_EN = 1). Т.е. если передатчик успевает в окно JitterWnd начать передачу, то он ее начинает. Если не успевает - то ожидает следующего отсчета периода BAG. BAG и JitterWnd выражаются в квантах времени, которые задаются из ETH_Clock делителем PSC.

1/TimeStep = ETH_Clock / (PSC + 1), что согласуется с 1мкс для 50МГц из спецификации.

Нагрузочное тестирование с БЕРКУТ-ЕТ

При подключении платы 1986ВЕ1Т к Eternet тестеру БЕРКУТ-ЕТ обнаружилось, что при штатной настройке блока не удается получить 100% пропускной способности. Но если уменьшить межпакетный интервал IPG, то можно добиться увеличения показателей. (По стандарту IPG должен составлять 96 битовых интервалов.)

В программе реализован прием фрейма от БЕРКУТа и отправка его назад, соответственно со сменой МАС адресов. (Проект на GitHub под PACK от StartMilandr).

Частота микроконтроллера составляет 128МГц - максимальная для платы с резонатором 8МГц на HSE. Снижение IPG до 87 привело к достижению 100% пропускной способности на пакетах длиной более 256 байт:

berkut_ve1_128mhz_ipg96_87.jpg

Пока это просто информация к размышлению.

1986ВЕ1 шина MII

В микроконтроллере 1986ВЕ1 шина MII блока Ethernet MAC может быть выведена наружу через пины GPIO. К этой шине снаружи может быть подключен внешний Ethernet PHY взамен внутреннему, или например может быть подключен порт MII микросхем коммутаторов 5600ВВ3Т / 1923КХ028.

Для того чтобы подключить что-либо снаружи к MII необходимо внутренний PHY вывести в режим сброса. Но как показал опыт, внутренний блок PHY для этого должен быть сначала затактирован. Иначе запись бита Reset не отрабатывается блоком, что наверное ожидаемо, раз он не затактирован.

В рабочих условиях тактировать PHY необходимо стабильной частотой 25МГц от внешнего генератора HSE2. Но в случае когда источника сигнала на HSE2 нет, то для вывода PHY в сброс можно подать частоту от HSE. В нашем опыте на HSE был резонатор на 16МГц и PHY при такой частоте успешно ушел в сброс, оставив блоку MAC управлять пинами шины MII.

Код для активации MII в 1986ВЕ1 вынесен в библиотеке Pack_v6 в отдельный драйвер для удобства переиспользования - GitHub - MDR_1986VE1_MII.h / MDR_1986VE1_MII.c

Читайте также: