Разгон SkyStar2
Внимание, информация их этой статьи никак не может считаться побуждением к действию и дана только для ознакомления !!! Вся ответственность за попытки повторить это - лежит только на вас !!!
Повторив нижеописанные переделки вы ПОЛНОСТЬЮ теряете гарантию на карту.
В процессе работы - понимание, аккуратность, внимание!!! В квадрате!!!
English version (lite)
Use Babelfish translator, to read full russian version
История разгона dvb-карты
SkyStar2 началась в конце 2005 г на форуме PlanetSky. Идеи изложенные K.TOD казались настолько нереальными, что его тема была помещена в раздел "Offtopic and humor" (там она и поныне - вопиющая несправедливость). Тем не менее, результаты его работы оказались ошеломляюще интересны и результативны, а главное повторяемы. За прошедешее время коллективной работой множества энтузиастов на форумах PlanetSky и Пирамида отработано несколько технологий разгона.
Введение
Как известно, dvb-карта SkyStar2 является наиболее распространненной из всех моделей на рынке спутникового оборудования. Этому способствует и раскрученная с 2000 г. торговая марка SkyStar и отлаженные за это время драйвера. Потому, даже несмотря на некоторые огрехи (например проблемы с протоколом DiSEqC 1.2), карта популярна у многих пользователей спутникового интернет.
Однако в последнее время выснился еще один не очень приятный момент. Как оказалось, SkyStar2 плохо справляется с обработкой потока на высоких символьных скоростях. Отметим, проблемы вызваны именно обработкой, т.к. сигнал с высокими SR тюнер карты захватывает стабильно (даже на SR > 40000), не справляется именно узел обработки транспортного потока - демультиплексор.
Теоретические выкладки
Техника
В официальной спецификации на SkyStar2, взятой с сайта Technisat сказано:
Обратим внимание на параметр Aggregate throughput - 42 Mbps (Мбит/сек). Этот параметр характеризует пропускную способность демультплексора (MAC и PID фильтр) чипа FlexCopII, т.е. тот максимальный поток данных, который он может через себя пропустить.
Многие путают его с параметром Symbol Rates - 2 - 45 MS/s - Мсимволов/сек. Указанный параметр, означает диапазон символьных скоростей, на которых может залочиться тюнер карты - засинхронизировать QPSK-демодулятор и провести все dvb-преобразования - декодирование Виттерби, Рида-Соломона, дерандомизацию. Дело тюнера - принять RF-поток, демодулировать его, преобразовать в поток данных и передавать его по 8-битной паралельной шине в демультиплексор чипа FlexCopII.
Как известно, скорость потока данных вычисляется по следущему алгоритму: IR ~= SR * 2 * (188 / 204) * FEC
где:
IR - информационная скорость.
2 - индекс модуляции, M. Для QPSK M = 2, т.е. 2 бита за такт (символ).
.
FEC - параметр свёрточного кодирования (Vitterbi), может принимать значения от 1/2 до 7/8
188 / 204 - параметр кодирования Рида-Соломона
Таким образом, потокам с SR диапазона 2 - 45 MS/s, с параметрами от 2 MS/s - FEC 1/2 до 45 MS/s - FEC 7/8 будет соответствовать диапазон потоков данных 1,8 - 72 Мбит/сек.
Заметьте, заявленным в спецификации 42 Мбит/сек, далеко до максимальных 72 Мбит/сек.
Посчитаем обратно, какой dvb-поток соответствует потоку данных 42 Мбит/сек
26 Ms/s при FEC 7/8 - ничего не напоминает?
27 Ms/s при FEC 5/6
30 Ms/s при FEC 3/4
34 Ms/s при FEC 2/3
45 Ms/s при FEC 1/2
Как видим, заветные 45 Ms/s достижимы, но лишь при FEC 1/2.
Где-же узкое место?
Известны примеры работы SkySTar2 на весьма высоких символьных скоростях. Например оператор SkyVision работает на SR 43407 при FEC 3/4 - т.е. поток данных 60 Мбит/сек. Там принята схема работы 1 MAC - 1 PID, т.е. индивидуальное выделение PID. Один из немногих SkyStar2, что там виден в потоке, тянет поток в всего 1 Мбит/сек.
Похоже беда именно не в способности демультиплексора принять высокий поток, а в том, что он не может выделить без пропусков из него один или несколько элементарных потоков (соответсвенно PID) с высокой суммарной полосой. Например принимая ТВ канал из пакетов с высокими SR (и IR соответсвенно), SkyStar2 легко справляется с выделением ТВ-потока, который, обычно не больше 6-8 Ms/s
Тем, кому теория не интересна, могут пропустить этот часть и перейти к практике.
Предистория
К 1999 г выросшие мощности персональных компьютеров позволили перенести часть операций (например декодирование MPEG-2) с аппаратуры на программное обеспечение. Практически одновременно прогресс электроники позволил создавать одночиповые решения по обработке DVB потока. Первым решением, появившимся на рынке был чип FlexCop II калифорнийской фирмы
B2C2inc. Чип выполняет функции демультиплексирования потока (фильтрация по PID и MAC), общего управления узлами приемника и сопряжения с шиной PCI. По косвенной информации (архитектура чипа закрыта), основой его является ASIC-чип SPARTAN (архитектура FPGA ) от XILINX.
Одновременно был выпущен и референс-дизайн карты DVB-S приемника под условным названием Sky2PC. Так как B2C2, Inc сама не производит карт (fabless), то в Европе это делает ее партнер
Technisat и продает ее под ее торговой маркой SkyStar2
По какой-то причине B2C2, Inc больше не сделала ничего нового. Был только выпущен варианты FlexCop III с USB интерфейсом и FlexCop IIB с числом аппаратных PID-фильтров увеличенным до 39. В 2003 году B2C2, Inc и вовсе отказалась от поддержки этих продуктов. Ушедший из фирмы John Jurrius - Director of Software Engineering основал компанию BBTI, для поддержки DVB-продуктов B2C2, Inc. В агусте 2003, BBTI установила стратегическое партнерство с компанией Technisat Data Services, для инженерной поддержки продуктов Technisat SkyStar2-PCI, CableStar-PCI и AirStar2-PCI, а также продаж этих продуктов в Северной и Южной Америках.
По сей день, все изменения в дизайне карты привели к появлению релизов 2.6B, 2.6C, 2.6D. Изменения коснулись только схемы питания LNB и используется новый тюнер производства Samsung. Даже планируемый к выходу в 2006 г. релиз 2.7 не изменит этой традиции. Ядро-же карты, выполняющую обработку потока остется прежним - чип FlexCop II, 7-летней давности.
Техника
В официальной спецификации на SkyStar2, взятой с сайта Technisat сказано:
Обратим внимание на параметр Aggregate throughput - 42 Mbps (Мбит/сек). Этот параметр характеризует пропускную способность демультплексора (MAC и PID фильтр) чипа FlexCopII, т.е. тот максимальный поток данных, который он может через себя пропустить.
Многие путают его с параметром Symbol Rates - 2 - 45 MS/s - Мсимволов/сек. Указанный параметр, означает диапазон символьных скоростей, на которых может залочиться тюнер карты - засинхронизировать QPSK-демодулятор и провести все dvb-преобразования - декодирование Виттерби, Рида-Соломона, дерандомизацию. Дело тюнера - принять RF-поток, демодулировать его, преобразовать в поток данных и передавать его по 8-битной паралельной шине в демультиплексор чипа FlexCopII.
Как известно, скорость потока данных вычисляется по следущему алгоритму: IR ~= SR * 2 * (188 / 204) * FEC
где:
IR - информационная скорость.
2 - индекс модуляции, M. Для QPSK M = 2, т.е. 2 бита за такт (символ).
.
FEC - параметр свёрточного кодирования (Vitterbi), может принимать значения от 1/2 до 7/8
188 / 204 - параметр кодирования Рида-Соломона
Таким образом, потокам с SR диапазона 2 - 45 MS/s, с параметрами от 2 MS/s - FEC 1/2 до 45 MS/s - FEC 7/8 будет соответствовать диапазон потоков данных 1,8 - 72 Мбит/сек.
Заметьте, заявленным в спецификации 42 Мбит/сек, далеко до максимальных 72 Мбит/сек.
Посчитаем обратно, какой dvb-поток соответствует потоку данных 42 Мбит/сек
26 Ms/s при FEC 7/8 - ничего не напоминает?
27 Ms/s при FEC 5/6
30 Ms/s при FEC 3/4
34 Ms/s при FEC 2/3
45 Ms/s при FEC 1/2
Как видим, заветные 45 Ms/s достижимы, но лишь при FEC 1/2.
Где-же узкое место?
Известны примеры работы SkySTar2 на весьма высоких символьных скоростях. Например оператор SkyVision работает на SR 43407 при FEC 3/4 - т.е. поток данных 60 Мбит/сек. Там принята схема работы 1 MAC - 1 PID, т.е. индивидуальное выделение PID. Один из немногих SkyStar2, что там виден в потоке, тянет поток в всего 1 Мбит/сек.
Похоже беда именно не в способности демультиплексора принять высокий поток, а в том, что он не может выделить без пропусков из него один или несколько элементарных потоков (соответсвенно PID) с высокой суммарной полосой. Например принимая ТВ канал из пакетов с высокими SR (и IR соответсвенно), SkyStar2 легко справляется с выделением ТВ-потока, который, обычно не больше 6-8 Ms/s
Транспортный процессор чипа FlexCopII
Отметим, что многие операторы (SpaceGate и PlanetSky в их числе) давно поняли необходимость выделение для пользователей со SkyStar2 групповых PID с ограниченной скоростью передачи данных.
Поток SpaceGate на Экспресс АМ22. 03.03.06
Обратите внимание на структуру потока SpaceGate на спутнике Экспресс АМ22. Картинка получена программой
TSReader. Видим суммарный поток транспондера с SR 29207 и FEC 7/8 составляет 47,7 Мбит/сек. Из них:
PID 8191 - пустые пакеты - 17,6% - 8,4 Мбит/сек
PID 7000 - основной поток SpaceGate - 55,5% - 26,5 Мбит/сек
PID 8000 - узкий поток для SkyStar2 - 6,7% - 3,2 Мбит/сек
остальное занимают еще куча PID, для наглядности не показаны.
Поток Классика на Ямал 201.
Суммарный поток - 53,1 Мбит/сек
PID 0x0064 - основной поток Классики - 88,1% - 46,8 Мбит/сек!!!!
Спецификации
Спецификация
SkyStar2 Technisat
Спецификация
Sky2PC B2C2, Inc
Спецификация
семейства B2C2, Inc
Спецификация
FlexCopII B2C2, Inc
Проблема
На нижеописанные переделки толкнуло увеличение некоторыми спутниковыми провайдерами символьной скорости на транспондерах, причем до таких величин, с которыми SkyStar2 просто не справляется. Их можно понять, спутниковый интернет становится все более популярным, число пользователей растет, пропускной способности полосы не хватает, вывод - расширять полосу.
Еще в прошлом году оператор
Классика Медиа Центр, вещающий в C-диапазоне на спутнике Ямал-201, 90E увеличил SR до 38000, затем в конце 2005 г.
SpaceGate увеличил SR до 28572 при FEC 7/8, а
PlanetSky на спутнике Экспресс АМ1, 40E увеличил SR до 29650 при FEC 7/8
У пользователей стали возникать проблемы - потеря пакетов, низкая скорость, особенно плохо было "рыбакам" - резко увеличилось число дисконтов. В течении года (еще на Классике) велись поиски решения проблемы - это модификация драйверов устройства, увеличение буфера, тонкая настройка компьютера и пр., но особого эффекта они не давали.
Что делать простым пользователям, имеющим старую DVB карту, которая не справляется даже с теми потоками, поддержка которых заявлена в документации на карту?
Решение же проблемы оказалось настолько простым и лежащим на поверхности, что это может сделать любой человек, державший хоть раз в жизни паяльник ;).
Идея
Чип FlexCopII тактируется четырехвыводным кварцевым генератором на 45МГц с TTL выходом (VCXO) модели KCH089C3 фирмы KONY. Было сделано предположение, что генератор задает скорость работы демультиплексора и увеличение этой частоты или разгон приведут к увеличению пропускной способности демультиплексора и устранению узких мест. И это предположение было взято «в проработку».
Кварцевый генератор повышенной частоты.
Превая воплощение идеи пришло самом собой. Для разгона нужно заменить штатный генартор на более высоклочастотный. В куче хлама под диваном был найден донор - плата от лазерного принтера. На ней стояло 3 генератора в таком же корпусе как и на SkyStar2 номиналами в 28.0, 48.0 и 66МГц (к сожалению, последний оказался неисправным).
Немного терпения и оригинальный генератор был удален с карты, и на его место был впаян генератор на 48Мгц.
После установки SkyStar2 в слот PCI и включения компьютера, карта успешно определилась BIOS, Win2k так же загрузилась нормально. Сигнал PlanetSky с транспондера 11.051, H, SR 29.650 на спутнике Экспресс АМ1 успешно «залочился» с таким же уровнем, что и до переделки - 55%.
Попытка захвата потока данных с PID 514 (один из самых загруженный PID-ов на тот момент) показала, что захват идет с заметно меньшими обрывами потока, чем со штатным кварцем на 45МГц! Вернее почти без обрывов (~5 в минуту). Хотя до переделки разрывы потока «сыпались» сотнями в секунду.
После разгона шины PCI до 37.5Мгц обрывы потока на одном только PID 514 исчезли совсем, при захватвате всегоь потока данных с траспордера наблюдались лишь редкие обрывы.
Из результатов этого эксперимента был сделан вывод, что DSP в SkyStar2 не хватает для корректной работы с SR=30.000 Мс/сек около 10% производительности. Во всяком случае, увеличение частоты на 6% оказалось (почти) достаточно для поддержки SR=29.650 Мс/сек.
53 МГц
Далее, на карту был установлен кварцевый генератор на 53Мгц. Весь поток данных с траспордера [11.051 H, SR 29.650] спутника Экспресс Экспресс АМ1 принимался без проблем, даже на очень слабом компьютере Celeron 550 без разгона шины PCI. Карта начала уверено держать SR=29.650 в часы максимальной загрузки.
Нагрев чипа FlexCopII субъективно не изменился. Инструментальные измерения изменения температуры произвести так и не удалось в виду отсутствия необходимого оборудования.
66 МГц
Всё что подчёркнуто - скачивается. Все документы в PDF формате.
Продолжение следует.