Cc1101 подключение к компьютеру

Обновлено: 04.07.2024

В общем пытаюсь заставить работать сс1101 на примере фрикершилда Тахиона.

На платке китайской мать ее за ногу 8 выводов SPI.

VCC --- GND
SCK --- MOSI
GDO02 --- MISO
CSN --- GDO00

Питание на 5в, земля на землю. ГДО02 на 2 пин, ГДО00 на 3. CSN на 10.
Верно? Собственно пробовал на 10 пин вешать все другие свободные

Если выставить скорость передачи в 115200 как по оригинальному коду, то при первом запуске выдает

Если выставить 9600, тогда всегда грузится, но прерывания не срабатывают или трансивер некорректно настроен

Где ошибка может быть?

Ардуино уно, модуль сс1101

Добавлено через 1 час 29 минут
Все, разобрался. Все пины надо подключать просто.

MOSI в 11 MISO 12 SCK 13

Работает. Тахиону респект!

Функцию добавь, чтоб не вываливались все посылки одного пакета. Зачем нужны одинаковые строчки десять штук и лишний раз напрягать UART, ибо это потерянное время, который тратит камень (можешь профукать другие посылки в эфире. А так же это лишние энергозатраты.
Алгоритм такой: принял одну посылку, а последующие проверяй по первому или двум байт HOPа, если одинаковый, то и не вываливай на UART. А если не одинаковые, то и другая ента посыла.
Да и UART слишком долгая штука, даже на 115200.

Добавлено через 1 час 7 минут
А если хочешь быть уверенным что посылка правильная, ещё добавь функцию типа проверка CRC. У тебя камень это позволяет, а Таха видимо со старых проектов выдернул отработанные функции, и ничего недобавлял ради экономии памяти. А когда ты добавишь всякие функции декрипта и енкрипта, тогда и начнуться танцы с бубном, ибо времени станет катастрофически не хватать

EPA спасибо! Тут вопрос был исключительно в том, чтобы заставить работать сс1101.

Проверка посылок на правильность не нужна, этот код только был нужен чтобы проверить конфиг.

В реальном коде проверка идет по импульсам по шаблонам для каждой кодировки (преамбула, хеадер, данные).

Я в поисках нормального трансивера. Никак не могу SI4432 заставить работать идеально, очень много пропускает. Хотя по ООК убрал AFC стало намного лучше.

я si4432 пробовал только 1 раз . так и валяется . не пошло что то с ним . везде CC использовал .кстати СС банчат с разными пинами есть по 2 мм есть и по 1.34 что ли гребенки совсем микро . как то купил по ошибке с другими гребенками . так что на али надо смотреть когда заказываешь какой шаг .

Конфиг по Si4432 у меня такой. Но эту часть лучше наверное перетащить в соответствующую тему.

Braun аватар

Но как в последствии оказалось эти модули хорошо работают только под управлением софтины SmartRF Studio7. Иными словами, чтобы модуль работал его требуется подключить к компьютеру через специальный девайс, ну а без компа- эта обычные "дрова".

Пожалуйста подскажите имеется-ли возможность стартануть и перестраивать эти модули в режиме передачи без компа.

По описанию эти т рансиверы на базе cc1101 совместно с SmartRF Studio7 выглядят очень даже хорошо. При помощи SmartRF Studio7 у них можна програмна изменять частоту, мощность, менять вид модуляции, генерировать БЕЛЫЙ ШУМ и многое другое. Однако меня это не устраивает потому-чта использовать модуль подключенный к компьютеру в полевах условиях - несподручна. Хотелось бы решить эту проблему как-та боле-мене автономна. Скажем при помощи какого нибудь простенького самодельного или купленного девайса, чтобы при подключении радиомодуля на базе сс1101 его можно было полноценно использовать без здоровенного компьютера.

Особых знаний в програмированьи у меня нет. Старый уже-пенсионер. Но паяльник в руках держать ещё магу и опыт прошивания готовыми прошивками также имею.

Заранье всем благодарен если кто-та ответит и поделится своим опытом.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Обе ссылки не рабочие.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Поясните, как вы хотите использовать эти модули без компа?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Andy аватар

Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял.

Модуль подключенный через маленький USB Device к компу на котором установлена прогрпмма-симулятор SmartRF Studio, с этай задачей справляется отлична. Прграммно можно гонять частоту в широком диапазоне частот, изменять модуляцию, подключать модулятор и использовать генератор белого шума. Но как только отключаешь модуль от компа он становится куском железа.

Моя приблуда которую я бы хотел смастерить должна работать не дома на рабочем столе, а в "полевых условиях". Поэтаму исчу способ как бы перепрограммировать этот модуль а затем подключив его к какому нибудь простенькому девайсу и батарейку гонять его на нужной мне частоте и нужной модуляцией. Которую неделю юзаю в интернет, исчу какую нибудь простеньку схемку для прикуривания этого злосчастного модуля. Увы, информации никакой.

Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Braun, у этих микрух обычный SPI порт, использую их с stm, к абдурине тоже можно прикрутить, только без анализатора спектра все равно, что ловить черную кошку в темной комнате, впрочем на этом ресурсе это нормальная практика.

Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.

Может у Вас имеется сылочка на какой-нибудь сайт, для того чтобы ознакомится, как можно выставить и зафиксировать нужные мне параметры передатчика (перепрограммировать).

Плата Arduino UNO у меня имеется.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

asam аватар

Увы, информации никакой.

Посмотрел на Aliexpress люди охотно раскупают эти модули. Значит востребованы они.

В Германии Гугл запретили?

Первая ссылка при поиске "cc1101 arduino"

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.

Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

asam аватар

Использование RF модуля cc1101 совместна с платой Ардуино -эта тоже самое что я использую сейчас сс1101 модуль но толька через USB-RF Device.

Если отключить Ардуинку от компа, то модуль автоматически отрубится тоже.

Нет не прав. Слабо приведенный там пример посмотреть?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

DetSimen аватар

Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.

Нельзя было облазить форумы "ДО" покупки?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

А если по существу?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Обе ссылки не рабочие.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.

Нельзя было облазить форумы "ДО" покупки?

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я облазил все наши немецкоязычные форумы в поисках необходимой мне информации. Но ничего разумного так не нашел. Людей столкнувшихся с подобной проблемой навалом. Люди напокупали эти модули а сейчас они как хлам валяются без дела.

Нельзя было облазить форумы "ДО" покупки?

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Andy аватар

Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза

Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял. О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Braun аватар

Braun, абдурино в помойку, надо брать stm и Keil. Но эта фраза

Для моего проекта приёмник, который установленный в этам модуле -мне требуется. Использовать хочу толька передатчик. По умолчанию он запрограммирован на частоту 433.92 Мгц. Мне же требуется 434.410 МГц, модуляция AM и FM, ну и естественна максимальная мощность в антенне. Низкочастотный модулятор я бы сам спаял. О каком низкочастотном модуляторе речь? Терзают меня смутные сомнения, что аналоговый сигнал ты собрался передавать. если так, забудь про СС1101.

Полагаю что эти модули будет проще выбросить, по- следуюсчим причинам:

1. CC1101 - это не процессор. Точнее, ОН там есть, но закрыт для программирования, это "приватная жизнь" чипа и "Прошить" его программой невозможна. поскольку он залочен.

2. CC1101 -эта трансивер. Для работы и управленья им необходима подключиться к нему через интерфейс SPI (4 провода) с внешним процессором.

3. Толька через SPI можна получить доступ к внутренним "мозгам" CC1101 - регистрам, и соответственна получить возможность его настройки, управления, передачи и приема данных. ЭТА ИМЕННА ТО, ЧТО МЕНЯ ИНТЕРЕСУЕТ. Мне нужна схема с внешним процессором для управления модулем сс1101, чтоб гонять его без SmartRF Studio, а автономно.

4. Разработчик чипа сделал программу "SMart Rf Studio". Эта программа, которая настраивает чип на "человеческом" языке через её интерфейс (например, выбор типа модуляции - из списка, а не набором каких-та там битов в регистре). После настройки с экрана в "SMart Rf Studio" есть возможность создать конфигурационный файл с этими данными, уже в формате, "понятном" для CC1101 - установки регистров для CC1101.

5. Иными словами сначала необходима подобрать необходимый процессор и подключить к нему модуль CC1101 через SPI. Другога варианта я не вижу.

Цель моего вопроса в первом сообсчении какраз и заключалась в том, имеется ли у кого -нибудь схемка простенького девайса и подключения к модулю сс1101, с которым модуль мог бы работать в режиме ПЕРЕДАЧИ. Но как вижу кроме обсчих фраз, никаких рабочих решений по этаму поваду в настоясчий момент не имеется.

Как-то некоторое время назад я участвовал в проектировании одной сети сбора данных. Сеть использовала диапазон 869 МГц и протокол SimpliciTI. По своей структуре сеть была по сути одноранговой с центральным узлом накопления данных. Однако в сети был предусмотрен и вариант ретрансляции данных, хотя он был, скорее, вспомогательным.

Дальше прототипов дело не пошло, хотя дело поставлено было очень серьёзно, вплоть до сертификации по ЭМС.
Одной из причин неудачи было то, что штатный программист не сумел полностью овладеть управлением CC1101.

Штука в том, что пакет SimpliciTI, взятый с сайта Texas Instruments, уже имеет какие-то настройки по-умолчанию. Эти настройки далеко не оптимальны для задачи редкого сбора данных (раз в месяц) в сети, которая располагается в доме с железобетонными стенами, да ещё испытывает воздействие помех различного происхождения.

С самого начала было понятно, что параметры должны быть, скажем, вот такими, а не такими. Для установки параметров в CC1101 имеется целый ряд регистров. Это всё описано, несколько путано, но, в конце концов, после некоторых усилий осваивается.

И вот берётся программа SmartRF Studio, устанавливаются в ней нужные параметры, проверяются. После успешной проверки нужно бы эти параметры перенести в реальную аппаратуру. Для этого в приложении, использующем SimpliciTI, делаются установки в начале программы.

Но не тут-то было! После успешного старта где-то на какой-то функции из пакета SimpliciTI происходит откат к параметрам, которые устанавливались разработчиками пакета. И программист так и не нашёл, где это происходит. В частности, ему так и не удалось запустить пакеты с фиксированной длиной и FEC. А без последнего работа системы в условиях замирания сигнала и помех практически невозможна.

«Голый» CC1101 совместно с PIC

CC1101 имеет встроенный контроллер, поэтому может управляться с помощью вполне внятной системы команд через интерфейс SPI.

Возникла идея, а что если воспользоваться возможностями самого CC1101 в чистом виде? Разумеется, речь не шла о создании чего-то типа One-Net, но о каком-то элементарном инструментарии для построения одноранговой сети с полным использованием возможностей чипа CC1101.

Поскольку стандартный радиоинженер по большей части далёк от программирования контроллеров, была выбрана платформа PIC, поскольку для этих контроллеров имеется такой язык как PICBASIC.

Не знаю, преподают ли сегодня C для радиоинженеров, но раньше точно BASIC преподавали, да и изучить его не вопрос. Конечно, TCP/IP на BASIC не напишешь, но простые действия типа передать что-то куда-то по адресу или принять что-либо, а тем более, чтение регистров через SPI этот язык прекрасно описывает. А весь диалог с CC1101 — это сплошной обмен по SPI с регистрами и ничего другого!

Практическая реализация

Была собрана вот такая плата на основе PIC18F2455.

image

Нужно сказать, что этот прототип был собран только для проверки качества связи при изменении параметров радиоканала, поэтому на нём нет никаких интерфейсных разъёмов для подключения каких-либо датчиков или других внешних устройств. Как видно на снимке, присутствуют:
— индикаторный светодиод (2-х цветный);
— звуковой излучатель;
— кварц на 32768 Гц для часов реального времени;
— USB-интерфейс;
— чип-антенна;
— аккумулятор, подзаряжаемый от USB.

В схеме отсутствует выключатель питания, антенна показана условно.

В данном посте не приводится программа целиком, но она и не использовала абсолютно всех возможностей CC1101.

В частности, режим WOR не был задействован. Режим ожидания с проверкой наличия сигнала был осуществлён непосредственно с помощью PIC18F2455 и таймера реального времени.

Основным в программе является, конечно, обмен по SPI. С другой стороны, при приёме должно срабатывать прерывание на запуск обработки. Прерывание по наличию принятого пакета запускается по сигналу GDO0, соответствующим образом сконфигурированного. Чтобы не усложнять обработчик прерываний, обмен по SPI сделан в варианте polling на основе примера, изложенного здесь.

Основной блок подпрограмм для управления CC1101 через SPI выглядит так:

wt_rd_reg:
' Чтение/запись регистра
'
CS = %0
pauseus 300
SSPBUF = NOW
GoSub letclear ' wait for buffer to clear
a[0] = SSPBUF ' чтение первого байта
SSPBUF = DAT '
GoSub letclear ' wait for buffer to clear
a[1] = SSPBUF ' чтение второго байта
CS = %1
return

wt_rd_fifo:
' Чтение-запись FIFO
'
SSPBUF = DAT
GoSub letclear ' wait for buffer to clear
d[i] = SSPBUF ' чтение ответного байта
return

sndstrobe:
' Отправка строба управления на CC1101
'
CS = %0
pauseus 300
SSPBUF = NOW
GoSub letclear ' wait for buffer to clear
a[0] = SSPBUF ' чтение первого байта
pauseus 800
SSPBUF = SNOP ' empty
GoSub letclear ' wait for buffer to clear
a[1] = SSPBUF ' чтение второго байта
CS = %1
return


letclear:
IF SSPIF = 0 Then letclear ' wait for SPI interupt flag
PauseUs 25 ' 25uS fudge factor
SSPIF = 0 ' reset flag

Здесь:
NOW — текущая команда,
DAT — текущие данные,
d[i] — массив для хранения данных из FIFO, не может быть меньше длины FIFO,
CS — chip select.

Паузы выставлены экспериментально. Не исключено, что с другим контроллером потребуются иные задержки или они могут быть существенно уменьшены.

По вопросам кодов команд нужно смотреть базовое описание.

Значения регистров записывались в EEPROM PIC18F2455, откуда по мере надобности считывались, причём адрес в EEPROM соответствует адресу регистра, что позволяет легко загружать нужные значения и всегда проверить настройки.

Практические результаты

После того, как программа была написана, то к великой радости оказалось, что ВСЕ функции удаётся запустить, включая hardware filtering, whitening, FEC и т.д. и т.п. Передача пакетов пошла с пол-пинка.

Главное, что чётко понятно, где какой параметр изменяется, и как это происходит, и что с этим делать, и как это применять. С использованием PICBASIC всё понятно радиоинженеру без знания языка C и особых навыков в написании встраиваемых приложений.

Здесь не было цели выкладывать программу(-ы) полностью. Если это будет интересно, то это может быть выложено, но не на этом сайте. Собственно, если это будет жгуче интересно, то можно даже организовать что-то типа библиотеки.



После предыдущих попыток в области ВЧ схемотехники (не удачных).
Решил попробовать разработать модуль на однокристальном трансивере, выбор пал на CC1101 .
CC1101 это «LowPower Sub-1GHz RF Transceiver», по цене доступный (70-150 р), с приобретением проблем быть не должно.
Пробовал раньше, но тогда системного подхода не получилось и плата оказалась с очень грубыми ошибками, соответственно дальность в диапазоне 868мГц была крайне недостаточной. Тогда я использовал балуны балуны от Johanson Technology, особой уверенности в них не было. Еще большую печаль принесло полное отсутствие необходимого для ВЧ — измерительного инструмента (нет КСВ метра и Частотомера). И хоть программно с трансивером все получилось довольно неплохо, недостаточная дальность все определила.


И вот прошло с того момента больше двух месяцев, травмированная психика потихоньку стала восстанавливаться и захотелось попробовать еще.
На этот раз без балунов, и по схеме из даташита. При трассировке и размещении компонентов — посматривал на готовые Китайские радиомодули, старался сделать примерно так же (естественно импеданс не считал).
Модуль разрабатывается под крепления уже имеющегося модуля RM101A на MRF49XA, купленного в Тритоне

Цель — выжать максимально возможную дальность из этого трансивера, мощность 12dB (433мГц).
Конечно есть официальные appnote по PCB Design, но их платы слишком громоздкие.
Проект под двухслойную плату, толщина 1,5мм, 18мкм фольги, заказывать собираюсь в резоните.

Схема на CC1101 взята описания:

Схема из проекта (Altium), проект прикреплен:

И сама разводка:

3Д вид:


Так выглядят «Китайцы»:

Очень хотелось бы услышать критику от знающих и разбирающихся в ВЧ )
Большое спасибо.


PS: после выходных подправлю и обновлю проект!
Update: в Kicad есть калькулятор, по нему при данных:
— толщина текстолита 1,5мм
— толщина фольги 18 мкм
— ширина полосы 1 мм
— зазор до полигона 0,2 мм
— частота 433мГц
Волновое сопротивление получается равным 51,7942 Ома, что как говорят понимающие люди — нормально.

Комментарии ( 88 )

Готовый модули к сожалению не покупал и не пробовал на дальность Лично мне по жизни на ВЧ «не везёт». Вечно какие нибудь возбуды и прочая херня. Скоро возьму анализатор спектра с полосой 3300 МГц, буду разбираться с ВЧ по нормальному. Без приборов там делать нечего


ну у кого-то и такое работает )

Вот несколько правил работы с ВЧ (все, что выше 20 МГц)

1. Никаких термал-пэдов: контакт любого компонента с земляным полигоном должен быть непрерывным. Тонкие перемычки от пэда до земляного полигона — верная дорога получить непредсказуемое поведение и кучу звона в эфир за счет добавленной, но не учтенной индуктивности. Если говорить словами PCAD — Copper Pour Properties -> Connectivity -> Pad Thermal -> Direct connect. Тоже самое касается и вий.
2. Волновое сопротивление полоскОв (а дорожки на плате при ВЧ — и есть полоскИ) должно быть нормировано. Возьмите что-нибудь типа AWR Design Environment — там можно смоделировать волновое сопротивление любой разновидности (копланарный полосОк, дифф. пара, etc). Ширина дорожки (полоскА) и зазор между дорожкой (полоскА) и земляным полигоном — вещь не «от балды». Только считать. С противоположной стороны платы, под полоскОм должна быть только медь. Никаких компонентов и других дорожек.
3. Если в схеме есть более одной индуктивности, входящей в один и тот же отрезок цепи, то расположение индуктивностей на плате должно быть либо на большом расстоянии (что портит картину за счет внесения потерь на дорожках), либо, при близком расположении, они должны стоять так, чтобы оси катушек были перпендикулярны для снижения взаимного влияния. Особенно критично это для фильтров больших (более 3) порядков.
4. Вий мало не бывает. Вдоль всех полоскОв и ВЧ линий крайне желательно выстраивать ряд вий на окружающем земляном полигоне, т.к. излучение прекрасно проникает вглубь платы и где оно вылезет — никому не известстно. Тонкие вии — хуже, чем толстые, т.к. у тонкого перехода выше индуктивность.
5. Токи по земле не должны гулять абы как. Визуально нужно следить за тем, чтобы ток ВЧ цепи не гулял там, где бегает цифра, к примеру.

Исходя из того, что видно на фото Вашей платы и того, что я написал — получаем следующее:
1. Полигоны перезалить без термал пэдов. Вии туда же.
2. Пересчитать ширину дорожек ВЧ исходя из толщины платы, толщины меди. Проверить, что нижняя часть платы соответствует правилам разводки ВЧ. Если, к примеру, антенный тракт должен быть 50-ти омным, а он получается на 200 Ом, то ждать хорошего приема/передачи — не следует. Плюс ко всему, такая разводка может лучить, возбуждаться и творить непотребства вплоть до выжигания довольно дорогих(порой) компонентов из-за рассогласования.
3.Проверить компоновку дискретных ВЧ компонентов на плате.
4. В соответствии с рекомендацией.
5. Разъем питания надо бы развернуть на 180 градусов, иначе дорожка +3.3В режет землю на верхнем полигоне.

Высокопроизводительные многоканальные приемопередатчики CC112х (Рис. 1.2, Рис. 2.1) обладают максимальной выходной мощностью до 16 дБм, чувствительностью -123 дБм при скорости передачи данных 1.2 Кбит/с в диапазонах 400 и 900 МГц. Чувствительность может быть еще улучшена за счет применение схемы кодового усиления - один информационный бит кодируется четырьмя чипами. Кодовое усиление дает дополнительно 2-3 дБм, таким образом, суммарная чувствительность может достигать -125 дБм. Выходная мощность регулируется с шагом 0.5 дБм. Простой расчет бюждета канала дает величину, порядка 140дБм. Максимальная дальность устойчивой связи в хороших условиях может быть порядка десяти километров. Однако, высокая выходная мощность и высокая чувствительность не являются единственными гарантами успешного приема или передачи данных. Так, достаточно мощный сигнал в соседнем частотном канале, способен повлиять на прием сигнала текущего канала при недостаточной избирательности фильтра.

