RF от Silicon labs

Si4463, выпускаемый отдельным компонентом или в составе тестовых модулей(Pico board, Test card, etc) предназначен для работы в диапазоне частот 119..1050 МГц, выпускается версиями 169, 434, 868, 915 МГц.
Поддерживаемые типы модуляции: (G)FSK, 4(G)FSK, OOK, ASK с символьной скорость до 500 ксимв/с. Для частоты 868 задающий генератор работает с пониженной частотой(26 МГц вместо 30 МГц), и, соответственно, символьная скорость снижается до 433 ксимв/с.
Для чипов существуют версии с различными значениями выходной мощности(10, 14, 20, 27 дБм)
Потребляемый ток:
в режиме приема до 13 мА
в режиме передачи (+20 дБм) 85 мА
в выключенном режиме 30 нА, в режиме ожидания 50 нА
напряжение питания: 1.8..3.6 В
Встроенные TX и RX FIFO буферы объемом 64 байт могут быть объединены.

Основные сферы применения:
интеллектуальные счетчики физических величин с беспроводными интерфейсами 802.15.4g и M-Bus
системы дистанционного управления
домашние системы охраны и сигнализации
телеметрия
домашняя автоматизация
промышленная автоматизация процессов
сети “умных” датчиков
медицина: мониторы состояния пациентов

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

стейт
Рис.1 Диаграмма состояний

Диаграмма возможных переходов чипа показана на рис.1.

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

спи
Рис.2 Соединение RF чипа с контроллером

Управление приемопередатчиком осуществляется по интерфейсу SPI с 6 дополнительными пинами (рис.2)

Команды для RF чипа передаются по SPI. При начале передачи для NSEL устанавливается низкий уровень, по CLK начинается тактирование. Все передаваемые команды имеют одинаковый формат: сначала следует идентификатор команды, а затем до 15 параметров. Сама команда передается по SDI. (рис.3).

кмд
Рис.3 Передача команд от контроллера

Возможность принимать команды от контроллера описывается сигналом CTS, передаваемым в направлении от RF к MCU
Если значение, полученное в CTS, отличается от 0xFF – радио не готово к приему следующей команды.
Команда 0х44 используется для запроса статуса выполнения команд на RF. В ответе после CTS могут передаваться данные от RF к MCU при этом продолжается тактирование, а NSEL сохраняет низкий уровень. (рис.4)
На каждый блок данных(идентификатор, параметр и тд) отводится 8 тактов.

 

респ2
Рис.4 Получение ответов от радио

Алгоритм включения радио:

alg
Алгоритм включения
Power On Reset
Power On Reset

Инициализация радио:

алг2
Инициализация

Алгоритм при передаче:

txalg

Алгоритм при приеме:

rxalg

Важные API команды:

Power_UP

PU

Patch: патч или обычная загрузка
0 – режим функционирования описывается в FUNC
1 – указывает, что был патч. Проверка в соответствии с FUNC и загрузка

FUNC
1 – EZradio PRO режим

XTAL_OPT – описывает опорный генератор
0 – внутренний (XIN/XOUT pins)
1 – внешний (XIN pin)

XO_FREQ – частота опорного генератора в Гц.

Режим передачи:

TX

CHANNEL – номер канала (0x00 .. 0xFF)
если не передается, то используется предыдущее значение

TXCOMPLETE_STATE – состояние в которое перейдет чип после передачи
0 – без изменений(соответствует предыдущему TXCOMPLETE_STATE)
1 – SLEEP или STANDBY в зависимости от режима функционирования
2 – SPI Active
3/4 – READY
5 – TX_TUNE
6 – RX_TUNE
7 – RESERVED
8 – RX

RETRANSMIT
0 – передать данные из TX FIFO
1 – повторить передачу последнего пакета

START
0 – передать сразу
1 – передать по истечении таймера WUT (wake up)
2 – обновление параметров передачи, переход в TX не произойдет

TX_LEN – количество байт, передаваемых в data-полях пакетов
если TX_LEN=0 – количество определяет параметр PKT_FIELD_X_LENGTH

WRITE_TX_FIFO

fifo
Перед передачей данные должны быть занесены в буфер FIFO (64 байта для раздельных прием/передача или 129 для общего)

Получение ответа не предполагается

Режим приема:

rx

CHANNEL – номер канала приема(если не задан-используется предыдущий)
START
0 – принять сразу
1 – принять по истечении WUT

RX_LEN – число байт data в принимаемых пакетах(если не задано, то определяется PKT_FIELD_X_LENGTH)

NEXT_STATE1 – состояние, в которое перейдет радио после окончания периода нахождения преамбулы
NEXT_STATE2 – состояние, в которое перейдет радио после правильного приема пакета
NEXT_STATE3 – состояние, в которое перейдет радио после неправильного приема пакета

0 – остается RX
1 – SLEEP или STANDBY в зависимости от режима функционирования
2 – SPI Active
3/4 – READY
5 – TX_TUNE
6 – RX_TUNE
7 – TX
8 – RX

READ_RX_FIFO

rxfifo

GET_INT_STATUS

get int

GET_MODEM_STATUS

rssi

GET_PH_STATUS

пхстат

Оставьте ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *