Электромагнитные помехи от STM32 ухудшают приём GPS-сигнала

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Электромагнитные помехи от STM32 ухудшают приём GPS-сигнала

Сообщение Алехсей »

Здравствуйте!

Недавно на работе столкнулся с такой "проблемой" :cry:: электромагнитные помехи от STM32F205VET6 влияют (не в лучшую сторону) на приём сигналов от GPS и ГЛОНАСС спутников.
Уже месяц как не нахожу себе места - перепробовал практически всё и плату переразводил, и включал фичу широкополосной модуляции для HSE... В итоге пришёл к странному выводу: в одном месте кода убираю вызов функции и всё работает, возвращаю на место - всё ломается. Функция самодельная: в ней тупо включается светодиод. Светодиод висит на выводе PE8.

Сталкивался ли кто с подобным чудом? И какие были варианты решений?

Заранее спасибо за ответы!
Реклама
E71

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение E71 »

Тю. Всё решается легко (несколько тысяч моих трекеров катается уже года 4 как, так что проверено :) ).

Вам надо просто внимательно почитать аппноты от производителей приёмкиков GPS и ГЛОНАСС. Если прочувствуете откуда бяка, то всё будет очень хорошо работать.


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

Изображение
Реклама
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение DX168B »

Eddy71
Жесть. :facepalm:
"Я нищий, потому что у меня нет денег." :))) Спасибо, Кэп. :))) :facepalm:

Алехсей
Какова скорость задана для той ноги, что светодиодом дергает? Если высокая, то стоит скинуть ее до минимума.
Еще следует проверить, ходят ли помехи по этой ноге. Если есть, то можно воткнуть последовательно мелкий дроссель на 47 мкГн
и после дросселя кондюк на землю.
Более бредовая теория:
Как известно, светодиод является по сути генератором сверхвысоких частот (свет)
и у него могут быть какие-то свои гармоники. Следует просто зажечь его один раз и посмотреть на качество приема пока он горит.
I am DX168B and this is my favourite forum on internet!
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Алехсей »

Eddy71, я прочувствовал откуда бяка, но что-то это не помогло... Решать проблему переразводкой платой это самый нормальный вариант, но у меня сейчас классическая ситуация - всё должно быть сделано вчера.

DX168B, со скоростью идея хороша. Но светодиод не мигает так часто (всего 1 раз в секунду короткая вспышка) да и скорость работы вывода настроена на минимум (2 МГц). Свет вряд ли создаёт помехи. Это направленное излучение и частоты не те... 390-750 ТГц.

А теперь самое интересное!
Проблема с помехами, зависящими от кода, возникает из-за работы с FLASH!!! :shock:
Оказывается в STM32F2 флеш не только медленная, но и шумная:
(ой, кажется ссылку на нужный форум я потерял)
http://www.elektroda.pl/rtvforum/topic1541960.html
https://my.st.com/public/STe2ecommuniti ... tviews=474

Как решение люди предлагают:
1. Всё заэкранировать;
2. Делать работу МК событийной, т.е. вводить его в сон (wfi, wfe, SLEEPONEXIT) и просыпаться по событиям/прерываниям;
3. Перенести весь код (или основную часть его) в RAM.

От себя могу добавить:
4. Выключение фичи флеш под названием «Prefetch» (бит PRFTEN регистра FLASH_ACR). Кстати это же рекомендуют сами STМовцы для повышения точности работы АЦП (AN4073);
5. Использование фичи spread spectrum clock generation (регистр RCC_SSCGR). Правда я сам её до конца не понял… Точнее понял: мы спектр тактового сигнала «размазываем», тем самым снижая амплитуды его гармоник. Но я никак не могу понять: в таком виде сигнал и внутри МК распространяется? Ведь там только вкл./выкл…

Честно говоря, из программных методов самым действенным оказался третий, но он мне не нравиться – RAM на вес золота. Поэтому я копаю дальше.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
DX168B
Друг Кота
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)
Контактная информация:

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение DX168B »

Ну, какбы запись во Flash требует больше энергии. Процессы там быстрые, амплитуды токов большие.
Но ведь проблема изначально была с вызовом функции, зажигающей светодиод.
I am DX168B and this is my favourite forum on internet!
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение a5021 »

Алехсей писал(а):5. Использование фичи spread spectrum clock generation (регистр RCC_SSCGR). Правда я сам её до конца не понял… Точнее понял: мы спектр тактового сигнала «размазываем», тем самым снижая амплитуды его гармоник. Но я никак не могу понять: в таком виде сигнал и внутри МК распространяется? Ведь там только вкл./выкл…
Меандр состоит из кучи гармоник, которые "светят" с постоянной энергией на конкретных частотах, если частота меандра постоянна. Суть размазывания в том, чтобы тактовую частоту из постоянной сделать переменной. Грубо говоря, тактовая все время гуляет, причем с высокой скоростью. Вслед за ней гуляют и гармоники, размазывая свою энергию по более широкому диапазону. Диапазон "свечения" становится шире, но амплитуда меньше.

Возможно и стоит попробовать этот спред спектрум, т.к. запросто может оказаться, что какая-то из гармоник попадает в диапазон жпса.
Реклама
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Алехсей »

DX168B, дело как раз не в записи/стирании FLASH, а в чтении из неё кода (при его выполнении). Эта проблема проявлялась не только при вызове функции зажигания светодиода, но по и в произвольных участках кода.

a5021, все эти моменты я понял. Мне интересно насколько «глубоко» подобный сигнал проходит в процессор, ведь внутри МК у всех вентилей есть только два состояния: вкл./выкл. и модулировать там нечего. И как раз шум всех вентилей будет гораздо сильнее, чем шум двух коротких тактовых линий с модуляцией.

Хотя... не совсем я всё понял: ведь суть размазывания в том, что мы из синуса (одна гармоника с большой амплитудой) получаем меандр (точнее треугольник, т.е. несколько гармоник, но с меньшей амплитудой) при той же мощности, или нет? При плавающей частоте будет одна и та же гармоника с большой амплитудой, но с разными частотами (то глушит сигнал, то не глушит). Смысла в последнем я не вижу.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Morroc »

Представьте что фронты тактовых импульсов слегка дрожат - вроде примерно так. То глушит то не глушит... ну может и так, но это может быть лучше, чем просто глушит.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение a5021 »

Алехсей писал(а):a5021, все эти моменты я понял. Мне интересно насколько «глубоко» подобный сигнал проходит в процессор, ведь внутри МК у всех вентилей есть только два состояния: вкл./выкл. и модулировать там нечего. И как раз шум всех вентилей будет гораздо сильнее, чем шум двух коротких тактовых линий с модуляцией.
Стопятьсот вентилей внутри мк не просто спят в одном из положений. Они, большинством своим, "щелкают" вслед за тактовой, т.ч. "светят" гармониками не только две тактовые линии. Насколько сильно "светят" -- это другой вопрос. Плюс, из МК могут выходить сигналы наружу, которые тоже оказываются привязаны к тактовой. Если "шатать" тактовую, вся эта камарилья "звенит" в более широком спектре, но меньшей амплитудой.
E71

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение E71 »

Да, и эти все щёлкающие вентили будут всегда гадить, пока проц работает. А борьба с помехами сводится к правильно разводки как питания проца и приёмника (и то и другое как раз в аппнотах даташитов рисуют) + верная топология платы (там же картинки).

И хоть решить надо "на вчера", но самый быстрый способ (и самый верный) - переделать плату с учётом уже полученного негативного результата. А то головняк будет снова и снова возвращаться. Проверено на себе. :)
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Neekeetos »

Алехсей писал(а):Решать проблему переразводкой платой это самый нормальный вариант, но у меня сейчас классическая ситуация - всё должно быть сделано вчера.
Как вариант можно настроить плл и частоту работы мк на другую (близкую к нужной), которая не дает гармоник в диапазоне работы gps приемника. Хотя для стандартных частот работы ф205 там нету таких, больше похоже на забитие мшу у модуля GPS произвольными помехами от мк. В любом случае смена частоты может помочь.
Информация по RLC mini находится >тут<
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Алехсей »

Ох, ну я и пропал...

Morroc, a5021, меня всё время клинит, что если есть модуляция, то это обязательно АМ. :facepalm: А есть же ЧМ, ФМ…

В STM для «размазывания» спектра применяется ЛЧМ (линейная частотная модуляция) https://ru.wikipedia.org/wiki/Линейная_ ... _модуляция. Для настройки используется два параметра:
1. Насколько сильно качать частоту (INCSTEP);
2. Насколько быстро качать частоту (MODPER).

Из-за подобной модуляции в спектре появляются дополнительные гармоники. А так как мощность сигнала (площадь спектра, если не ошибаюсь) не меняется, то амплитуда гармоник становиться меньше. Но об этом уже говорилось.
Форма сигнала не меняется, поэтому модуляция «доходит» до всех углов МК.

На практике частота качается (надо фото с осциллографа не забыть завтра выложить). Но толку нет. Как падал сигнал GPS, так падает дальше… :(
Плюс из-за того, что частота постоянно пляшет, интерфейсам, чувствительным к тактовой частоте (USB, RS, CAN и прочее) становится плохо.

Так что, лично я в этой «фиче» разочаровался. Хотя я оценивал качество её работы по БПФ в осциллографе, а не с помощью специального прибора для изменения ЭМИ.

Eddy71, абсолютно согласен. Но надежда на простое решение… как всегда умерла последней.

Neekeetos, частоту менял, но то ли я дурак, то ли лыжи по асфальту не едут – не помогло. Менял со 120МГц на выходе PLL до 48МГц (сразу, промежуточные не пробовал).
Снова же результат оценивал на глаз (по уровням GPS), а не с помощью специального прибора.

P.S.: :idea: Перемещение кода в SRAM реально помогает, процессор как будто и не работает… тишина! Но это тоже не вариант – прошивка слишком толстая. Хотя можно переместить в RAM часто используемые функции, что в принципе и было сделано. :beer:
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Neekeetos »

Алехсей писал(а):На практике частота качается (надо фото с осциллографа не забыть завтра выложить). Но толку нет. Как падал сигнал GPS, так падает дальше… :(
Плюс из-за того, что частота постоянно пляшет, интерфейсам, чувствительным к тактовой частоте (USB, RS, CAN и прочее) становится плохо.
...
, частоту менял, но то ли я дурак, то ли лыжи по асфальту не едут – не помогло. Менял со 120МГц на выходе PLL до 48МГц (сразу, промежуточные не пробовал).
Снова же результат оценивал на глаз (по уровням GPS), а не с помощью специального прибора.
По моему это классика жанра - забитие мшу на входе у приемника. Поэтому и смена/модуляция частоты не помогает. Смысл в том, что на входе GPS присутствует сигнал вне рабочей полосы, который тем не менее усиливается входным усилителем. Учитывая, что там все нежное, происходит перегрузка. Я бы поставил прямо возле модуля на его вход полосовой керамический фильтр на GPS частоты(или многочастотный если модуль несколько стандартов поддерживает), или вариант для бедных - припаять мелкую индуктивность параллельно входу GPS приемника прямо возле его входа, это по идее немного задавит нч помехи.
Информация по RLC mini находится >тут<
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Алехсей »

Neekeetos, спасибо за идею! :beer:

Она как раз может объяснить ещё одну проблему: почему добавление усилителя GPS-сигнала вообще убивает приём.

И в принципе всё логично. Работа с FLASH сказывается на потреблении МК. С возрастаем потребления вылезает НЧ бяка, которая загоняет ВЧ схемы в ступор.

"Я бы поставил прямо возле модуля на его вход полосовой керамический фильтр"
Если не ошибаюсь на плате обычно оставляют место для П-образного ФВЧ.
Но у нас всё напрямую :facepalm:.

"припаять мелкую индуктивность параллельно входу GPS"
А от разделительного конденсатора, который есть в некоторых схемах, вроде тот же эффект будет, или нет?
E71

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение E71 »

На входе всех расковырянных мною приёмников GPS (где-то с десяток разных модулей расковырял когда-то) уже стоит полосовой керамический фильтр на 1572 МГц. А нет возможности использовать выносную активную антенну? Для автомобильных применений так и делают. Можно от фонящего проца утянуть далеко.

Ещё хорошо помогает отдельный стабилизатор. Не общий с процем. По проводам питания гадёж любит бегать..
Аватара пользователя
Алехсей
Родился
Сообщения: 15
Зарегистрирован: Вт янв 03, 2012 12:18:27

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Алехсей »

"А нет возможности использовать выносную активную антенну?"
Eddy71, к сожалению нет такой возможности. Она противоречит концепции устройства "всё в одном".

"По проводам питания гадёж любит бегать.."
Уже пробовали запитывать отдельно - не помогает.
Аватара пользователя
Cat
Электрический кот
Сообщения: 1087
Зарегистрирован: Вт май 05, 2009 10:43:42
Откуда: Россия
Контактная информация:

Re: Электромагнитные помехи от STM32 ухудшают приём GPS-сигн

Сообщение Cat »

Поможет только нормальная разводка платы, как вы разведете землю и будете соблюдать рекомендации производителя касаемо рисунка печатной антенны. Других вариантов я не вижу.
http://www.elart.narod.ru/articles/arti ... icle11.htm

Помните - плата это одна из важнейших деталей устройства, чем выше используемые частоты, тем критичнее верность разводки.
Боевой ватник.
Ответить

Вернуться в «ARM»