Смекни!
smekni.com

“Контроллер для организации сенсорной сети” (стр. 3 из 11)

Тактовая частота центрального процессора может быть удвоена, используя 2x синхронизацию. Использование 2x режима синхронизации позволяет центральному процессору, тактируемому в 32 МГц, выполнять 32 миллиона операций в секунду.

4. Организация памяти

Этот раздел описывает блоки памяти, находящиеся внутри JN513x. Устройство содержит ROM, RAM, память OTP, память беспроводного приемопередатчика и внешних устройств в пределах одного линейного адресного пространства (рис. 4).

Рис. 4. Организация памяти JN513x


4.1. ROM

ROM имеет объем 192 КБ, организовано как 48 КБ x 32-разрядные слова, доступные центральному процессору в единственном тактовом цикле. Содержимое ROM изменяется в зависимости от версий устройства для поддержки разных стеков протокола и приложений; все версии по умолчанию содержат таблицу векторов прерываний и менеджера по обработке прерываний Типичное содержимое ROM, содержащее стек протокола ZigBee, изображено на рис. 5.

Рис. 5. Содержимое ROM

4.2. RAM

JN513x содержит 8 КБ, 16 КБ, 32 КБ или 96 КБ высокоскоростной оперативной памяти, организованной как 2 КБ, 4 КБ, 8 КБ или 24 КБ x 32-разрядные слова. Она может использоваться и для хранения кода и для хранения данных, она доступна центральному процессору в единственном тактовом цикле. При сбросе загрузчик управляет загрузкой сегментов кода и данных из внешней памяти через порт SPI в оперативную память. Программное обеспечение может управлять источником питания оперативной памяти, позволяющим хранить данные без потери в спящем режиме, когда другие части устройства не задействованы.

4.3. Память OTP eFuse

JN513x содержит 48 байтов eFuse памяти. Это программируемая память, которая организована как 12 x 32-разрядных слов, 4 слова зарезервированы Jennic, 2 из которых содержат адрес MAC. Оставшиеся 8 слов программируются пользователем, предназначены для хранения конфигурации и информации о продукте. Если используется кодирование внешней памяти, тогда 4 слова пользователя eFuse используются для хранения ключа.

Для надежной операции программирования минимальное напряжение питания должно составлять 3.6V. Если это условие не удовлетворено, то надежное программирование не может быть гарантировано.


4.3. Внешняя память

Внешняя память с интерфейсом SPI может использоваться для хранения кода программы и данных для устройства, когда источник питания схемы отсутствует. Память связана с контроллером интерфейсом SPI и линии SPISEL0 выбора; эта линия выделена внешнему интерфейсу памяти и не доступна для использования другими внешними устройствами (рис. 6).

Рис. 6. Подключение внешней памяти

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

4.4.1. Обеспечение кодирования внешней памяти

Содержимое внешней памяти может быть надежно зашифровано для предотвращения копирования. Процессор безопасности AES совместно с пользовательским программируемым 128-битовым ключом шифрования используется для зашифровки содержимого внешней памяти. Ключ шифрования сохранен в eFuse. Первоначально после программирования, кодирование выключено, и система продолжает работать в незащищенном режиме. Включение кодирования через программное управление приводит к тому, что все операции программирования будут требовать идентификации.

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


5. Синхронизация системы

Два отдельных генератора используются для обеспечения системы импульсами синхронизации (синхроимпульсами): один – внешний на 16 МГц с кварцевой стабилизацией, другой - внутренний RC- генератор на 32 кГц.

5.1. Генератор на 16 МГц

Внешний кварц подключается к штырькам XTALIN и XTALOUT. Эти же штырьки через развязывающие конденсаторы емкостью 15 пФ соединены с общей шиной (рис. 7).


Рис. 7. Подключение внешнего кварцевого резонатора

Импульсы этого генератора, обеспечивают синхронизацию большинства подсистем JN513x, включая приемопередатчик, процессор, память, цифровые и аналоговые внешние устройства. Синхронизация процессора, оперативной памяти и ROM более эффективна при удвоенной частоте, т.е. 32 МГц.

5.1. Генератор на 16 МГц

Внутренний RC генератор на 32 кГц не требует никаких внешних компонентов. Он обеспечивает низкочастотную синхронизацию для использования в спящем режиме. Его импульсы используются во время сброса и для расчета длины периода бездействия. Погрешность частоты генератора составляет ±30 %. Для учета погрешности программным образом получается коэффициент калибровки.

В качестве генератора на 32 кГц, используемого при работе таймеров бездействия, можно использовать внешний задающий генератор на 32 кГц, подключив его к выводу CLK32K (DIO9). Это позволяет использовать более стабильные модели генераторов.


6. Сброс

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

При подаче напряжения питания, генератор на 32 кГц запускается и стабилизируется, что занимает приблизительно 100 μsec. В этот момент включается кварцевый генератор на 16 МГц. Логические блоки пребывают в состоянии сброса, пока кварцевый генератор на 16 МГц не стабилизируется, обычно это занимает 2.5ms.

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

JN513x имеет четыре источника сброса:

  • Внутренний сброс включения питания;
  • Внешний сброс;
  • Программный сброс;
  • Сброс при обнаружении кратковременного провала напряжения питания.

6.1. Внутренний сброс включения питания

Когда напряжение питания подано на устройство, схема сброса включения питания контролирует повышение напряжения VDD. Когда VDD достигает определенного порога, генерируется сигнал сброса, что может наблюдаться на выводе RESETN (рис 8). Начинается внутренний сброс, после которого начинает работу процессор.

Рис. 8. Временные диаграммы внутреннего сброса включения питания


Если приложение требует отслеживания сбоя источника питания, то есть выключение с повторным включением VDD, важно, чтобы конденсаторы цепи питания были полностью разряжены, прежде чем VDD снова появится. Отказ от этого требования может не произвести сброс схемы при повторном включении питания. Если разряд конденсаторов труднодостижим, рекомендуется использовать внешнюю схему сброса, как показано на рис. 9.


Рис. 9. Внешняя схема сброса включения питания

Внешний резистор и конденсатор обеспечивают операцию сброса при соединении их с выводом RESETN.

6.2. Внешний сброс

Внешний сброс осуществляется при подаче лог. «0» на вывод RESETN. Ширина импульса сброса должна быть больше минимально допустимой во время активного или спящего режима. Короткие импульсы не гарантируют сброс. JN513x находится в состоянии сброса до тех пор, пока на штырьке RESETN лог. «0». Как только импульс на нем достигает порогового напряжения сброса (VRST) при позитивном спаде, начинается внутренний сброс(рис. 10).


Рис. 10. Временные диаграммы внешнего сброса

С выводом RESETN можно соединить множество устройств в режиме открытого коллектора. Хотя JN513x и содержит внутренний 45 КΩ резистор, рекомендуется использовать внешний резистор при подключении к выводу RESETN большого количества внешних устройств. Вывод RESETIN является входом для внешнего сброса, выходом во время сброса включения питания и может быть выходом во время программного сброса. Никакие устройства не должны подавать на RESETN сигнал высокого уровня.

6.3. Программный сброс

Системный сброс может быть произведен в любое время вызовом функции, vAHI_SwReset () из периферийной библиотеки. Эта функция может быть выполнена в пределах пользовательского приложения, например, после обнаружения системного отказа. Линия RESETN может быть использована контроллером JN513x для сброса других устройств в системе (например внешних датчиков). Возможность вывода сброса контроллером может быть включена или заблокирована использованием функции vAHI_DriveResetOut () из периферийной библиотеки (значение по умолчанию - заблокировано).

6.4. Сброс при обнаружении провала напряжения питания

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