Игры и Люди

… одетый только в халат из холщовой ткани, ходил в кабачки и к певичкам. Когда его спрашивали, почему он таков, он каждый раз открывал рот, засовывал туда кулак и не говорил. Император Лян-цзун призвал его и спросил: «Каков принцип Вашего Пути?» Гуйчжэнь ответил: «Одежда тонка — поэтому люблю вино, выпью вина и защищусь от холода, напишу картину — и расплачусь за вино. Кроме этого, ничего не умею». Лян-цзун не нашелся, что сказать…

От игрушек детства мы движемся к другим. Здесь — об этом.

Алхимия игры включает несколько ингредиентов.

Рецептура состоит из Миров, по которым можно путешествовать; не все из них достаточно хорошо населены. Дело — это Игрушка одного из миров.

Объединяя видимые и сокрытые элементы, Алхимия выступает и как самостоятельный Игрок.

Google+

Устойчивость АФАР/AESA радиолокатора F-35 к блокированию T/R модулей

F-35, АФАР, ПФАР, AESA, PESA, Radar, Радиолокатор, Локатор, Antenna  Pattern, блокирование, обнаружение, мощность, TRM, T/R module, Transmit Receive Module

Антенная решетка локатора AN-APG-81 самолета F-35

Бортовые радиолокаторы военных самолетов, предназначеные для поиска и сопровождения целей проходят эволюцию от пассивных фазовых антенных решеток (ПФАР, или PESA — Passive Electronically Scanned Array) к активным фазовым антенным решеткам — АФАР, или AESA: Active Electronically Scanned Array). Базовым элементом и тех и других является приемо-передающий модуль — Transmit/Receive Module, TRM. И если в пассивной решетке он практически в единственном экземпляре, то в активной на каждый элемент приходится по одному TRM.

В локаторе AN/APG-81 истребителя-бомбардировщика F-35 дотошные юзеры насчитали 1676 элементов; можно представить какой объем оборудования займут TRM и какова будет стоимость. АФАР — удовольствие не из дешевых! Но и возможности по сравнению с ПФАР неизмеримо выше: одновременное сопровождение нескольких целей, сканирование произвольных областей пространства, произвольный выбор сигналов и многое другое. Но нас в данном случае интересует не количественное увеличение сложности АФАР, а принципиальные изменения в тракте обработки сигнала, которые за ним последовали.

F-35, АФАР, ПФАР, AESA, PESA, Radar, Радиолокатор, Локатор, Antenna  Pattern, блокирование, обнаружение, мощность, TRM, T/R module, Transmit Receive Module

Transmit-Receive Module, T/R модуль

На фото слева показан T/R модуль, возможно даже от F-35. Каждая сборка обслуживает несколько элементов антенной решетки и содержит малошумящие усилители LNA (цепь приема) и усилители мощности HPA (цепь передачи). Переключение на прием/передачу производится по внешним сигналам управления. Сигнал, принимаемый элементом антенной системы, усиливается LNA и подвергается аналого-цифровому преобразованию. Дальнейшая обработка идет в бортовом сигнальном процессоре.

АФАР/AESA и ПФАР/PESA: что за чем следует

Мы хотим выявить теоретические и практические отличия в образовании диаграммы направленности активной и пассивной антенных систем. В соответствии с принципом обратимости нет разницы, для какого режима — прием или передача проводить анализ, это во первых, и во вторых интересующий нас вопрос блокирования относится сугубо к приему АФАР. Поэтому рассмотрим, как работает диаграммообразующая система (ДОС) в обоих случаях — для AESA и PESA.

F-35, АФАР, ПФАР, AESA, PESA, Radar, Радиолокатор, Локатор, Antenna  Pattern, блокирование, обнаружение, мощность, TRM, T/R module, Transmit Receive Module

Расположение T/R модулей по одношению к диаграммообразующей системе. В АФАР/AESA (активная решетка) T/R модули располагаются до ДОС, в ПФАР/PESA (пассивная решетка) T/R модуль располагается после ДОС. В АФАР фазовый сдвиг вносится в компьютере, в ПФАР — с помощью управляемых фазовращателей

