реклама на сайте
подробности

 
 
> СС1101 + STM32F = отлично, СС1101 + STM32L = сплошные проблемы
D1mconK
сообщение Oct 9 2013, 05:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 13-07-12
Пользователь №: 72 746



Всем привет. Столкнулся со следующей проблемой.

Есть 5 плат абсолютных близнецов по разводке радиочасти, на которых установлена CC1101. На 3 платах ей рулит STM32L на 2 - STM32F100.

На платах с STM32F получена дальность связи в помещении около 35 метров, уровень приема сигнала на расстоянии 1,5 метра -40дБ, данные отлично передаются и принимаются.

На платах c STM32L дальность связи не превышает 5 метров, уровень приема сигнала на расстоянии в 1,5 метра - 95дБ, как следствие - огромное количество пакетов с неверной контрольной суммой


Заменил на заведомо работающих платах STM32F на STM32L и все повторилось -95дБ и 5 метров.

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

Прошу помощи в решении данной проблемы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rx3apf
сообщение Oct 15 2013, 19:54
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Да, такой выбор конденсаторов неплох (я, впрочем, на такой частоте обхожусь несколькими 0.1 uF, результат не страдает).
[offtopic on]
А вот с проблемой приема 9600 при тактовой 48 MHz - неужели в этом контроллере настолько плохо с выбором коэффицинта деления для UART ? И, в конце концов, при такой тактовой можно было бы приемник сделать просто на ICP таймера (если есть, конечно), я на AVR при на порядок меньшей тактовой так делал, потому что основной UART был занят...
[offtopic off]
Go to the top of the page
 
+Quote Post
Onic777
сообщение Oct 16 2013, 04:08
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 17-08-10
Из: Кишинев
Пользователь №: 58 967



Цитата(rx3apf @ Oct 15 2013, 22:54) *
А вот с проблемой приема 9600 при тактовой 48 MHz - неужели в этом контроллере настолько плохо с выбором коэффицинта деления для UART ?
[offtopic off]


Приветствую!
Да с коэффициентами деления как раз все нормально, можно делить и делить!!!
biggrin.gif
Только вот коэффициент ошибки UART при этом не нулевой, а 0,16%, а для моей задачи это не допустимо! GPS выдает строковые данные 1 раз в секунду, т.е. если словил ошибочную посылку - очередную поймаешь, в лучшем случае, через 1 секунду!!!


--------------------
Regards,
Oleg Nicolaiciuc (onic777)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 16 2013, 07:15
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Onic777 @ Oct 16 2013, 07:08) *
Только вот коэффициент ошибки UART при этом не нулевой, а 0,16%,
Вообще-то UART способен принимать при разнице скоростей до 10%, а с вашей ошибкой скорости ошибок быть не должно вообще.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Onic777
сообщение Oct 16 2013, 09:25
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 17-08-10
Из: Кишинев
Пользователь №: 58 967



Цитата(Сергей Борщ @ Oct 16 2013, 10:15) *
Вообще-то UART способен принимать при разнице скоростей до 10%, а с вашей ошибкой скорости ошибок быть не должно вообще.


Приветствую!

Что-то я такого не встречал... Наверное не там лазил! biggrin.gif
А зачем же тогда многие производители микроконтроллеров рекомендуют использовать специальные (зачастую - внешние, т. е. дополнительные) для UART кварцевые резонаторы типа 11,0592 или 22,1184, при этом на борту имеется встроенные высокоточные генераторы 12МГц, дающие ошибку 0,26%. И вообще, какой смысл тогда вычислять ошибку менее 1%, ну или 5%.... ???

Просто у меня очень большая напряженка со временем. Мне отводится всего 1 минута, за время которой я с гарантией должен успеть как минимум 3 раза считать с GPS модуля 4 текстовые строки, обработать их, структурировать данные, зашифровать их в радиофрейм и передать на землю, а потом получить уведомление о приеме, и в случае ошибки, успеть повторить как минимум 1 раз!!!
Вот и решили не рисковать и поставить внешний кварц 11,0592, и из-за него пожертвовать производительностью, площадью платы, весом и стоимостью изделия...

Но за совет спасибо! Попробую поработать от 48MHz...


--------------------
Regards,
Oleg Nicolaiciuc (onic777)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 16 2013, 11:04
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Onic777 @ Oct 16 2013, 12:25) *
при этом на борту имеется встроенные высокоточные генераторы 12МГц, дающие ошибку 0,26%.
Во всем диапазоне температур и напряжений питания? И вместе с ошибкой округления коэффициента деления суммараная ошибка не будет превышать 5% (у устройства на другом конце провода может быть погрешность в другую сторону)? В таком случае этот генератор можно использовать для тактирования UARTа.

QUOTE (Onic777 @ Oct 16 2013, 12:25) *
кварцевые резонаторы типа 11,0592 или 22,1184
Потому что в их UARTах тактовая частота еще делится на 8 или 16. Вот с учетом этого деления из 12МГц никак не получается нужная скорость с допуском 5%. А те производители, которые умеют ставить на вход UART делители с дробным коэффициентом пишут "при использовании UART можно пользоватьтся внутренним высокостабильным RC-генератором".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- D1mconK   СС1101 + STM32F = отлично, СС1101 + STM32L = сплошные проблемы   Oct 9 2013, 05:13
- - HardEgor   Либо связь по питанию между процессором и модулем ...   Oct 9 2013, 08:21
|- - D1mconK   Цитата(HardEgor @ Oct 9 2013, 12:21) Либо...   Oct 9 2013, 11:20
|- - Сергей Борщ   QUOTE (D1mconK @ Oct 9 2013, 14:20) Но вы...   Oct 9 2013, 11:40
|- - Onic777   Привет! Такое явление я замечал даже на одном...   Oct 9 2013, 15:30
- - rsv   Могли контрафактную купить. Сейчас это очень прост...   Oct 10 2013, 16:18
- - rx3apf   Точный номинал рабочей частоты ? Используется один...   Oct 10 2013, 17:22
|- - Onic777   Цитата(rx3apf @ Oct 10 2013, 20:22) Точны...   Oct 15 2013, 10:50
- - DASM   Если мне не изменяет старческая память — у стм пре...   Oct 11 2013, 16:55
||- - HardEgor   Цитата(Onic777 @ Oct 16 2013, 16:25) А за...   Oct 16 2013, 09:44
|||- - demiurg_spb   Цитата(HardEgor @ Oct 16 2013, 13:44) Пот...   Oct 16 2013, 11:13
||- - dac   QUOTE (Onic777 @ Oct 16 2013, 15:25) высо...   Oct 16 2013, 14:01
|- - rx3apf   Цитата(Onic777 @ Oct 16 2013, 08:08) Толь...   Oct 17 2013, 20:59
- - vadimp61   В асинхронной системе передачи данных с двумя разн...   Oct 18 2013, 03:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 20:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016