Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация GPS приемника
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Rf & Microwave Design
Страницы: 1, 2, 3
Rst7
Цитата(Stanislav @ Nov 23 2008, 19:52) *
Думаю, получится безо всякого клея. При этом потребуется только сериальный клок и данные. smile.gif
Настраиваете SPI-интерфейс в режим слэйв, чип-селект - вечный. Сериальный клок MAX-а делаете равным удвоенному клоку АЦП (1-бит выход). Потом синхронизируете начало передачи-приёма установкой битов STRMEN+STRMSTRT - и вуаля, только успевайте выгребать. smile.gif


Вот нечто на такое я и надеюсь wink.gif Должен же быть фарт в жизни.

Цитата
ЗЫ. А где собираетесь приобрести чип, если не секрет?

Вроде наши местные торгаши не возражают привезти пару штук примерно по 15 бачей. А уж где они их брать будут - не мои трудности smile.gif
BADC0DE
Ну а как же вышеупомянутый проект на 68-й серии ? Без толстых FPGA...подозреваю, что вы имеете ввиду учет факторов , влияющих на качество определения координат. Это вопрос "на потом", главное начать =)


По поводу применимости 2769 для глонасс : есть подозрения что каким-то образом этот макс перестраивается под глонасс и, не резон им делать такой душевный чип и ограничивать диапазон VCO аппаратно. Например ячейки по адресу 1000 и 1001 - ими что-то конфигурится м.б ? Иначе зачем они доступ к ним разрешили по SPI ?
М.Б есть ещё какие регистры , не указанные в ДШ ...копать надо , короче =)


Rst7 : цифирь загнать в камень и обработать = не вопрос многим ( имхо ) интересующимся , а вопрос ету цифирь получить на выходах I/Q, не юзая дорогущий борд от MAXIM...
не закидывайтесь игнорированием вопросов...
. twak.gif
Stanislav
Цитата(Rst7 @ Nov 23 2008, 22:40) *
Вот нечто на такое я и надеюсь wink.gif Должен же быть фарт в жизни.
Там ещё битик STRMRST есть полезный, может пригодиться.

Цитата(BADC0DE @ Nov 23 2008, 22:46) *
Ну а как же вышеупомянутый проект на 68-й серии ? Без толстых FPGA...подозреваю, что вы имеете ввиду учет факторов , влияющих на качество определения координат. Это вопрос "на потом", главное начать =)
Для получения координат обработка нужна сурьёзная. С которой даже DSP удовлетворительно справиться не сможет.

Цитата(BADC0DE @ Nov 23 2008, 22:46) *
...По поводу применимости 2769 для глонасс : есть подозрения что каким-то образом этот макс перестраивается под глонасс и, не резон им делать такой душевный чип и ограничивать диапазон VCO аппаратно...
На работе спрошу. Может, есть информация и по ГЛОНАССу.
Rst7
Цитата(Stanislav @ Nov 23 2008, 22:20) *
Там ещё битик STRMRST есть полезный, может пригодиться.

Ага, я тоже заметил. Наверняка пригодится.
Цитата(BADC0DE @ Nov 23 2008, 19:49) *
Rst7, на мой вопрос не будете отвечать ? =))

РЧ часть самопал или EVKIT ?

Пардон, пропустил вопрос, потому как в данный момент читаю форум с мобилы. Отвечаю:

Буду делать сам. Хотелось бы еще и "игрушечный" бюджет "игрушки". Кит все же крутоват по цене, даже с учетом цены пива, которым придется поить одного моего знакомого профи, который займется RF - в смысле разводка цепей, фильтр и тест этого дела.
Loser801
Цитата(Stanislav @ Nov 23 2008, 21:53) *
Кстати, для ГЛОНАСС специальный чип нужен. У обычного MAX-a диапазона перестройки ГУН может не хватить.


производители грозятся, что ГУН на самом деле перестраивается в большем диапазоне, чем объявлено в даташите. Просто не тестируют обычно все чипы под этот диапазон, т.к. потребности нет. Но нам прислали чип полностью оттестированный и подходящий под диапазон ГЛОНАСС.
Stanislav
Хорошие новости: ревизии чипа, выпущенные начиная с весны, имеют диапазон перестройки ГУН, захватывающий и ГЛОНАСС. Даташит они корректировать не стали, и не собираются пока. Так что чип действительно универсальный.
Диаграммки не успел снять сегодня. Завтра вечером попробую.
BADC0DE
Loser801, а какой имитатор используете ?
Если не покупной, то интересно примерную схемку.
Loser801
Цитата(BADC0DE @ Nov 26 2008, 03:29) *
Loser801, а какой имитатор используете ?
Если не покупной, то интересно примерную схемку.

Покупной. Выдает до 6 каналов одновременно (ГЛ/GPS) на частотах L1/L2. Весь функионал через программку доступен. Полные схемки впринципе есть, но раздавать их мне не дадут...
BADC0DE
Loser801, ок...

Цитата(Stanislav @ Nov 25 2008, 21:44) *
Хорошие новости: ревизии чипа, выпущенные начиная с весны, имеют диапазон перестройки ГУН, захватывающий и ГЛОНАСС. Даташит они корректировать не стали, и не собираются пока. Так что чип действительно универсальный.



Тыкс.... на моих максах
MAX2769E
TI+728
+NSAI

Подскажите плиз, где про ревизии чипа искать инфу ?
:-)
Попытка реализовать макет, выдающий просто оцифрованный навигационный сигнал на ПЧ, с использованием данной микросхемы. В приложении схема и плата, выполненные в P-CAD 2004. Хочется услышать критику, комментарии и предложения.
L E L
Уважаемые специалисты! Я занимаюсь несколько иной областью радиотехники, но жизнь заставляет изучить работу GPS. Может подскажите литературу с достаточно полным описанием структуры сигналов, методов их обработки для GPS?.
BADC0DE
Цитата(:-) @ Jan 10 2009, 17:07) *
Попытка реализовать макет, выдающий просто оцифрованный навигационный сигнал на ПЧ, с использованием данной микросхемы. В приложении схема и плата, выполненные в P-CAD 2004. Хочется услышать критику, комментарии и предложения.




Неплохо было бы сперва изложить Вам свои соображения по поводу схемы.

Оно работает ?
аналоговая и цифр. земли просто объединены ?
+ обилие регуляторов имхо лишнее, ну и ещё кое что по мелочам =)

Вообще есть ДШ с фото - как и что

rolleyes.gif
:-)
Цитата(BADC0DE @ Feb 5 2009, 22:06) *
Неплохо было бы сперва изложить Вам свои соображения по поводу схемы.

Оно работает ?
аналоговая и цифр. земли просто объединены ?
+ обилие регуляторов имхо лишнее, ну и ещё кое что по мелочам =)

Вообще есть ДШ с фото - как и что

rolleyes.gif



Мои соображения по поводу схемы:

В идеале должен приниматься сигнал GPS (1575.42МГц), оцифровываться и всё.

Плата, изготовленная по данной схеме частично работает. Обнаружились косяки с выходными цифровыми буферами. Возникла проблема с фильтром на 1575,42 МГц (слишком большие потери в нём: 8 дБ вместо 2 дБ). Сигнал до МШУ и после имеет один и тот же уровень wink.gif

Теперь что работает: При подаче на вход схемы (на LNA1) гармонического сигнала с частотой 1575 МГц с генератора, на выходе виден сигнал с частотой 4 МГц (встроенный синтезатор установлен на частоту 1571 МГц). Выходы при этом настроены на аналоговый режим работы, цифровые буферы не установлены. Т.е. оно, конечно, как-то работает, но не так как нужно sad.gif

Как я понял следует разделить аналоговую и цифровую земли, оценить требуемое количество регуляторов. А на что ещё следует обратить внимание?

Ещё вопрос тем, кто работал с данной микросхемой. Выложенный в этой теме даташит не содержит никакой информации о том, как задается частота ПЧ (IF center frequency programming. Насколько я понимаю это центральная частота фильтра ПЧ. Задаётся она битами 10:5 (FCEN) слова управления Configuration 1). Обыскал все выложенный здесь файлы, но не нашёл никакой информации как задать нужную мне частоту sad.gif((

Ещё есть вот такой вопрос: Хочу передать оцифрованный сигнал и сигнал тактовой частоты на другую плату (расстояние до 20 см). Как это лучше сделать? Разобраться с цифровым буфером 74LVC07? Или вот ещё слышал предложение использовать какой-нибудь преобразователь в дифференциальный сигнал? Что лучше и надёжнее?

ЗЫ Спасибо за советы.
:-)
up
scorpstar
А все же, не запрашивал ли кто информацию по использованию MAX2769 для ГЛОНАСС (как рекомендуют в datasheet)?
Kranoff
Подскажите, в даташите на max2769 на странице 14 изображена схема "DSP Interface Top-Level Connectivity and Control Signals"
Есть там 4 выхода "DATA_OUT, CLK_SER, DATA_SYNC и TIME_SYNC". Где можно узнать уровни данных сигналов и посмотреть их диаграммы?
Заранее спасибо.
tam
Подскажите пожалуйста. Даташит по настройке МАХ2769 не содержит никакой информации о том, как задается центральная частота фильтра ПЧ. Задаётся она битами 10:5 (FCEN) слова управления Configuration 1), не нашёл никакой информации как задать нужную мне частоту, т.е. какие биты (Default Value) требуются чтобы задать центральную частоту фильтра=0Мгц и полосой 8МГц(для ГЛОНАСС), а так же центральную частоту =9МГц и полосой=18МГц(для ГЛОНАСС).
:-)
По слухам у maxim-ic на эту тему отдельная дока есть. Только она не для простых смертных sad.gif(( Видел где-то в этом блоге об этом говорил разработчик, который использует max2769.

Я для своей задачи тупо перебирал все варианты, пока не наткнулся на подходящий. (Пока, правда, больше с GPS играюсь).

ЗЫ Скажите, а какую опорную частоту вы используете? И если получите результат - было бы интересно узнать конфигурацию регистров max2769.

:-)
Вот пример использования MAX2769 для ГЛОНАСС L1: http://gnss-sdr.com/index.php?itemid=16

Была выбрана полоса фильтра = 18 МГц (FBW=11). При этом не требовалось задавать центральную частоту равную нулю (биты FCEN при такой полосе фильтра ПЧ никак не учитываются).
Ynicky
Не могу понять какая частота TCXO в этом проекте?
И частота среза указана 9 МГц.

Нужно сделать GPS/ГЛОНАСС RF приемник, поэтому интересует этот проект.

Николай.
:-)
Цитата(Ynicky @ Jan 16 2011, 21:19) *
Не могу понять какая частота TCXO в этом проекте?
И частота среза указана 9 МГц.

Нужно сделать GPS/ГЛОНАСС RF приемник, поэтому интересует этот проект.

Николай.


В указанном по ссылке проекте частота TCXO=16МГц;

Т.к. исползьзуются обе квадратуры, то полоса оцифровываемого сигнала - 16МГц. При этом, чтобы фильтр ПЧ MAX2769 не обрезал полезный сигнал выбран его режим работы в виде фильтра НЧ с частотой среза 9 МГц. Т.е. относительно нулевой частоты сигнал простирается в положительную и отрицательную сторону на 9 МГц (т.е. полная полоса=18МГц).
Ynicky
Понятно.
Значит, если я сделаю частоту опоры 26 МГц, я могу работать с ВТ кодом.

Николай.
:-)
Получается, что так. Исходя из ИКД минимальная полоса для ВТ-кода получается 17.5325МГц. Только он же для военных и не рекомендован к применению без согласований...
Владимир О.
Прошу прощения, что несколько не в тему.

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

Пока личные сообщения, к сожалению, почему-то не функционируют, поэтому прошу ответить в теме.

С уважением
Владимир
Aner
Цитата(Владимир О. @ Mar 24 2011, 20:40) *
Прошу прощения, что несколько не в тему.

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

Пока личные сообщения, к сожалению, почему-то не функционируют, поэтому прошу ответить в теме.

С уважением
Владимир

укажите какой чипсет, протокол III, IV?
Владимир О.
Прошу прощения - только при личной встрече могу дать эту информацию.
Ynicky
Цитата(:-) @ Jan 16 2011, 21:41) *
В указанном по ссылке проекте частота TCXO=16МГц;

Т.к. исползьзуются обе квадратуры, то полоса оцифровываемого сигнала - 16МГц. При этом, чтобы фильтр ПЧ MAX2769 не обрезал полезный сигнал выбран его режим работы в виде фильтра НЧ с частотой среза 9 МГц. Т.е. относительно нулевой частоты сигнал простирается в положительную и отрицательную сторону на 9 МГц (т.е. полная полоса=18МГц).


Сделал RF приемник на MAX2769 с выходами I и q. Коррелятор аппаратный на FPGA.
Никак не получается настроить ПЧ приемника на полосу +-9МГц.
АЧХ не соответствует тому что надо.
Хотя полосы 2,5, 4,2 и 8 МГц в режиме с нулевой ПЧ (zero-IF mode) те что надо.
Если не сложно, не могли бы Вы дать настройки каждого регистра MAX2769?

Николай.
:-)
Использую примерно такие настройки:

//Enter here configuration code for max2769.
//max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x90;//LPF=18MHz!
max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x30;//BPF=4.2MHz!
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x50; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x81;//2bit
//max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x50; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x81;//1bit
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0xFE; max2769_conf_word[1] = 0xFF; max2769_conf_word[2] = 0x1D; max2769_conf_word[3] = 0xC2;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x9E; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x83;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x4A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1573MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x84; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1602MHz.
///max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x82; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1601MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x80; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1600MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7E; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1599MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7C; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1598MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1597MHz.
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x08; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x07; max2769_conf_word[3] = 0x05;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x80; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x06;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x10; max2769_conf_word[1] = 0x06; max2769_conf_word[2] = 0x1B; max2769_conf_word[3] = 0x27;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x1E; max2769_conf_word[1] = 0x0F; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x18;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x14; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x29;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
//Enter here configuration code for max2769. END.


А какая АЧХ у Вас получается? Чем не устраивает?

А какой коррелятор Вы используете? Что-то самописное? А на чем сделано управление коррелятором?
Ynicky
Цитата(:-) @ Aug 30 2011, 01:17) *
А какая АЧХ у Вас получается? Чем не устраивает?

А какой коррелятор Вы используете? Что-то самописное? А на чем сделано управление коррелятором?


Коррелятор использую самодельный (написан на VHDL).
При работе с приемником на GP2015 работают как ГЛОНАСС
так и NAVSTAR. Только там у меня рабочая частота 25 МГц.
В корреляторе есть возможность работы и на частоте 26 МГц,
что используется в проекте с MAX2769.
Коррелятор управляется софтпроцессором.
АЧХ снимаю с помощью специальной программы.
Настроил MAX2769 следующим образом:
0xA2918F90
0x85592881 - sign & mag
0xFEFF1DC2
0x9EC00083
0x0C820D04 - 1601MHz, RDIV=26
0x08000705
0x80000006
0x10061B27
Два последних регистра не конфигурирую (оставляю значения по умолчанию).
Изменил Ваши настройки с учетом используемой у меня аппаратуры.

АЧХ прилагаю.
Выброс вблизи 0-й частоты - полагаю помеха от внутреннего VCO.
При изменении центральной частоты VCO меняется и положение этого выброса.

Николай.
:-)
Это вы берете вторую ПЧ с gp2015 вместо третьей?

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

У меня спектр выглядит как в приложении.

Выбросы около нулевой частоты и прочие тоже обычно прослеживаются, если взять БПФ от выборки подлинее. С причиной пока не разобрался, но так как они заметно не влияют на результат обработки пока оставил все как есть...

Ой, очень любопытно узнать как отлаживается связка коррелятор+программа управления. Еще очень интересует вопрос как влияют задержки между моментом получения очередной выборки с коррелятора и моментом ввода новых команд коррелятору.
Ynicky
Цитата(:-) @ Aug 31 2011, 00:34) *
Это вы берете вторую ПЧ с gp2015 вместо третьей?

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

У меня спектр выглядит как в приложении.

Выбросы около нулевой частоты и прочие тоже обычно прослеживаются, если взять БПФ от выборки подлинее. С причиной пока не разобрался, но так как они заметно не влияют на результат обработки пока оставил все как есть...

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


В проекте RF приемника на GP2015 с выхода 1-й ПЧ идет ответвление
для ГЛОНАССа на квадратурный смеситель U2794B,
далее через RC ФНЧ - на АЦП AD9066 (используются 2 старших разряда).
Для NAVSTAR-а используется остальная часть GP2015. АЧХ прикрепил.
Так как схема довольно сложная, решил перейти на MAX2769.
Дамп памяти для построения спектра в MATLAB-е прикрепил.
Текс .m файла привожу ниже.

fid = fopen('f1601bw18.dmp','r');
[a,count] = fread(fid,'uint16');
fclose(fid)
c = log10(a)
plot(c,'r-')
title('GLONASS')
ylabel('Log10(P)')
xlabel('Frequency (0 = +13MHz, 2600 = 0MHz, 5200 = -13MHz (1 = 5000Hz))')
hold on

В состав моего коррелятора входят 2 синтезатора частот (для кода и несущей),
комплексный смеситель (на основе ПЗУ), накапливающие сумматоры-интеграторы
(за период 1 эпоха ПСП (1 мС)), а также счетчик местной шкалы времени.
Каждую эпоху процессором считываются получаемые на интеграторах и других
регистрах (псевдодальности, счетчик эпох и др.) отсчеты,
которые обрабатываются и используются для задания корректирующей информации
коррелятору. Минимальное время петли обратной связи - это 4 мС в фильтре
ФАП. Фильтр слежения за кодом замыкается раз в 20 мС.
Процессор можно применить общего назначения, только для вычисления координат
требуется плавающая точка.

Экспериментируя с MAX2769 установил, что нулевую центральную частоту
внутреннего фильтра ПЧ можно выставить записав все 1 в поле FCEN.
АЧХ для полосы 8 МГц с нулевой центральной частотой фильтра также вложил.

Николай.
:-)
Ой, а это у вас не сам сигнал в файле, а уже его спектр?

Только я так и не понял у вас работает max2769 в режиме ГЛОНАСС или нет? В режиме lowpass filter mode (бит FCENX = 0), по-моему, значение бит FCEN не играет роли.

А что значит "Минимальное время петли обратной связи - это 4 мС в фильтре
ФАП"? Т.е. каждую мс вы считываете значения с интеграторов, но только каждые 4 мс используете их? А какую частоту выставляете для синтезатора несущей: соответствующую текущей расстройке или как-то хитро экстраполируете ее на время +4мс?

Я сам пытаюсь использовать коррелятор из проекта namuru: http://www.gmat.unsw.edu.au/namuru/
А управляющую программу osgps: http://sourceforge.net/projects/osgps/
Ynicky
Цитата(:-) @ Sep 1 2011, 17:26) *
Ой, а это у вас не сам сигнал в файле, а уже его спектр?

Только я так и не понял у вас работает max2769 в режиме ГЛОНАСС или нет? В режиме lowpass filter mode (бит FCENX = 0), по-моему, значение бит FCEN не играет роли.

А что значит "Минимальное время петли обратной связи - это 4 мС в фильтре
ФАП"? Т.е. каждую мс вы считываете значения с интеграторов, но только каждые 4 мс используете их? А какую частоту выставляете для синтезатора несущей: соответствующую текущей расстройке или как-то хитро экстраполируете ее на время +4мс?

Я сам пытаюсь использовать коррелятор из проекта namuru: http://www.gmat.unsw.edu.au/namuru/
А управляющую программу osgps: http://sourceforge.net/projects/osgps/


Отсчеты с АЦП мне не доступны, да и памяти столько в FPGA нет, чтобы их сохранить.
А с MAX2769 я так и не могу принять ни одного спутника, ни в режиме ФНЧ ни в режиме ПФ.
Значения с интеграторов я использую каждую эпоху. Усредняю и подставляю в формулу фазовой автоподстройки.
Каждые 4мС записываю в управляющие регистры корректирующую информацию (новое значение фазы несущей).
Для неподвижного объекта это время можно увеличить. Для динамического (самолет) больше нельзя сделать.
Будет срыв автоподстройки.
А вообще коррелятор у меня позаимствован у GP2021 (идея). Только я его модифицировал для работы с широкой входной полосой несущего сигнала, чтобы обрабатывал весь спектр ГЛОНАСС.
И программа за основу взята у ф.Zarlink, которую они прилагают к своим отладочным платам.

Николай.
:-)
Эх, а у меня никак не получается запустить ФАПЧ sad.gif Все модели работают по записанным, а в железе пока никак sad.gif

Проверил работу с вашей конфигурацией, подав в качестве опоры 26 МГц. У меня все заработало (записал данные с max2769 и далее обработал их на ПК). Вот еще раз пример двух рабочих конфигураций max2769:

Первая удачная конфигурация:

//Enter here configuration code for max2769.
max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x90;//LPF=18MHz!
//max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x30;//BPF=4.2MHz!
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x50; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x81;//2bit
//max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x50; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x81;//1bit
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0xFE; max2769_conf_word[1] = 0xFF; max2769_conf_word[2] = 0x1D; max2769_conf_word[3] = 0xC2;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x9E; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x83;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
///max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x4A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1573MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x84; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1602MHz.
max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x82; max2769_conf_word[2] = 0x0D; max2769_conf_word[3] = 0x04;//f_get=1601MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x80; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1600MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7E; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1599MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7C; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1598MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1597MHz.
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x08; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x07; max2769_conf_word[3] = 0x05;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x80; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x06;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x10; max2769_conf_word[1] = 0x06; max2769_conf_word[2] = 0x1B; max2769_conf_word[3] = 0x27;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x1E; max2769_conf_word[1] = 0x0F; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x18;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x14; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x29;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
//Enter here configuration code for max2769. END.


Вторая удачная конфигурация

//Enter here configuration code for max2769. TEST for electronix.ru!!!
max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x90;//LPF=18MHz!
//max2769_conf_word[0] = 0xA2; max2769_conf_word[1] = 0x91; max2769_conf_word[2] = 0x8F; max2769_conf_word[3] = 0x30;//BPF=4.2MHz!
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x59; max2769_conf_word[2] = 0x28; max2769_conf_word[3] = 0x81;//2bit
//max2769_conf_word[0] = 0x85; max2769_conf_word[1] = 0x50; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x81;//1bit
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0xFE; max2769_conf_word[1] = 0xFF; max2769_conf_word[2] = 0x1D; max2769_conf_word[3] = 0xC2;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x9E; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x83;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
///max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x4A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1573MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x84; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1602MHz.
max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x82; max2769_conf_word[2] = 0x0D; max2769_conf_word[3] = 0x04;//f_get=1601MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x80; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1600MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7E; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1599MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7C; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1598MHz.
//max2769_conf_word[0] = 0x0C; max2769_conf_word[1] = 0x7A; max2769_conf_word[2] = 0x08; max2769_conf_word[3] = 0x04;//f_get=1597MHz.
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x08; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x07; max2769_conf_word[3] = 0x05;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x80; max2769_conf_word[1] = 0x00; max2769_conf_word[2] = 0x00; max2769_conf_word[3] = 0x06;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
max2769_conf_word[0] = 0x10; max2769_conf_word[1] = 0x06; max2769_conf_word[2] = 0x1B; max2769_conf_word[3] = 0x27;
write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
///max2769_conf_word[0] = 0x1E; max2769_conf_word[1] = 0x0F; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x18;
///write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
///max2769_conf_word[0] = 0x14; max2769_conf_word[1] = 0xC0; max2769_conf_word[2] = 0x40; max2769_conf_word[3] = 0x29;
///write_cmd(udev, 0x0C, 0, 0, max2769_conf_word, 4);
//Enter here configuration code for max2769. END.

В приложении то же самое + картинки со спектром для обоих вариантов.
Ynicky
Цитата(:-) @ Sep 2 2011, 17:55) *
Вторая удачная конфигурация

Сделал тоже самое у себя.
Интересные получились результаты.

Николай.
Ynicky
Цитата(:-) @ Sep 2 2011, 17:55) *
Вторая удачная конфигурация

Интересно, а какая у Вас получится АЧХ со следующей конфигурацией:
0xA2919A30 - полоса пропускания 2,5 МГц.
Остальные регистры не менял.
То, что получилось у меня - во вложении.

Николай.
Ynicky
Наконец-то принял сигналы спутников.
Оказалось, что все литеры сдвинуты примерно на +26 кГц.
С чем это связано, пока не понял.
Работаю как с полосой +-4 МГц, так и с +-8 МГц.
С полосой +-8МГц неравномерность АЧХ очень сильная.
При работе АРУ вообще непонятная АЧХ. Без АРУ - лучше.
Выброс на частоте 1600 МГц - 32-я гармоника частоты 50 МГц на
которой работает процессор.
Настройки MAX2769 следующие:
+-4 МГц:
0xA291FEB0
0x85502881
0xEAF71DC2
0x9EC00083
0x0C820D04
0x80000705
0x80000006
0x10061B27
0x1E0F4018
0x14C04029

+-8 МГц без АРУ:
0xA291FFD0
0x85512881
0xCAF71DC2
0x9EC00083
0x0C820D04
0x80000705
0x80000006
0x10061B27
0x1E0F4018
0x14C04029

+-8 МГц с АРУ:
0xA291FFD0
0x85502881
0xEAF71DC2
0x9EC00083
0x0C820D04
0x80000705
0x80000006
0x10061B27
0x1E0F4018
0x14C04029

АЧХ прилагаю.

Николай.

PS.
Два месяца назад написал в службу поддержки ф.MAX.
Задавал вопросы по MAX2769.
В ответ запросили больше информации.
Послал. С тех пор жду ответа.
:-)
Цитата(Ynicky @ Oct 17 2011, 20:39) *
Наконец-то принял сигналы спутников.
Оказалось, что все литеры сдвинуты примерно на +26 кГц.
С чем это связано, пока не понял.
Работаю как с полосой +-4 МГц, так и с +-8 МГц.
С полосой +-8МГц неравномерность АЧХ очень сильная.
При работе АРУ вообще непонятная АЧХ. Без АРУ - лучше.
Выброс на частоте 1600 МГц - 32-я гармоника частоты 50 МГц на
которой работает процессор.
Николай.

PS.
Два месяца назад написал в службу поддержки ф.MAX.
Задавал вопросы по MAX2769.
В ответ запросили больше информации.
Послал. С тех пор жду ответа.


Кстати, а вы смотрели выход max2769 на спектроанализаторе в аналоговом режиме? Как там выглядит спектр?

А сдвиг всех литер одинаковый? Тогда, может, у вас кварцевый генератор плохой (низкая стабильность частоты у него)?
Ynicky
Цитата(:-) @ Oct 18 2011, 09:22) *
Кстати, а вы смотрели выход max2769 на спектроанализаторе в аналоговом режиме? Как там выглядит спектр?

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


А как посмотреть выход MAX2769 (и какой) в аналоговом режиме?

Про генератор я подумал в первую очередь. Я использую NT3225SA-26M-NSA0322T. У него стабильность 2,5 ppm.
Это гораздо меньше 26 кГц.
Насколько я понял, у всех литер одинаковый сдвиг.
Точный сдвиг можно будет вычислить после того как программисты осилят
вторичку (определение координат в реальном времени).

Николай.

PS. Забыл добавить.
На трех экземплярах приемника результат аналогичен.
:-)
Цитата(Ynicky @ Oct 18 2011, 22:09) *
А как посмотреть выход MAX2769 (и какой) в аналоговом режиме?


Задать биты 5:4 (DRVCFG) регистра 2 (адрес: 0001) соответствующим образом. Смотреть можно все 4 выхода (I0, I1, Q0, Q1).

Да, с генератором должно быть все в порядке. Я сам использую такой же только на частоту 16 МГц.

Тогда, быть может, некорректно работает петля ФАПЧ? Попробуйте проконтролировать частоту гетеродина. (ее можно разглядеть на ножке MIXIN(#5)).
:-)
Может, кому-нибудь будет интересно: реализация простейшего блока навигационного приемника. Осуществляется поиск и слежение за сигналами двух спутников.


Основа: коррелятор Namuru (verilog-модуль для FPGA, аналог GP2021/GP4020), front-end на базе м/с max2769, программа управления на основе OSGPS. Все это работает в Digilent s3eboard.

http://gnss-sdr.ru/index.php?itemid=55
attache
Цитата(tam @ Dec 17 2010, 08:05) *
Подскажите пожалуйста. Даташит по настройке МАХ2769 не содержит никакой информации о том, как задается центральная частота фильтра ПЧ. Задаётся она битами 10:5 (FCEN) слова управления Configuration 1), не нашёл никакой информации как задать нужную мне частоту, т.е. какие биты (Default Value) требуются чтобы задать центральную частоту фильтра=0Мгц и полосой 8МГц(для ГЛОНАСС), а так же центральную частоту =9МГц и полосой=18МГц(для ГЛОНАСС).

Я тоже долго искал тайну этого регистра.
Выглядит вот так:
FCenter=(64–fliplr(FCEN=001101))*0.195MHz=(64–101100b)*0.195MHz=(64–44)*0.195MHz
=3.9MHz
Костян
Запутался с zero-IF. Верный ли следующий алгоритм для GPS с нулевой ПЧ:
1. PLL настраиваю на 1575.42МГц
2. Бит FCENX в 0 (low pass filter)
3. FBW= 00 (2.5 Мгц полоса фильтра)
4. IQEN = 1 (включение IQ )

Вопросы:
1. Верный ли алгоритм для нулевой ПЧ ?
2. При FCENX=0 (low pass filter) имеет ли значение центральной полосы фильтра в регистре FCEN (судя по описанию выше- мнение разделилось, в одном случае все 1, в другом значение не имеет) ?
Костян
del
attache
Цитата(attache @ Dec 3 2012, 03:37) *
FCenter=(64–fliplr(FCEN=001101))*0.195MHz=(64–101100b)*0.195MHz=(64–44)*0.195MHz
=3.9MHz

PS: справедливо при полосе 2.5, в других случаях масштабируется...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.