Здравствуйте. Случилось так, что нужно сделать генератор DVB-C 256QAM на чипе AD9789. Знаний в этой области не хватает. Решил здесь задать пару вопросов. Больше по теории, чем по чипу. Для тех кто не знаком с AD9789 скажу, что в составе у него QAM mapper, SRRC фильтры, rate converter, 16x интерполятор, BFP. Данные на него подаю с ПЛИС. Первые шаги были удачными - подавая на вход константу, я видел на выходе синусоиду желаемой мною частоты (525 МГц) и строб запроса данных на baudrate, которая мне нужна (5.хх МГц). У чипа есть возможность вместо данных подсунуть данные внутреннего генератора псевдо-случайных последовательностей. Когда его включил, то спектр стал красивым прямоугольником шириной 6 МГц. Т.е. всё как надо.
Далее решил генерить NULL пакеты. У нас имеется покупной генератор Dektec на этом же чипе. Если ему подсунуть ts файл, состоящий только из NULL пакетов, то он их генерит, и анализатор (тоже покупной) видит их и скидывает в файл. Стал я генерить эти NULL пакеты в ПЛИС. Анализатор не может залочиться к моему девайсу. Стал смотреть спектр - красивого прямоугольника нет и в помине. Данные NULL пакета (которые игнорируются при приеме) у меня все 0хFF. Т.е. из 188 байтов пакета подавляющее большинство - 0xFF. Я предполагаю, что в такой ситуации спектр и не может быть красивым прямоугольником. Если эти 0xFF я подменяю счетчиком, то спектр улучшается, но до красивого все равно далеко. Я полез посмотреть спектр Dektec при генерации таких же NULL пакетов. Уних красота. Значит не шлют они так много одинаковых байтов. Гляжу на шину данных - и точно, болтаются, будто там случайне числа. Я решил посмотреть, что сохраняет анализатор, подключеный к Dektec. Оказалось, что сохраняются именно такие пакеты, какие я шлю (с 0xFF в качестве данных). AD9789 конфигурируется по SPI. Я подпаялся к Dektec, чтобы узнать, как они его конфигуряют. Оказалось, что они не используют встроенный mapper. Они шлют complex данные с выхода своего маппера. Т.е. выглядит, что последовательность одинаковых байтов их маппер переделывает в последовательность разных complex данных. Мне калазось, что mapper просто из реального байта делает I и Q компоненты в не зависимости от предыдущего байта. По моей теории линии комплексных данных не должны вести себя так, как я увидел у Dectek. Может ли кто-нибудь истолковать эти факты? Может ли быть, что маппер у них такой хитрый? Или кто-нибудь имеет опыт работы с этим чипом? Спасибо.
|