|
CC1101 vs. Si446x, И снова о совместимости |
|
|
|
Jul 3 2015, 12:52
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Привет из форума ARM-щиков. Главный вопрос - интероперабильность CC1101 и Si446x.
Поискал в сети, набрел на сообщения у TI и здесь на форуме, но ни там, ни тут окончательного ответа не извлек. Возможно, есть новости.
Прежде всего скажу, что не являюсь спецом по RF. Просто перенял наработки конторы, которая создала радиомодуль на CC1101 и растворилась. Я выбросил их AVR, вставил Cortex (EFM32), подровнял библиотеки, затянул Rime протокол. Все работает. Однако, косясь на обсуждения преимуществ и недостатков RF чипов TI и Silabs, пришел к выводу, что Silabs рулит (поправьте меня, если ошибаюсь). Возникла тема заменить CC1101 на Si446x, оставив, однако, совместимость на уровне модема с уже существующими системами.
СС1101 работает на 868.3MHz, GFSK, 10kbps, девиация почти 20kHz, ширина полосы приемника 112kHz. Никакие другие примочки и опции как whitening, interleave и что там еще есть, не включены. Минималистически все. Это согласно SmartRF. Пакет используется переменной длины, не более размера FIFO, при этом длина идет первым байтом в пакете, RSSI и LQI включены в конец. Контрольная сумма насчитывается, но, похоже, в FIFO не попадает, просто проверяется флаг, совпала или нет. По сообщениям на форуме, это контрольная сумма CCIT-16 IBM.
Из форумов, что я проглядывал, следует, что Si446x таки уговорили принять нечно подобное, но контрольная сумма упорно не совпадает. На этом тема закрылась. Итак, вопрос: есть ли уже готовое и проверенное решение?
Заранее спасибо.
Сообщение отредактировал KnightIgor - Jul 3 2015, 12:55
|
|
|
|
|
 |
Ответов
(1 - 5)
|
Jul 3 2015, 20:09
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Mihey_K @ Jul 3 2015, 14:36)  Если преамбулу и синхрослово можно настроить одинаково, то софтом для si446x придется иммитировать поля длины пакета, адреса (если используете на cc1101), и вроде все ок, кроме расчета CRC. Вроде на si446x ее можно отключить и подсунуть свою, алгоритм для cc1101 техасовцы описывалиСпасибо за ответ. Я где-то так и подозревал. Хотя в Si446x (и WDS от Silabs) есть опция CRC-16 IBM с тем же полиномом, что и в CC1101, какой-то форум писал, что сумма получается иная. Буду пробовать.
|
|
|
|
|
Jul 4 2015, 06:12
|

Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747

|
AN626 Глава 3.3.1, смотрите бит CRC_ENDIAN, может порядок байт иной, там же CRC_INVERT. Если вам удастся подружить железные механизмы CRC, то это будет круто. Но может проще в 3.3.4. Configuring Field-Specific CRC Calculation отключить расчет CRC в si446x, и программно заполнить поле данных до полей cc1101. Там же 3.3.5. Selection of the CRC Polynomial. Так в cc1101 в расчет CRC берутся поля длины пакета, адреса, и данных, но не могу ничего сказать по каким полям считается CRC в si446x. Мое мнение - включить cc1101 в режиме сниффера с фиксированной длиной пакета и без адреса, с выключенной опцией очистки FIFO при несовпадении CRC и по прерыванию несовпадения CRC выводить в консоль весь FIFO, там увидите и Field1 и CRC. Наверняка это лишнее, но тип модуляции, кодирования, ширина канала и скорость должны совпадать.
--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
|
|
|
|
|
Jul 6 2015, 05:18
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-05-15
Пользователь №: 86 697

|
В паре слов можно описать в чем Силабс рулит? Подбираю RF часть для проекта.. У меня на первом месте потребление на втором дальность. Кто нибудь FEC-ом от TI пользовался?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|