В АФАР сигнал элементов антенны принимается T/R модулями и поступает в сигнальный процессор, который назначает каждому элементу АФАР весовой коэффициент и фазовый сдвиг, после чего после численной обработки все сигналы суммируются. Синфазное суммирование, дающее максимальный сигнал будет формировать основной лепесток диаграммы; сигналы с других направлений будут складываться неоптимальным образом, давая на выходе невысокие уровни, которые мы называем боковыми лепестками.

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

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

Итак, математическая процедура ДОС в случае активной и пассивной решетки совершенно идентична: разница лишь в том, что в локаторе с АФАР формирование диаграммы производится в вычислителе, а в локаторе с ПФАР — аппаратно в самой антенной системе. Таким образом, теоретических различий между этими способами реализации — никаких. С практической точки зрения, особых проблем тоже как-бы не видно. Но это только на первый взгляд.

Сейчас мы пришли к той точке, когда программисты, поставив этот знак равенства, успокаиваются и идут пить кофе, а инженеры начинают беспокойно ерзать на своих стульях. И это неспроста! Инженеры знают, что полная аналогия между программной и аппаратной обработкой оправдана только тогда, когда приемный тракт является линейным по отношению к входным сигналам. В реальных же условиях, тем более с учетом радиолокационного противодействия, это может быть совсем не так. И тут уже появляется принципиальная разница в поведении ДОС у активной и пассивной решетки, и эта разница совсем не в пользу АФАР. Приступаем к эксперименту.

Ставим помеху, или как jamming портит красивую картинку

Эксперимент будет проходить следующим образом. Устанавливаем источник помехи и будем наблюдать, какое воздействие это возымет на АФАР и ПФАР. Требования к помехе не сильно жесткие: достаточно, чтобы ее мощность создавала достаточный уровень в динамическом диапазоне T/R модулей; тип модуляции не принципиален, частота тоже: достаточно чтобы она была в достаточно широкой полосе пропускания антенных систем. Расположение источника помехи тоже некритично: достаточно лишь, чтобы он находился в диапазоне углового сканирования радиолокатора.

На этом этапе, вслед за программистами уходят пить кофе менеджеры и журналисты. Ведь они прекрасно знают, что для этого и формируется диаграмма направленности, чтобы подавлять подобные помехи. Более того, АФАР прекрасно может запеленговать источник и сформировать диаграмму таким образом, чтобы в направлении помежи был нулевой уровень диаграммы. Поэтому помеха будет подавлена провалом в сформированной диаграмме направленности. Тоже на первый взгляд.

Да, это действительно так, но… опять таки справедливо только тогда, когда тракт приема является линейным. Если помеха является блокирующей, то есть нарушающей линейность тракта, то благостная картинка просто перестает существовать. В ГОСТах, которые формируют требования к профессиональной радиоприемной технике, этот параметр так и называется — блокирование, который определяется как «изменение отклика на полезный радиосигнал при наличии на входе радиоприемного устройства хотя бы одной радиопомехи». Заметьте: в линейной системе сигнал и помеха суммируются независимо друг от друга, поэтому отклик на полезный сигнал не меняется в зависимости от помехи. Это может произойти только в том случае, если помеха нарушает линейность приемного тракта, в нашем случае — приемной цепи T/R модуля, состоящей из LNA и АЦП.

В ПФАР диаграммообразующая система (ДОС) находится до T/R модуля, поэтому последний защищен от блокирующей помехи диаграммой направленности. В идеальном варианте, как было подмечено выше, если источник помехи попадает в ноль диаграммы и на входе T/R модуля она будет равна нулю. Это принципиальный момент, на который я обращаю ваше внимание.

В АФАР ДОС находится после T/R модулей, вследствие чего они беззащитны перед сигналами на своих входах. Минимумы диаграммы подавляющие помехи будут вычисляться также после этих модулей, и поэтому если они будут блокированы, то полезный сигнал на выходе этих модулей просто не попадет — никакие фильтры не помогут.

Постойте, но ведь проблема известна давно. И если покопаться в старинных книжках, то можно найти решение. И действительно, в аналоговой технике радиоприема защитой от блокирования служит большой динамический диапазон, который позволяет проходить маленькому сигналу на фоне неизмеримо более мощной помехи без искажений, что дает возможность отфильтровать помеху в дальнейшем. Такого же подхода можно было ожидать и от приемника TRM — но наличие АЦП в тракте рушит все надежды, и сейчас скажу почему.

Часто можно привести цитату, в которой проблема сформулирована лучше, чем ее можешь сформулировать ты. Сейчас как раз такой случай, поэтому процитирую первоисточник. Он как раз указывает на проблему, присущую радиоприемным устройствам (РПУ) которые используют прямую оцифровку антенного входа с помощью высокочастотных АЦП:

Основным недостатком, ограничивающим широкое применение подобного типа РПУ, является невозможность обеспечения высоких уровней динамического диапазона по блокированию. Поскольку на входе АЦП отсутствует фильтрация, то АЦП соответственно не может выполнять оцифровку одновременно сигналов большого и малого уровня. В соответствие нормам ГОСТ радиоприемник должен обеспечивать уровень восприимчивости по блокированию не менее 126 дБ/мкВ для РПУ второго класса и 130 дБ/мкВ для РПУ первого класса. Очевидно, что существующие типы АЦП 14-16 бит не в состоянии обеспечить выполнение этого параметра.

Вот и все. АЦП принципиально напрочь убивает динамический диапазон, что создает уязвимость АФАР для постановки блокирующей помехи. Осталось только оценить степень ее реализуемости. Для этого нам надо оценить чувствительность T/R модуля в локаторе F-35, чтобы на основе этого значения рассчитать потребную мощность помехи и на каком расстоянии может располагаться ее источник.

Если вы найдете ошибку в нижеследующих расчетах, не стесняйтесь! Смело пишите замечания и предложения в комменты )

Энергетический бюджет радиолинии локатор -> цель -> локатор

Нас интересуют две величины:

  • мощность отраженного от цели сигнала, для оценки потребной мощности джаммера;
  • уровень сигнала на входе антенной системы локатора, для оценки наступления момента блокирования АЦП TRM.

В качестве исходных данных возьмем значения:

Pt = 20kW: мощность передатчика радиолокатора F-35;

λ = 3cm: длина волны для частоты 10ГГц;

Gt = 35dB: коэффициент усиления антенны радиолокатора на передачу, линейное значение: 3162;

R = 400km: дальность до цели;

σ = 3m2 : ЭПР цели.

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

Начнем с самого начала — передатчика. Изотропный излучатель мощностью Pt создаст плотность мощности D на расстоянии R:

\displaystyle\large D=\frac{P_t}{4{\pi}R^{2}} [1]

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

Чтобы ее повысить, используем направленные свойства антенны с коэффициентом усиления Gt, тогда плотность излучаемой мощности [Вт/м2] составит:

\displaystyle\large D=\frac{P_tG_t}{4{\pi}R^{2}} [2]

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

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

\displaystyle\large P_r={DA_e}=\frac{P_tG_tA_e}{4{\pi}R^2} [3]

В свою очередь, эффективная площадь напрямую связана с коэффициентом усиления приемной антенны (читай — цели):

\displaystyle\large A_e=\frac{G_r\lambda^{2}}{4{\pi}} [4]

Выполняя очередную подстановку из [4] в [3], получим значение для уровня принимаемого сигнала в простой радиолинии передающая антенна локатора -> цель:

\displaystyle\large P_r=\frac{P_tG_tG_r\lambda^{2}}{(4{\pi)}^2R^{2}} [5]

Пока все понятно с точки зрения физики за исключением того, как интерпретировать коэффициент усиления цели Gr.

Но мы не будем ломать над этим голову, поскольку этот параметр напрямую связан с показателем ЭПР цели σ соотношением

\displaystyle\large G_r=\frac{4{\pi} \sigma}{\lambda ^2} [6]

Если мы подставим это в предыдущее выражение [5], то получим значение мощности сигнала переотраженного от цели:

\displaystyle\large P_{t2}=\frac{P_tG_t \sigma}{4{\pi}R^2} [7]

Индекс t2 теперь означает, что теперь это другое значение мощности передачи, на этот раз с какой интенсивностью цель светит обратно на локатор.

Теперь распространение пошло в обратном направлении — от цели к приемной антенне локатора, и для радиолинии цель -> приемная антенна локатора мы будем использовать точно такое же выражение [5]:

\displaystyle\large P_{r2}=\frac{P_{t3}G_r G_{r2}\lambda^{2}}{(4{\pi)}^2R^{2}} [8]

Новые обозначения несут следующий смысл:

Pr2: мощность сигнала, принимаемого антенной радиолокатора;

Gr2: коэффициент усиления антенны радиолокатора на прием: очевидно, что он будет таким же, как и Gt. Позже мы вернемся к этому;

Pt3*Gr: мощность отраженного целью сигнала, которая на самом деле есть не что иное, как Pt2.

Подставляя значение Pt2 из [7] вместо произведения Pt3*Gr в [8], получаем:

\displaystyle\large P_{r2}=\frac{P_{t2} G_{r2}\lambda^{2}}{(4{\pi)}^2R^{2}} [9]

\displaystyle\large P_{r2}=\frac{P_tG_t \sigma}{4{\pi}R^2} \cdot \frac{G_{r2}\lambda^{2}}{(4{\pi)}^2R^{2}} [10]

и в результате мощность, принимаемая на выходе антенны радиолокатора, будет равна

\displaystyle\large P_{r2}=\frac{P_t G_t G_{r2}\lambda^{2} \sigma}{(4{\pi)}^3R^{4}} [11]

Я не случайно сделал оговорку: на выходе антенны, поскольку выход — это уже суммирование сигналов T/R элементов, а нас интересует как раз мощность на их входе. Но обо всем по порядку: каркас из формул мы создали, теперь начинаем считать.

Немного о смыслах: физических

Итоговые значения можно схематически представить в следующем виде:

F-35, АФАР, ПФАР, AESA, PESA, Radar, Радиолокатор, Локатор, Antenna  Pattern, блокирование, обнаружение, мощность, TRM, T/R module, Transmit Receive Module

Передаваемые и принимаемые мощности в бюджете радиолинии локатора

Мы можем сразу посчитать порядок значений мощности сигнала отраженного от цели Pt2 [7] для определения сопоставимой мощности, требуемой от источника помехи — джаммера. Что касается мощности Pr2, то это суммарная мощность, образуемая вкладом всех TRM антенны. Собственно в этом физический смысл коэффициента усиления антенны G: собирая сигналы со всех T/R модулей, повышается энергетическая эффективность в направлении синфазного сложения сигналов, то есть в направлении основного лепестка диаграммы. При этом несущественно, является ли антенна дискретной решеткой, как в нашем случае, или представляет собой непрерывную конструкцию, как например рефлекторы спутниковых антенн: все равно, или с физической, или математической точки зрения происходит суммирование (а точнее интегрирование) мощностей, принимаемых парциальными элементами площади рефлектора.

В результате, чтобы оценить мощность сигнала принимаемого каждым T/R модулем, нужно грубо говоря разделить выходную мощность антенны Pr2 на количество модулей, а точнее — убрать значение коэффициента усиления G из формулы [11]. Для сомневающихся предлагаю провести самостоятельный эксперимент: построить диаграмму направленности такой антенны из 1676 модулей и сопоставить площадь основного лепестка с уровнем побочных излучений. Получится тоже самое значение 35 дБ. Собственно говоря, это значение было так и получено.

Тогда уровень сигнала, отраженного от цели на входе TRM будет

\displaystyle\large P_{trm}=\frac{P_t G_t\lambda^{2} \sigma}{(4{\pi)}^3R^{4}} [12]

Вы заметили, как резко снизился порог воздействия на вход TRM — на целых G=35 дБ? Это то, о чем я говорил в начале статьи об особенностях АФАР.

Считаем

Наконец, после долгой возни с формулами, переходим к числам ). Подставляя исходные значения в [7] и [12], получаем:

мощность сигнала отраженного от цели Pt2=-10.2 dBm;

мощность сигнала на входе TRM Ptrm= -144.7 dBm.

Как чувствует себя локатор F-35 с такой не очень маленькой целью (ЭПР 3м2 это небольших размеров самолет) на расстоянии 400км? Абсолютное значение сигнала -144.7 dBm на входе TRM нужно соотнести с уровнем шума, чтобы делать выводы по отношению сигнал/шум. Для этого воспользуемся материалами по потерям в антенно-фидерном тракте бортового радиолокатора AN/APG-81 установленного на F-35.

По приведенным данным, с учетом потерь на распространение шумовая температура всего приемного тракта составит 996К. Это значение получено путем суммирования значений шумовой температуры антенны с учетом атмосферного шума (96К) и потерь в приемном фидере (98К). Шумовая температура приемника 608К получена из комнатной температуры (290К) с учетом коэффициента шума 4,91 дБ — столько вносит собственно приемник, или LNA входящий в состав TRM. С учетом потерь в приемном тракте 1,31 получается искомое значение 996К.

Умножая шумовую температуру на постоянную Больцмана, получаем шумовую плотность мощности, приведенную ко входу приемника 1.374*10-20 Вт/Гц. Это относительная величина, которая показывает мощность шума на единицу ширины спектра. Чтобы получить абсолютное значение шума — шумовую мощность, необходимо учесть ширину полосы принимаемого сигнала. С длительностью зондирующего имульса 1 мкс требуемая полоса пропускания составит около 1 МГц; таким образом будем ориентироваться на шумовую мощность 1.374*10-20 Вт/Гц * 106 Гц =  1.374*10-14 Вт, или -108.62 дБм (мощность в дБ относительно значения 1 мВт). Много это или мало? Предположим, что эта мощность приложена к стандартной нагрузке 50 Ом, тогда шумовое напряжение на входе приемника составит около 0.83 мкВ. Вполне реальное значение.

Таким образом, шумовое значение на входе T/R модуля радиолокатора AN-APG-81 составит минус 109 дБм. Отношение сигнал/шум составит -144.7 dBm — 109 dBm = -35.7 dB. Не очень здорово, скажем так, но не будем забывать что позади еще схема диаграммообразования антенны, в которой сигнал основного лепестка сложится синфазно, шум сложится кое-как, и в результате отношение сигнал/шум на выходе антенны будет -35.7 dB + 35 dB = -0.7 dB, что уже не так плохо.

Подчеркнем еще раз: при воздействии на вход T/R модуля радиолокатор с АФАР теряет преимущество в использовании коэффициента усиления антенны, что ни много ни мало 35 дБ.

Динамический диапазон 12-битного АЦП в составе TRM составляет 72.2 дБ. Предположим что коэффициент передачи усилителя LNA перед АЦП равен единице, поскольку его значение не влияет на физику блокирования АЦП — меняется только масштаб величин. Естественно, что АЦП будет работать при существенно более значимых входных сигналах, но для нас имеет значение только относительный расчет. Тогда диапазон входных сигналов, которые полностью займут разрядную сетку АЦП, составит от -144.7 dBm до -144.7 dBm + 72.2 dB =  -72.5 dBm.

Чтобы стать самым сильным сигналом для АЦП (а это уже почти блокирование), постановщику помехи — джаммеру достаточно иметь мощность -10.2 dBm + 72.2 dB = 62 dBm, или 1.58 кВт. Таким образом, при мощности джаммера 1.58 кВт дальности 400км у радиолокатора F-35 оказывается под вопросом.

На самом деле, картинка несколько сложнее, поскольку мы имеем дело с импульсными сигналами, а значит они не обязательно должны перекрываться во времени. Если джаммер будет работать с duty circle 100%, то подавление будет полным, но этот режим требует больших энергоресурсов джаммера и не может использоваться в течение длительного времени.

Сделаем оценку того, какое воздействие окажет мощность помехи например 5 кВт, или 67 dBm. В этом случае эквивалентная минимальная величина отраженного от цели сигнала составит 67 dBm — 72.2 dB = -5.2 dBm. Такое значение соответствует дальности локатора около 225 км, при этом помеха точно также как и в предыдущем случае займет весь динамический диапазон АЦП, а полезный отраженный сигнал будет находиться на уровне одного бита.

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

Заключение

В статье было исследовано влияние метода прямой оцифровки сигнала с антенного модуля АФАР радиолокатора AN/APG-81 истребителя-бомбардировщика F-35 и связанная с этим возможность блокирования АЦП модуля T/R. Получены оценки потребной мощности постановщика помех (джаммера), который находится на таком же расстоянии, как и цель локатора.

Значение пораженной дальности локатора AN/APG-81 составит 400км при мощности джаммера около 1.58 кВт и 225км при мощности джаммера около 5 кВт. При таком блокировании радиолокатор F-35 теряет возможности формирования диаграммы и подавления джаммера.

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

Расчет произведен для 12-разрядных АЦП приемных модулей. С повышением разрядности эффективность подавления также уменьшится. Ее величину можно оценить пользуясь приведенным математическим аппаратом.

Блеск и горечь архитектуры OMAP 3530

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

ARM хорош и к тому же быстро развивается, сопроцессор с плавающей точкой NEON с распараллеливанием выполнения (pipeline) уже само собой разумеющийся атрибут. В последнее время обозначилась новая мода — использовать GPU для решения вычислительных задач, таких как FFT. Программировать под ARM — одно удовольствие, если пользоваться кросс-компилятором на собственной машине, среда Embedded Linux как правило привычна и дружественна разработчику. За все это заплачено отсутствием реального времени и возможностей обработки данных в синхронном режиме. Что же, для этого есть другие инструменты.

FPGA мыслится как первое что можно поставить скажем после АЦП. Синхронная обработка параллельных данных и возможность фильтрации на высокой частоте выборок (до 500 MS/s) определяют ПЛИС как стандарт де-факто на первом месте в сигнальном тракте. После фильтрации и децимации сигнал получается использовать как в DSP, так и в том же ARM. Конечно, с ПЛИС лучше работать не программисту (который может получить вывих мозга), а традиционному инженеру-схемотехнику. В конечном счете, FPGA есть не что иное как миллионы логических элементов, которые нужно просто соединить правильным образом.

Роль DSP также понятна: числодробилка с собственным pipeline, которая к тому же может принимать данные с синхронного интерфейса и вести обработку на несущей частоте. В современных процессорах операция FFT над выборкой 1К чисел с плавающей точкой занимает буквально несколько микросекунд. Сколько гребенок доплеровского фильтра можно сделать с таким процессором!

Рано или поздно кому-нибудь пришла бы в голову мысль скрестить между собой попарно эти кубики. В результате родилась архитектура Zynq, где возник симбиоз ARM + FPGA, и архитектура OMAP, основанная на ARM + DSP. Вот про вторую конфигурацию я бы хотел поговорить подробнее.

ARM+DSP или DSP+ARM?

Идея работать в дружественной среде Linux и одновременно получить те возможности, которые дает DSP, выглядит очень привлекательно. Для радиоинженера логичной бы выглядела связка DSP+ARM (именно в этой последовательности), в которой сигнал через физический интерфейс поступает в обработку DSP, в результате которой извлекаются информационные параметры сигнала, и ARM принимая эти полученные данные доделывает уже остальное: организует третичную обработку, отображение, управление и контроль.

Однако, все получилось немного не так. По замыслу разработчиков архитектуры OMAP, которая позиционируется как мультимедийная, DSP выступает в роли Accelerator Subsystem, фактически как сопроцессор-акселератор на подхвате у ARM. В принципе понятно, для чего это придумывалось: ARM получает данные с какой нибудь камеры, а DSP сопроцессор берет на себя критичные куски алгоритма, для которых требуется производительность. Но мы не привередливые: пусть будет ARM+DSP, где Linux на первой руке получает блоки данных, пусть и в асинхронном режиме, а условный доплеровский фильтр берет на себя DSP. На том и порешили, после двинемся дальше.

Codec Engine

Поскольку мы имеем представление, что будут делать ARM и DSP порознь, сосредоточимся на том, как они будут обмениваться данными. Хотя эти ядра и расположены на одном кристалле, но все таки это два совершенно разных процессора. Интуитивно понятно, как это может быть сделано: для этих процессоров существует некая общая область памяти, которую заполняет ARM и читает DSP и наоборот, если мы хотим сделать обмен данными двунаправленным. Ну и конечно должны быть библиотеки неких функций, которые можно дергать со стороны ARM, что проявится в виде неких сигналов в подсистеме DSP: данные мол готовы, забирайте.

Для тех, кто сталкивался с обеспечением подобного рода взаимодействия, а точнее — с разработкой протокола, известно с какой головной болью это связано. Поэтому благой вестью для нас является то, что компания Texas Instruments, разработчик SoC OMAP 3530, очень сильно постаралась не только для создания такого протокола, но пошла еще дальше — создала целый программный API под названием Codec Engine. Вот как эта структура выглядит на практике:

OMAP 3530, ARM, DSP, Codec Engine

Codec Engine: передача данных между ARM и DSP

Codec Engine, или CE, берет на себя множество мелочей, в которых так легко сделать ошибку: выделение памяти под передаваемые данные как со стороны ARM, так и со стороны DSP, поддержку функций обмена, средства сборки проекта опять таки со стороны ARM Linux, так и со стороны SYS/BIOS DSP. Кроме этого библиотеки CE включают в себя средства отладки, что вообще замечательно в части DSP, потому как просто так в этот процессор не залезешь.

Механизм обмена между ядрами ARM и DSP я использовал в проекте пассивного радиолокатора, где DSP подсистема использовалась для тяжелонагруженного алгоритма нахождения функции неопределенности сигнала.

Ложка дегтя

Так и стали бы ARM с DSP жить и добра наживать, и потускнел бы заголовок нашей статьи — причем здесь горечь, видны только одни радости? Как обычно бывает, при погружении в каждую технологию начинают всплывать вещи, о которых вначале не подозреваешь. Ничего страшного конечно не происходит, но есть нюанс. Об этой ложке дегтя — далее.

Сам CE — достаточно тяжелое решение. То, что компилируется из исходников, у меня на машине состоит из 103599 файлов — ни много ни мало. Собственные приложения выглядят карликом на фоне этого монстра ) Проект был собран и запущен в работу, и все было ОК. Но как-то появилась необходимость опробовать новые приложения на ARM стороне, которые требовали версии ядра Linux постарше чем 2.16. В чем проблема, накатим новое ядро! И тут опс… Codec Engine не захотел собираться с новым ядром. В чем причина?

Как выяснилось, подсистема Линукс-ядра IOMMU, которая отвечает за отображение памяти на периферийные устройства и которую использует CE, существенно изменилась в версиях Linux старше 3.0.50. Почему именно этот номер версии — потому что это максимум, чего получилось достичь вместе с патчами ядра. Вот тут и  обозначился проблемный аспект архитектуры OMAP: на апргрейд Linux на стороне ARM можно ставить крест. Нет, вы конечно можете использовать только ARM ядро, без DSP с любой версией Linux. Но тогда про DSP можно забыть.

Второе. Само собой разумеется, моим приложениям на ARM понадобилась поддержка операций с плавающей точкой, и я решил поставить дистрибутив с аппаратной поддержкой этих операций. И соответственно перекомпилировать CE с новыми библиотеками.  И тут началось… как выяснилось Texas Instruments как бы это мягче сказать… не вполне наделил свои исходники возможностями брать конфигурацию с корневых make файлов. Я обнаружил кучу кода, который отказывался компилироваться просто по той причине, что он просто игнорировал замену конфигурации с arm-linux-gnueabi на arm-linux-gnueabihf. Приходилось править его вручную. Было заметно, что в дебрях ветвей CE находятся такие древние файлы, что похоже в TI могло не остаться людей которые могут подсказать что они там делают )

Так что будьте осторожны с такими комплексными архитектурами. После экспериментов со связкой ARM+DSP невольно стала напрашиваться мысль что лучше было бы сделать взаимодействие между ними на аппаратном уровне…

Что касается Zynq, то обмен между ARM и FPGA был выполнен на удивление просто: стандартными средствами Linux DMA через обычное устройство /dev/xdma. Простая поддержка файловых операций, не более того. Интересно, почему по этому пути не пошли Texas Instruments в Codec Engine?

 

 

Проект в проекте

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

Но что-то мы забрались в высокие недоступные дебри ) Спустимся на землю и рассмотрим небольшой пример. На улице взрослый подходит к подростку и просит его сгонять на пятый этаж близлежащего дома: друг приболел, на звонки не отвечает, нужно проверить, дома ли он, а подниматься тяжело. Услуга будет не бесплатной: бонус 100рублей.

Для подростка это небольшой проект, в котором три человека, четко определен результат и заработок. Все проще простого. «Заказчика» он полностью ассоциирует со своим проектом.

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

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

В жизни есть и другие примеры вложенных проектов: например, ее демонстрирует летучая фраза из стихотворения Евгения Меркулова:

В покер я играю с малолетства,
Чуть ли не с детсадовской поры.
Дядя Жора, живший по соседству,
Обучил премудростям игры.
Он мне говорил: «Запомни, Лёха,
В покере все правила просты:
Если за столом не видишь лоха,
Это означает «дело плохо»,
Потому что лох сегодня – ты

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

Как обычно, для всякой неочевидной концепции существуют свои ключи. «Проект в проекте» — один из них. Тех, кто уже достиг «надпроектного» уровня, эти игры забавляли, что нашло свое отражение в древних притчах, например в этом прекрасном памятнике прошлого:

Когда Чжуан Чжоу прогуливался в парке Тяолин, он увидел странную птицу, прилетевшую с юга: крылья – в семь локтей размахом, глаза – с вершок. Пролетая над Чжуан Чжоу, она коснулась его лба и опустилась в каштановой роще. “Что это за птица? – удивился Чжуан Чжоу. – Крылья большие, а летает с трудом, глаза огромные, а видит плохо”. Подобрав полы платья, он поспешил за птицей, держа наготове лук. Тут он заметил, как цикада, нежась в тени, забыла о том, что ее окружает, и в это время богомол набросился на нее и, упиваясь добычей, забыл обо всем на свете. В тот же миг их обоих схватила странная птица и, любуясь добычей, сама забыла о том, что происходит вокруг. Чжуан-цзы, печально вздохнув, сказал: “Увы, вещи по природе своей узы и бремя друг другу, и одна призывает к себе другую!”. Он бросил лук и пошел прочь, но тут его нагнал лесник и принялся бранить

Теперь вы знаете, о чем эта притча. Как богомол, птица и вы решили что вы — охотники, и забыли про лесника. Помните: лесник может быть рядом! В нашем деле главное — вовремя все понять и сбросить лук. Иначе ваша судьба: быть очарованным богомолом или птицей, забывшими обо всем на свете )

Трансляция видео на два HDMI экрана

Одновременная трасляция видео на два экрана

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

Читать дальше

Импортозамещение СКРС / VCS методом China Copy

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

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

Читать дальше

Это действительно ваша разработка?

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

Читать дальше

АРП встраиваемый в РЛК «Комар-2»

Если к радиопеленгатору «Пихта-2С» применима фраза «первый микропроцессорный», то АРП «Комар-2» это следующий процессорный АРП, который базировался на технологиях Пихты. Его особенность в том, что он разрабатывался в составе чехословацкого радиолокационного комплекса «Комар-2», который создавался по заказу наших ВВС в Тесла Пардубице.

После разработки АРП «Пихта-2С» все пеленгационное направление перешло ко мне. Имеющийся задел требовал

Читать дальше

Ковариационная матрица и линейная трансформация

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

В изложении я минимизировал формульную часть; там где

Читать дальше

Схемотехника: однокаскадный усилитель

Сделаем небольшую разминку: потренируемся на однотранзисторном усилителе. Когда-то чтение аналоговых схем было сродни искусству; профи по внешнему виду безошибочно определяли функционал узла. Наверное, это один из немногих оставшихся навыков, для имитации которых не получится использовать поисковые системы.

Схема на рисунке, вопрос следующий: чему равно значение выходного напряжения Uout? Заметим, что на вход мы еще ничего

Читать дальше

FFT-on-Chip: Cross — ambiguity function в реальном времени на GPU

В статье про кросс-компиляцию я рассказал о том, как подготовить удобный инструментарий для работы с Raspberry Pi. Напомню, что статья началась с новости о том, что Broadcom открыл спецификации своего чипа GPU, который используется в RPi, что открыло возможности по быстродействующим вычислениям преобразования Фурье: БПФ/FFT на этом чипе.

Поскольку бродкомовские библиотеки у меня поднялись сразу,

Читать дальше