
Скоро два напълно различни свята се събраха в нашата лаборатория: свят на евтини радио-трансиври и свят на изключително скъпи системи за запис на широколентови радио-сигнали.
Първо се свързаха нашите добри приятели, за да направим софтуер за запис на сигнал с честота 500 МГц. Разбира се, не можехме да откажем. Нуждата беше да се направи това на платка на компанията «Инструментални Системи», които познавам отдавна. В началото на инженерната си дейност ми се наложи да работя с техния хардуер и софтуер.
А после дойде скъп приятел от и помоли да направим система за позициониране на дронове без GPS. Трябва, казва, да пуснеш шоу в закрито помещение. А и навън в наши дни не е много приятно да пускаш десетки милиони в небето на ненадеждно GPS. Смутове и спуфинг на спътниковата навигация .
За позициониране без спътници с точност под десет сантиметра в обхват до километър не намерих нищо освен технологията UWB. На пазара отдавна съществува компания DecaWave, която произвежда микрочипа DW1000 и модулите на негова основа. Микрочипът е СШП-трансивер според стандарта IEEE 802.15.4-2011. Между другото, това е уникално устройство с двойно или дори тройно дъно. Надявам се, че ще успеем да овладеем дълбините му през следващите няколко години и ще напишем за това. По-рано определено няма да успеем.
Но днес няма да говорим за позициониране, за това в следващите серии.
Днес правим запис на сигнала DW1000. А честотната лента на този сигнал е 1000 или 500 МГц, в зависимост от номера на канала. «Съвсем случайно» на съседната маса имаше компютър с платка от «Инструментални Системи» с FMC-мезанин от Analog Devices.
Тук следует да отбележим «за прокурора», че АЦП AD9208 днес е санкционно оборудване. Легално да го купиш в Русия не е възможно, независимо колко искате понякога. Но конкретният модул беше закупен много отдавна, когато все още нямаше санкции. Той е чист като душата на дете. Надявам се, че това признание ще бъде прикрепено към делото и ще се зачита на обвиняемия.
Няма да навлизаме в детайлите на разработката на софтуер за запис на поток от данни в паметта на компютъра. За съжаление, в момента не можем да публикуваме изходния код на приложението за Linux. Но се надяваме да получим разрешение за това следващия път. Трябва само да отбележим, че това не беше лесно, дори с предоставените софтуерни разработки от Инструментални Системи. Самият АЦП и системата му за тактова синхронизация и извеждане на данни по технологията JESD204B са доста сложни за разбиране, а в модула от AD оказа се, че са необходими хардуерни пачове. Сигналът REFCLK на системата за вход е задължителен, а в модула той влиза не на тези крака на конектора FMC и, следователно, не попада на нужните крака на FPGA. Пришло се да наложим пач, който можете да видите на снимката по-долу — два червени проводника. Разбира се, имаше съмнения дали това ще сработи. Честотата на тактовия сигнал е висока — 375 МГц, а пачът изглежда ужасно. Но системата се справи.

Цялата кухня изглежда така.

Тук може да се забележи компютър с добра система за вход-изход, платка FMC126P, мезанин AD9208-3000EBZ. От генераторите: генератор с честота 3000 МГц за тактова синхронизация на АЦП, генератор с честота 770 МГц за REFCLK. Кабелите с SMA конектори свързват генераторите и подават входен сигнал.
Суровата скорост на данни от изхода на АЦП, ако не сме придирчиви, е 12 ГБайт/с от два канала. Според измерванията и декларацията на производителя на платката FMC126P, максималната скорост на входа е 5 ГБайт/с. Затова в АЦП използвахме само един канал и го пропуснахме през вградения в AD9208 DDC (Digital Down Converter) с децимация на четири. Така потокът от данни достигна 3 ГБайт/с (честота на дискретизация 750 МГц, 16-битен комплексен сигнал).
Проверката дали системата успява да записва данните е много проста: просто трябва да контролираме застоялите битове на статуса на FIFO на FPGA-то. Ако през нощта не е имало нито едно събитие FIFO Overflow, тогава битът няма да бъде активиран. И радостно констатираме, че загуба на данни не е имало. Предварително, разбира се, проверяваме, че фиксацията на битовете на статуса работи. Формата на сигнала също преглеждаме от файла, за да се уверим, че качеството на извлечения сигнал от АЦП съответства на документацията.
Но какъв сигнал би бил достоен за такава система за вход? Разбира се, UWB от съседната маса!
За щастие, за системата за позициониране на дронове избрахме честотен канал от 4 GHz. Това съответства на канал 4 и 2 в терминологията на DW1000 (Фигура 13 от техническия документ). Изработихме вградена антена за тази честота или, по-точно, за този диапазон. Настройването ѝ в толкова широк диапазон беше предизвикателство. Но крайният резултат е впечатляващ! Някои казват, че напомня на символ… с ушички.

Сигналът от 4 GHz с ширина на лентата 500 MHz попада в третата лента на Найквист и има достатъчни защитни интервали, за да избегне припокриването на спектъра. Затова директно подадохме сигнала от DW1000 към входа на АЦП AD9208.
Получихме два файла: един с PRF честота 64 MHz, другият — 16 MHz. Скоростта на предаване беше зададена на минималната за DW1000 — 110 kbps.
Това файл, това . Внимание, файловете са огромни!
В първия файл виждаме пакети с продължителност около 750 измервания или 1000 наносекунди.

Вторият файл има пакети, които са четири пъти по-къси.

И това напълно съответства на стандарта IEEE 802.15.4-2011 по отношение на физическия слой UWB:

Модулацията вътре в пакета е подобна на фазова, което също съответства на посоченото в стандарта BPSK. Самият стандарт можете да намерите в Интернет, търсете „IEEE 802.15.4-2011“.
Ако малко разширим времевия прозорец на наблюдение, ще се видят и неравномерностите в последователността на пакетите, което съответства на описанието на хибридната модулация IEEE 802.15.4-2011 UWB — позиционно-фазова (BPM-BPSK).


В действителност, намирам чипа DW1000 и модулацията на този UWB PHY за невероятна, каквото и да означава това, нещо на нивото на военната JTIDS. Това е моето ново увлечение. Продължението следва!
От една страна, ще се потопим в DW1000, от друга, ще разберем стандарта IEEE 802.15.4.
Източник: habr.com