Применение в сигнальном тракте АЦП с динамическим диапазоном 90 дБ позволяет полностью перейти на последующую цифровую обработку сигнала, включая его фильтрацию. Цифровые фильтры, помимо лучших характеристик в полосе пропускания и подавления сигнала вне полосы, обеспечивают высокую стабильность параметров вне зависимости от напряжения питания, температуры, и вариаций технологического процесса.

Фильтрами обеспечивается высокий уровень подавления сигнала вне текущего частотного канала - более 80 дБм. На Рис. 4.20a представлена типовая частотная характеристика фильтров, примененных в серии CC112x.

Высокий уровень подавления соседних каналов позволяет применять приемопередатчики в условиях плотного использования частотного диапазона, или при большом количестве устройств на одной территории, повышает совместимость систем, использующих СС112х, как друг с другом, так и с другими системами, использующими радиоканал. Упрощается процесс установки беспроводных узлов, так как ограничивается зона взаимного влияния узлов, в том числе узлов, работающих как в одной, так и в разных частотных полосах и каналов. Высокий уровень подавления соседних каналов и высокая селективность создают важное конкурентное преимущество линейке Performance Line (Рис. 4.20б).

Частотные характеристики цифровых фильтров CC112x а) уровень ослабления сигнала в зависимости отклонения его частоты от центральной частоты канала; б) сравнительные уровни подавления сигнала серий СС1101, С110L, CC1120/CC1121, CC1125 (скорость передачи данных 38.4 Кбит/с, GPSK модуляция, диапазон 868/915 МГц) 40.


