zigbee appguide.ppt [n c 0 0 0 ] - skyleymessage box (fifo) zigbee スタック内部の...

34
ZigBeeアプリケーション構築ガイド © 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 1 スカイリー・ネットワークス

Upload: others

Post on 09-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

ZigBeeアプリケーション構築ガイド

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 1

スカイリー・ネットワークス

Page 2: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

スタックアーキテクチャ

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 2

スタックアーキテクチャ

Page 3: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

1. 各層は「メッセージボックス」経由でイベントを交換します=レイヤ間は疎結合

2. SK_Base_Main()関数を周期的に呼び出すことでスタック各層の処理が行われます。

ZigBeeスタックの基本構造

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 3

3. ZDOとAPS 層がアプリケーションで使う主な関数を提供します。 それぞれ各関数の先頭に “SK_ZDO” または“SK_APS“と接頭辞が付きま

す。

4. アプリケーションに公開されているタイマは 1tick = 10msecです。

5. OSレスですが、擬似的な同期・スリープ処理のためのマクロが提供されています。

Page 4: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_PostMessage SK_GetMessage

送受信のためのデータ、

メッセージボックス

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 4

Message Box (FIFO)

送受信のためのデータ、ZigBeeスタック内部の

イベント、プリミティブなどはすべてMessageBoxに格納される。

NWK MAC PHY

各エントリは、宛先レイヤの情報を保持している

Page 5: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_AllocDataMemory((SK_VP *)&tNstrReq);

tNstrReq->m_BeaconOrder = gBeaconOrder;

tNstrReq->m_SuperframeOrder = gSuperframeOrder;

バッファからメモリ領域を確保する

コマンドの引数を設定する

PostMessage

START_REQUESTコマンドを発行する例:

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 5

tNstrReq->m_SuperframeOrder = gSuperframeOrder;

tNstrReq->m_BatteryLifeExtension = 0;

SK_PostMessage(

SK_LAYER_NWK,

SK_LAYER_APL,

SK_NLME_START_ROUTER_REQUEST_CMD,

(SK_VP)tNstrReq);

コマンドをPostMessage関数でFIFOに格納する。宛先レイヤは NWK層, 発行元はAPL層, コマンドはNLME-START-ROUTER.REQUEST

Page 6: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_GetMessage(

SK_LAYER_MAC,

&nResID,

&nCmd,

コマンド発行先のレイヤ

発行元レイヤ

GetMessage

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 6

&nCmd,

(SK_VP *)&pPkt )

発行元レイヤ

発行されたコマンド番号

発行されたコマンドへのポインタ

Page 7: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

アプリケーション

オブジェクト

ZigBeeデバイス

オブジェクト(ZDO)

エンドポイント(EP)

アプリケーションが普段使う機能は、関数とコー

ルバックで提供

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 7

アプリケーションサポートレイヤ(APS)

ネットワークレイヤ(NWK)

MACレイヤ(MAC)

PHYレイヤ

Post&

GetM

essage

Page 8: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

NWK Layer

MAC Layer• 10 Discovered Pan Tables, with 25 bytes for each table.

• 16 Routing Tables, with 12 bytes for each table.

• 10 Neighbor Tables, with 40 bytes for each table.

スタック内部の主なテーブル

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 8

⇒スタックのリビルドによってサイズの変更が可能

Generic• 16 Packet Buffers, with 160 bytes for each buffer.

• 8 Command Buffers, with 16 bytes for each buffer.

APS Layer• 5 Application Object Tables, with 24 bytes for each table.

Page 9: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

アプリケーションオブジェクトとクラスター

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 9

アプリケーションオブジェクトとクラスター

Page 10: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

クラスターIDとは

アプリケーションアプリケーションアプリケーションアプリケーション アプリケーションアプリケーションアプリケーションアプリケーション

•送受信するデータの「意味」を表す番号です。•アプリケーションはクラスター番号を見て、その受信したデータが何のためのデータであるかを判断します。

Out Cluster In Cluster

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 10

アプリケーションアプリケーション

オブジェクト

エンドポイント(EP) エンドポイント(EP)

アプリケーションアプリケーション

オブジェクトアプリケーションアプリケーション

オブジェクト

アプリケーションアプリケーション

オブジェクト

0 128 0 128

Out Cluster In Cluster

Out ClusterIn Cluster

Page 11: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

クラスターIDとは

•Endpoint 0番はZDOによって予約されています•ZDOが利用するクタスター番号の例

0x0000: //NWK_addr_req0x0001: //IEEE_addr_req0x0002: //Node_Desc_req0x0003: //Power_Desc_req

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 11

0x0003: //Power_Desc_req0x0004: //Simple_Desc_req0x0005: //Active_EP_req0x0006: //Match_Desc_req…

Endpoint 0番に対するクタスター番号0x0001番の送信は、「NWKアドレスを応答せよ」という意味

Page 12: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

クラスターIDの連携

•例:SK_ZDO_Simple_Desc_req•指定したエンドポイントのアプリケーションオブジェクトでサポートされている、Input ClusterとOutput Clusterの一覧を得る

•例:SK_UB SK_ZDO_Match_Desc_req•指定したクラスターの一覧をサポートするアプリケーションオブジェクトを応答する

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 12

未知のZigBee端末にどんな機能があるかを知ることができる

クラスター番号とデータ構造の対を公開する=インターフェイスの公開

を応答する

Page 13: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

•ZigBeeでは、アプリケーションのことをアプリケーションオブジェクトと呼びます。•アプリケーションオブジェクトは、動作前にZigBeeスタックに対して「登録」が必要です。•登録はSK_APS_RegisterObject関数によって行います。

アプリケーションオブジェクト①

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 13

SK_APS_RegisterObject(1, APS_DataReceived);

Endpoint number Data receiving handler(callback function)

Page 14: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_APS_APPLICATION_OBJECT app;

app.m_Callback = APS_DataReceived;app.m_ApplicationID = 0x0000;

アプリケーションオブジェクト②

•プロファイルとして登録するには、ProfileID, クラスターIDリストを与える必要があります。

•登録はSK_APS_StandardRegisterObject関数によって行います。

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 14

app.m_ApplicationID = 0x0000;app.m_ProfileID = 0x7f01;app.m_DeviceID = 0x0000;

app.m_InputClusterCount = 0x02;app.m_InputClusterList[0] = 0x0004;app.m_InputClusterList[1] = 0x0054;

app.m_OutputClusterCount = 0x02;app.m_OutputClusterList[0] = 0x0001;app.m_OutputClusterList[1] = 0x0002;

SK_APS_RegisterStandardObject(1, &app);

Page 15: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

プロファイルとしてのアプリケーション

1. Profile IDを決める1. パブリックプロファイルとの重複は×2. 認証を取得する場合、ZigBee Allianceから固有のProfile IDの

割り当てを受ける必要があります2. エンドポイントを決める3. 入力クラスター、出力クラスター番号のリストを決める4. 各クラスターの処理内容を定義する

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 15

4. 各クラスターの処理内容を定義する5. SK_APS_APPLICATION_OBJECT構造体を上記内容でセットアップ

する6. SK_APS_StandardRegisterObject関数にてスタックに登録し、実行

開始する。

Page 16: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

サンプルプログラム

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 16

サンプルプログラム

Page 17: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

サンプルプログラムの主な機能

• ノード設定ツールにより挙動を設定できる– 起動時に特定アドレスから設定値を読み込んでいる

• 定期的に内蔵の温度センサ情報を送信• ネットワーク構成をネットワークビューアで表示できる

– 温度情報とともに経路情報をコーディネータに送信

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 17

– 温度情報とともに経路情報をコーディネータに送信• コーディネータは受信したパケットの情報をシリアルポートへ出力

• シリアルポートからハイパーターミナル等を使用することでコマンドの発行が可能

Page 18: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

リセット

Hardware initialization

ノード設定ツールで設定したパラメータの読み込み

PANに接続済

?

No

Yes

サンプルプログラムフローチャート

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 18

ネットワーク探索

とPAN接続

No

データ送

信周期?

温度データと経路情報

送信

タイマクリア

Yes

No

Page 19: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

// ====================================================-// Hardware initialization

•Hardware_Initialize() を呼び出してハードウェアを初期化•SK_Base_Init()関数を、MACアドレスと共に呼び出して、ZigBeeスタック全体を初期化

スタックの初期化

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 19

// Hardware initialization// ====================================================-Hardware_Initialize();

// ====================================================-// Protocol stack initialization// ====================================================-// Specify a MAC address (Extended)//SK_Base_Init(0x00000000, 0x00000001);

Page 20: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

アプリケーションの基本構造

while(1) {//heartbeatSK_Base_Main();

//Process input from PC (UART)Interface();

//Body of periodical scanningScanMain();

//Body of sample application

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 20

//Body of sample applicationAppMain();}

SK_Base_Main() ZigBeeスタックメインInterface() シリアルポート処理AppMain() アプリケーションScanMain() PAN探索と接続

各関数は待ち時間なく終了しメインループを回す必要があります

Page 21: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

メインループの中でSK_Base_Main() 関数を周期的に呼び出す必要があります。→ビジーループによって処理の完了を待ってはいけません→時間がかかる計算で関数が意図ぜずブロックしてしまう可能性に注意

SK_Base_Main関数

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 21

//Main loopwhile(1) {

SK_Base_Main()SK_Base_Main()SK_Base_Main()SK_Base_Main();;;;SampleApplication();

}

Page 22: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

ScanMain関数の中で周期的に接続を確認接続済の場合、gnSK_NWK_isJoiningフラグが1になります

PAN探索と接続

if( gNodeParams.m_DeviceType == DEVICE_ROUTER && gnSK_NWK_isJoining == FALSE ){

SK_ZDO_NetworkDiscovery(gnSK_APS_apsChannelMask, 4, ZDO_Discovery);

SK_SLEEP(1000, SCAN_MAIN, 3);

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 22

SK_SLEEP(1000, SCAN_MAIN, 3);}

Page 23: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

PAN探索と接続

ZDO_Discoveryコールバックにて、発見したPANが通知される

SK_ZDO_NetworkDiscoveryを発行

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 23

SK_ZDO_Join関数を呼び出して接続処理を開始する

ZDO_Joinコールバックにて、接続結果が通知される

Page 24: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_ER SK_APS_Data_req(SK_UB DstAddrMode,SK_ADDRESS_UNION DstAddress,SK_UB DstEndpoint,SK_UH ProfileId,SK_UB ClusterId,

AppMain関数内で周期的に温度データと経路情報を送信データの送信にはAPS層の SK_APS_Data_req 関数を使います

データの送信

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 24

SK_UB ClusterId,SK_UB SrcEndpoint,SK_UB asduLength,SK_UB* Asdu,SK_UB TxOptions,SK_UB DiscoverRoute,SK_UB RadiusCounter,void (*WaitProc)(SK_VP) )

引数がたくさんありますが、まずはDstAddress と DstEndpointに注目します。

Page 25: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

Endpoint =1 Endpoint =240 Endpoint =127

Network address = 0x0002

データの送信

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 25

SK_APS_Data_req(

SK_ADDRMODE_SHORT,0x0001, //Destination address1, //DstEndpoint,0x1234, //ProfileId,0x01, //ClusterId,127, //SrcEndpoint,length,buf,0,1, //Use mesh routing or not.10, //RadiusCounter,APS_DataConf);

Network address = 0x0001

Page 26: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

�関数呼び出しからリターンした時点では、実際の送信はされていません。(バッファリングのみ)�送信完了と共に第12引数で指定した関数がコールバックされ、送信ステータスが通知されます。�必ず送信完了コールバックを待ってから次の呼び出しを行う必要があります。

データ送信の注意点

0xAD 対応するリンクキーが見つからず暗号化に失敗した場合。

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 26

0xAD 対応するリンクキーが見つからず暗号化に失敗した場合。またはトラスト・センターによる認証を受ける前に暗号通信を行おうとした場合。

0xB0 何らかの理由で送信要求がタイムアウトした場合

0xC2 未接続状態でデーター送信を行おうとした時のようにデバイスの送信条件が整っていない場合

0xCD 対応するセキュリティキーが見つからず暗号化に失敗した場合

0xD2 ブロード・キャスト・テーブルメモリーがオーバーした場合。

0xD3 送信先までの経路が不明なため送信データが破棄され、代わりに経路発見を起動した場合

0xE9 送信相手からのMAC層ACKの受信に失敗した場合

Page 27: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

データの受信

SK_APS_APPLICATION_OBJECT app;

app.m_Callback = APS_DataReceived;app.m_ApplicationID = 0x0001;app.m_ProfileID = 0x1234;app.m_DeviceID = 0x9876;app.m_InputClusterCount = 0;app.m_OutputClusterCount = 0;

//Bind to endpoint 1SK_APS_RegisterStandardObject(1, &app);

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 27

�自分宛のデータを受信する度に、アプリケーションオブジェクト登録時に指定した関数がコールバックされます。

�引数は1つで、SK_APSDE_DATA_INDICATION構造体へのポインタが渡されます。

�中継データはコールバックされません。

SK_APS_RegisterStandardObject(1, &app);

Page 28: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

サンプルプログラムにおけるクラスターの使われ方

BANK_main void APS_DataReceived(SK_VP pResPkt) {SK_APSDE_DATA_INDICATION *AdInd;

AdInd = (SK_APSDE_DATA_INDICATION *)pResPkt;

if( AdInd->m_ClusterId == 1 ){

} else if( AdInd->m_ClusterId == 2 ){・・・

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 28

・・・

0x0001 温度データ

0x0002 ネットワークビューワ用経路情報

0x0003 ノード設定ツールのオンラインモードにおけるパラメータ設定

0x0004 ノード設定ツールのオンラインモードにおける遠隔コマンド実行

0x00FF メニューコマンドのメッセージ送信

Page 29: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_STATESTART(MSAMPLE); (1)

void MacroSample() {SK_UB counter; (2)SK_STATEADD(MSAMPLE, 1); (3)

while(1){

同期処理

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 29

while(1){counter++; (4)SK_SLEEP(100, MSAMPLE, 1);(5)SK_print_hex(counter, 2);

if( counter == 10 ) {SK_print("Ten count!!"); (6)break;

}}SK_STATEEND(MSAMPLE); (7)

}

Page 30: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

SK_STATESTART(MSAMPLE); (1)

void MacroSample() {static SK_UB counter; (2)SK_STATEADD(MSAMPLE, 1); (3)

while(1){

同期処理

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 30

while(1){counter++; (4)SK_SLEEP(100, MSAMPLE, 1);(5)SK_print_hex(counter, 2);if( counter == 10 ) {

SK_print("Ten count!!"); (6)break;

}}SK_STATEEND(MSAMPLE); (7)

}

Page 31: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

•MCUの初期化、クロック設定

•UART、CSIの初期化

•タイマ割り込み設定

•A/D、RTC等

プロジェクト構成

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 31

•無線ICの初期化

•無線ICとMCU間の通信制御

•無線ICの省電力制御

Page 32: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

ファイル構成

レイヤ名 ファイル名 内容

PHY層 prot_phy.c UZ2400の初期化、レジスタ設定、RFのデータ送受信、スリープ制御などUZ2400に依存する関数が記述されています。

MAC層 prot_mac.c MAC 層のメインソースファイルで、 IEEE802.15.4のMAC機能を実現するプログラムが記述されています。

prot_util_mac.c IEEE 802.15.4のPIB値を設定・取得する関数、802.15.4フレームヘッダの解析・構築用関数、

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 32

802.15.4フレームヘッダの解析・構築用関数、GTS関連処理が含まれます。

Network層 prot_nwk.c ネットワーク層のメインソースファイルで、ネットワーク層の機能を実現するプログラムが記述されています。

prot_routing_nwk.c ネットワーク層機能のうち、データを受信した際の上位層へのディスパッチと転送計算が記述されています。

prot_parse_nwk.c ネットワーク層フレームヘッダの解析・構築用関数が記述されています。

prot_tables_nwk.c ネットワーク層が保持する各種テーブルの初期化とテーブル操作が記述されています。

Page 33: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

ファイル構成APS層 prot_aps.c APS層のメインソースファイルで、APS層の機能

を実現するプログラムが記述されています。

prot_header_aps.c APS層フレームヘッダの解析・構築用関数が記述されています。

ZDO層 prot_zdo.c ZDO層のメインソースファイルで、ZDOサービスのクライアント側処理が記述されています。

prot_server_zdo.c ZDOサービスのサーバ側処理が記述されています。

AF層 prot_af.c AF層のメインソースファイルで、AF層が提供する各種DescriptorやCapability情報を構築する

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 33

る各種DescriptorやCapability情報を構築するための関数が記述されています。

Security層

prot_sec.c ペイロードの暗号化・復号化用関数、各種セキュリティヘッダの解析・構築用関数が記述されています。

rijndael-alg-fst.c AES 128bit CCM* 暗号化・復号化を行う関数が記述されています。

フ レ ー ムワーク

prot_base.c SKSTACKの初期化とハートビード関数が記述されています。

skyley_base.c メッセージボックスの実現と、メモリの確保・開放を行う関数が記述されています。

I/O uart_interface.c UART入出力関数が記述されています。

Page 34: ZigBee AppGuide.ppt [N c 0 0 0 ] - SKYLEYMessage Box (FIFO) ZigBee スタック内部の イベント、プリミティブな どはすべて MessageBox に格納さ れる。NWK MAC

株式会社スカイリー・ネットワークス株式会社スカイリー・ネットワークス株式会社スカイリー・ネットワークス株式会社スカイリー・ネットワークス

http://www.skyley.com/

© 2011, Skyley Networks,Inc. 本資料の著作権は株式会社スカイリー・ネットワークスに帰属します。 34

[email protected]

製品についてのお問い合わせはこちらまで製品についてのお問い合わせはこちらまで製品についてのお問い合わせはこちらまで製品についてのお問い合わせはこちらまで

[email protected]