В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

  • Оптоэлектроника
  • Аналоговые компоненты
  • Интерфейсы
  • Источники питания
  • Средства
    разработки
  • Микроконтроллеры
  • Память
  • Датчики
  • LCD
  • Печатные платы
  • Промышленные контроллеры
  • ПЛИС
  • Компоненты фирмы IR
  • Силовая электроника
  • Транзисторы
  • Телекоммуникация и связь
  • Анонсы, пресс-релизы выставок
  • Освещение
  • Разное
  • Электронный журнал RB
  •  
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации





    Главная страница > Статьи
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации


    Приемопередатчик радиодиапазона AT86RF211 фирмы Atmel

    Предисловие

    Прибор AT86RF211 компании Атмел, ранее известный как TRX01, является специализированным однокристальным приемопередатчиком для беспроводных приложений с низким уровнем напряжения питания. Рабочий диапазон прибора оптимизирован в полосе частот от 400МГц до 950МГц. Высокий уровень интеграции и гибкость конфигурирования обеспечивают возможность применения приемопередатчика в телеметрии, системах дистанционного управления, сигнализации, радиомодемах, системах автоматического контроля, ручных терминалах, высокотехнологичных игрушках и многих других приложениях. Двухсторонний обмен позволяет использовать прибор для защищенной передачи информации с проверкой и подтверждением её правильности. AT86RF211 легко конфигурируется для различных применений, в том числе для внешней фильтрации сигналов (ограничение полосы пропускания, улучшение селективности, фильтрации помех, изменения уровня и т.д.), изменения протоколов связи (одноканальные и многоканальные решения). AT86RF211 хорошо адаптируется для батарейных приложений, поскольку требуемый уровень питающего напряжения находится в пределе от 2.4В до 3.75В. Наличие режима пробуждения, перехода в активный режим по получению запроса от передатчика, способствует энергосбережению и увеличению срока работы от одного комплекта батарей.

    Общий обзор функционирования

    AT86RF211 является внешним радиочастотным устройством для AVR микроконтроллера, содержащим передатчик, приемник и синтезатор с реально достижимой скоростью передачи до 64кбит/с. Синтезатор реализован на основе фазовой автоподстройки частоты и точной цифровой установки несущей с шагом 200 кГц. Высокая избирательность достигнута за счет использования схемы супергетеродина с двойным преобразованием. Выходная мощность устанавливается цифровым способом и имеет 8 уровней в диапазоне +10 dBm Дальность связи изменяется от 30 метров в закрытом помещении до 300 метров на открытом пространстве.

    Частота передачи, МГц Выходная мощность, дБ/м Ток потребления, мкА Напряжение питания, В
    915/868/433 +10/12/14 0,5 - 35 2,4 - 3,75

    Выбор частоты осуществляется подключением различных внешних элементов с использованием функции цифровой подстройки. Из внешних компонентов необходим кварцевый резонатор, керамический фильтр, элементы согласования антенны и фильтрующие компоненты питания. Все настройки приемопередатчика производятся записью и чтением служебных регистров, в которых храниться информация о параметрах уровня напряжения батареи питания, состоянии фазовой автоподстройки, уровня принимаемого сигнала RSSI (Received Signal Strength Indication). Обмен данными между радиочастотным модулем и микроконтроллером выполняется по трехпроводной линии связи (SLE, SCK, SDATA) посредством регистров ввода/вывода общего назначения МК, которые используются для чтения и записи данных в 16 внутренних регистров AT86RF211. Из них 8 регистров используются для конфигурирования нормального режима обмена данными, 4 регистра для режима "wake-up" и 4 регистра для реализации специальных функций, определяемых приложением. Наиболее часто используемые биты расположены в старших разрядах регистров. Режимы чтения и записи позволяют осуществлять доступ к отдельным битам регистра.

    Обычный режим работы

    В нормальном режиме микросхема конфигурируется микроконтроллером установлением частоты и режим "приема" Rx или "передачи" Tx. В режиме "передача" микросхема действует как конвейер данных, поступающих на вывод DATAMSG, немедленно транслируя их в эфир (Tx). В режиме "прием" сигнал, поступающий с антенны, демодулируется и передается побитно в МК по тому же выводу DATAMSG (Rx). Сохранение данных и обработка их в приемопередатчике не производится.

    Схематическое описание работы приемопередатчика в режимах приема и передачи показано на Рис.1.

    Режимы передачи и приема данных
    Рис. 1. Режимы передачи и приема данных

    Если проектируется асинхронный интерфейс UART, то оба вывода RхD и TхD микроконтроллера соединяются с двунаправленным вводом/выводом DATAMSG, организуя полудуплексную передачу. При отсутствии передачи данных вывод TхD должен находиться в высокоимпедансном состоянии. Вывод DATACLK используется для синхронной передачи и поэтому при использовании UART не задействован. Для организации синхронной передачи данных между AVR и AT86RF211 необходимо использовать либо интерфейс I2C-bit banging, либо SPI интерфейс высокоскоростного обмена данными.

    Выводы SDATA, SCK и SLE подключаются к выводам общего назначения микроконтроллера. Если используется экономичный режим, то вывод wakeup должен быть подключен к выводу контроллера с функцией прерывания. Следует учитывать скорость передачи по интерфейсу SPI, иначе она может превысить максимально возможную для передачи радиомодулем AT86RF211.

    Режим пробуждения

    В режиме приема данных приемопередатчик можно перевести в состояние пробуждения. В этом состоянии AT86RF211 выходит из спящего режима по сигналу встроенного таймера и ожидает предварительно определенное сообщение. Если сообщение не принято, процесс повторяется. В случае, если получено ожидаемое сообщение, его поле данных сохраняется в AT86RF211 (длинной до 32 бит), при этом приемопередатчик генерирует сигнал пробуждения для микроконтроллера по линии вывода WAKEUP. Схематическое описание работы приемопередатчика в режиме пробуждения показано на рисунках 2 и 3.

    Краткое представление работы режима пробуждения
    Рис. 2. Краткое представление работы режима пробуждения

    Диаграмма периодического сканирования
    Рис. 3. Диаграмма периодического сканирования

    Описание цифрового интерфейса управления AT86RF211

    Для управления и мониторинга за работой AT86RF211 существует трехпроводной цифровой интерфейс, который имеет следующие линии управления:

    • SLE - вход разрешения чтения/записи данных.
    • SCK - тактируемый вход для синхронизации чтения/записи данных.
    • SDATA - двунаправленная линия связи для чтения/записи данных.

    Сигнал SLE используется для защиты от перезаписи значений регистров, т.е. если на входе SLE установлена лог. "1", то AT86RF211 игнорирует все процессы чтения и записи на линиях SCK и SDATA.

    Все операции чтения и записи начинаются с перевода линии SLE из лог. "1" в лог. "0", и заканчиваются переводом линии SLE из лог. "0" в лог. "1". Только одна операция может быть выполнена за один цикл доступа, т.е. только один регистр может быть считан или перезаписан.

    Формат записи/чтения регистра по цифровому интерфейсу

    Формат сообщения имеет три поля:

    • Поле адреса ( A[3:0] ) - длинна данного поля 3 бита, первым идет старший бит.
    • Бит признак операции ( R/W ) - если бит, равен 1, то операция записи, если бит, равен 0, то операция чтения.
    • Поле данных ( D[31:0] ) - длинна данного поля переменная, максимальная его длинна 32 бита, первым идет старший бит.

    Режим записи регистра (R/W = 1)

    В режиме записи запись бит адреса, бита признака, и бит данных происходит по нарастающему фонту сигнала SCK. При записи в регистр, если количество записываемых бит данных меньше битовой длинны регистра, то младшие биты не перезаписываются, если количество записываемых бит данных больше битовой длинны регистра, то лишние биты игнорируются. Процесс записи данных в регистр не требует ожидания на сохранение данных, т.е. после перехода сигнала SLE в уровень лог. "1" можно производить перезапись следующего регистра.

    Полный цикл записи 10 битового регистра
    Рис. 4. Полный цикл записи 10 битового регистра

    Укороченный цикл записи, запись 2 бит 32-ух битного регистра
    Рис. 5. Укороченный цикл записи, запись 2 бит 32-ух битного регистра

    Режим чтения регистра (R/W = 0)

    В режиме чтения запись бит адреса, и бита признака происходит по нарастающему фонту сигнала SCK, а чтение бит данных происходит по спадающему фронту сигнала SCK. При этом первым читается старший бит данных регистра. Вывод SDATA переходит из состояния вход в состояние выход, когда фронт записи бита признака переходит в лог. "1". Вы можете остановить чтение данных из регистра (переводом сигнала на линии SCK в лог. "1") в любой момент времени. Вывод SDATA обратно переходит в состояние вход, когда сигнал SLE переводится в состояние лог. "1".

    Полный цикл чтения 10 битового регистра
    Рис. 6. Полный цикл чтения 10 битового регистра

    Укороченный цикл чтения, чтение 2 бит 32-ух битного регистра
    Рис. 7. Укороченный цикл чтения, чтение 2 бит 32-ух битного регистра

    Краткое описание регистров управления AT86RF211

    Имя Адрес A[3:0] Кол-во бит Операции(1) Комментарии
    F0 (0000)2 32 R/W Регистр задаваемой частоты F0
    F1 (0001)2 32 R/W Регистр задаваемой частоты F1
    F2 (0010)2 32 R/W Регистр задаваемой частоты F2
    F3 (0011)2 32 R/W Регистр задаваемой частоты F3
    CTRL1 (0100)2 32 R/W Основной регистр управления
    STAT (0101)2 31 R Регистр состояния приемопередатчика
    DTR (0110)2 6 R/W Регистр корректировки
    WUC (0111)2 32 R/W Регистр управления режимом пробуждения
    WUR (1000)2 18 R/W Регистр задания скорости входящих данных в режиме пробуждения
    WUA (1001)2 25 R/W Адресный регистр режима пробуждения
    WUD (1010)2 32 R Регистр данных режима пробуждения
    RESET (1011)2 1 W Регистр сброса приемопередатчика
    - (1100)2 - - Зарезервирован
    - (1100)2 - - Зарезервирован
    - (1100)2 - - Зарезервирован
    CTRL2 (1111)2 32 R/W Дополнительный регистр управления

    Примечание: R/W - регистр доступен для записи и чтения; R - регистр доступен только для чтения; W - регистр доступен только для записи;

    Регистр сброса приемопередатчика (RESET)

    Запись в этот регистр (0 или 1) выполняет асинхронный сброс приемопередатчика.

    Основной регистр управления (CNRL1)

    Название Кол-во бит Комментарии
    PDN 1 Бит управления включения/выключения напряжения питания.
    0: AT86RF211 выключен.
    1: AT86RF211 включен.
    RXTX 1 Выбор режима работы приемопередатчика.
    0: Режим приема.
    1: Режим передачи.
    DATACLK 1 Выбор режима синхронизации принимаемых данных.
    0: Нет сигнала на линии DATACLK.
    1: Активизируется сигнал DATACLK, для синхронизации принимаемых данных.
    TXLOCK 1 Выбор режима начала передачи данных.
    0: Передача происходит, не зависимо от состояния PLL 1: Передача происходит только тогда, когда PLL установлена.
    Примечание: Состояние PLL находиться в бите PLLL регистра STATUS.
    PAPDN 1 Управление усилителем мощности
    0: Усилитель мощности передатчика отключен.
    1: Усилитель мощности передатчика включен (только, если PDN = 1).
    WUEN 1 Разрешение режима пробуждения.
    0: Функция пробуждения запрещена, содержимое регистров управления режимом пробуждения игнорируется.
    1: Функция пробуждения разрешена, она устанавливается согласно установкам регистров пробуждения.
    LANGSEL 1 Выбор усиления малошумящего усилителя (LNA)
    0: Усиление максимальное.
    1: Усиление минимальное.
    MVCC 1 1 Выбор замерять значение RSSI или Vcc (напряжение питания).
    0: Измеряется значение напряжения RSSI, измеренное значение сохраняется в регистре STAT в битах MRSSI.
    1: Измеряется значение напряжения Vcc, измеренное значение сохраняется в регистре STAT в битах MVCC.
    TRSSI 6 Задание значения порога RSSI
    DATAMSG, если RSSI TRSSI + HRSSI (Высокий уровень RSSI).
    DATAMSG, если RSSI TRSSI - HRSSI (Низкий уровень RSSI).
    HRSSI 3 Задание RSSI гистерезиса.
    TXLVL 3 Выбор уровня выходной мощности в режиме передачи.
    (000)2: Минимальный уровень
    (111)2: Максимальный уровень.
    TXFS 1 Выбор рабочих регистров для режима приема.
    0: регистры F0 и F1
    1: Регистры F2 и F3
    - 1 Зарезервирован
    RXFS 2 Выбор рабочего регистра для режима приема.

    (00)2: регистр F0
    (01)2: регистр F1
    (10)2: регистр F2
    (11)2: регистр F3
    XTALFQ 1 Частота задающего генератора.
    0: 10.245МГц (с IF1 = 10.7МГц)
    1: 20.945МГц (с IF1 = 21.4МГц)
    FSKBW 1 Выбор дискриминатора.
    0: узкий дискриминатор BW.
    1: стандартный дискриминатор BW
    FSKPOL 1 Полярность сигнала DATAMSG
    0: Инверсный сигнал.
    1: Прямой сигнал.
    DSREF 1 Выбор источника опорного напряжения.
    0: внешний; вывод SKFILT.
    1: внутренний; значение напряжения ЦАП
    - 1 Зарезервирован
    - 1 Зарезервирован
    MOFFSET 1 0: Внутреннее АЦП выполняет измерение Vcc.
    1: Внутреннее АЦП выполняет измерение уровня DISCOUT DC
    - 1 Зарезервирован

    Дополнительный регистр управления (CNRL2)

    Название Кол-во бит Комментарии
    DATARATE 14 Скорость принимаемых данных
    Данное значение задает период генерируемого сигнала на линии DATACLK. (Для включения данного сигнала необходимо активизировать бит DATACLK в регистре CNTR1). Допустимый предел задаваемых значений от 1kbps до 50kbps.
    DATATOL 8 Значение отклонения скорости принимаемых данных. Рекомендуемое значение 2%.
    LDCK 1 Включение удвоения тактовой частоты для увеличения точности детектирования фиксирования PLL.
    0: 10МГц тактовая частота.
    1: Удвоенная тактовая частота.
    N0LD1 4 Определение состояние триггера незафиксированной PLL. Рекомендуется не изменять значение оставить такое как есть.
    N1LD2 5 Определение состояние триггера зафиксированной PLL. Рекомендуется не изменять значение оставить такое как есть.

    Регистры задаваемой частоты (F0, F1, F2, F3)

    Название Кол-во бит Комментарии
    F0 32 Значение частотного кода F0
    По умолчанию используется для режима передачи (для передачи кода "0").
    F1 32 Значение частотного кода F1
    По умолчанию используется для режима передачи (для передачи кода "1").
    F2 32 Значение частотного кода F2
    По умолчанию используется для режима приема.
    F3 32 Значение частотного кода F3

    Регистр статуса (STAT)

    Название Кол-во бит Комментарии
    PLLL 1 Флаг фиксирования PLL
    0: PLL не фиксировано.
    1: PLL фиксировано.
    MRSSI 6 Значение измеренного RSSI уровня
    MVCC 6 Значение измеренного Vcc или уровня дискриминатора, когда MOFFSET = 1
    WAKEUP 1 Флаг отображения режима пробуждения.
    Копия состояния вывода WAKEUP, но он не подвержен изменению битом выбора полярности.
    0: сообщение пробуждения не получено.
    1: получено сообщение пробуждения
    - 1 Зарезервировано
    MSGERR 1 Ошибка сообщения пробуждения в режиме тестовых сообщений.
    0: не обнаружено ошибок в принятом сообщении.
    1: полученное сообщение с ошибками.
    MSGDATL 5 Длина полученного сообщения в режиме пробуждения. Длина данных сохраненных в регистре WUD (принятое сообщение)
    MSGMRATE 10 Измеренное значение скорости передачи данных в режиме пробуждения.
    Длительность бита из заголовка сообщения пробуждения.
    Для того чтобы узнать значение длительности необходимо умножить полученное значение на 1.56мксек (аналогично RATE в регистре WUR).
    (0)10: 1 * 1.56мксек
    (vv)10: vv * 1.56мксек
    (3FF)16: (400)16 * 1.56мксек

    Регистр корректировки (DTR)

    Название Кол-во бит Комментарии
    DSOFFSET 4 Задание смещения опорного напряжения для выделения данных на выходном компараторе. Допустимые значения от (0000)2 до (1111)2
    DSCHIGH 1 Сдвиг дискриминатора вверх.
    0: нет сдвига.
    1: выходной уровень увеличен
    DISCLOW 1 Сдвиг дискриминатора вниз.
    0: нет сдвига.
    1: выходной уровень уменьшен

    Регистр управления режимом пробуждения (WUC)

    Название Кол-во бит Комментарии
    WUE 1 Разрешение режима пробуждения.
    Возвращается в значение "0", когда получено правильное сообщение.
    0: режим пробуждения запрещен.
    1: режим пробуждения разрешен
    DATA 1 Бит признак содержания данных в сообщении.
    0: Сообщение без данных.
    1: Сообщение с данными
    STOP 1 Используемая размерность поля данных.
    0: фиксируемое значение поля данных, длина поля данных задается в поле DATL от 1 до 32 бит.
    1: значение поля данных фиксированное, значение поля DATL должно быть задано (11111)2.
    DATL 5 Значение длины данных.
    Задает значение при фиксированной длине данных (STOP = 0).
    (00000)2: 1 бит (минимальное значение длины данных).
    ...
    (11111)2: 32 бита (максимальное значение длины данных).
    ADD 1 Бит признак содержания адреса в сообщении.
    0: Сообщение без адреса.
    1: Сообщение с адресом.
    MSGTST 1 Проверка на ошибку сообщения.
    0: нет режима детектирования ошибки.
    1: режим проверки включен для отладки
    WPER 9 Период пробуждения
    Переменное значение от 10мсек до 328сек с разбросом 20% (для этого используется RC генератор)
    WL1 7 Минимальная задержка перед началом TEST1 (проверка уровня RSSI)
    Значение переменное от 1мсек до 1.024сек.
    Задержка начинает отсчет, после запуска генератора
    WL2 3 Минимальная задержка между TEST1 и TEST2 (проверка на детектирование заголовка)
    Значение переменное и задается как значение WL2 (от 0 до 31) умноженное на WL1.
    ISTU 1 Inhibit stuff mechanism
    0: stuff is used for wake-up message
    1: no stuff used in the wake-up message
    - 1 Зарезервировано
    - 1 Зарезервировано

    Регистр задания скорости входящих данных в режиме пробуждения (WUR)

    Название Кол-во бит Комментарии
    WUOP 2 Полярность выходного сигнала WAKEUP
    (00)2: Активный низкий уровень.
    (01)2: Активный высокий уровень.
    (1x)2: Выход с открытым коллектором (активный низкий, иначе в третьем состоянии).
    RATECHK 1 Проверка скорости передачи данных.
    Скорость автоматически вычисляется на основании полученного заголовка.
    Полученная скорость сравнивается со значением RATE с допустимым разбросом, заданным в RATETOL.
    За единицу скорости передачи данных при расчете принимается 1.56мксек. (значение задающего генератора деленное на 16).
    0: Скорость передачи данных не определена.
    1: Скорость передачи данных определена (заголовок игнорируется, если проверка не прошла)
    RATE 10 Значение скорости принимаемых данных.
    (0)10: минимальное значение 1*1.56мксек
    ...
    (1023)10: максимальное значение 1024*1.56мксек
    RATETOL 5 Значение разброса скорости принимаемых данных.
    (0)10: минимальное значение 0*1.56мксек
    ...
    (31)10: максимальное значение 31*1.56мксек

    Адресный регистр пробуждения (WUA)

    Название Кол-во бит Комментарии
    ADDL 5 Длина адреса пробуждения.
    (0)10: длина адреса пробуждения ровна 1 биту.
    (1)10: длина адреса пробуждения ровна 2 битам
    ...
    (19)10: длина адреса пробуждения ровна 20 битам.
    (19)10: большие значения не разрешены.
    ADD 20 Значение адреса пробуждения
    Если длина адреса пробуждения задана меньше 20 бит старшие биты игнорируются

    Регистр данных пробуждения (WUD)

    Название Кол-во бит Комментарии
    WUD переменное Данные, полученные в режиме пробуждения.
    Предупреждение: Длина данного регистра является переменной.
    Если длина данных фиксирована (бит STOP = 0 в регистре WUC), то тогда она задается в поле DATL регистра WUC.
    Если длина данных переменная (бит STOP = 1 в регистре WUC), то тогда значение длины полученных данных находиться в поле MSGDATL регистра STAT.
    Предупреждение: Первый бит полученных данных помещается в младший бит регистра WUD, т.е. в WUD[0].

    Алгоритм инициализации AT86RF211

    Алгоритм начальной инициализации AT86RF211 для работы в одноканальном режиме.

    1. Сброс AT86RF211 записью в регистр RESET.
    2. Инициализировать основной регистр управления CNRL1
      • PDN = 0 (off)
      • RXTX = 1 (TX)
      • DATACLK = 0 (DTCLK off)
      • TXLOCK = 1 (on)
      • PAPDN = 0 (PA off)
      • WUEN = 0 (off)
      • LNAGSEL = 0 (max gain)
      • MVCC = 0 (MRSSI)
      • TRSSI = 010000 (RSSI level)
      • HRSSI = 010 (RSSI hyst.)
      • TXLVL = 111 (PA power)
      • TXFS = 00 (F0-F1)
      • RXFS = 10 (F2)
      • XTALFQ = 0 (div/1)
      • FSKBW = 0 (25kHz)
      • FSKPOL = 1 (direct)
      • DSREF = 0 (external).
    3. Инициализировать дополнительный регистр управления CNTR2
      • DATARATE = 42B (00010000101011) - задаем скорость передачи данных 9600.
      • DATATOL = 16 [3%] (00010110) - 3% разброс по скорости.
      • LDCK = 0 (simple) - оставляем параметр не измененным.
      • N0LD2 = 0010 (unlock condition) - оставляем параметр не измененным.
      • N1LD2 = 10111 (lock condition) - оставляем параметр не измененным.
    4. Задаем значения регистров F0, F1, F2 для требуемой частоты.

    Все, на этом процесс инициализации закончен, далее мы переключаем AT86RF211 в необходимый режим работы, а именно в режим приема или передачи.

    Замечания разработчика

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

    Основным и первым препятствием при отладке стал запуск генератора для синтезатора частот. Запуск генератора происходил нестабильно, при этом подбор емкостей, отличающихся от типичных номиналов, положительных результатов не приносил. Решение проблемы заключается в том, чтобы параллельно емкости C2 установить резистор номиналом 3.3кОм (см. рис.8)

    Типичная схема включения генератора
    Рис. 8. Типичная схема включения генератора

    Непросто оказалось и задать требуемую частоту приема и передачи, то есть определить, какие значения следует заносить в регистры F0, F1 и F2, поскольку в документации отсутствует информация об алгоритмах расчета значений данных регистров. При общении с разработчиками микросхемы из фирмы Atmel удалось получить программу (TRX_EXE.EXE), которая генерирует файл c рассчитанными значениями регистров F0, F1 и F2. Внешний интерфейс этой программы приведен на рис.9.

    Внешний вид программы TRX_EXE.EXE
    Рис. 9. Внешний вид программы TRX_EXE.EXE

    Для расчета значения регистров F0, F1 и F2 используются следующие параметры:

    • Reference Frequency ( Hz ) - частота задающего генератора синтезатора частоты в герцах, данный параметр может принимать два значения либо 10245000Гц, либо 20945000Гц.
    • Start Channel ( Hz ) - рабочая частота приемопередатчика в герцах, ее значения согласно требованиям для приемопередатчика могут принимать от 400000000Гц до 950000000Гц.
    • Deviation ( +/- Hz) - значение девиации частоты в герцах, по умолчанию задается значение 10кГц.
    • Intermediate Freq ( +/- Hz ) - значение промежуточной частоты в герцах, по умолчанию 10.7МГц (если кварцевый генератор 10245000).
    • Step ( Hz ) - шаг, или иными словами точность настройки.
    • Number of channels - количество каналов.
    • Output File - имя формируемого исходящего файла.
    • Memory Type - тип памяти, в которой будут храниться сформированные данные, по умолчанию const.
    • TX/RX Separate - при установке данного флажка, программа формирует отдельно значения для регистра режима приема, и отдельно для регистров режима передачи.
    • Little Endian/Big Endian - формат сохранения рассчитанного значения регистров, если выбран Little Endian, то рассчитанное значение сохраняется младшим битом в конце, если Big Endian, то старшим битом в конце.
    • Mode - режим формирования данных
      • High Resolution - режим высокого разрешения, в этом режиме размерность генерируемых частотных регистров 32 бита, при этом задаваемая точность синтезируемой частоты может быть до 200Гц. Этот режим рекомендуется, поскольку предлагает высокую точность и простоту работы с регистрами.
      • 25 Bits - режим 25 бит, как можно заметить в данном режиме, длинна формируемого значения регистров не 32 бита, а 25 бит. Этот режим рекомендуется, если у вас не хватает памяти в микроконтроллере для хранения переменных, но вам потребуется поддержать декодирование данных перед тем как их заносить в регистр. Этот режим не уменьшает точность синтезируемой частоты, но требует дополнительных затрат при работе с регистрами.
      • P Const - режим P=cst, в этом режиме длинна формируемого значения регистров 24 бита, при этом точность синтезируемой частоты 10кГц. Этот режим не рекомендуется использовать. Используйте его, если у вас действительно критично с объемами памяти в микроконтроллере.

    По завершению ввода параметров, необходимых для решения задачи, следует нажать клавишу [Generate!], после чего в директории появятся файлы [output.c] и [output.c.log], в которых находятся значения регистров F0, F1 и F2.

    Содержимое сгенерированного OUTPUT.C файла
    Рис. 10. Содержимое сгенерированного OUTPUT.C файла

    Последней существенной проблемой стала чувствительность выходного усилителя приемопередатчика к шумам напряжения питания. Пришлось выполнить замену RC фильтров по питанию на LC.

    Те, кто преодолеет перечисленные проблемы, наверняка получат удовольствие от работы с этим многофункциональным прибором. На базе AT86RF211 может быть создано много разнообразных приборов, а сам он может стать базовым устройством для компаний, заинтересованных в разнообразных приложениях, включая многоканальные и энергосберегающие.

    Андрей Бондаренко