Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2003 №5

Микроконтроллер с радиотрансивером на одном кристалле от Chipcon AS

Добрусенко Сергей


Chipcon AS - молодая, стремительно развивающаяся компания, являющаяся разработчиком и изготовителем высококачуственных и высокорентабельных стандартных радиочастотных интегральных схем COS, выполненных по технологии CMOS и BiCMOS

Конфигурация выводов

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

Историческая справка

Компания Chipcon была основана в марте 1996 года учеными и исследователями из Норвежского технического прикладного научно-исследовательского института (SINTEF). Цель состояла в том, чтобы начать производство коммерческих радиочастотных и аналогово-цифровых полупроводниковых приборов, используя результаты исследований, проводимых в этом институте.

Компания начала работать как специализированный центр по проектированию ASIC-приборов с акцентом на проектирование аналого-цифровых и аналоговых приборов. В течение 1997 года для поддержки возрастающего рыночного спроса на высокоинтегрированные SoC-приборы была основана новая группа цифрового проектирования.

В 1998 году Chipcon изменила свою внутрифирменную стратегию и стала полноценной «производящей » полупроводниковой компанией, берущей полную ответственность за свои изделия и их соответствие проектным спецификациям, с проведением полных производственных испытаний изделий и самостоятельной отгрузкой конечным заказчикам.

Компания также включила в программу поставок приборы ASSP для беспроводной связи на коротких расстояниях. Первый объем заказов был получен в сентябре 1999-го для RF-трансивера CC400, который был разработан на основе базовой технологии Chipcon SmartRF 01.

В 2000 году доход Chipcon увеличился на 135%, занятость увеличилась на 50%, а также была разработана базовая технология SmartRF 02, которая сейчас является основой для производства высокорентабельных CMOS-изделий. Первое изделие, основанное на этой технологии, RF-трансивер CC1000, было изготовлено в сентябре 2001 и имело большой успех. Другие уникальные изделия, основанные на этой технологии, запущены в производство в 2002 году.

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

SmartRF 03 — CMOS-платформа для BlueLine

В настоящее время Chipcon освоила платформу SmartRF 03, основанную на CMOS-тех, нологии 0,18 мкм. Эта технология позволяет реализовать высококачественные радиочастотные (RF) модули и плотно интегрированные цифровые схемы. Эта технология предоставляет еще больше возможностей для оптимизации архитектуры RF-приемопередатчика, чем платформа SmartRF 02. Для некоторых применений может быть выгодно реализовать большее количество функций микросхемы в цифровой области благодаря низкому энергопотреблению, небольшим размерам, гибкости и мобильности проекта.

Использование полосы частот от 2,4 до 2,4835 ГГц доступно в большинстве стран без лицензирования, что очень привлекательно для устройств беспроводной связи малого радиуса действия. Для компонентов, работающих в этой полосе частот, Chipcon использует платформу SmartRF 03. Однако для некоторых микросхем, предназначенных для работы на частоте ниже 1 ГГц, использование этой платформы также очень привлекательно, особенно для высокоинтегрированных изделий с большим количеством цифровых блоков. В настоящее время компания ведет разработку быстродействующего приемопередатчика для Bluetooth с микромощным энергопотреблением и максимально низкой стоимостью — BlueLine CC2400.

Трансивер BlueLine CC2400 может быть легко адаптирован для выполнения различных задач в системах, работающих на полосе частот 2,4 ГГц. Прибор может работать по стандартам ZigBee/IEEE 802.15.4 (WPAN) и Bluetooth.

CC1010 — первая в мире реальная RF-система на кристалле

CC1010 — это CMOS RF-трансивер для частот 300 –1000 МГц, интегрированный с микроконтроллером 8051.

Блок-схема прибора CC1010

Разработанный ранее специалистами Chipcon, RF-трансивер CC1000 был объединен на одном кристалле со стандартным ядром микроконтроллера 8051, включая 32 кбайт интегрированной энергонезависимой Flash-памяти.

Прибор CC1010 предназначен, прежде всего, для систем с частотной манипуляцией, работающих в диапазонах ISM/SRD 315, 433, 868 и 915 МГц, но может быть легко запрограммирован для работы на любых частотах между 300 МГц и 1000 МГц.

Приборы CC1010 изготавливаются по базовой технологии SmartRF 02, как и RF-трансивер CC1000. Устройства, производящиеся по этой технологии, имеют низкую потребляемую мощность, высокое быстродействие, гибкость и максимальную интеграцию (рис.6,7).

Ожидается, что система на кристалле CC1010, подобно RF-трансиверу CC1000, появившемуся на рынке ранее, будет пользоваться большой популярностью у разработчиков дешевых миниатюрных беспроводных RF-систем, требующих низкого энергопотребления. Наиболее ценно то, что RF-микроконтроллер CC1010 имеет блок программного управления энергопотреблением, встроенную Flash-память, развитую периферию и все необходимые элементы для построения полностью законченной RF-системы на одном кристалле, такой, как, например, бытовая автоматика, радиосигнализация и различные системы безопасности, автоматические системы измерений, игровые микроконтроллеры и другие интеллектуальные игрушки и изделия.

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

Однокристальный микроконтроллер CC1010 совместим со стандартным микроконтроллером Intel 8051, но имеет приблизительно в 2,5 раза большее быстродействие. Память данных на кристалле организована в виде двух блоков SRAM (128 байт и 2 кбайт).

CC1010 имеет 32 кбайт встроенной энергонезависимой Flash-памяти, имеющей режим самопрограммирования «в системе». Дополнительные особенности включают трехканальный 10-разрядный АЦП, часы реального времени, опорный генератор 32 кГц, программируемый сторожевой таймер, два таймера 8051 и два таймера PWM, два программируемых последовательных UART, аппаратную поддержку внешнего интерфейса SPI, встроенный криптографический блок (DES) и 26 конфигурируемых выводов I/O общего назначения.

Особенности трансивера: очень низкое энергопотребление, высокая чувствительность (–107 дБм), программируемая выходная мощность передатчика до 10 дБм, модуляция ЧМн со скоростью передачи данных до 76,8 кбит/с, программируемая сетка частот, бит-синхронизация и выходной сигнал RSSI, который может быть зафиксирован встроенным АЦП.

Приборы CC1010 работают в диапазоне питающего напряжения от 2,7 до 3,6 В, имеют встроенный супервизор power-on-reset (POR) и программно-аппаратные средства снижения потребляемой энергии как в активном, так и в пассивном режимах работы.

Приборы CC1010 поддерживаются различными инструментами проектирования мирового класса,которые облегчают создание новых изделий, позволяют быстро оценить работу приборов CC1010 и разрабатывать конкретные RF-изделия. Встроенная интерактивная система отладки поддерживается Keil µVision IDE через простой последовательный интерфейс. Доступна так же большая библиотека кодов и множество примеров применений. Интегрированное программное обеспечение SmartRF Studio значительно облегчает испытание RF-изделий, а комплект разработки значительно сокращает время проектирования и делает проектирование RF-систем более легким, чем когда-либо прежде.

Функциональное назначение выводов

Приборы поддержаны специальными аппаратными средствами отладки и проектирования, такими, как CC1010DK Development Kit, CC1010EB Evaluation Board, CC1010EM Evaluation Module. Полные описания и многочисленные примеры применений содержатся на Chipcon CDROM. Более полная информация о модулях и средствах отладки и проектирования доступна на сайте изготовителя: www.chipcon.com .

Приборы CC1010 поставляются в корпусах TQFP64. Цена — от $$3,6 для промышленных количеств заказа. Доступны технические образцы и комплекты разработки.

Области применения прибора CC1010

  • Микромощные UHF беспроводные приемопередатчики данных.
  • Диапазоны 315,433,868 и 915 МГц.
  • Домашняя автоматизация и безопасность.
  • Автоматические измерения (AMR).
  • Дистанционные ключи (RKE).
  • Микромощная телеметрия.
  • Интеллектуальные игрушки.

Общее описание

Ядро микроконтроллера CC1010 основано на стандартной для промышленности архитектуре i8051. 8-разрядное ядро с программной Flash-памятью и памятью данных SRAM, расположенной в отдельных областях памяти (гарвардская архитектура). Внутренние регистры организованы как четыре банка по 8 егистров каждый. Программные инструкции устанавливают поддержку для прямой, косвенной и регистровой адресации памяти и регистров. Для адресации памяти программ может быть использована адресация с индексированием. Дополнительно к общим регистрам используются также дополнительные регистры, включая сумматор, указатель стека и двойные регистры указателя данных.

Память данных разделена на внутреннюю и внешнюю SRAM. Используемый термин «внешняя SRAM » вводит в заблуждение, так как фактически вся SRAM расположена на кристалле CC1010. Различие между внешней и внутренней SRAM только в том, что к внешней SRAM можно обращаться лишь несколькими инструкциями. Поэтому часто используемые переменные и стек должны храниться во внутренней SRAM.

Различные периферийные блоки управляются через регистры специальных функций (SFR) расположенные в области внутренней SRAM (рис.2,4).

Ядро 8051

Базовые инструкции ядра i8051 устанавливают совместимость с промышленным стандартом 8051. Прибор имеет одну дополнительную инструкцию TRAP, расширяющую возможности по отладке программного обеспечения «в системе ».

Время выполнения единичной инструкции микроконтроллера составляет 4 цикла тактового генератора, что примерно в 2,5 раза сокращает время выполнения инструкции по отношению оригинальному микроконтроллеру Intel 8051.

Для обращения к периферийным блокам микроконтроллера используются двойные указатели для более быстрой передачи данных.

Распределение памяти

Распределение памяти показано на рис.4. Доступ к внутренней SRAM выполняется с по-мощью инструкций MOV. Инструкции MOV A, @Ri, MOV @Ri, A и MOV @Ri,#data используют косвенную адресацию. Инструкции MOV A, direct, MOV Rn, direct, MOV direct, A, MOV direct, Rn, MOV direct, direct и MOV direct, #data используют прямую адресацию. Инструкции MOV @Ri, direct используют прямую и косвенную адресацию.

Карта распределения памяти

Все инструкции прямой адресации могут также использоваться при доступе к регистрам специальных функций (SFR). CC1010 также осуществляет доступ к SFR с помощью косвенной адресации. CC1010 имеет двойные указатели данных на внешнюю SRAM, если в 16 бите регистров DPTR0 и DPTR1 (SFR DPH0 , DPL0 , DPH1 и DPL1 ) установлен соответствующий признак. Если используется компилятор языка высокого уровня, то желательно задействовать оба указателя для улучшения времени выполнения программ. Указатель данных доступен через DPS. SEL .

Доступ к внешней SRAM осуществляется с использованием инструкции MOVX с помощью косвенной адресации, используются или 16-разрядные указатели данных или 8-разрядные регистры Р0 или R1 совместно с инструкциями MPAGE , MOVX A , @DPTR и MOVX @DPTR , пересылающие данные к (от) сумматору по адресу, указанному выбранным указателем данных.

Инструкции MOVX A, @Ri и MOVX @Ri , пересылают данные к (от) сумматору по адресу, заданному адресом страницы памяти регистра MPAGE и регистром Ri (R0 или R1 ). MPAGE определяет 8 старших битов адреса, в то время как регистр Ri определяет 8 младших битов адреса. Во многих микроконтроллерах типа 8051 этот тип внешнего доступа к SRAM выполняется с использованием порта P2 для передачи старших битов адреса. В таком случае уже имеющееся программное обеспечение при работе с приборами CC1010, вероятно, придется адаптировать для использования MPAGE вместо P2 .

Память программ может быть прочитана с помощью инструкций MOVC A , @A+DPTR и MOVC A , @A+PC , которые перемещают байт с указанного адреса памяти программы, заданного A+DPTR или A+PC,соответственно. Память программ не может быть непосредственно записана с использованием команды MOV , но для программного управления записью в память программ используется специальный метод страничной записи, программирующий отдельную секцию Flash-памяти микроконтроллера, что позволяет выполнять программирование и модификацию содержимого программной памяти «в системе » и использовать загрузчик для записи и модификации прикладного программного обеспечения.

CC1010 также обеспечивает возможность продлить цикл доступа к внешней SRAM через CKCON. MD (2:0). По умолчанию значение CKCON. MD — «001». Для более быстрого доступа к SRAM рекомендуется установить CKCON.MD в «000».

Flash-память программ

CC1010 имеет встроенную Flash-память программ (32 кбайт). Она разделена на 256 страниц по 128 байт каждая. Программная память может быть запрограммирована или стерта через последовательный интерфейс SPI или «страница за страницей » под управлением ядра 8051. Ресурс для Flash-памяти программ составляет обычно 20 000 циклов «запись — стирание».

Программная Flash-память может быть заблокирована для дальнейшего чтения и записи установкой соответствующего бита защиты (BBLOCK ) через последовательный интерфейс SPI. Чтобы разрешить доступ к памяти извне, должна быть выполнена полная очистка Flash-памяти. Этот способ обеспечивает защиту программного обеспечения от несанкционированного копирования и может также защищать части Flash-памяти от случайного изменения программного обеспечения, например, загрузчика, который должен оставаться неизменным. Другие же части Flash-памяти (незащищенные) могут быть модифицированы программным загрузчиком (рис.5).

Распределение LOCK-битов
Таблица. Команды программирования Flash памяти
Команда Байт 1 Байт 2 Байт 3 Байт 4 Описание команды
Разрешение программирования 1010 1100 1010 0011 xxxx xxxx xxxx xxxx Разрешает последовательное программирование после того,как вывод PROG установлен в ноль
Установить время записи Flash 1010 1100 0101 1101 xxxx xxxx xxcc cccc Установка времени записи Flash
Очистка Flash 1010 1100 100x xxxx xxxx xxxx xxxx xxxx Стирает все содержимое Flash памяти. Очищает все страницы,включая бит BBLOCK
Загрузить страницу памяти программ 0100 H000 xxxx xxxx bbbb bbxx iiii iiii Загружает данные (i)в буфер программирования с адреса b:H
Записать страницу памяти программ 0100 1100 aaaa aaaa xxxx xxxx xxxx xxxx Записать загруженные данные в страницу памяти программ по адресу (a)
Читать данные из памяти программ 0010 H000 aaaa aaaa bbbb bbxx oooo oooo Читать данные (o)байт по адресу a:b:H
Установить LOCK биты 1010 1100 111x xxxx xxxx xxxx iiii iiii Установить LOCK биты.Записываемые биты будут объединены вместе с ранее установленными LOCK битами
Читать LOCK байт 0101 1000 xxxx xxxx xxxx xxxx oooo oooo Читать LOCK байт
Читать байты сигнатуры 0011 0000 xxxx xxxx xxxx xsss oooo oooo Читать байты сигнатуры (o)с адреса (s)
a:Адрес страницы s:Адрес байта сигнатуры
b:Адрес байта i:Данные ввода
H:Нечетный или младший байт o:Данные вывода
c:Значение времени задержки x:Незначащие биты

Программирование Flash-памяти с помощью SPI

Программная Flash-память микроконтроллера CC1010 может быть запрограммирована с использованием протокола программирования SPI.

Программирование SPI разрешено, когда на вывод PROG подан логический ноль. Это позволяет внешнему SPI-устройству использовать вывод SCK (P0.0 ) как тактовый вход, SI (P0.1 ) как последовательный вход данных и SO (P0.2 ) как последовательный выход данных, осуществляя таким образом программирование микроконтроллера CC1010 по интерфейсу SPI.

Для осуществления последовательного SPI-программирования программной Flash-памяти микроконтроллера определены 9 специальных инструкций. Инструкции программирования приведены в таблице.

Программный пакет SPI-программирования для Windows «CC1010 In-circuit FLASH programmer » свободно доступен на сайте изготовителя www.chipcon.com в разделе «Download ».

Программирование Flash-памяти посредством команд ядра 8051

Каждая из 256 страниц в Flash-памяти программ может быть запрограммирована индивидуально под управлением ядра 8051. При программировании Flash-памяти ядро 8051 должно быть установлено в Idle Mode, так как не имеется никакой возможности доступа к Flash-памяти программ во время процесса записи. Для записи страницы Flash-памяти программ необходимо выполнить следующие действия:

  • В соответствии с текущей частотой кварцевого генератора установить длительность циклов записи в FLTIM SFR. Этот параметр используется, чтобы установить время доступа по интерфейсу встроенной Flash-памяти, это так же должно быть сделано и при программировании Flash-памяти по SPI. Этот параметр должен обеспечить выполнение следующего условия:
  • Общее время, необходимое для программирования страницы Flash-памяти, существенно зависит от выбора текущих параметров FLTIM . Поэтому рекомендуется установить в FLTIM минимально возможные значения, так же, как при программировании Flash-памяти по SPI.
  • Записать необходимый номер страницы Flash-памяти программ в регистр FLADR .
  • Запретить все прерывания, кроме Flash/Debug, которое должно быть разрешено (через EICON.FDIE ).
  • Сохранить блок в 128 байт данных, предназначенных для записи, во внешней памяти данных. Адрес первого байта в буфере должен быть кратен 128.
  • Записать в FLCON. RMADR (3:0) 4 старших бита адреса буфера SRAM для указания адреса данных. Установить бит FLCON. WRFLASH .
  • Перевести ядро 8051 в Idle Mode, установив PCON.IDLE . Страница Flash-памяти программ тогда будет автоматически стерта и затем запрограммирована.

Последовательность вышеупомянутых шагов не важна. Запись Flash-памяти программ начнется сразу же после того, как будет установлен Idle Mode для ядра 8051 при условии, что предварительно установлен FLCON. WRFLASH .

По окончании записи страницы будет выполнено прерывание Flash/Debug, которое выведет ядро 8051 из Idle Mode. Пользователю необходимо предусмотреть подпрограмму обработки прерывания Flash/Debug.

Если делается попытка записи данных в страницу Flash-памяти программ, которая блокирована для доступа, прерывание Flash/Debug будет выполнено немедленно после того, как ядро 8051 перейдет в Idle Mode. Данные не будут записаны. Нет никакой возможности читать или писать LOCK - биты Flash-памяти программ под управлением ядра 8051.

Приведем пример подпрограммы, пишущей сохраненные в буфере данные по адресу 0x100-0x17F во внешней SRAM во вторую страницу Flash-памяти (адреса 0x080-0x0FF). Частота принята равной 3,6864 МГц. Подпрограмма обслуживания прерывания должна находиться по адресу 0x33, должна снять флаг прерывания EICON. FDIF и вернуться из прерывания (RETI ).

Пример подпрограммы записи Flash-памяти программ
FLTIM=0x05; /*Set Flash timing for 3.6864 МГц clock frequency */
FLADR=0x01; /*Write data to the second page in Flash */
EICON|=0x20; /*Enable Flash interrupt */
IE&=~0x80; /*Disable other interrupts */
FLCON=0x10 |(0x100 >>7);
/*Enable Flash writing, RAM buffer from addr.0x100 */
PCON|=0x01; /*Enter Idle Mode to start Flash writing.

Контроль энергопотребления Flash-памяти

Для модуля Flash-памяти могут быть установлены различные режимы потребления установкой бита FLCON. FLASH_LP(1:0). После рестарта модуль Flash-памяти всегда активен, потребляя ток приблизительно 2,5 мA (при номинальных эксплуатационных режимах). Однако, чтобы снизить энергопотребление, модуль Flash-памяти может быть переведен в экономичный режим (активный, Idle или Power-Down). Это будет экономить приблизительно 1,5 мA в активном режиме и 2,5 мA в ежиме Idle или Power-Down.

Отладка в системе

Для того чтобы упростить мониторинг программного обеспечения для отладки и эмуляции «в системе », к стандартному набору инструкций 8051 была добавлена инструкция установки контрольной точки. Инструкция, имеющая мнемоническое обозначение TRAP (код 0xA5), является единственной байтовой инструкцией. В оригинальном ядре 8051 команда 0xA5 выполняется как инструкция NOP . В модифицированном ядре 8051 прибора CC1010 эта инструкция имеет самый высокий уровень, прерывание Flash/Debug осуществляет передачу флага прерывания EICON.FDIF и ожидает необходимое число циклов исполняемой инструкции, чтобы позволить подпрограмме обработки прерывания активизироваться следующей инструкцией.

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

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

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

Установка контрольных точек и выполнение инструкций, которые устанавливают контрольные точки, вызывает многократную перезапись данных в Flash-памяти программ.

Так как Flash-память программ имеет ресурс в 20 000 циклов стирания-записи, был реализован простой механизм замены инструкции. Этот способ позволяет отслеживать текущее значение адреса памяти инструкций, заданного в регистрах RADRL и RADRH . Когда значение на адресной шине Flash-память программ совпадает с контрольным адресом, данные, считываемые по шине данных, подменяются содержимым регистра RDATA .

Установка RADRH и RADRL в 0 блокирует действие механизма замены. Этот механизм замены инструкции может использоваться различными способами:установка единственной (не записываемой в Flash-памяти программ) контрольной точки, установка в RDATA значения 0xA5 (инструкция TRAP ) и RADR по адресу контрольной точки.

Продолжение следует

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке