Pull to refresh
296
-9.6

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

Send message

Так вот именно этом смеситель я и реализовываю в микроконтроллере.
"MAX2769 переносит сигнал не на нулевую, а на промежуточною частоту. Перемножив исходный сигнал на сформированный нами гармонический сигнал нужной частоты (Carrier NCO), мы получим на выходе умножителя новый сигнал - входной сигнал окажется перенесен на более низкую частоту. Обычно в GPS производят перенос сразу на нулевую частоту - т.е. после умножителя мы получаем сигнал, передаваемый передатчиком. "

Если по SPI включить выходы Q - то да, должен.
А так по таблице режимов MAX2769, задаваемых резисторами, везде только I выход работает. Проверил на своей плате - выход Q в Z-state.

Да, в книге "A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach" [1] прямо написано - "GPS is a CDMA system".
Википедия тоже об этом говорит - https://en.wikipedia.org/wiki/Code-division_multiple_access

Сигнал после смесителей в MAX находится на частоте 4Мгц - при той конфигурации, что описана в статье.
Конечно, там полосовой фильтр.
Спектр там примерно такой:

Это - только выходы I0/I1.
Спектр построен при помощи железа и софта из предыдущей статьи.
Пик в центре - возможно, связан с плохой работой железа или софта.
Замечу, что подключение антенны не особо влияет на спектр.

В даташите на MAX, правда, несколько по другому спектр показан, возможно, это из-за ограниченного динамического диапазона АЦП:

Все верно, в таком случае в I канале будет BPSK код.
Но в реальности такая ситуация невозможна - частота спутника меняется, фаза - тоже, PLL имеет ограниченный шаг перестройки частоты.
Тем не менее, в некоторых случаях такой метод вроде бы используют. Не зря у MAX есть пара выходов - I/Q - их как раз можно использовать, чтобы определять знак имеющегося рассогласования частот.

В предыдущей статье я упоминал прием сигналов GPS на RTL-SDR.
Там АЦП двухканальный (тоже I/Q), работает на частоте дискретизации 2.048 МГц. Гетеродин приемника настраивается прямо на 1575.42 МГц.
АЦП, правда, 8-битнный.

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

Я не могу точно сказать. Полоса передачи - 2.046МГц. По теореме Котельникова, частота дискретизации должна быть в 2 раза больше.
Но будет ли нормально работать на такой частоте трекинг - большой вопрос.

Да.
Правда, если я не ошибаюсь, доплеровское смещение не только на частоту влияет, но и на длительность чипа, но не сильно.

Линий SPI от MCU к MAX2769 у меня нет. Вся конфигурация MAX2769 - тремя резисторами на ее плате. На фото видно, что платы соединяют всего 4 провода.
Питание усилителя антенны через L1 не показано.
В остальном вроде все верно.

Видал такие в китайских лазерных рулетках, там COG. Подключен был по последовательной шине, вероятно, SPI.
Что за контроллер LCD там - не знаю. Но любом случае, реверс-инжиниринг протокола нужен, чтобы карту сегментов определить.
Это про боковой экран.

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

Если что, на Aliexpress видел потроха таких дальномеров, которые сразу значения по UART выдают.

Плата самодельная (заказана в Китае).
https://github.com/iliasam/STM32F4_SDR_GPS/tree/develop/RF_Frontend
Микросхему брал здесь - https://aliexpress.ru/item/1005004901964930.html

Примерно так.
Прямо в таблице с вариантами конфигурации MAX2769 в статье есть коэффициенты.
Частота генератора 16.368 делится на 16 и умножается на 1536.
Получается 1571.328 МГц. Прибавляем 4.092 МГц -> 1575.42 МГц - частота спутника.
Я так понял, значения загружаются в NDIV и RDIV. Есть еще другие регистры для более точной настройки.

Тоже соглашусь, define - это всегда полезно.
Но вот в случае индикаторов, особенно если речь идет про всякую китайщину, все не так просто.
Очень часто доступная документация на индикатор не описывает, как его правильно инициализировать. Название микросхемы-контроллера упомянут - и все, крутись как хочешь.
Гугленье приводит к каким-нибудь библиотекам, с кучей команд, как в посте.
Да, можно вручную выяснить, что значит каждая команда (по документации на контроллер), но это не поможет понять, каким образом был определен порядок команд, откуда взялись значения, записываемые в регистры. Они все равно останутся "магическими".
А откуда последовательность команд взялась в найденной библиотеке? Не удивлюсь, если в конечном итоге - из NDA документации на индикатор.

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

Я так понимаю, таким образом изображена дифф. пара.

Честно - никогда не интересовался. Так как на выходе микросхемы сигнал находится на частоте 4.092 МГц, то частота внутреннего гетеродина должна отличаться от частоты спутников 1575.42 МГц на эти 4.092 МГц, скорее всего вниз.

Почитал документацию: https://support.elvees.com/docs/Microchips/1892VM268/manual/
действительно интересная штука.
Микросхема позиционируется как микроконтроллер, и там действительно есть GNSS периферия, доступная пользователю. Причем в документации она довольно подробно описана. Фактически этот самый "коррелятор", который я упоминал в начале статьи, хотя он тут не только корреляцией занимается.

C ПЛИС появляется гибкость - можно сделать приемник с какими угодно параметрами.

Знаю только, что параметры ионосферы передают в subframe 4.

Извините, ошибся, речь про I1.
В статье тоже ошибка была, поправил текст.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity