Using RN4020 for Bluetooth Smart Communication.fm

Similar documents
PIC10(L)F320/322 Product Brief

SMSC LAN8700 Datasheet

AN1019 そのような配慮として 下記の基本的ガイドラインに沿って 可能な限り 環境条件または動作条件を制限する必要があります アプリケーションの温度を可能な限り下げる アプリケーションの電圧 ( または EEPROM の VCC 電圧 ) を可能な限り下げる 書き込みバイト数を可能な限り少なくす

RI_JTAG.book

ヒント 2: CWG を使ったハーフブリッジまたはフルブリッジ回路の駆動 ハーフブリッジまたはフルブリッジモータ回路を駆動するために多ピンマイクロコントローラは必ずしも必要ではありません PWM モジュールと CWG モジュールを組み合わせると 少ピンデバイスでも駆動できます 図 2: CWG によ

SMSC LAN8700 Datasheet

PIC24F Family Reference Manual, Section 9 Watchdog Timer (WDT)

Manchester Decoder Using the CLC and NCO

51814a0910.indd

USB.mif

a.fm

B MPLAB XC HPA Renewal Instructions.book

DALI App. Note

Microchip Capacitive Proximity Design Guide

AN2754 USB-to-I2C Bridging with USB7002, USB7050, USB7051, and USB7052 Hubs

開発ツール WINDOWS 2000 でのインストールに関する問題 MPLAB ICD 2 USB ドライバの読み込み時に問題が発生する場合 Microsoft Windows Update サイトのパッチが役立つかもしれません このパッチは Windows 2000 SP4 に更新したユーザに適用

TB3179 メモリ保護ユニット (MPU) の設定方法 はじめに メモリ保護ユニット (MPU) は Cortex -M7 コアがメモリ保護のために備えているオプションのコンポーネントです MPU はメモリマップを分割し それぞれにアクセス権とルールを設定します 本書では Cortex-M7 ベー

PICF/LF1847 表 1: デバイス PICF/LF1847 ファミリの各製品 プログラムメモリフラッシュ ( ワード ) データ EEPROM ( バイト ) SRAM ( バイト ) I/O 10 ビット A/D (ch) タイマ 8/ ビット EUSART MSSP CCP/ ECCP

a.fm

Multi-Tool Design Advisory

00763b.book

ご注意 : この日本語版ドキュメントは 参考資料としてご使用の上 最新情報につきましては 必ず英語版オリジナルをご参照いただきますようお願いします PIC12F1822/16F182X 8/14/20 ピン 8 ビットフラッシュマイクロコントローラ製品概要 高性能 RISC CPU: 命令数は 49

A.book

Sensorless Field Oriented Control (FOC) of an AC Induction (ACIM) Using Field Weakening

TB3172 Cortex -M7 マイクロコントローラの XDMAC を使ってオーディオアプリケーションにピンポンバッファリングを実装する方法 はじめに オーディオシステムアプリケーションでは リアルタイムシステムに関する代表的なプロデューサ / コンシューマ問題が発生する可能性があります タイミ

00681a.fm

EB-RL7023+SB/D2

Cortex -M キャッシュコントローラを使って決定論的コード性能を達成する方法 TB3186 はじめに マイクロコントローラベース (MCU) の組み込みアプリケーションでは ソフトウェアは不揮発性メモリに保存して実行します この不揮発性メモリとは 通常はフラッシュメモリです フラッシュメモリは

MPLAB Code Configurator User’s Guide

Reduction of the High-Frequency Switching Noise in the MCP16301 High-Voltage Buck Converter

39904k_jp indd

A.book

ワイヤレスセンサモジュール取扱説明書

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

目次 各装置仕様... 2 各部の名称... 3 簡易操作手順... 6 データフォーマット... 7 無線設定... 8 無線設定変更手順... 9 Ethernet 設定 HYBRID ROUTER の追加機能について 制限事項... 15

始める スタート > 全てのプログラム > Cypress > PSoC Creator 2.0 > PSoC Creator 2.0 をクリックします プロジェクトを作成する / 開く Start Page の "Create New Project" をクリックし 要求されたプロジェクト情報を入

AN424 Modbus/TCP クイックスタートガイド CIE-H14

QNAP vsphere Client 用プラグイン : ユーザーガイド 2012 年 12 月更新 QNAP Systems, Inc. All Rights Reserved. 1

MAC アドレス変更ツール MAC アドレスチェンジャー ユーザーズマニュアル User's Manual エレコム株式会社

21942b_Japanese.book

Sample Rate Conversion Library for PIC32 User’s Guide

Notes and Points for TMPR454 Flash memory

Warp demo station manual

iCLR

Sharpdesk V3.5インストレーションガイド:プロダクトキー編

CommCheckerManual_Ver.1.0_.doc

TB3177 MPLAB Harmony Configurator (MHC) を使った Hello World アプリケーションの作成 はじめに MPLAB Harmony は互換で相互運用可能なライブラリで構成されたソフトウェアフレームワークであり 周辺モジュールドライバ ミドルウェア システム

Polycom RealConnect for Microsoft Office 365

LTE モバイルルータ ソフトウェア更新手順 第 2 版 2017 年 9 月 富士通株式会社

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

AN1817 Using a Hardware or Software CRC with Enhanced Core PIC16F1XXX in Class B Applications

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

Pulse Oximeter Design Using Microchip’s Analog Devices and dsPIC Digital Signal Controllers (DSCs)

HP USB Port Managerご紹介資料 -シンクライアント

HD View Single Windowsセットアップガイド

LANカード(PG-2871) 取扱説明書

MEDIAPOINT HD ファームウェアリリースノート

WLAR-L11G-L/WLS-L11GS-L/WLS-L11GSU-L セットアップガイド

表 1: ファミリの各製品 デバイス (1) プログラムメモリ バイトワード SRAM ( バイト ) データメモリ データ EEPROM ( バイト ) ピン数 I/O 10 ビット A/D チャンネル コンパレータ CCP/ ECCP BOR/LVD CTMU MSSP EUSART タイマ 8

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

DS70172A_JP

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

AKI-PIC16F877A開発キット (Ver1

FT-450D シリーズ MAIN ファームウェアアップデートマニュアル 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の アップデートファームウェアです FT-450 シリーズのアップデートには使用できません 八重洲無線株式会社

アカウント管理システム基本設計書

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

RN4020 を操作しよう 山本恵理 RN4020 を操作しよう : 準備編 RN4020 の操作を試す際の手軽な構成を図 1 に示します 以降は この構成で使用例を紹介します 図 1 RN4020 を試すオススメのシステム構成 RN4020 をブレットボードで使う準備 RN4020 のピッチパター

ハイサイド MOSFET の損失 どのような MOSFET でも 総損失は伝導損失とスイッチング損失の合計として求まります 低デューティでは コンバータスイッチング損失がハイサイド MOSFET の支配的な損失要因となる傾向にあります 降圧型コンバータのデューティサイクルは下式により表せます ハイサ

Section 15. Input Capture

Microsoft Word - Cubesuite+_78K0R.doc

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

DS01202B_JP

[参考資料] Bluetooth対応タブレットでインターネット(MSP1000)

AirPrint ガイド Version A JPN

Microsoft Word - Manage_Add-ons

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

著作権および商標 この文書には が所有権を持つ機密事項が含まれます この資料のいかなる部分も許 可無く複製 使用 公開することを固く禁じます 本書は の従業員および許可された 取引先だけに使用が認められています 本書で提供されたデータは正確で信頼性の高いものですが このデータの使用について株式会社

はじめに 本書は GRATINA2 とパソコンを指定の USB ケーブル ( 別売 ) を使用して接続し インターネット通信や au ホームページで公開している各種ツールをご利用になるための USB ドライバ のインストール方法を説明しています USB ドライバをインストールする 3 パソコンに接続

Smart-telecaster for iOS/Android ML ユーザーズガイド


Using L1 Cache on PIC32MZ Devices.recover.fm

ETCB Manual

Photo Sensor – 적외선 센서

目次 1. 概要 動作環境

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

LTE WiFi USBドングル ソフトウェアの更新手順

IFU-WLM2

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Microsoft Word - Cubesuite+_V850_AM.doc

世界最高水準の 8/16 ビット PIC マイクロコントローラの伝統を継承し PIC32 ファミリ誕生は 32 ビットの性能と大容量のメモリで複雑化を続ける組み込みシステム設計の課題を解決します 高性能と大容量メモリ RTOS タッチパネル 複雑なアプリケーション向け MHz 1.56 DMIPS

OPN Terminalの利用方法

Bluetooth MIDI 接続ガイド

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

はじめに 京セラ製スマートフォンを指定の microusb ケーブル ( 別売 ) またはこれと共通仕様の microusb ケーブル ( 別売 )( 以下 USB ケーブル ) と接続して USB テザリング機能をご使用いただくためには あらかじめパソコンに USB ドライバ をインストールしてい

ESOTERIC ASIO USB DRIVER インストールマニュアル Windows 用 システム推奨条件 2 インストールで使用する言語を選択して 次へ ボタンをクリックする Intel Core 2 Duo 以上のプロセッサー搭載コンピュータ 搭載メモリ 1GB 以上 対応 OS Windo

<4D F736F F D A F E E837D836A B5F >

目次 本書の取り扱いについて... 3 事前準備... 4 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のディスク領域を使う場合の起動方法 )... 5 MultiPoint Server 2011 OEM 版のインストール (OS リカバリー用のメデ

TM Bluetooth® Connector ユーザーズマニュアル

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc

Transcription:

注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います AN1861 Microchip 社の RN4020 モジュールと 16 ビット PIC マイクロコントローラを使った Bluetooth Smart 通信 Author: Venkatesh Bengeri and Pradeep Shamanna はじめに大部分の組み込みアプリケーションには アプリケーション環境をサポートするためにリアルタイム通信が必要です RS232 RN422 RS485 Ethernet 等の有線通信にはインフラストラクチャが必要であるため 容易には適用できません Wi-Fi と Bluetooth はローカル組み込みアプリケーションをルータ スマートフォン タブレット経由でクラウドに接続する ( サービスを呼び出す ) ための規格として登場しました IEEE 802.11 b/g/n/ac に基づく Wi-Fi はノート PC スマートフォン スマートマシンを含む各種アプリケーションの標準機能です Wi-Fi はデータ転送用に十分な帯域幅を提供しますが プロトコルスタックが重く 電力を多く消費します 最近 マンツーマンまたはマンツーマシン組み込みアプリケーション回路に適した低消費電力型の Wi-Fi が開発されました Bluetooth はスマートフォンやタブレット向けに簡便で一時的な接続を提供し 多くのAndroid およびiOS アプリケーションがサポートしています Bluetooth により オーディオストリーミングやデバイス間のデータ同期等のための接続を容易に無線化できます Bluetooth のデータ転送速度は初期 (Bluetooth 1.2) に 1 Mbps でしたが 後に EDR (Enhanced Data Rate) バージョン (Bluetooth 2.1 + EDR) によって 3 Mbps まで向上し 大容量ファイル転送をサポートするためさらに高速な HS バージョン (Bluetooth 3.0 + HS) へと進化しました 多くの組み込みアプリケーションでは センサからの間欠的なステータス読み出し等のために 簡易なコマンドと制御しか使いません これらの低デューティサイクルアプリケーションに対応するため Bluetooth Low Energy (BLE) が開発されました Bluetooth Smart 通信 Bluetooth Low Energy (Bluetooth Smart とも呼ぶ ) は Bluetooth 4.0 仕様の大きな特長の 1 つです Bluetooth Low Energy (BLE) は センサや使い捨て機器といった消費電力が制限されるアプリケーション向けに設計されています BLE により コイン電池で動作する低データスループットの低デューティサイクル機器を他のプロトコルよりも長く動作させる事ができます BLE の主な利点はデバイスが安価である事 MCU 処理要件が軽い事 メモリを削減できる事です また ボディエリアネットワーク (BAN) 関連のアプリケーションに非常に適しています (BAN とは 個人のネットワークと連動した コネクティビティバブル を表します ) BLE は クラシック Bluetooth テクノロジと同じ周波数帯 (2.400 ~ 2.4835 GHz ISM バンド ) で動作しますが チャンネルの構成が異なります クラシック Bluetooth は 1 MHz 間隔で 79 チャンネルを構成するのに対し Bluetooth Smart は 2 MHz 間隔で 40 チャンネルを構成します BLE は 1 つのチャンネル内で GFSK (Gaussian Frequency Shift Keying) 変調方式を使ってデータを転送します ( クラシック Bluetooth では FSK 変調方式を使用 ) BLE による無線通信の最大ビットレートは 1 Mbps 最大送信出力は 10 mw です Bluetooth とその仕様に関する詳細は 以下のウェブサイトが提供する Bluetooth Core Specification V4.0 を参照してください http://www.bluetooth.org. Microchip 社のRN4020 認証取得済みBluetooth Version 4.1 モジュールを使うと 低消費電力の無線接続機能をアプリケーション ( 製品 ) に追加できます この表面実装モジュールは完全な Bluetooth スタックを内蔵し 簡潔な ASCII コマンドを使って UART インターフェイス経由で制御できます RN4020 はほとんど全ての Bluetooth SIG 標準プロファイルに加えて ユーザ固有のシリアルデータ転送向けに Microchip 社の低消費電力データプロファイル (MLDP) を内蔵しています スクリプティング機能を使う事で ホストマイクロコントローラまたはプロセッサを必要としないスタンドアロン動作が可能です RN4020 の制御またはアップデートは 他のモジュールから安定した無線接続を介してリモートで実行する事も 内蔵 UART インターフェイスを介して実行する事もできます 2016 Microchip Technology Inc. DS00001861A_JP - p. 1

図 1 に PICtail ボードに実装した RN4020 モジュールを示します 図 1: PICtail ボードに実装した RN4020 モジュール 本書には以下の内容を記載しています RN4020 モジュールと PIC24FJ シリーズマイクロコントローラを使ったユーザアプリケーションプラットフォーム向けのフレームワーク 特に PIC24FJ128GA010 マイクロコントローラを使った場合の RN4020 モジュールとの接続 PIC マイクロコントローラから RN4020 モジュールを制御するための初期 ( またはリファレンス ) コード PICマイクロコントローラと RN4020 ジュールを連携させるための初期手順 本書の目的は Bluetooth 技術の原理や RN4020 モジュール向けコマンドの使い方を詳細に説明する事ではありません DS00001861A_JP - p. 2 2016 Microchip Technology Inc.

RN4020 モジュールと PIC24 MCU のインターフェイスフレームワーク本書は RN4020 モジュールと PIC24 (16 ビット ) マイクロコントローラ間の UART を介するコマンドを使った通信のインターフェイス要件とプロセスをお客様に素早く理解して頂く事を主な目的とします 図 2 に PIC24 MCU と RN4020 モジュールの連携を示します 入力または指令には Explorer 16 開発ボード上のスイッチを使います ステータスは 同ボード上の LCD と LED によって示されます 図 2: Bluetooth Smart 通信アプリケーションの構成 PIC 16-bit MCU (A) RN4020 Module (A) RN4020 Module (B) PIC 16-bit MCU (B) アプリケーションデモの要件以下では ハードウェアとデモの設定に必要なソフトウェア / ユーティリティについて説明します ハードウェア要件 本デモアプリケーションには以下のハードウェアを使います 2x BLE RN4020 PICtail /PICtail Plus ドータボード 2x Explorer 16 開発ボード Microchip 社製プログラミング / デバッグ用開発ツール (MPLAB REAL ICE MPLAB ICD 3 PICkit 3 のいずれか ) 2x 電源 (9 V/0.75 A または等価なバッテリパック ) PIC マイクロコントローラと RN4020 モジュールで構成したハードウェアインターフェイスは無線ノードと呼びます ( 図 3 参照 ) 無線ノードは Explorer 16 開発ボードと RN4020 ドータボードを組み合わせる事で構成できます あるいは ターミナルエミュレータプログラム (Windows OS 向けの TeraTerm MAC OS 向けの CoolTerm 等 ) を使って RN4020 モジュールを制御および監視する事ができます これにより RN4020 PICtail カードを使った各種の試験が行えます 本書に関連するアプリケーション ( デモソースコード ) は MPLAB ワークスペースとして Microchip 社ウェブサイト (http://www.microchip.com) からダウンロードできます コードは MPLABX IDE の下で Microchip XC16 コンパイラを使ってコンパイルします 本デモは 一方の Explorer 16 開発ボード上のスイッチを使ってコマンドを発行し その結果を他方の Explorer 16 開発ボード上の LCD に表示します ソフトウェア / ユーティリティ要件 RN4020 モジュールに基づく本デモアプリケーションを使うと Bluetooth BLE 対応組み込み無線ノード間の通信を評価できます デモアプリケーションにより これらのノードでセンサ アクチュエータシステム フィットネス / 健康管理機器等をエミュレートできます 2016 Microchip Technology Inc. DS00001861A_JP - p. 3

図 3 に アプリケーションデモで使う PIC24FJ128GA010 マイクロコントローラと RN4020 BLE モジュール間のピン接続を示します 図 3: マイクロコントローラと BLE モジュール間の接続 RN4020 BLE MODULE PIC24FJ128GA010 MICROCONTROLLER V DD (3.3V) GND UART_Tx(5) UART_Rx(6) U1Rx U1Tx V DD (3.3V) GND CMD/MLDP/PI04(8) RF0 RA4 LED_D7 MLDP_EV/CS/PI02(11) WAKE_SW/PI03(7) CONNECT_STATUS/ SCK/PI05 (10) CONNECT_ACTIVE/PI07 (19) GPIO (1) RF1 RF6 RF8 RA5 RD6 RD7 LED_D8 SW_S3 (SCROLL) SW_S6 (SELECT) Note 1: このピンはオプションであり 本デモアプリケーションでは使いません デモのハードウェア構成 RN4020 デモには 2 つの無線ノードが必要です 本デモでは 2 つの Explorer 16 開発ボードを使い それぞれに全く同じ RN4020 モジュールを実装した PICtail ボードを接続します つまり RN4020 モジュールを使った全く同じ 2 つの無線ノードを構成します RN4020 モジュールの詳細は Microchip 社ウェブサイト (http://www.microchip.com) を参照してください Explorer 16 開発ボードと RN4020 モジュールの接続 RN4020 モジュールを実装した PICtail ドータボードの 30 ピン PCB エッジコネクタ (J3) を Explorer 16 開発ボードの PICtail Plus コネクタに接続します これにより RN4020 モジュールへ 3.3 V 電源とマイクロコントローラからの 2/4 線 UART リセット 復帰 割り込み信号が接続されます 図 4 に Explorer 16 開発ボードに RN4020 モジュールを接続した状態を示します RN4020 モジュールを接続した Explorer 16 開発ボードの使い方とプログラミングに関する詳細は RN4020 PICtail /PICtail Plus Daughter Board User s Guide (DS50002265) を参照してください DS00001861A_JP - p. 4 2016 Microchip Technology Inc.

図 4 に RN4020 モジュールを取り付けた Explorer 16 開発ボードを示します 図 4: RN4020 モジュールを取り付けた Explorer 16 開発ボード 準備手順 以下の手順により RN4020 BLE モジュールを無線ノードとして構成します 1. RN4020 PICtail カードを Explorer 16 開発ボードの 30 ピンカードエッジコネクタに挿入します Explorer 16 開発ボードは RN4020 PICtail ドータカードのベースボードとして機能します 2. Explorer 16 開発ボード上の LCD には 無線ノードを設定および監視するための情報を表示できます 3. 9 V 電源を Explorer 16 開発ボードに接続します 4. プログラマまたはデバッガ (MPLAB ICD3/PICKIT3) を Explorer 16 開発ボードに接続します 5. ウェブサイトから入手したアプリケーションデモのソースコードを開きます 6. Release モードで 本アプリケーションデモ向けの 2 つのソースコードをコンパイルします 7. 適当なプログラマ (MPLAB ICD3 等 ) を使って 生成された.hex ファイルを 2 つの無線ノード (A と B) にプログラミングします Note: ソースコードのWinZipファイルに含まれているコンパイル済みの.hex ファイルが使えます MPLAB ICD 3 を使ったプログラミング / デバッグの詳細は MPLAB ICD 3 インサーキットデバッガユーザガイド (DS50002081) を参照してください Explorer 16 開発ボードの詳細は Explorer 16 開発ボードユーザガイド (DS51589) を参照してください 補遺 A ~ 補遺 C にはソースコード 関連ファイルの説明 セントラルノードとペリフェラルノードの main() 関数のコールグラフを記載しています さらに 各関数のコールグラフを生成する事で ソースコードをより深く理解する事ができます 2016 Microchip Technology Inc. DS00001861A_JP - p. 5

RN4020 デモアプリケーション RN4020 デモアプリケーションは以下の 2 手順で実行します 1. 一方のノードをセントラルとして設定し 他方をペリフェラルとして設定します 2. ノード A でスイッチ (S3 と S6) を押した時 ノード B でスイッチが ON または OFF して LED (D7 と D8) が点灯または消灯します 逆の場合も同じです 図 5 に BLE セントラル ( ノード A) のフローチャートを示します 図 5: BLE セントラル ( ノード A) Bluetooth Smart Central (Node A) Power on and Initialize ノード A をセントラルとして設定するデモコードを使って 最初の RN4020 モジュール ( モジュール A と呼ぶ ) をセントラル ( ノード A) として設定します これには以下のコマンドを使います 1. WAKE_SW を HIGH にしてコマンドモードへ移行します ( ドータボードではこれが既定値状態です ) 2. モジュール A のシリアルポートに接続したターミナルエミュレータを開き パラメータを以下のように設定します - baud レート : 115200 - データビット : 8 - パリティ : 1 - ストップビット : 1 - フロー制御 : ハードウェア 3. SF,1 // 工場設定へリセットします 4. SR,92000000 // デバイスをセントラル (MLDP をサポート UART フロー制御は有効 ) として設定します 5. R,1 // 変更した設定を反映するため再起動します No Factory Reset and Configure Reboot Assert WAKE_SW pin (Module enters Active mode) If in Scan Mode? Yes Search for Peripheral Device using Scroll Button (SW3) No If Peripheral Device found? (with relevant MAC ID) Yes Join or Connect (using SW6) Press Switch (Monitor LEDs on Node B) Monitor LEDs (When Switches are pressed in Node B) End DS00001861A_JP - p. 6 2016 Microchip Technology Inc.

図 6 と図 7 に コンフィグレーションモードとスキャンモード中のセントラル ( ノード A) を示します 図 6: コンフィグレーションモード中の BLE セントラルノード SW3 SCROLL SW6 SELECT 2016 Microchip Technology Inc. DS00001861A_JP - p. 7

図 7: スキャンモード中の BLE セントラルノード 図 8 に スクロール / 選択モード中の BLE セントラルノードを示します 図 9 に 接続モード中の BLE セントラルノードを示します 図 8: スクロール / 選択モード中の BLE セントラルノード DS00001861A_JP - p. 8 2016 Microchip Technology Inc.

図 9: 接続モード中の BLE セントラルノード 2016 Microchip Technology Inc. DS00001861A_JP - p. 9

ノード B をペリフェラルとして設定するデモコードを使って 2 つ目の RN4020 モジュール ( モジュール B と呼ぶ ) をペリフェラル ( ノード B) として設定します これには以下のコマンドを使います 1. WAKE_SWをHIGHにしてコマンドモードへ移行します ( ドータボードではこれが既定値状態です ) 2. モジュール B のシリアルポートに接続したターミナルエミュレータを開き パラメータを以下のように設定します - baud レート :115200 - データビット :8 - パリティ : 1 - ストップビット :1 - フロー制御 : ハードウェア 3. SF,1 // 工場設定へリセットします 4. SR,32000000 // デバイスを自動アドバタイズのペリフェラル (MLDP をサポート UART フロー制御は有効 ) として設定します 5. R,1 // 変更した設定を反映するため再起動します 図 10 に BLE ペリフェラル ( ノード B) のフローチャートを示します 図 10: BLE ペリフェラル ( ノード B) Bluetooth Smart Central (Node B) Power on and Initialize Factory Reset and Configure Reboot Assert WAKE_SW pin (Module enters Active mode) End PIC-CMD Mode No If in Auto-Adv.? Yes Wait for Connection Request from Node A No If Request Available? Yes Join or Connect Press Switch (Monitor LEDs on Node A) Monitor LEDs (When Switches are pressed in Node A) End DS00001861A_JP - p. 10 2016 Microchip Technology Inc.

図 11 と図 12 に コンフィグレーションモードと自動アドバタイズモード中の BLE ペリフェラル ( ノード B) を示します 図 11: コンフィグレーションモード中の BLE ペリフェラルノード 図 12: 自動アドバタイズモード中の BLE ペリフェラルノード 2016 Microchip Technology Inc. DS00001861A_JP - p. 11

図 13 に 接続時の BLE ペリフェラルノードを示します 図 13: 接続モード中の BLE ペリフェラルノード DS00001861A_JP - p. 12 2016 Microchip Technology Inc.

2 つのデバイスを接続するモジュール B を起動すると自動的にアドバタイズが始まり (SR コマンドによって自動アドバタイズ機能が有効になるため ) モジュール A は F コマンドを使ってモジュール B を検出します F // スキャンを開始します スキャン結果は MAC アドレス MAC アドレスの型 デバイス名 ( 例 : 00035B0358E6,0,MCHP-LE,-50) を表示します Xコマンドに続けてEコマンドを発行する事で スキャンを停止して接続を確立します X // スキャンを停止します E,0,00035B0358E6 // パブリック MAC アドレスが 0x00035B0358E6 のデバイスとの接続を確立します 図 14 に ターミナルエミュレータインターフェイスを使ったアプリケーションデモの構成を示します 図 14: LCD/ スイッチインターフェイスを使ったアプリケーションデモの構成図 LCD Display Block LCD Display Block Display Interface Display Interface Central (Node A) Peripheral (Node B) PIC 16-Bit MCU UART1 Interface RN4020 Module BT Smart Communication PIC 16-Bit MCU UART1 Interface RN4020 Module I/O Block (LEDs/ Switches) I/O Block (LEDs/ Switches) 2016 Microchip Technology Inc. DS00001861A_JP - p. 13

MLDP モードの詳細 CMD/MLDP ピンを HIGH にして MLDP モードに移行すると UART からのデータは全てデータストリームとしてピアデバイスに送信されます MLDP モードを終了するには CMD/MLDP ピンを LOW にします RN4020 モジュールは UART に CMD を出力してコマンドモードに戻ります MLDP シリアルデータサービスを使う場合 CMD/MLDP ピン ( ピン 8) を使って RN4020 を制御します MLDP コマンドの詳細は RN4020 Bluetooth Low Energyモジュールユーザガイド (DS70005191) を参照してください パブリックサービスのキャラクタリスティックにアクセスできる事を確認したら MLDP サービスを開始できます MLDP サービスはプライベートサービスの最上部に位置しますが UART を介してプライベートキャラクタリスティックに対するバイナリデータの読み書きをルーティングする事により 透過的に機能します 2 つの RN4020 デバイス間で MLDP サービスを使うには 両方のデバイスで SR コマンドを使って MLDP を有効にする必要があります MLDP モードは MLDP を有効にした 2 つの RN4020 モジュールを互いに接続した場合にのみ開始できます MLDP モードは以下の手順により開始します 1. CMD/MLDP ピンを HIGH にします RN4020 モジュールは文字列 MLDP で応答する事で MLDP モードの開始を知らせます 2. MLDP モードになると UART からのデータは全てピアデバイスへ送信されます 3. AUTO_MLDP_DISABLE 機能を無効にしている場合 RN4020 モジュールはピアから MLDP データを受信している時に自動的にMLDPモードに移行します それ以外の場合 CMD/MLDP を HIGH にしてMLDPモードに移行するまで全てのデータが無視されます 4. モジュール A から CMD/MLDP ピンを HIGH にアサートし MLDP が UART へ出力されるまで待機します モジュール B が MLDP を出力した場合 モジュール A の UART 上で入力された内容は全てモジュール B の UART 上で表示されます 逆の場合も同じです Note: MLDP モードを終了するには CMD/MLDP ピンを LOW にします するとモジュールは文字列 CMD で応答します これは UART 上に出力され RN4020 モジュールがコマンドモードに戻った事を示します ホストコントローラは モジュールの UART 上で利用可能なコマンドと応答を解釈する必要があります 5. モジュール B の CMD/MLDP ピンを LOW にします (WAKE_HW および CMD/MLDP ピンには弱プルダウン抵抗があるため HIGH にしなければ LOW の状態を維持します ) 6. モジュール A で ステータスの変更がホストに通知されます しかしモジュール A は現在 MLDP モードであり 出力 MLDP データのみが UART に送信されます 代わりに PIO2 が HIGH になって RN4020 PICtail ボードの赤色 LED (MLDP_EV) が点灯し UART 経由でホストマイクロコントローラへ送信するステータスメッセージが保留中である事を知らせます 7. CMD/MLDP ピンを LOW にしてコマンドモードを開始すると ステータスメッセージが UART に出力されます ステータスメッセージは最大で 256 バイトまでバッファで保持可能です DS00001861A_JP - p. 14 2016 Microchip Technology Inc.

デモの実行既に説明したように BLE プラットフォームが通信するには一方のノードをペリフェラルとして設定し 他方のノードをセントラルとして設定する必要があります 以下の手順により 2 つの無線 BLE ノードをプログラミング 接続 試験します 1. 一方のボードには BLE_Peripheral.X.production.hex ファイルを使ってプログラミングし 他方のボードには BLE_Central.X.production.hex ファイルを使ってプログラミングします 2. プログラミング後は ペリフェラルデバイスは自動アドバタイズモードで動作し セントラルデバイスはスキャンモードで動作します 3. セントラルノードでは LCD を監視用に使い 2 個のスイッチをペリフェラルノードのスクロール / 選択用に使います 4. スイッチ SW3 を使って特定のペリフェラルノードが表示されるまでスクロールします 5. スイッチ SW6 を使って表示中のペリフェラルノードを選択します 6. 選択したペリフェラルノードがセントラルノードへ接続され RN4020 PICtail ボード上の緑 (CONN) LED が点灯します 7. 両方のモジュールは MLDP モードへ切り換わります 8. ペリフェラルまたはセントラルノードでスイッチ S3 または S6 を押すと 他方のノードの LED D9 または D10 が点灯または消灯します 図 15 に MLDP モードで接続したセントラルおよびペリフェラルノードを示します 図 15: MLDP モードで接続したセントラルおよびペリフェラルノード BLE SMART COMMUNICATION 2016 Microchip Technology Inc. DS00001861A_JP - p. 15

NOTE: DS00001861A_JP - p. 16 2016 Microchip Technology Inc.

補遺 A: ソースコード 本書に関連する全てのソフトウェアは 1 つの WinZip アーカイブファイルに収められています このファイルは Microchip 社ウェブサイト (www.microchip.com) からダウンロードできます ソフトウェアライセンス使用許諾 Microchip Technology Incorporated ( 以下 弊社 ) が提供するソフトウェアは 弊社製品との組み合わせでのみ使われる事を目的として弊社のお客様に供給されます ソフトウェアの所有権は弊社および / またはソフトウェアのサプライヤに帰属し 適用著作権法のもとに保護されています 無断複写 複製 転載は禁じられています 上記の制約に違反してソフトウェアを使った場合 使用者はライセンス使用許諾の侵害に対して民事責任を問われ 適用法のもとに罰せられます 本ソフトウェアは 無条件受け取り を条件として提供されます 本ソフトウェアの商品性および特定目的に対する適合性の黙示保証を含む ( ただし必ずしもこれらに限定されない ) 明示 暗示 法的な保証は一切致しません 弊社は いかなる場合も 特殊 偶発的 必然的にかかわらず いかなる理由があろうとも 一切の賠償責任を負いません 2016 Microchip Technology Inc. DS00001861A_JP - p. 17

補遺 B: ソースコードファイル一覧 表 1 に セントラルノード ( ノード A) 向けのソースファイルを示します 表 1: セントラルノード向けソースファイル ファイル名 ファイルタイプ 概要 Central.c および.h ファイル セントラルノードのコマンドステートマシン Central_string.c および.h ファイル セントラルノードに必要なコマンドおよび応答文字列 Config.h ファイル PIC24F デバイスの設定 Config_fuse.c ファイル PIC24F を設定するために使うコンフィグレーションヒューズ LCD.c および.h ファイル LCD インターフェイス Main.c および.h ファイル PIC24F デバイスの初期化 UART.c および.h ファイル RN4020 向け UART ドライバインターフェイス 表 2 に ペリフェラルノード ( ノード B) 向けのソースファイルを示します 表 2: ペリフェラルノード向けソースファイル ファイル名 ファイルタイプ 概要 ADC.c および.h ファイル 本デモアプリケーションでは使いません Config.h ファイル PIC24F デバイスの設定 Config_fuse.c ファイル PIC24F を設定するために使うコンフィグレーションヒューズ LCD.c および.h ファイル LCD インターフェイス Main.c および.h ファイル PIC24F デバイスの初期化 Peripheral.c および.h ファイル ペリフェラルノードのコマンドステートマシン Peripheral_string.c および.h ファイル ペリフェラルノードに必要なコマンドおよび応答文字列 UART.c および.h ファイル RN4020 向け UART ドライバインターフェイス DS00001861A_JP - p. 18 2016 Microchip Technology Inc.

補遺 C: ソースコードのコールグラフ 図 C-1 に セントラルノード向けアプリケーションコード内の main() ルーチンから呼び出される関数を示します 図 C-1: セントラルノードのコールグラフ 2016 Microchip Technology Inc. DS00001861A_JP - p. 19

図 C-2 に ペリフェラルノード向けアプリケーションコード内の main() ルーチンから呼び出される関数を示します 図 C-2: ペリフェラルノードのコールグラフ DS00001861A_JP - p. 20 2016 Microchip Technology Inc.

補遺 D: 参考資料 本書内で参照した文書の一覧を以下に記載します Microchip 社の文書 RN4020 Bluetooth Low Energy モジュール (DS50002279) RN4020 Bluetooth Low Energy モジュールユーザガイド (DS70005191) RN4020 PICtail /PICtail Plus Board User s Guide (DS50002265) Explorer 16 開発キットユーザガイド (DS50001589) PIC24FJ128GA010 Family Data sheet (DS39747F) MPLAB ICD 3 インサーキットデバッガユーザガイド (DS50002081) まとめ本書は Microchip 社製 Bluetooth 製品をお使いのお客様に Bluetooth Low Energy (BLE) と Microchip 社製 BLE RN4020 モジュールの基礎知識を提供します また 16 ビット PIC マイクロコントローラを使って RN4020 モジュールをセントラルノードとペリフェラルノードとして動作させるためのサンプルコードも提供します インターフェイスとサンプルコードは 任意のユーザアプリケーションまたはプロジェクト向けのフレームワークとして使う事もできます その他の文書 Bluetooth Core Specification 4.1 Adopted Documents: https://www.bluetooth.org/en-us/specification/ adopted-specifications Bluetooth 4.1 GATT Definitions Browser: https://developer.bluetooth.org/gatt/pages/ Definition-Browser.aspx 2016 Microchip Technology Inc. DS00001861A_JP - p. 21

NOTE: DS00001861A_JP - p. 22 2016 Microchip Technology Inc.

Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください Microchip 社製品は 該当する Microchip 社データシートに記載の仕様を満たしています Microchip 社では 通常の条件ならびに仕様に従って使用した場合 Microchip 社製品のセキュリティレベルは 現在市場に流通している同種製品の中でも最も高度であると考えています しかし コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です 弊社の理解ではこうした手法は Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります このような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます Microchip 社は コードの保全性に懸念を抱くお客様と連携し 対応策に取り組んでいきます Microchip 社を含む全ての半導体メーカーで 自社のコードのセキュリティを完全に保証できる企業はありません コード保護機能とは Microchip 社が製品を 解読不能 として保証するものではありません コード保護機能は常に進歩しています Microchip 社では 常に製品のコード保護機能の改善に取り組んでいます Microchip 社のコード保護機能の侵害は デジタルミレニアム著作権法に違反します そのような行為によってソフトウェアまたはその他の著 本書に記載されているデバイスアプリケーション等に関する情報は ユーザの便宜のためにのみ提供されているものであり 更新によって無効とされる事があります お客様のアプリケーションが仕様を満たす事を保証する責任は お客様にあります Microchip 社は 明示的 暗黙的 書面 口頭 法定のいずれであるかを問わず 本書に記載されている情報に関して 状態 品質 性能 商品性 特定目的への適合性をはじめとする いかなる類の表明も保証も行いません Microchip 社は 本書の情報およびその使用に起因する一切の責任を否認します Microchip 社の明示的な書面による承認なしに 生命維持装置あるいは生命安全用途に Microchip 社の製品を使用する事は全て購入者のリスクとし また購入者はこれによって発生したあらゆる損害 クレーム 訴訟 費用に関して Microchip 社は擁護され 免責され 損害をうけない事に同意するものとします 暗黙的あるいは明示的を問わず Microchip 社が知的財産権を保有しているライセンスは一切譲渡されません 商標 Microchip 社の名称と Microchip ロゴ dspic FlashFlex KEELOQ KEELOQ ロゴ MPLAB PIC PICmicro PICSTART PIC 32 ロゴ rfpic SST SST ロゴ SuperFlash UNI/O は 米国およびその他の国における Microchip Technology Incorporated の登録商標です FilterLab Hampshire HI-TECH C Linear Active Thermistor MTP SEEVAL Embedded Control Solutions Company は 米国における Microchip Technology Incorporated の登録商標です Silicon Storage Technology は その他の国における Microchip Technology Incorporated の登録商標です Analog-for-the-Digital Age Application Maestro BodyCom chipkit chipkit ロゴ CodeGuard dspicdem dspicdem.net dspicworks dsspeak ECAN ECONOMONITOR FanSense HI-TIDE In-Circuit Serial Programming ICSP Mindi MiWi MPASM MPF MPLAB 認証ロゴ MPLIB MPLINK mtouch Omniscient Code Generation PICC PICC-18 PICDEM PICDEM.net PICkit PICtail REAL ICE rflab Select Mode SQI Serial Quad I/O Total Endurance TSHARC UniWinDriver WiperLock ZENA Z-Scale は 米国およびその他の国における Microchip Technology Incorporated の登録商標です SQTP は 米国における Microchip Technology Incorporated のサービスマークです GestICとULPPは その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG (Microchip Technology Incorporated の子会社 ) の登録商標です その他 本書に記載されている商標は各社に帰属します 2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-63277-969-4 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == Microchip 社では Chandler および Tempe ( アリゾナ州 ) Gresham ( オレゴン州 ) の本部 設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています Microchip 社の品質システムプロセスおよび手順は PIC MCU および dspic DSC KEELOQ コードホッピングデバイス シリアル EEPROM マイクロペリフェラル 不揮発性メモリ アナログ製品に採用されています さらに 開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています 2016 Microchip Technology Inc. DS00001861A_JP - p. 23

各国の営業所とサービス 北米本社 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel:480-792-7200 Fax:480-792-7277 技術サポート : http://www.microchip.com/ support URL: www.microchip.com アトランタ Duluth, GA Tel:678-957-9614 Fax:678-957-1455 オースティン (TX) Tel:512-257-3370 ボストン Westborough, MA Tel:774-760-0087 Fax:774-760-0088 シカゴ Itasca, IL Tel:630-285-0071 Fax:630-285-0075 クリーブランド Independence, OH Tel:216-447-0464 Fax:216-447-0643 ダラス Addison, TX Tel:972-818-7423 Fax:972-818-2924 デトロイト Novi, MI Tel:248-848-4000 ヒューストン (TX) Tel:281-894-5983 インディアナポリス Noblesville, IN Tel:317-773-8323 Fax:317-773-5453 ロサンゼルス Mission Viejo, CA Tel:949-462-9523 Fax:949-462-9608 ニューヨーク (NY) Tel:631-435-6000 サンノゼ (CA) Tel:408-735-9110 カナダ - トロント Tel:905-673-0699 Fax:905-673-6509 アジア / 太平洋アジア太平洋支社 Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel:852-2943-5100 Fax:852-2401-3431 オーストラリア - シドニー Tel:61-2-9868-6733 Fax:61-2-9868-6755 中国 - 北京 Tel:86-10-8569-7000 Fax:86-10-8528-2104 中国 - 成都 Tel:86-28-8665-5511 Fax:86-28-8665-7889 中国 - 重慶 Tel:86-23-8980-9588 Fax:86-23-8980-9500 中国 - 東莞 Tel:86-769-8702-9880 中国 - 杭州 Tel:86-571-8792-8115 Fax:86-571-8792-8116 中国 - 香港 SAR Tel:852-2943-5100 Fax:852-2401-3431 中国 - 南京 Tel:86-25-8473-2460 Fax:86-25-8473-2470 中国 - 青島 Tel:86-532-8502-7355 Fax:86-532-8502-7205 中国 - 上海 Tel:86-21-5407-5533 Fax:86-21-5407-5066 中国 - 瀋陽 Tel:86-24-2334-2829 Fax:86-24-2334-2393 中国 - 深圳 Tel:86-755-8864-2200 Fax:86-755-8203-1760 中国 - 武漢 Tel:86-27-5980-5300 Fax:86-27-5980-5118 中国 - 西安 Tel:86-29-8833-7252 Fax:86-29-8833-7256 アジア / 太平洋中国 - 厦門 Tel:86-592-2388138 Fax:86-592-2388130 中国 - 珠海 Tel:86-756-3210040 Fax:86-756-3210049 インド - バンガロール Tel:91-80-3090-4444 Fax:91-80-3090-4123 インド - ニューデリー Tel:91-11-4160-8631 Fax:91-11-4160-8632 インド - プネ Tel:91-20-3019-1500 日本 - 大阪 Tel:81-6-6152-7160 Fax:81-6-6152-9310 日本 - 東京 Tel:81-3-6880-3770 Fax:81-3-6880-3771 韓国 - 大邱 Tel:82-53-744-4301 Fax:82-53-744-4302 韓国 - ソウル Tel:82-2-554-7200 Fax:82-2-558-5932 または 82-2-558-5934 マレーシア - クアラルンプール Tel:60-3-6201-9857 Fax:60-3-6201-9859 マレーシア - ペナン Tel:60-4-227-8870 Fax:60-4-227-4068 フィリピン - マニラ Tel:63-2-634-9065 Fax:63-2-634-9069 シンガポール Tel:65-6334-8870 Fax:65-6334-8850 台湾 - 新竹 Tel:886-3-5778-366 Fax:886-3-5770-955 台湾 - 高雄 Tel:886-7-213-7828 台湾 - 台北 Tel:886-2-2508-8600 Fax:886-2-2508-0102 タイ - バンコク Tel:66-2-694-1351 Fax:66-2-694-1350 ヨーロッパオーストリア - ヴェルス Tel:43-7242-2244-39 Fax:43-7242-2244-393 デンマーク - コペンハーゲン Tel:45-4450-2828 Fax:45-4485-2829 フランス - パリ Tel:33-1-69-53-63-20 Fax:33-1-69-30-90-79 ドイツ - デュッセルドルフ Tel:49-2129-3766400 ドイツ - ミュンヘン Tel:49-89-627-144-0 Fax:49-89-627-144-44 ドイツ - プフォルツハイム Tel:49-7231-424750 イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781 イタリア - ベニス Tel:39-049-7625286 オランダ - ドリューネン Tel:31-416-690399 Fax:31-416-690340 ポーランド - ワルシャワ Tel:48-22-3325737 スペイン - マドリッド Tel:34-91-708-08-90 Fax:34-91-708-08-91 スウェーデン - ストックホルム Tel:46-8-5090-4654 イギリス - ウォーキンガム Tel:44-118-921-5800 Fax:44-118-921-5820 01/27/15 DS00001861A_JP - p. 24 2016 Microchip Technology Inc.