Руководство пользователя nRF51 Development Kit |
![]() |
Добавил(а) microsin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nRF51 Development Kit (далее для краткости DK) в комбинации с nRF5 SDK дает полное решение для разработки программного обеспечения и аппаратуры на основе чипов SoC серии nRF51. nRF51 DK это плата разработчика, на которой установлен чип nRF51422 вместе с отладчиком J-Link. Чип nRF51422 представляет собой систему на кристалле (System on Chip, SoC), идеально подходящую для построения приложений ANT™/ANT+, Bluetooth® low energy (BLE), и проприетарных приложений беспроводной связи на 2.4 ГГц с ультранизким потреблением энергии. Если Вы не используете протокол ANT, то можете использовать более дешевый чип nRF51822 и разрабатывать для него код на чипе nRF51422 платы nRF51 DK без каких-либо изменений в своем коде (комментарии по совместимости чипов nRF51822 и nRF51422 см. во врезке "Миграция с nRF51822 на nRF51422" статьи [2]). Примечание: расшифровку новых терминов и аббревиатур см. в Словарике [9]. Плата nRF51 DK обладает следующими ключевыми возможностями: • Работает на чипе nRF51422, поддерживающем разработку устройств для протоколов ANT/ANT+ и BLE с низким потреблением энергии. [Инструменты] Ниже в таблицах приведен список аппаратных и программных инструментов, которые понадобятся для использования всех возможностей nRF51 DK. Возможны случаи, когда будут нужны не все эти инструменты и утилиты. Таблица 1. Инструменты и утилиты от Nordic Semiconductor.
Таблица 2. Инструменты и утилиты от других компаний.
[Документация] Ниже приведен список документации по серии nRF51 и чипам nRF51x22. Дополнительную документацию в виде апноутов и тематических статей см. в Infocenter компании Nordic Semiconductor. Таблица 3. Документация.
[Замечания по версиям релизов nRF51 DK]
[2 Комплект поставки] В дополнение к самой плате разработчика, nRF51 DK поставляется с исходным кодом примеров firmware, документацией, принципиальной схемой, файлами разводки. Все это можно бесплатно скачать с сайта www.nordicsemi.com (см. также [15]). Рис. 1. Комплект поставки nRF51 DK. [3 Быстрый старт] Подключите свою плату nRF51 DK к компьютеру: 1. Соедините плату nRF51 DK с компьютером кабелем microUSB. Микропереключатель SW6 Power переведите в положение ON. 2. На плате загорится LD5, показывающий наличие питания. 3. Через несколько секунд компьютер распознает nRF51 DK как стандартную флешку USB. Рис. 2. Проводник с содержимым флешки JLINK. Установите программное обеспечение. Инструкции по установке инструментария Nordic можно получить по ссылкам [5, 6]. То что реально понадобится, зависит от Вашей операционной системы и используемой среды разработки (IDE). [4 Начало разработки] После того, как были установлены nRF DK, nRF51 SDK и IDE, настало время попробовать что-нибудь разработать. Обычно разработку начинают с того, что запустят на плате разработчика какой-нибудь пример кода - чаще всего мигание светодиодом (это традиционный "Hello World" для мира микроконтроллеров). Успешный запуск простейшего примера показывает, что среда разработки установлена правильно, отладчик и плата разработчика функционируют нормально. Для дополнительной информации ознакомьтесь со следующими ресурсами. Чтобы быстро проверить работу примера кода без установки полного инструментария для компиляции и сборки, можно просто запрограммировать двоичный код приложения в память чипа платы nRF51 DK. В zip-архиве SDK [15] предоставлены готовые, скомпилированные HEX-файлы предоставленных примеров. Примеры, которые требуют SoftDevice, этот SoftDevice добавлен в HEX-файл (т. е. в HEX-файле сразу находится как SoftDevice, так и код приложения примера). Имейте в виду, что в SDK не включены скомпилированные примеры ANT+. Чтобы запустить примеры ANT+ необходимо предварительно установить один из тулчейнов (Keil, IAR или ARM GCC). Чтобы запрограммировать SoftDevice и приложение, следуйте инструкциям по запуску примеров [10, 11]. Для запуска скомпилированного примера выполните следующие шаги: 1. Загрузите последний файл архива репозитория nRF5_SDK_x.x.x_xxxxxxx.zip (например, nRF5_SDK_v13.0.0_1a2b3c4.zip) с сайта developer.nordicsemi.com. Для проверки функционала примера обратитесь к его документации. В зависимости от того, какое было приложение запрограммировано, может быть достаточно наблюдать мигание светодиодов LED на плате (для примера Blinky). Другие примеры потребуют других действий - подключение платы DK через UART, использование nRF Connect, программы на телефоне, и т. д. Чтобы начать разработку своего собственного приложения, необходимо сначала убедиться, что используемый для этого инструментарий правильно установлен и работает. Чтобы выполнить такую проверку, скомпилируйте, запрограммируйте и запустите самый простой пример, который не требует использования SoftDevice, например Blinky Example. Убедитесь, что установлены все необходимые инструменты, и плата разработчика nRF51 DK подключена к компьютеру. Для других плат разработчика (для nRF52840 или nRF52832) обратитесь к соответствующей документации. [Стирание памяти чипа на плате] Перед тем, как запрограммировать пример, нужно стереть память чипа nRF51422, установленного на nRF51 DK. Если в память чипа не записан SoftDevice, то просто откройте Keil и выберите Flash -> Erase. Если же SoftDevice был установлен, или Вы не уверены в этом, то используйте nRFgo Studio, чтобы убедиться, что плата полностью очищена. Выберите свое устройство в панели Device Manager, затем кликните на кнопку Erase All. Если Вы предпочитаете командную строку, то используйте nrfjprog (эта утилита входит как часть в nRF5x Command Line Tools [12]), либо JLink.exe [13]. Чтобы запустить пример, выполните следующие шаги: 1. Перейдите в папку SDK, которая содержит интересующий Вас проект примера приложения. (a) Откройте папку с файлами SDK, куда был распакован zip-архив репозитория SDK (см. выше врезку "Запуск скомпилированных примеров"). 2. Выполните двойной клик на файле *.uvprojx, чтобы открыть проект в IDE Keil. 3. Выполните сборку проекта, чтобы скомпилировать все файлы. 4. Загрузите скомпилированный код в память FLASH чипа nRF51 DK (или другого используемого DK). Если Keil предложит обновить версию firmware отладчика до последней версии, выберите Yes. Если к компьютеру подключено больше одной платы DK, то появится сообщение об ошибке, когда Вы попытаетесь загрузить код во FLASH. В этом случае сконфигурируйте проект Keil для той платы DK, которую нужно использовать: (a) Выберите Project -> Options для Target 'XXX'. 5. Проверьте работу примера, он должен работать так, как описано в его документации (описание примера Blinky: Blinky Example Testing site:infocenter.nordicsemi.com). Перед тем, как Вы сможете запустить более продвинутые примеры, которые используют Bluetooth или ANT, необходимо запрограммировать SoftDevice в память чипа платы. После того, как SoftDevice запрограммирован, выполните шаги, описанные в предыдущей врезке "Компилирование и запуск первого примера", но без стирания памяти чипа. Например, наличия SoftDevice требуют примеры приложения датчика сердцебиения (Heart Rate Application), ANT Broadcast или BLE Heart Rate Collector. [Программирование SoftDevice] Бинарный код SoftDevice находится в папке components\softdevice\имяSD\hex SDK, здесь имяSD это имя SoftDevice (s130, s132, s212 или s332. Например, для nRF51 DK скорее всего понадобится s130, каталог для HEX-файла будет components\softdevice\s130\hex). Также SoftDevice можно напрямую загрузить с сайта nordicsemi.com. Обратите внимание, что SoftDevice для ANT не распространяются компанией Nordic Semiconductor. Для программирования SoftDevice есть несколько методов: • Использовать nRFgo Studio Все эти методы сотрут содержимое памяти платы (последний метод стирает только те сектора, содержимое которых не совпадает с записанными данными), включая (если он есть в памяти) существующий SoftDevice, приложение и данные приложения. nRFgo Studio и GCC makefile сотрут память платы автоматически. В ARM Keil перед программированием SoftDevice необходимо очистить память чипа платы вручную. [nRFgo Studio] Для программирования SoftDevice с помощью nRFgo Studio выполните следующие шаги: 1. Запустите nRFgo Studio. В Device Manager выберите плату nRF5 DK, с которой Вы работаете (она идентифицируется по серийному номеру SEGGER). 2. Выберите закладку Program SoftDevice. 3. Кликните Browse и перейдите к HEX-файлу SoftDevice, который хотите использовать. 4. Кликните Program. nRFgo Studio сотрет существующий SoftDevice и запрограммирует выбранный. [ARM Keil] Для программирования SoftDevice, используя проект примера для Keil, выполните следующие шаги: 1. Сотрите память чипа платы (см. секцию "Стирание памяти чипа на плате" из врезки "Компилирование и запуск первого примера" выше). 2. Откройте тот проект примера в Keil, который требует SoftDevice. 3. Вместо цели по умолчанию (default target), выберите цель для программирования SoftDevice, например flash_s132_nrf52_2.0.0_softdevice. 4. Кликните на Options for Target. 5. Выберите закладку Debug и кликните на кнопку Settings для J-Link / J-TRACE Cortex. 6. Выберите тот адаптер отладчика (J-Link / J-Trace Adapter), который соответствует серийному номеру, напечатанному на наклейке Interface MCU Вашего DK. 7. Кликните OK для подтверждения настроек и закрытия диалогов. 8. В главном окне кликните Download, чтобы запрограммировать SoftDevice. Keil запрограммирует SoftDevice, подходящий для выбранного примера. [GCC makefile] Для программирования SoftDevice с помощью скрипта GCC makefile выполните следующие шаги: 1. Откройте командную строку в папке, где находится makefile выбранного примера. Этот пример должен требовать использования SoftDevice. 2. Убедитесь, что утилита nrfjprog.exe (часть из инструментария nRF5x Command Line Tools) доступна через пути поиска исполняемых файлов (переменная окружения %PATH%). Скрипт makefile будет делать вызов утилиты nrfjprog. 3. Запустите следующую команду: make flash_softdevice Запущенный скрипт makefile сотрет существующий SoftDevice и запрограммирует подходящий SoftDevice для выбранного примера. [Запуск примеров ANT] Двоичный код библиотек ANT SoftDevice для nRF5x не распространяется компанией Nordic Semiconductor. Вы можете загрузить их с сайта thisisant.com. Для программирования этих SoftDevice не предоставляется целей Keil или GCC, поэтому нужно использовать nRFgo Studio. SDK не включает в себя заголовочных файлов для ANT SoftDevice. Поэтому Вы должны их добавить самостоятельно перед компилированием своего приложения. Чтобы сделать это, распакуйте загруженный zip-файл, который содержит SoftDevice, и скопируйте его заголовки в каталог components/softdevice/SoftDevice/headers. Убедитесь, что раскомментирован ANT_LICENSE_KEY в файле nrf_sdm.h, который Вы скопировали. Предоставляемый ключ лицензии может использоваться для оценочных действий, но перед выпуском конечного продукта он должен быть заменен на действующий лицензионный (commercial license key). Для дополнительной информации см. сайт thisisant.com. [Использование JLink.exe] Как использовать утилиту JLink.exe для автоматизации прошивки SoftDevice и файла приложения, см. статью [13]. [5 Interface MCU] Микроконтроллер интерфейса (Interface MCU) на плате nRF51 DK работает либо как интерфейс отладчика SEGGER J-Link OB, либо как интерфейс mbed OB, и он используется для программирования и отладки firmware (кода прошивки) nRF51422 SoC. Рис. 3. Interface MCU. 5.1 Кнопка IF Boot/Reset. Плата nRF51 DK оборудована кнопкой сброса интерфейса IF Boot/Reset (SW5). Эта кнопка подключена к Interface MCU, и выполняет 2 функции: • Сбрасывает nRF51422 SoC. В режиме нормального функционирования эта кнопка будет функционировать как кнопка сброса для nRF51422 платы nRF51 DK. Также эта кнопка используется для перевода в режим загрузчика Interface MCU. Чтобы войти в этот режим, удерживайте кнопку сброса при подаче питания на плату, при этом LED LD5 начнет мигать. Подать питание на плату можно отключением и подключением кабеля USB, либо перевести микропереключатель питания SW6 сначала в положение OFF (выключено), затем в положение ON (включено). 5.2 Виртуальный COM-порт. Interface MCU предоставляет Virtual COM port (VCP), через который можно обмениваться данными с UART микроконтроллера nRF51422. VCP обладает следующими функциями: • Гибкая настройка скорости до 1 Mbps(1). Примечание (1): скорость передачи 921600 через виртуальный COM-порт не поддерживается. Обмен через UART обычно используется для передачи отладочных сообщений и/или взаимодействия с пользователем. Программное обеспечение терминала PC должно послать сигнал DTR, чтобы сконфигурировать для ножек MCU интерфейс UART. Таблица 4 показывает соединения UART между nRF51422 и Interface MCU. Таблица 4. Сигналы интерфейса UART, назначение ножек nRF51422 по умолчанию.
Сигналы UART, подключенные к Interface MCU, переводятся в третье состояние, если к VCP не подключена программа терминала. Это дает возможность использовать ножки nRF51422 как обычные порты GPIO. Ножки портов P0.08 (RTS) и P0.10 (CTS) могут свободно использоваться nRF51422 как GPIO, когда аппаратное управление потоком (HWFC) запрещено. Примечание: интерфейс mbed OB не поддерживает HWFC через виртуальный COM-порт. Когда Interface MCU получил от терминала сигнал DTR, он выполняет автоматическое детектирование динамического аппаратного управления потоком данных, Dynamic Hardware Flow Control (HWFC). Автоматическое детектирование HWFC выполняется путем управления уровнем P0.10 (CTS) Interface MCU и оценки состояния P0.08 (RTS), когда первые данные отправляются или принимаются. Если состояние P0.08 (RTS) лог. 1, то подразумевается, что HWFC не используется (не обнаружено). Если HWFC не обнаружено, то оба сигнала CTS и RTS можно свободно использовать в firmware nRF51422. После сброса по питанию (power-on reset) Interface MCU переводит все ножки UART в третье состояние, когда к виртуальному COM-порту не подключен терминал. Из-за динамической обработки HWFC, если HWFC используется и это определено, ножка P0.10 (CTS) будет управляться от Interface MCU до power-on reset, или пока не будет получен новый сигнал DTR при повторном детектировании HWFC. Для гарантии, что на ножки UART не будет влиять Interface MCU, мостики припоя для этих сигналов должны быть удалены, и впоследствии восстановлены, когда это будет необходимо. Это может понадобиться, когда нужно использовать UART без HWFC, и когда P0.08 (RTS) и P0.10 (CTS) нужно использовать для других целей. 5.3 Interface MCU firmware. Установленный на плате Interface MCU запрограммирован на заводе mbed-совместимым загрузчиком, это дает возможность поменять его firmware между заводским SEGGER J-Link OB и nRF51 mbed-интерфейсом, см. секцию "5.1 Кнопка IF Boot/Reset" с описанием запуска загрузчика. Чтобы поменять Interface MCU firmware, просто перетащите образ прошивки интерфейса (.bin) на смонтированный диск загрузчика, и передерните питание платы. Обе прошивки интерфейса - nRF51 mbed и J-Link OB - можно скачать с сайта www.nordicsemi.com. Прошивка firmware интерфейса J-Link OB, загруженная с сайта www.nordicsemi.com, никогда не будет самой свежей. Если Вы хотите получить последнюю версию J-Link OB firmware, загрузите последнюю версию программного обеспечения от SEGGER (SEGGER J-Link software) с сайта www.segger.com и откройте сессию отладки. Программное обеспечение предложит выполнить обновление до последней версии прошивки J-Link OB firmware. Серийный номер J-Link, связанный с Interface MCU, не изменится, даже когда Вы переключаетесь с одного Interface MCU firmware на другое, поэтому может оказаться полезным записать серийный номер, который находится на наклейке чипа Interface MCU платы. В режиме загрузчика не кидайте на его диск какие попало файлы. Используйте только те прошивки, которые Вы загрузили с сайта www.nordicsemi.com, и которые предназначены для Interface MCU. Если будет загружен неправильный файл, то он может перезаписать загрузчик, и превратить Interface MCU в бесполезный кирпич без возможности его восстановления. Примечание переводчика: по поводу скачать прошивки интерфейса отладки с сайта www.nordicsemi.com - вот тут авторы документации [1] откровенно лукавят. К сожалению, просто так не получается найти ссылку на закачку firmware интерфейсов nRF51 mbed и J-Link OB. Единственное, что мне удалось найти при длительном поиске - прошивка 5367.J-Link OB-SAM3U128-V2-NordicSemi 170724.bin (записал её в архив [15]). [5.4 MSD] Interface MCU поддерживает функцию флешки (mass storage device, MSD). Она появляется на хосте отладки PC, когда Вы подключаете к нему свой nRF51 DK. Эта флешка может быть использована для drag-and-drop программирования. Программируемые файлы могут быть сохранены на этот диск. Если скопировать HEX на флешку, то Interface MCU запрограммирует этот файл в память nRF51422. Windows может попытаться дефрагментировать MSD-диск, предоставляемый Interface MCU. Если это произойдет, то Interface MCU отключится и станет недоступным. Для восстановления работы нужно передернуть питание nRF51 DK. Антивирус может попробовать просканировать MSD-диск, предоставляемый Interface MCU. Известны редкие случаи, когда антивирус вдруг ошибочно обнаруживал на MSD вредоносное ПО и помещал диск на карантин. Если это произошло, что Interface MCU перестанет отвечать на запросы. Если компьютер настроен на загрузку через USB, то он может попытаться загрузиться с флешки nRF51 DK, если он в момент загрузки подключен через USB. Этого можно избежать, если перед загрузкой отключить nRF51 DK, или если поменять настройки загрузки (boot sequence) компьютера. Также можно запретить MSD для nRF51 DK, используя команду msddisable, введенную в J-Link Commander. Чтобы обратно восстановить функционал MSD, введите команду msdenable. Эти команды вступят в действие после передергивания питания nRF51 DK. Действие команд msddisable и msdenable сохранится до тех пор, пока не будет задано противоположное изменение. [6 Описание аппаратуры nRF51 DK] В этой главе приведено описание схемы и аппаратных ресурсов платы nRF51 Development Kit (PCA10028). nRF51 DK может использоваться как платформа для разработки на основе микросхем nRF51 SoC. На борту у nFR51 имеется полноценное решение для программирования и отладки. В дополнение к коммуникациям по радиоканалу nRF51 SoC может обмениваться данными с компьютером через виртуальный COM-порт (virtual COM port, VCP), предоставляемый Interface MCU. Также доступен интерфейс передачи отладочных сообщений через RTT [14]. Рис. 4. Схематическое изображение вида на верхнюю сторону платы nRF51 DK. Рис. 5. Схематическое изображение вида на верхнюю сторону платы nRF51 DK. Рис. 6. Блок-схема аппаратуры nRF51 DK. Примечание: расширитель ввода/вывода (I/O expander), перемычки (switch) и фильтр подавления дребезга (debouncing filter) имеется только на платах DK версии v1.2.0 и более свежих. Версия вместе с серийным номером может быть прочитана на белой наклейке микроконтроллера Interface MCU. 6.3 Питание. Плата nRF51 DK может получать питание из нескольких источников: Рис. 7. Варианты питания nRF51 DK. Напряжение 5V DC, поступающее от USB, понижается до 3.3V с помощью находящегося на плате регулятора напряжения. Напряжение, поступающее от коннектора внешнего питания (коннектор P21 External supply) и от батареи, не регулируется. Ток от источников питания передается через набор диодов (D1A, D1B и D1C, см. рис. 8), чтобы защитить DK от переполюсовки, при этом схема DK будет получать питание от того источника, у которого будет самое высокое напряжение. Примечание: когда на USB не подается питание, микроконтроллер Interface MCU находится в неактивном состоянии, и будет потреблять дополнительный ток около ~20 мкА, чтобы обеспечить функциональность кнопки сброса (IF BOOT/RESET). Этот ток вносит свой вклад в общее потребление тока платой, однако он не влияет на результат изменений потребления тока для процесса, описанного в секции "6.7 Измерение потребляемого тока". Рис. 8. Схема организации питания nRF51 DK. На диодах защиты от переполюсовки (D1A, D1B и D1C) падает напряжение, за счет этого уровень напряжения питания для отлаживаемого микроконтроллера окажется меньше, чем предоставляет источник питания. Чтобы избежать падения напряжения на диодах, можно поместить мостики припоя на перемычках SB10, SB11 или SB12 (в зависимости от того, какой источник питания используется). Таблица 5. Перемычки SB10, SB11 или SB12, устраняющие падение напряжения на защитных диодах.
Рис. 9. Перемычки SB10, SB11 или SB12. Примечание: имейте в виду, что после замыкания защитных диодов функция защиты от переполюсовки перестает действовать, и следует быть внимательным при подаче питания сразу от нескольких источников (их выходы могут замыкать друг на друга). 6.4 Подключение к ножкам nRF51422. Выводы nRF51422 портов GPIO доступны на коннекторах P2, P3, P4, P5 и P6. Дополнительно на коннектор P1 выведена шина земли GND, напряжения питания 3.3V и 5V, а также сигнал сброса. Рис. 10. Коннекторы nRF51 DK. Те же сигналы доступны и с обратной стороны платы через (не распаянные) SMD-коннекторы P7, P8, P9, P10, P11 и P12. С помощью этих коннекторов плата nRF51 DK может использоваться как шилд для материнских плат Arduino, или может соединятся с другими шилдами, соответствующими стандарту Arduino. Для упрощения доступа к GPIO, питанию и шине GND те же самые сигналы выведены на дополнительные отверстия для установки коннекторов P13 .. P17. У некоторых выводов nRF51422 могут быть специальные функции, установленные по умолчанию. • P0.08, P0.09, P0.10 и P0.11 по умолчанию используются для UART-подключения к Interface MCU. Для дополнительной информации см. секцию "5.2 Виртуальный COM-порт". Когда плата nRF51 DK используется как шилд вместе со стандартной материнской платой Arduino, сигналы Arduino выведены, как показано на рис. 11. Рис. 11. Сигналы Arduino на плате nRF51 DK. 6.5 Кнопки и светодиоды. На плате nRF51 DK установлены 4 кнопки и 4 светодиода, подключенные в выделенным ножкам GPIO чипа nRF51422 SoC. Эти соединения показаны в таблице 6. Таблица 6. Соединения для кнопок (button) и светодиодов (LED).
Если GPIO P0.21 .. P0.24 нужны для других целей, то соответствующие LED могут быть отключены разрезанием перемычек SB5 .. SB8, см. рис. 12. Рис. 12. Перемычки для отключения LED. Сигналы от кнопок имеют активный уровень лог. 0, т. е. на входе nRF51422 появится низкий уровень, когда кнопка нажата. Для кнопок не предусмотрены внешние подтягивающие верхние резисторы (pull-up), поэтому для использования кнопок на выводах P0.17 .. P0.20 должны быть программно сконфигурированы как входы с активными внутренними pull-up резисторами. Светодиоды LED имеют низкий активный уровень, т. е. чтобы светодиод засветился, на соответствующий сконфигурированный выход GPIO должен быть выведен уровень лог. 0. Рис. 13. Схема подключения кнопок и светодиодов. 6.5.1 I/O expander для дополнительных кнопок и светодиодов. На платах nRF51 DK (v1.2.0 и более новых версий) имеется коннектор P5 I/O expander, предназначенный для разрешения конфликтов портов GPIO с платами, которые следуют стандарту Arduino. На него выведены те же самые порты P0.25, P0.28 и P0.29, которые выведены на коннектор P4, который совместим с портами Arduino. I/O expander освободит эти выводы GPIO для обычного использования, когда nRF51 DK используется вместе со стандартными платами Arduino. I/O expander можно постоянно разрешить, если замкнуть мостиком припоя перемычку SB18, или можно постоянно запретить, если разрезать замыкающую дорожку перемычки SB19. Также необходимо замкнуть SB18, когда разрезается SB19 для полной совместимости со стандартом Arduino. I/O expander можно временно разрешить замыканием сигнала SHIELD DETECT (контакт 6 коннектора P4) на GND. Рис. 14. Разрешение или запрет GPIO для соответствие стандарту Arduino. В дополнение к кнопкам и светодиодам, для I/O expander используются следующие ножки портов GPIO: Таблица 7. Подключение I/O expander.
Рис. 15. Схема I/O expander. Примечание: при использовании I/O expander не нужно использовать программное подавление дребезга контактов кнопок. Каждая кнопка платы nRF51 DK снабжена фильтром для подавления дребезга. 6.6 Кварц 32.768 кГц. nRF51422 может опционально использовать кварц 32.768 кГц (X2) для повышенной точности и снижения потребляемой мощности. На плате nRF51 DK ножки портов P0.26 и P0.27 по умолчанию используются для кварца 32.768 кГц, и поэтому они недоступны как GPIO на коннекторах. Примечание: при использовании протоколов ANT/ANT+ кварц 32.768 кГц (X2) необходим для корректного функционирования. Если ножки портов P0.26 и P0.27 нужны в качестве обычных портов ввода/вывода (GPIO), то кварц 32.768 кГц можно отключить, и подсоединить P0.26 и P0.27 на коннекторы. Для этого перережьте перемычки SB1 и SB2, и установите мостики припоя на перемычках SB3 и SB4, см. рис. 16. Рис. 16. Отключение кварца 32.768 кГц и подключение P0.26 и P0.27 к коннекторам. Рис. 17. Схема соединений кварца 32.768 kHz и перемычек SB1 .. SB4. 6.7 Измерение потребляемого тока. На плате nRF51 DK есть возможность мониторить ток, который потребляет nRF51422. Существует несколько типов оборудования, которое может использоваться для измерения тока, и у каждого типа есть свои достоинства и недостатки: • Power analyzer Измерения с помощью Power analyzer и Power Profiler Kit здесь не рассматриваются (см. документацию Power Profiler Kit [7, 8]). При измерении тока нужно иметь в виду следующее: • Не используйте коннектор USB для подачи питания на плату nRF51 DK. Вместо этого для питания используйте батарейку-таблетку 3V CR2032, или внешний источник питания, подключенный к коннектору P21 External Supply. 6.7.1 Подготовка платы nRF51 DK. Для измерения тока необходимо подготовить плату, чтобы можно было выполнить все описанные далее шаги. Рекомендуемые конфигурации приводят к разделению доменов питания nRF51422 SoC и остальной части платы. Также замыкаются защитные диоды, чтобы они не оказывали влияния на уровень напряжения питания nRF51422. Рис. 18. Подготовка платы nRF51 DK и измерениям тока потребления nRF51422. 1. Перережьте дорожку меди, которая замыкает перемычку SB9, чтобы коннектор P22 был подключен последовательно с потребляющей нагрузкой. Важное замечание: когда замкнута перемычка SB11 или SB12, плата nRF51 DK не должна получать внешнее питание от внешнего источника (от батарейки или от P21), когда плата получает питание от USB. Иначе два источника питания будут соединены параллельно, что может привести к неприятным последствиям, потому что перемычки SB11 или SB12 отключают защитный диод, предотвращающий встречные токи от выходов двух параллельно соединенных источников питания. После окончания измерений тока для восстановления нормального состояния nRF51 DK нужно провести обратные действия: • Запаять перемычку SB9, или установить перемычку на P22. Чтобы перепрограммировать чип nRF51422, когда плата nRF51 DK подготовлена к измерению тока, необходимо отключить внешнее питание и после этого подключить плату к компьютеру кабелем USB. 6.7.2 Использование осциллографа для измерения профиля тока. Для этого выполните последовательно следующие шаги. Предварительно должны быть выполнены действия по подготовке платы, описанные выше в п. 6.7.1. 1. Смонтируйте резистор номиналом 10 Ом в посадочное место R6 на плате. Рис. 19. Измерение тока с помощью осциллографа. Несколько советов для уменьшения шума: • Используйте щупы в режиме ослабления 1x. Используйте частоту развертки как минимум 200 kSa/s (килосемплов в секунду, одна выборка каждые 5 мкс), чтобы можно было получить корректные измерения тока. 6.7.3 Использование миллиамперметра для измерения тока. Предварительно должны быть выполнены действия по подготовке платы, описанные выше в п. 6.7.1. Подключите мультиметр в режиме измерения тока к коннектору P22, как показано ниже на рис. 20. Рис. 19. Измерение тока с помощью миллиамперметра. Миллиамперметр будет показывать средний потребляемый ток nRF51422, если: • nRF51422 находится в состоянии, когда он потребляет все время одинаковый ток, или когда активность устройства, влияющая на изменение тока (наподобие событий подключения BLE) постоянно повторяется с короткими интервалами времени (менее 100 мс), чтобы миллиамперметр смог измерить средний ток полного цикла изменения тока, а не его какую-то часть. 6.8 Измерения RF. Плата nRF51 DK оборудована маленьким коаксиальным коннектором (J1), чтобы можно было подключить кабелем измерительное радиооборудование для оценки сигнала. Этот коннектор имеет тип SWF (Murata part no. MM8130-2600) с переключателем антенны. По умолчанию, когда никакой кабель не подключен, RF-сигнал приходит на антенну, расположенную на печатной плате DK. Существует тестовый пробник (Murata part no. MXHS83QE3000) со стандартным коннектором SMA на другом конце для подключения измерительного оборудования (этот тестовый пробник не входит в комплект поставки nRF51 DK). Когда подключен тестовый пробник, внутренний переключатель коннектора SWF отключит антенну на печатной плате, и передаст радиосигнал от nRF51422 на тестовый пробник. Рис. 21. Подключение анализатора спектра RF. Коннектор и тестовый пробник вносят некоторые потери в RF-сигнал, которые нужно учитывать при измерениях, см. таблицу 8. Таблица 8. Типовые потери радиосигнала из-за коннектора SWF и тест-пробника.
6.9 Вход для подключения отладчика. Коннектор P18 (Debug in) дает возможность подключить внешний отладчик и производить отладку, когда nRF51422 получает питание от батареи или внешнего источника питания. Рис. 22. Коннектор для подключения внешнего отладчика. 6.10 Выход встроенного отладчика. Плата nRF51 DK поддерживает программирование и отладку устройств nRF51 или nRF52, смонтированных на внешних платах. Чтобы отлаживать внешнюю плату с помощью интерфейса SEGGER J-Link OB, подключите коннектор P19 (Debug out) к отлаживаемому устройство 10-контактным кабелем. Рис. 23. Выходной коннектор встроенного отладчика nRF51 DK. Когда на внешнюю отлаживаемую плату подано питание, Interface MCU обнаружит это напряжение и будет программировать чип на внешней плате вместо чипа nRF51422, смонтированного на плате nRF51 DK. Примечание: поддерживаемое напряжение питания для программирования/отладки внешней платы составляет 3.0V. Вы можете также использовать P20 в качестве выхода отладчика для программирования целевых плат, установленных как шилд. При этом P20 будет подключен к плате шилда, и Interface MCU обнаружит напряжение питания смонтированного шилда, и будет программировать целевой микроконтроллер, смонтированный на плате шилда. Если Interface MCU определит наличие питания на обоих коннекторах P19 и P20, то по умолчанию он будет программировать целевой микроконтроллер, подключенный к P19. Таблица 9. Цоколевка P19 Debug out для программирования/отладки внешней платы.
Таблица 10. Цоколевка P20 Debug out для программирования/отладки платы шилда.
6.11 Конфигурация мостиков припоя Таблица 11. Перемычки, используемые во всех версиях nRF51 DK.
Таблица 12. Перемычки, используемые в версии v1.2.0 nRF51 DK и более новых версиях.
[Ссылки] 1. nRF51 Development Kit User Guide site:nordicsemi.com. |