увеличить изображение
Рис. 4.20. Частотные характеристики цифровых фильтров CC112x а) уровень ослабления сигнала в зависимости отклонения его частоты от центральной частоты канала; б) сравнительные уровни подавления сигнала серий СС1101, С110L, CC1120/CC1121, CC1125 (скорость передачи данных 38.4 Кбит/с, GPSK модуляция, диапазон 868/915 МГц) 42.

Новые режимы пониженного энергопотребления - RF Sniff Mode и eWOR

Важным дополнением к энергосберегающим режимам приемопередатчика стал новый режим прослушивания радиоканала (т.н. Channel Sniff Mode) 41. Для узлов беспроводной сети ток потребления в режиме приема, является одним из важных показателей энергоэффективности. Особенно остро данный вопрос стоит для устройств с автономным питанием. Не секрет, что основное потребление для подобных устройств приходится на моменты активности передатчика или приемника. Моменты активности передатчика, в принципе, приложению известны, и он активируется только на относительно короткое время для передачи пакета данных ил набора пакетов. Время прихода данных по радиоканалу для приемного устройства в большинстве случаев не определено. Для большинства типов приложений сенсорных сетей время ожидания входящего пакета может быть довольно велико, и, конечно же, нет никакого желания бесполезно тратить ресурс источника питания.

