|
СС1101 + STM32F = отлично, СС1101 + STM32L = сплошные проблемы |
|
|
|
Oct 9 2013, 05:13
|
Участник

Группа: Участник
Сообщений: 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.
Прошу помощи в решении данной проблемы.
|
|
|
|
|
 |
Ответов
|
Oct 15 2013, 19:54
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Да, такой выбор конденсаторов неплох (я, впрочем, на такой частоте обхожусь несколькими 0.1 uF, результат не страдает). [offtopic on] А вот с проблемой приема 9600 при тактовой 48 MHz - неужели в этом контроллере настолько плохо с выбором коэффицинта деления для UART ? И, в конце концов, при такой тактовой можно было бы приемник сделать просто на ICP таймера (если есть, конечно), я на AVR при на порядок меньшей тактовой так делал, потому что основной UART был занят... [offtopic off]
|
|
|
|
|
Oct 16 2013, 04:08
|

Участник

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

|
Цитата(rx3apf @ Oct 15 2013, 22:54)  А вот с проблемой приема 9600 при тактовой 48 MHz - неужели в этом контроллере настолько плохо с выбором коэффицинта деления для UART ? [offtopic off] Приветствую! Да с коэффициентами деления как раз все нормально, можно делить и делить!!! Только вот коэффициент ошибки UART при этом не нулевой, а 0,16%, а для моей задачи это не допустимо! GPS выдает строковые данные 1 раз в секунду, т.е. если словил ошибочную посылку - очередную поймаешь, в лучшем случае, через 1 секунду!!!
--------------------
Regards, Oleg Nicolaiciuc (onic777)
|
|
|
|
|
Oct 16 2013, 09:25
|

Участник

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

|
Цитата(Сергей Борщ @ Oct 16 2013, 10:15)  Вообще-то UART способен принимать при разнице скоростей до 10%, а с вашей ошибкой скорости ошибок быть не должно вообще. Приветствую! Что-то я такого не встречал... Наверное не там лазил! А зачем же тогда многие производители микроконтроллеров рекомендуют использовать специальные (зачастую - внешние, т. е. дополнительные) для UART кварцевые резонаторы типа 11,0592 или 22,1184, при этом на борту имеется встроенные высокоточные генераторы 12МГц, дающие ошибку 0,26%. И вообще, какой смысл тогда вычислять ошибку менее 1%, ну или 5%.... ??? Просто у меня очень большая напряженка со временем. Мне отводится всего 1 минута, за время которой я с гарантией должен успеть как минимум 3 раза считать с GPS модуля 4 текстовые строки, обработать их, структурировать данные, зашифровать их в радиофрейм и передать на землю, а потом получить уведомление о приеме, и в случае ошибки, успеть повторить как минимум 1 раз!!! Вот и решили не рисковать и поставить внешний кварц 11,0592, и из-за него пожертвовать производительностью, площадью платы, весом и стоимостью изделия... Но за совет спасибо! Попробую поработать от 48MHz...
--------------------
Regards, Oleg Nicolaiciuc (onic777)
|
|
|
|
|
Oct 16 2013, 11:04
|

Гуру
     
Группа: Модераторы
Сообщений: 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)
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|