1.3. Процессор и память
32-разрядный центральный процессор RISC позволяет выполнять программное обеспечение. Его возможности разделяется между обработкой протокола MAC IEEE802.15.4, других протоколов более высоких уровней и пользовательских приложений. JN513x имеет объединенную архитектуру памяти: программный код, данные, периферийные устройства и порты ввода - вывода организованы в пределах одного линейного адресного пространства.
Устройство содержит 192 КБ ROM; 8 КБ, 16 КБ, 32 КБ или 96 КБ RAM (в зависимости от модели) и 48-байтовой OTP eFuse память.
1.4. Периферия
Микросхеме содержатся следующие внешние устройства:
· Ведущий порт SPI с пятью выводами выбора ведомых устройств;
· Два интерфейса UART;
· Два программируемых таймера/счетчика с возможностью сбора данных;
· Два программируемых таймера пробуждения и таймер тактов;
· Двухпроводный последовательный интерфейс (совместимый с SMbus и I2C);
· Подчиненный порт SPI (мультиплексный с DIO);
· 21 линия DIO (мультиплексные с UART, таймерами и линиями выбора устройств SPI);
· Четырехканальный 12-битовый, 100 Кбит/с АЦП;
· Два 11-битовых ЦАП;
· Два программируемых аналоговых компаратора;
· Внутренний температурный датчик и датчик состояния батареи.
Пользовательские приложения обращаются к внешним устройствам, используя аппаратную периферийную библиотеку совместно с API. Это позволяет приложениям использовать проверенное и легко понятое представление внешних устройств, позволяя вести быструю разработку систем.
1.5. Блок-схема микроконтроллера
На рис. 2 изображена блок-схема микроконтроллера JN513x
Рис. 2. Блок-схема микроконтроллера
2. Контакты
2.1. Расположение контактов
Рис. 3. Расположение контактов JN513х
2.2. Назначение контактов
№ вывода (штырька) | Источники питания | Описание | |
3, 13, 15, 21 28, 35, 40 | VB_DIG2, VB_SYN, VB_VCO, VB_RF, VB_A, VB_DIG1, VB_MEM | Подключение сглаживающих конденсаторов | |
16, 49 | VDD1, VDD2 | Напряжение питания: VDD1-аналоговых схем, VDD2-цифровых схем | |
7, 9, 10, 39 Подложка | VSS2, VSS3, VSSS, VSS1, VSSA | Общая шина («земля») | |
Общее | |||
8 | RESETN | Вход/выход сброса | |
11, 12 | XTALOUT, XTALIN | Подключение тактового генератора | |
Радио-блок | |||
14 | VCOTUNE | Внешний контурный фильтр | |
19 | IBIAS | Управление током смещения | |
20, 22 | RFP, RFM | Дифференциальный порт антенны | |
Аналоговая периферия | |||
24, 25, 26, 27 | ADC1, ADC2, ADC3, ADC4 | Входы аналого-цифрового преобразователя | |
23 | VREF | Внешнее опорное напряжение аналоговой периферии | |
29, 30 | DAC1, DAC2 | Выходы ЦАП | |
17, 18, 31, 32 | COMP1M, COMP1P, COMP2P, COMP2M | Входы компараторов | |
Цифровой ввод-вывод | |||
Основная функция | Альтернативные функции | ||
33 | SPICLK | Синхронизация SPI | |
36 | SPIMOSI | Выход данных SPI | |
34 | SPIMISO | Вход дынных SPI | |
37 | SPISEL0 | Выбор устройства SPI 0 | |
38 | DIO0 | SPISEL1 | DIO0 или выбор устройства SPI 1 |
41 | DIO1 | SPISEL2 | DIO1 или выбор устройства SPI 2 |
42 | DIO2 | SPISEL3, RFRX | DIO2 или выбор устройства SPI 3 или выход контроля приема радиосигнала |
43 | DIO3 | SPISEL4, RFTX | DIO3 или выбор устройства SPI 3 или выход контроля передачи радиосигнала |
44 | DIO4 | CTS0 | DIO4 или вход CTS UART 0 |
45 | DIO5 | RTS0 | DIO5 или выход RTS UART 0 |
46 | DIO6 | TXD0 | DIO6 или выход данных UART 0 |
47 | DIO7 | RXD0 | DIO7 или вход данных UART 0 |
48 | DIO8 | TIM0CK_GT | DIO8 или вход управления таймера 0 |
50 | DIO9 | TIM0CAP,CLK32K | DIO9 или вход сбора данных таймера 0 или внешний генератор на 32 кГц |
51 | DIO10 | TIM0OUT | DIO10 или выход PWM таймера 0 |
52 | DIO11 | TIM1CK_GT | DIO11 или вход управления таймера 1 |
53 | DIO12 | TIM1CAP | DIO12 или вход сбора данных таймера 1 или разнообразие антенн |
54 | DIO13 | TIM1OUT | DIO13 или выход PWM таймера 1 или разнообразие антенн |
55 | DIO14 | SIF_CLK, IP_CLK | DIO14 или синхронизация SIF или вход синхронизации IP |
56 | DIO15 | SIF_D, IP_DO | DIO15 или данные SIF или выход данных IP |
1 | DIO16 | IP__ DI | DIO16 или вход данных IP |
2 | DIO17 | CTS1, IP_SEL | DIO17 или вход CTS UART 1 или вход выбора IP |
4 | DIO18 | RTS1, IP_INT | DIO18 или выход RTS UART 1 или выход прерывания IP |
5 | DIO19 | TXD1 | DIO19 или выход данных UART 1 |
6 | DIO20 | RXD1 | DIO20 или вход данных UART 1 |
3.Центральный процессор
Центральный процессор JN513x - 32-разрядный типа RISC. Отвечает трем ключевым требованиям:
· Потребление малой электрической энергии;
· Высокая эффективность реализации беспроводного протокола и в то же самое время сложных приложений;
· Эффективное кодирование языков высокого уровня, таких как C/C ++
Процессор взаимодействует с линейным 32-разрядным логическим адресным пространством с объединенной архитектурой памяти, т.е. обращаясь и к коду и к данным в одном адресном пространстве. Регистры периферийных модулей, таких как таймеры, UART и процессор полосы немодулированных частот также находятся в общей памяти.
Центральный процессор содержит блок из 32 32-разрядных регистров общего назначения (GP) вместе с небольшим количеством регистров специального назначения, которые используются для хранения состояния процессора и контроля обработки прерываний. Содержимое любого регистра GP может быть загружено из или сохранено в память; арифметические и логические операции, операции сдвига и вращения, сравнения со знаком и без знака могут быть выполнены между двумя регистрами с сохранением результата в третьем. Возможны операции между регистрами и константой, присутствующей в команде. Операции между регистрами общего или специального назначения выполняются в одном цикле (16/32MHz).
Набор команд способен манипулировать 8, 16 и 32-разрядными данными; это означает, что программы могут использовать объекты этих размеров очень эффективно. Манипуляция 32-разрядной величиной особенно полезна для протоколов и высокопроизводительных приложений, позволяя выполнить алгоритмы в меньшем количестве команд и в меньшем количестве тактовых циклов, чем при работе со словами меньшей длины.
Набор команд создан для эффективной реализации языков высокого уровня, таких как C. Доступ к полям в сложных структурах данных очень удобен из-за использования нескольких способов адресации совместно со способностью использовать любой из регистров GP, для хранения адреса объекта. Передача параметров подпрограмме также сделана более эффективной за счет использования регистров GP, вместо того, чтобы помещать передаваемые объекты в стек. Рекомендуется программировать JN513x на языке C, поддерживаемым программным комплектом разработчика, включающий компилятор C, компоновщик и отладчик.
Архитектура центрального процессора также содержит особенности, которые делают процессор подходящим для работы с приложениями реального времени. В некоторых приложениях может быть необходимо использование операционной системы реального времени для выполнения множественных задач. Чтобы обеспечить защиту ресурсов всего устройства, изменяемых одной задачей и затрагиваемых другой, процессор может работать или в привилегированном или непривилегированном режиме. Первый разрешает доступ ко всем регистрам процессора, в то время как последний позволяет управлять только регистрами GP. Привилегированный режим используется при сбросе или обработке прерываний; пользовательские задачи обычно работают в непривилегированном режиме в среде RTOS.
Встроенные приложения требуют эффективной обработки внешних аппаратных событий. Обработка прерываний (включая сброс и обработку прерываний) расширена включением многих регистров специального назначения, в которые скопированы PC и содержимое регистра состояния как часть операции обработки прерываний. Это означает, что основные регистры для обработки особых ситуаций сохранены в одном цикле, что быстрее по сравнению с более медленным методом сохранения их в стек процессора. PC также загружается по векторному адресу прерывания, позволяя обработчику прерывания начать обработку уже в следующем цикле.
Для уменьшения потребляемой мощности JN513x может работать в различных режимах. Один из этих режимов - режим дремоты центрального процессора под программным управлением: процессор может быть отключен, при поступлении прерывания проснуться, чтобы обработать его.