Для снижения энергопотребления в режиме приема в линейке Performance Line реализован новый режим - RF Channel Shiff Mode - режим прослушивания канала. Режим RF Channel Shiff Mode позволяет автоматически обнаруживать активность в радиоканале. В этом режиме приемник автоматически через короткие промежутки времени проверяет наличие передачи в канале после чего отключается, и в следующем периоде времени ситуация повторяется. Период включения приемника установлен меньшим, чем длина преабулы пакета. Приемнику в СС112х требуется всего лишь время четырех бит преамбулы пакета для установления режима, включая компенсацию смещения частоты и автоматическую регулировку усиления - время перехода из режима IDLE в режим приема (RX) около 150 мкс. Всего время активности приемника, начиная от запуска генератора до начала прослушивания эфира составляет порядка 500 мкс, при общей длительности активной фазы цикла около 670 мкс (зависит от текущих настроек приемопередатчика) Рис. 4.21 иллюстрирует принцип работы приемника в режиме прослушивания и осциллограмму потребляемого тока.

Режим прослушивания канала RF Channel Shiff Mode


увеличить изображение
Рис. 4.21. Режим прослушивания канала RF Channel Shiff Mode

Режим прослушивания канала RF Channel Shiff Mode абсолютно прозрачен для пользователя и никак не влияет на такие характеристики приемопередатчика, как (чувствительность, избирательность) и позволяет уменьшить энергопотребление в режиме приема без снижения производительности. Как видно из осциллограммы тока, основной пик потребления приходится на работу приемника и настройку аналоговой части приемника, включение усилителей, настройка коэффициента усиления. Конечно, среднее потребление в режиме приема будет зависеть от текущей скорости передачи и длины преамбулы, но выигрыш заметен даже при больших скоростях. Так применение данного режима при длине преамбулы 4 бита на скорости 1.2 кбит/с снижает потребление на приеме с 21 мА до 3 мА, а на скорости 50 кбит/с до 16 мА.

Улучшения в линейке Performance Line коснулись и режима Wake-on-Radio - режим пробуждения для прослушивания канала (пробуждение по наличию радиосигнала). Wake-on-Radio (WOR). В данном режиме радиоприемная часть периодически активируется для прослушивания канала в течение заданного времени для приема пакетов без участия внешнего контроллера. Для этого используется специальный таймер, тактируемый от внутреннего RC-генератора, который периодически генерирует два сигнала - включение регулятора напряжения цифровой части и запуск кварцевого генератора - режим IDLE и, через некоторое время, включение режима приема - RX. Если в течение установленного времени пакет не пришел, приемопередатчик переходит в режим IDLE, а затем в режим SLEEP.

По сравнению с приемопередатчиками CC1101 уменьшено энергопотребление 32 КГц RC-таймера, добавлена возможность автоматической калибровки таймера, изменена схема работы приемника в активной фазе [13]. В активной фазе режима Wake-on-Radio приемник работает в режиме прослушивания канала RF Sniff Mode (Рис. 4.22). Новый режим работы получил название Enhanced Wake-on-Radio (eWOR). В результате потребление мощности в режиме eWOR дополнительно снижается несколько раз.

Работа режима Enhanced Wake-on-Radio (eWOR)


увеличить изображение
Рис. 4.22. Работа режима Enhanced Wake-on-Radio (eWOR)

Основные характеристики производительности

Микросхемы линейки Performance Line могут работать с более узкополосными каналами, чем их предшественники. Так при ширине канала всего 6.25 КГц, поддерживается скорость передачи до 4.8 Кбит/с, а, при канале в 12.5 КГц - 9.6 Кбит/с. Таких скоростей передачи данный вполне хватает для многих задач телеметрии.

Некоторые сравнительные характеристики микросхем серий СС1101, СС110L, CC112x представлены в Табл. 4.2 41.

Средства разработки

Традиционно, средства разработки, предлагаемые TI, включают набор аппаратных и программных средств - отладочные модули, отладочные платы, средства разработки 37.

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

Отладочные платы - имеют разъемы для подключения отладочных модулей и являются платформой для тестирования работы беспроводных элементов и отладки программного обеспечения.

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

Для тестирования и отладки сетевого приложения предлагается несколько видов наборов аппаратных средств (Табл. 4.3).

Наборы разработчика - содержат все необходимое аппаратное обеспечение для начала разработки. Как правило, состоят из двух отладочных плат, двух отладочных модулей, антенн и кабелей.

Мини-наборы разработчика - содержат необходимое оборудование для разработки небольших демонстрационных приложений.

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

USB устройства - небольшие отладочные платы, имеющие возможность подключения к USB портам ПК, чип или печатную антенну. Чаще всего сроятся на базе систем-на-кристалле.

Отладочные наборы ZigBee - ZigBee Development Kit (ZDK) - имеют возможности отладочных наборов, но содержат дополнительные беспроводные узлы для обеспечения возможности тестирования возможностей ячеистых сетей ZigBee. В данных наборах узлы имеют предустановленное тестовое приложение.

Программные средства разработки

Кроме стеков протоколов TI предоставляет ряд программных инструментов разработчика, предназначенных для конфигурирования устройств, анализа их работоспособности, а также наборы программных библиотек для встроенных микроконтроллеров 37.

SmartRF™ Studio - приложение для ПК, позволяющее пользователю выставить необходимые настройки для выбранного устройства - частота передачи данных, канал, скорость передачи, выходная мощность и ряд других. При подключении отладочных модулей возможна удаленная установка параметров. Кроме этого приложение предоставляет простые инструменты тестирования беспроводного канала - проверка возможности приема-передачи данных, пакетов, измерение качества канала связи (количество ошибок связи). Предоставляется свободно для всей линейки продуктов TI.

SmartRF™ Packet Sniffer - анализатор пакетов для стандартных и фирменных сетевых протоколов - SimpliciTI, TIMAC, ZigBee, RemoTI. Работает совместно с любыми беспроводными модулями и отладочными платами TI, позволяет прослушивать сеть на выбранной частоте и частотном канале. Имеет графический интерфейс для облегчения разбора и анализа пакетов.

SmartRF Flash Programmer используется для обновления прошивки отладочных модулей, программирования флеш-памяти систем-на-кристалле.

Примеры библиотек - содержат основные функции, необходимые для осуществления сетевого взаимодействия между узлами сети.

USB Libraries - библиотеки, реализующие USB интерфейс для систем-на-кристалле и модулей (CC2511, CC1111, CC2531).

MSP430 Code Library - библиотеки программ и функций для МК MSP430 для систем-на-кристалле серий CC1100/2500.

PurePath™ Wireless Configurator - приложение на ПК с графическим интерфейсом для настройки параметров CC85xx.

Отладочная платформа TRXEB

  • две платы TRXEB;
  • два модуля с приемопередатчиками CC110L, по одному оценочному модулю с передатчиками CC115L и приемниками CC113L;
  • комплект соединительных кабелей и документации (Рис. 4.23).

Оценочные модули представляют собой печатные платы с установленными беспроводными устройствами и спиральными антеннами и разъемами для подключения внешней антенны (Рис. 4.24).

Оценочные модули с CC110L

Плата TRXEB (Рис. 4.25) содержит микроконтроллер MSP430F5438 MCU, светодиодные индикаторы, разъемы для подключения внешних устройств, оценочных модулей, набор кнопок, индикатор освещенности, трехосевой датчик ускорения, точечный жидкокристаллический экран 128х64 точки. В качестве примера в TRXEB предустановлен тест канала передачи данных на ошибки передачи (PER test) и тест на дальность связи, исходные тесты демонстрационной программы также предоставляются. Подключение к персональному компьютеру через USB интерфейс.

Отладочная плата TRXEB

На этой же плате базируется отладочный комплект (Рис. 4.26) для представителя линейки Perfomance CC1120 - СС1120DK [19].

В его состав входит две платы TRXEB, два модуля с CC1120 в конфигурации на диапазон 868/915 МГц (для других диапазонов модули могут быть заказаны отдельно), две штыревые антенны, набор соединительных кабелей, батареи питания. В качестве примера предварительно прошит тест канала на количество ошибок (PER test).

Отладочные средства для устройств линейки Performance Line базируются на плате TRXEB содержащей микроконтроллер MSP430F5438, светодиодные индикаторы, разъемы для подключения внешних устройств, оценочных модулей беспроводных приемопередатчиков, набор кнопок, индикатор освещенности, трехосевой датчик ускорения, точечный жидкокристаллический экран 128х64 точки. В качестве примера в предустановлен тест канала передачи данных на ошибки передачи (PER test) и тест на дальность связи, исходные тесты демонстрационной программы также предоставляются. Подключение к персональному компьютеру через USB интерфейс.

Отладочный набор СС1120DK

В качестве программной поддержки предоставляется инструментарий SmartRF Studio 7 для тестирования модулей и для задания настроек приемопередающего тракта. Для целей отладки работы беспроводной сети свободно доступно приложение Packet sniffer, являющееся сетевым снифером для радиоканала, построенного на базе LPRF микросхем от Texas Instruments.

Среды IAR Embedded workbench и CCS позволяют вести разработку прикладного программного обеспечения для систем, использующих связку - контроллер типа MSP430+CC11xx.

Ознакомительный комплект CC-6LOWPAN-DK-868

Ознакомительный комплект CC-6LOWPAN-DK-868 (Рис. 4.27) позволяет пользователям посмотреть работу сетей 6LoWPAN, начать разработку собственных сетевых приложений на базе данного протокола. В составе комплекта беспроводные модули Texas Instruments с программным обеспечением от Sensinode (стек протоколов NanoStack) [36].

CC-6LOWPAN-DK-868 демонстрирует два способа реализации и применения стека NanoStack - для систем-на-кристалле, и с использованием сетевого процессора CC1180.

В состав комплекта входят:

  • граничный маршрутизатор 6LoWPAN на базе микроконтроллера OMAP-L138 с модулем CC1180EM в качестве беспроводного интерфейса;
  • две отладочные платы EM430F5137RF900 Rev 3.2;
  • две платы CC1180DB.

Граничный маршрутизатор содержит программное обеспечение Sensinode NanoRouter 2.0 и способен присоединять к сети и работать с узлами, работющими под управлением стека протоколов NanoStack 2.0 lite. В предлагаемой в ознакомительном комплекте версии NanoRouter 2.0 установлено ограничение в 10 узлов на один граничный маршрутизатор.

Платы EM430F5137RF900 и CC1180DB используются в комплекте как узлы беспроводной сети. Системы-на-кристалле CC430 демонстрируют работу со стеком протоколов через библиотеку NanoSocket API.

Ознакомительный комплект CC-6LOWPAN-DK-868


увеличить изображение
Рис. 4.27. Ознакомительный комплект CC-6LOWPAN-DK-868

CC1180DB содержат сетевой процессор CC1180, выполняющий основную часть стека, и хост-контроллер MPS430F5438A, выполняющий прикладные задачи, в частности демонстрационное приложение. Взаимодействие между сетевым и хост-процессорами идет по интерфейсу UART с помощью протокола Sensinode NAPSocket API.

В качестве демонстрационного приложения для работы с сетью 6LoWPAN идет приложение монитор сети NodeView 2.0, позволяющее управлять граничным маршрутизатором, отслеживать состояние сети в реальном времени. Прикладной управляющий протокол основывается на протоколе UDP стека NanoStack lite. NodeView 2.0 также позволяет создавать небольшие пользовательские java-приложения.

Все представленные беспроводные узлы могут выступать в роли маршрутизаторов в данной подсети 6LoWPAN. Платой за это выступает необходимость постоянной активности приемопередатчика, и питание узлов целесообразнее брать стационарное.

Texas Instruments предлагает широкий спектр продуктов для самых различных областей применения:

  • охранно-пожарные системы;
  • дистанционное управление;
  • беспроводные аудио системы;
  • бытовые медицинские приборы;
  • периферийные устройства (HID);
  • системы домашней автоматики, управления освещением;
  • системы сбора данных и др.

Одна из ключевых особенностей политики компании - всесторонняя поддержка разработчика - документация, свободные средства настройки и тестирования, форумы разработчиков.

Читайте также: