AN709-00004-1v0-J

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
無線 LAN モジュール連携による
WLAN ソリューション
デモ操作マニュアル
32-BIT MICROCONTROLLER
FM4 Family
APPLICATION NOTE
Publication Number MB9B560R_AN709-00004
CONFIDENTIAL
Revision 1.0
Issue Date June 27, 2014
A P P L I C A T I O N
N O T E
対象製品
本アプリケーションノートに記載されている内容の対象製品は、下記のとおりです。
2
CONFIDENTIAL
シリーズ名
MB9B160R
品種型格
MB9BF168M/N/R
MB9B360R
MB9B460R
MB9BF368M/N/R
MB9BF468M/N/R
MB9B560R
MB9BF568M/N/R
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
Table of Contents
1.
2.
3.
4.
5.
6.
はじめに ......................................................................................................................................... 6
無線 LAN デモシステム .................................................................................................................. 7
2.1
システム構成 ....................................................................................................................... 7
2.2
無線 LAN とは?.................................................................................................................. 8
2.2.1
接続方式 ............................................................................................................. 9
2.2.2
暗号方式 ........................................................................................................... 10
2.2.3
認証方式 ........................................................................................................... 10
2.3
デモシステム概要.............................................................................................................. 12
2.3.1
デモの事前設定 ................................................................................................ 14
2.3.2
デモの起動方法 ................................................................................................ 15
2.3.3
デモの動作紹介 ................................................................................................ 16
ハードウェア概要 ......................................................................................................................... 20
3.1
ハードウェア構成.............................................................................................................. 20
3.2
詳細仕様 ......................................................................................................................... 22
ソフトウェア概要 ......................................................................................................................... 25
4.1
ソフトウェア構成.............................................................................................................. 25
4.1.1
OS リソースについて....................................................................................... 26
4.1.2
ファイル構成 .................................................................................................... 27
4.2
詳細仕様 ......................................................................................................................... 29
4.2.1
SDIO カード対応 SD ドライバ ......................................................................... 30
4.2.2
無線 LAN ドライバ ........................................................................................... 36
4.3
デモソフトウェア.............................................................................................................. 44
4.3.1
コンフィグレーション設定について ................................................................ 44
4.3.2
Web サーバについて ........................................................................................ 46
その他 ........................................................................................................................................... 48
主な変更内容 ................................................................................................................................ 49
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
3
A P P L I C A T I O N
N O T E
Figure
Figure 2-1
Figure 2-2
Figure 2-3
Figure 2-4
Figure 2-5
Figure 2-6
Figure 2-7
Figure 2-8
Figure 2-9
Figure 2-10
Figure 2-11
Figure 2-12
Figure 2-13
Figure 2-14
Figure 2-15
Figure 2-16
Figure 2-17
Figure 3-1
Figure 3-2
Figure 3-3
Figure 3-4
Figure 3-5
Figure 3-6
Figure 3-7
Figure 3-8
Figure 3-9
Figure 3-10
Figure 4-1
Figure 4-2
Figure 4-3
Figure 4-4
4
CONFIDENTIAL
無線 LAN デモシステム構成 ................................................................................................... 7
IEEE 802.11 規格の変遷 ......................................................................................................... 8
インフラストラクチャーモード ............................................................................................. 9
アドホックモード ................................................................................................................... 9
Micro AP モード ..................................................................................................................... 9
Open 認証(認証なし) ....................................................................................................... 10
WPA-PSK .............................................................................................................................. 11
WPA2-PSK ............................................................................................................................ 11
デモシステムの構成 ............................................................................................................. 12
メイン画面 ......................................................................................................................... 16
LED 操作画面 ..................................................................................................................... 16
FM4 評価ボードのスイッチによる操作 .............................................................................. 17
LED 操作ページによる操作 ................................................................................................ 17
Green を ON にした場合の画面例...................................................................................... 18
画像拡大/縮小の操作 .......................................................................................................... 18
画像拡大/縮小の画面遷移 ................................................................................................... 18
PDF ファイルのダウンロード ............................................................................................ 19
FM4 評価ボードと無線 LAN モジュールの接続 ................................................................... 20
FM4 評価ボード ................................................................................................................... 20
無線 LAN モジュール............................................................................................................ 20
開発時のハードウェア全体構成 ........................................................................................... 21
ハードウェアブロック図 ...................................................................................................... 21
電源インタフェース図.......................................................................................................... 23
専用電源ケーブル図 ............................................................................................................. 23
SD カードインタフェース .................................................................................................... 24
JTAG インタフェース........................................................................................................... 24
ADC/SW インタフェース ................................................................................................... 24
ソフトウェア・モジュール構成 ........................................................................................... 25
スタートアップとタスクの構成 ........................................................................................... 26
ソフトウェア概略フロー ...................................................................................................... 29
コンテンツファイル(fsdata.c)作成動作 ................................................................................ 46
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
Tables
Table 2-1
Table 2-2
Table 2-3
Table 2-4
Table 2-5
Table 3-1
Table 4-1
Table 4-2
Table 4-3
Table 4-4
Table 4-5
デモシステム機材一覧 ........................................................................................................... 12
URL 一覧 ................................................................................................................................ 13
無線設定................................................................................................................................. 14
DHCP 機能の設定 .................................................................................................................. 14
IP アドレスの設定.................................................................................................................. 14
使用機材一覧 ......................................................................................................................... 22
タスクについて ...................................................................................................................... 26
タスク以外の OS 資源について ............................................................................................. 26
lwIP のコンフィグレーション ................................................................................................ 44
μT-REALOS のコンフィグレーション ................................................................................... 44
無線 LAN ドライバのコンフィグレーション ......................................................................... 45
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
5
A P P L I C A T I O N
N O T E
1. はじめに
本デモ操作マニュアルでは、FM4 ファミリの高速処理と SD カードインタフェース機能を活用して、無線 LAN
モジュールを制御し、PC やスマートフォン・タブレット等との無線 LAN 接続を行うデモの操作について説
明します。
FM4 の高速処理により、FM4 と無線 LAN モジュールのみのシンプルな構成で、TCP/IP プロトコルスタック処
理と Web サーバ機能を無線 LAN 接続環境で実現できます。
ネットワーク接続されていない民生機器や、有線 LAN にてネットワーク化していた産業機器を無線 LAN 化す
る場合に、低コストで実現するネットワーク環境整備が課題となっています。
その課題を解決するために、ネットワーク環境整備に伴う施設コストや部材コストをできる限り抑えた状態
にし、アプリケーションに最適なシステム性能・機能を検討する必要があります。
本ソリューションが、この課題解決のアイデアとしてご検討いただければ幸いです。
本デモ操作マニュアルで説明する内容は、FM4 を搭載したボード(SK-FM4-U120-9B560)に、太陽誘電株式会
社(以降、太陽誘電) 製無線 LAN モジュール評価ボード(WBSAAVDX7)*を SD カードスロットに装着してネット
ワーク通信を行うソリューションです。
SK-FM4-U120-9B560 に搭載されている FM4 の型格は下記のとおりです。
・型格:MB9BF568R
* 本書で使用している太陽誘電製無線 LAN モジュールの写真は、実際のものと異なります。
無線 LAN モジュールの詳細については、個別に太陽誘電株式会社にご相談ください。
本書に記載されている URL は記載時点のものです。URL は予告なく変更されることがあります。
6
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
2. 無線 LAN デモシステム
2.1
システム構成
無線 LAN デモシステムのシステム構成を以下に示します。
概要
下図のように、FM4 評価ボード+無線 LAN モジュールと無線 LAN 機能を備えた端末(下例:FM4MCU
Evaluation Board)が、
アクセスポイントを介して無線 LAN で接続します。
この FM4 評価ボード+無線 LAN
モジュール上で動作する Web サーバに、Web ブラウザが動作する端末(下例:PC, Smartphone)からネット
ワーク接続を行います。これにより、このデモシステムでは、コンテンツの表示、ファイルのダウンロー
ド、FM4 評価ボードの制御を行えます。
Figure 2-1
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
無線 LAN デモシステム構成
7
A P P L I C A T I O N
2.2
N O T E
無線 LAN とは?
無線 LAN について説明します。
無線 LAN は、データの送受信を無線通信で行う LAN(Local Area Network)の名称です。
現在では、無線 LAN と言えば IEEE 802.11 関連規格と読み替えても過言ではないほど IEEE 802.11 関連規格
の製品が普及しています。
無線 LAN の伝送速度は、技術進歩により飛躍的に向上しています。
Figure 2-2
IEEE 802.11 規格の変遷
160
IEEE 802.11n 40MHz/ch (*1)
140
Mbps
120
100
80
IEEE 802.11g
60
IEEE 802.11n 20MHz/ch (*1) (*2) (*3)
IEEE 802.11n 20MHz/ch (*1) (*2)
40
20
IEEE 802.11
IEEE 802.11b
0
1997
1999
2003
2009
[Year]
*1: IEEE 802.11n は、MIMO(アンテナ)数により伝送速度が増加します。
*2: IEEE 802.11n 20MHz 時は GI (ガードインターバル) の値によって転送速度が異なります。
*3: 本無線 LAN デモシステムでは、20MHz/ch GI=400ns の設定としております。
本無線 LAN デモシステムで対応している無線 LAN の伝送規格は以下です。
− IEEE 802.11b
− IEEE 802.11g
− IEEE 802.11n
本無線 LAN デモシステムで対応している無線 LAN のセキュリティの規格は以下です。
− IEEE 802.11 (WEP)
− IEEE 802.11i draft (WPA-PSK)
− IEEE 802.11i (WPA2-PSK)
無線 LAN は、2.4GHz 帯を利用しますが、各国によって利用可能なチャンネル数が異なります。
本無線 LAN デモシステムでは、米国等での利用を考えて、11ch を利用するように制御しています。
8
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
2.2.1
N O T E
接続方式
無線 LAN の接続方式として、本デモシステムで使用可能なモードを説明します。
[ インフラストラクチャーモード ]
アクセスポイントと呼ばれる中継機器を経由して無線 LAN 端末機器の間のデータ通信を行う方式です。
つまり、本方式では、無線 LAN 端末機器はデータ通信を行う相手の存在に関わらず、最初、アクセスポ
イントと接続し、無線の伝送路を確立します。
Figure 2-3
インフラストラクチャーモード
[ アドホックモード ]
無線 LAN 端末の機器同士で直接データ通信を行う方式です。
つまり、本方式では、アクセスポイントの設置は不要になります。
このモードは、11b までの規格です。11g および 11n の規格では規定が無く、ベンダ依存の機能として利
用となります。
Figure 2-4
アドホックモード
[ Micro AP モード ]
無線 LAN 端末機器がアクセスポイントの機能を持ち、P2P で接続して直接データ通信を行う方式です。
このモードの名称は、各社さまざまですが本書内では Micro AP モードとします。
本方式では、アクセスポイントの設置は不要になります。
Figure 2-5
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
Micro AP モード
9
A P P L I C A T I O N
2.2.2
N O T E
暗号方式
無線 LAN のセキュリティにおける暗号方式として、本デモシステムで使用可能なモードを説明します。
[WEP]
WEP は、暗号アルゴリズムとして RC4 をベースとした暗号方式です。現在では WEP に深刻な脆弱性が発
見されているため、使用するべきではありません。
WEP には 40bit モードと 104bit モードがあり、鍵長はそれぞれ固定となります。
(それぞれ 5 文字、13 文字)
[TKIP]
TKIP は、暗号アルゴリズムとして RC4 をベースとした暗号方式です。WEP の脆弱性を修正していますが、
暗号アルゴリズムとしては WEP と同等です。利用可能な場合は、次の項目に挙げた AES-CCMP を使用す
べきです。
ユーザが指定した任意の長さのパスフレーズ(本無線 LAN デモシステムでは最大 32byte)から PMK(256bit)
を生成し、鍵の素材として使用します。
[AES-CCMP]
AES-CCMP は、暗号化アルゴリズムとして AES をベースとした暗号方式です。AES は、米国の標準暗号ア
ルゴリズムとして規定されている方式です。
無線 LAN 機器の設定画面では、”CCMP”、”AES-CCM”、または単に ”AES” と表記されることも多くあり
ます。
AES-CCMP でも、パスフレーズ・PMK の生成方法は TKIP と同じです。
2.2.3
認証方式
無線 LAN のセキュリティにおける認証方式として、本デモシステムで使用可能なモードを説明します。
[ Open 認証(認証なし)]
Figure 2-6
Open 認証(認証なし)
本方式は、Open System 認証とも呼ばれます。無線 LAN 機器の認証要求に対して、かならず認証成功を返
却します。つまり、実質は認証なしとなります。
なお、暗号方式に WEP を使用する場合は、Open 認証となります。古くは WEP 向けの認証方式として
Shared-key 認証が規定されていましたが、本方式に中間者攻撃の脆弱性が見つかり、かえってセキュリ
ティが低下するため、現在では認証なしが推奨されています。
(ただし、WEP を使用すること自体が推奨さ
れていません)
このため、本無線 LAN デモシステムでは、Shared-key 認証には対応していません。
10
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
[ WPA-PSK ]
Figure 2-7
WPA-PSK
WPA-PSK は、IEEE 802.11i draft で公開された認証方式です。WPA2 が規定されるまでの暫定措置として定
められた方式です。
暗号方式は TKIP / AES-CCMP から選択可能です。WPA-PSK では TKIP のサポートは必須となっています。
一方、AES-CCMP のサポートは必須ではありません。
[ WPA2-PSK ]
Figure 2-8
WPA2-PSK
WPA2-PSK は、IEEE 802.11i で策定された認証方式です。暫定措置であった WPA-PSK を正式に規定しても
ので基本的には WPA-PSK と変わりませんが、定義値が変わっているため互換性はありません。
また、WPA2-PSK では AES-CCMP のサポートが必須となっており、逆に TKIP のサポートは必須ではなく
なりました。
とくに対向機器の制約がなければ、WPA2-PSK + AES-CCMP の利用を推奨します。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
11
A P P L I C A T I O N
2.3
N O T E
デモシステム概要
デモシステムの概要として、デモシステムの構成、設定手順、動作紹介について示します。
本章では、FM4 評価ボードにデモプログラムが書き込まれている前提で説明します。
デモシステムの構成
Figure 2-9
デモシステムの構成
機材一覧
Table 2-1 デモシステム機材一覧
名称
No.
1
2
FM4 評価ボード
無線 LAN モジュール評価
ボード
メーカ
数量
SPANSION
1
太陽誘電
1
BUFFALO
1
4
バッテリ
ELECOM
1
5
USB ケーブル
-
1
6
専用電源ケーブル
-
1
7
USB ハブ
-
1
-
1
-
1
9
(Android タブレット)
Web ブラウザ端末
(スマートフォン)
す。(SK-FM4-U120-9B560)
す。
(WBSAAVDX7)
アクセスポイント
Web ブラウザ端末
FM4 MCU と SD カードスロットが搭載された FM4 評価ボードで
SDIO インタフェースを備えた無線 LAN モジュール評価ボードで
3
8
内容
DHCP サーバ機能を持つ無線 LAN アクセスポイントです。
(WMR-300)
FM4 評価ボード、無線 LAN モジュールおよび、アクセスポイン
ト用のバッテリです。(DE-M01L-3530BK)
FM4 評価ボードへの 5V 給電用の[USB Type A オス]-[USB Mini- B
オス]仕様 USB ケーブルです。
無線 LAN モジュールへの 5V 給電用の専用電源ケーブルです。
FM4 評価ボード、無線 LAN モジュールへの 5V 給電用の USB ハ
ブです。
デモ用コンテンツ表示用です。
デモ用コンテンツ表示用です。
注意事項: No.3~No.9 の機材は、特にメーカなどは問われません。
12
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
Web コンテンツ
FM4 評価ボードに設定されている Web コンテンツの URL 一覧です。
Table 2-2
URL 一覧
ページ概要
メイン
http://192.168.1.100/index.html
LED 操作
http://192.168.1.100/ledctrl.cgi
PDF
http://192.168.1.100/SIL.pdf
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
URL
13
A P P L I C A T I O N
2.3.1
N O T E
デモの事前設定
デモシステムを動作させるために、デモプログラムで既定されている無線設定と IP アドレス設定をアクセ
スポイントに事前に設定してください。
以下にアクセスポイントの設定と Web ブラウザ端末の設定について説明します。
<アクセスポイントの設定>
【無線設定】
デモプログラムの無線設定を以下に示します。
Table 2-3 無線設定
項目
内容
チャンネル
自動
SSID
FM4-WLAN_demo
認証
なし
暗号化
なし
この設定に合わせて、アクセスポイントの設定画面より、設定してください。
注意事項:この設定は、暗号化設定されていませんので、SSID を選択するだけで接続可能です。
【DHCP 機能設定】
Web ブラウザ端末への IP アドレスを付与するために、DHCP 機能を有効にしてください。
設定内容を以下に示します。
Table 2-4
開始 IP
192.168.1.101(※)
DHCP 機能の設定
台数
リース期間
64 台
1 時間
※: 192.168.1.100 は FM4 評価ボードで使用しているため、除外されるように設定してください。
【IP アドレス設定】
デモプログラムでは、FM4 評価ボードの IP アドレスを 192.168.1.100 と固定しています。
そのため、アクセスポイントは FM4 評価ボードの IP アドレスに合わせたネットワークグループの IP アド
レスを設定する必要があります。
各機材の IP アドレスは以下を想定しています。
Table 2-5
IP アドレスの設定
機材名
IP アドレス
アクセスポイント
192.168.1.1
FM4 評価ボード
192.168.1.100
Web ブラウザ端末
DHCP により取得
<Web ブラウザ端末の設定>
DHCP 機能を有効にしてください。
14
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
デモの起動方法
2.3.2
デモの起動手順を以下に示します。
<注意事項>
必ず以下の手順で電源を投入してください。
手順を実施する前では、バッテリにはアクセスポイントと USB ハブは未接続状態にしてください。
合わせて USB ハブには USB ケーブルと専用電源ケーブルは未接続状態にしてください。
1.
アクセスポイントの電源投入
− バッテリを Power ON して、アクセスポイントをバッテリに接続することで電源を入れてください。
− Web ブラウザ端末から、アクセスポイントに事前設定した SSID を検出してください。
− Web ブラウザ端末を上記の SSID のアクセスポイントに接続してください。
2.
無線 LAN モジュールの電源投入
− FM4 評価ボードの SD カードスロットに無線 LAN モジュールを接続してください。
− USB ハブに専用電源ケーブルを接続してください。
− バッテリに USB ハブを接続し無線 LAN モジュールの電源を入れてください。
3.
FM4 評価ボードへの電源投入
− USB ハブに USB ケーブルを接続した後、FM4 評価ボードの電源を入れてください。
− 初期化中は評価ボードの LED が赤色で点灯状態になります。
注意事項:LED が赤色で点滅している場合は、初期化が完了し、アクセスポイントを探している状
態です。この状態が長く続く場合は、アクセスポイントの設定を見直してください。
− Web サーバが起動し、Web ブラウザ端末からアクセス可能な状態になると、FM4 評価ボードの LED
が緑色で点灯⇒消灯を 5 回繰り返して、消灯状態になります。
4.
Web ブラウザ端末からのアクセス
− FM4 評価ボードがアクセス可能な状態になったことを確認してから Web ブラウザ端末よりアクセス
してください。
− アクセス可能な URL については、「Table 2-2 URL 一覧」を参照してください。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
15
A P P L I C A T I O N
2.3.3
N O T E
デモの動作紹介
デモには以下の3つのデモがあります。
Demo 1 : LED ステータス変更
Demo 2 : 画像拡大/縮小
Demo 3 : PDF ダウンロード
各デモについて示します。
【デモ画面構成】
Figure 2-10 メイン画面
Figure 2-11
16
LED 操作画面
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
【Demo 1 : LED ステータス変更】
Demo 1 は、LED の点灯ステータスを WEB ブラウザ上に反映します。
LED を点灯/消灯させるには2つの方法で実行可能です。
1.
FM4 評価ボードのスイッチによる操作
− FM4 評価ボード上のスイッチ「SW2」(3つ並んでいるスイッチの中央)を押すたびに、以下の
パターンで点灯/消灯を繰り返します。
Figure 2-12
FM4 評価ボードのスイッチによる操作
注意事項:SW2 の横にある SW1 は”Reset”です。
誤って SW1 を操作してしまった場合は、起動手順に従って再度起動してください。
2.
LED 操作ページによる操作
− URL 一覧の「LED 操作」ページからボードの LED を操作できます。
Figure 2-13
LED 操作ページによる操作
− 各色の ON のボタンをクリックすると、対応する色の LED が点灯します。(組合せは自由です。)
− 一度 ON にすると、ON のボタンは操作できなくなり、代わりに OFF のボタンが操作できるようにな
ります。
− LED を消灯する場合は、OFF のボタンをクリックしてください。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
17
A P P L I C A T I O N
N O T E
操作による WEB ブラウザ画面例を示します。
Figure 2-14
Green を ON にした場合の画面例
【Demo 2 : 画像拡大/縮小】
Demo 2 は、デモ用パンフレットの表示をボード上のアナログ入力から画像の拡大/縮小を行います。
画像の拡大/縮小は、評価ボード上の”青色のダイヤル”を操作することで、アナログ入力値の状態に合わせ
てブラウザ上の画像が拡大/縮小されます。
Figure 2-15 画像拡大/縮小の操作
Figure 2-16 画像拡大/縮小の画面遷移
18
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
【Demo 3 : PDF ダウンロード】
Demo 3 は、Demo 2 で表示されている画像の PDF ファイルをダウンロードできます。
ダウンロードした PDF ファイルを閲覧するために、Web ブラウザ端末には PDF ファイルを閲覧するソフト
が必要です。
Web ブラウザ端末の無線 LAN 設定については、
「Table 2-3 無線設定」を参照してください。
ダウンロードには2つの方法があります。
1.
Web ブラウザでの URL を直接入力
URL 一覧の PDF ページの URL を、Web ブラウザのアドレス入力フィールドに直接入力してください。
2.
デモのメイン画面からリンクをクリック
Figure 2-17
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
PDF ファイルのダウンロード
19
A P P L I C A T I O N
N O T E
3. ハードウェア概要
3.1
ハードウェア構成
ハードウェア構成を以下に示します。
FM4 評価ボードと無線 LAN モジュールの構成
[FM4 評価ボードと無線 LAN モジュールの接続]
Figure 3-1
FM4 評価ボードと無線 LAN モジュールの接続
FM4(MB9B560)
SDIO Interface
Wireless LAN Module
[FM4 評価ボード]
Figure 3-2
FM4 評価ボード
[無線 LAN モジュール]
Figure 3-3
20
無線 LAN モジュール
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
開発時のハードウェア全体構成
Figure 3-4
開発時のハードウェア全体構成
ハードウェアブロック図
FM4 と無線 LAN モジュールを連携して動作させるハードウェアについて説明します。
− WLAN module
FM4 と無線 LAN モジュールは SDIO インタフェースで通信します。FM4 は SD カードインタ
フェースの SD Host 機能を使用して SDIO 仕様で動作します。
− IAR J-Link ICE
FM4 評価ボードと IAR 製 J-Link ICE は 20pin の JTAG インタフェースで接続し、PC と IAR 製 J-Link ICE
は USB で接続します。
FM4 の内蔵 Flash への書き込みと、プログラムのデバッグに使用します。
使用に際しては、IAR Embedded Workbench が必要です。
− Regulated DC Power Supply
5V の直流電源を出力できるものを接続してください。
Figure 3-5
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
ハードウェアブロック図
21
A P P L I C A T I O N
3.2
N O T E
詳細仕様
ハードウェアの詳細仕様について示します。
開発時に用意する機材一覧
Table 3-1 使用機材一覧
名称
No.
1
FM4 評価ボード
メーカ
SPANSION
型格
SK-FM4-U120-9B560
内容
FM4 評価ボード本体です。
無線 LAN モジュール評価ボードです。
2
無線 LAN モジュール評
価ボード
<注意事項>
太陽誘電
WBSAAVDX7
このモジュールを購入すると赤と青の電源
ケーブルが付属されています。
無線 LAN モジュール評価ボードへの電源を供
給します。5V の直流電源を出力できるものを
使用してください。
3
安定化電源
-
-
<注意事項>
安定化電源の代替として、専用電源ケーブルに
より 5V の電源供給を行うことも可能です。
プログラムの書き込みやデバッグに使用しま
4
IAR J-Link ICE
IAR
J-Link-ARM
す。
IAR Embedded Workbench が動作する PC を使用
してください。
USB ポートは、最大で 3 つ使用します。
5
PC
-
-
1 つ目:FM4 評価ボードの電源供給。
2 つ目:J-Link との接続。
3 つ目:無線 LAN モジュールの電源供給。
[USB Type A オス]-[USB Mini- B オス]のケーブ
6
22
USB ケーブル
-
-
ルを使用してください。
FM4 評価ボードの電源供給用です。
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
搭載部品
搭載部品について示します。
[FM4 評価ボード]
以下の Web サイトを参照してください。
http://www.spansion.com/Support/microcontrollers/developmentenvironment/Pages/board-SK-FM4-U120-9B560.a
spx
[無線 LAN モジュール]
以下の Web サイトを参照してください。
https://www.yuden.co.jp
購入した際に、同梱されていますドキュメントを参照してください。
使用するインタフェースについて
各ボードで使用しているインタフェースについて示します。
[ 電源 ]
Figure 3-6
Figure 3-7
電源インタフェース図
専用電源ケーブル図
本ハードウェアでは、FM4 評価ボードと無線 LAN モジュール評価ボードに、それぞれ 5V の電源を供給
する必要があります。
FM4 評価ボードへの電源供給は、PC と USB ケーブルを接続することで供給します。
無線 LAN モジュール評価ボードへの電源供給は、安定化電源と接続することで供給します。
電源は 5V ですので、専用電源ケーブルを作成することでも供給可能です。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
23
A P P L I C A T I O N
N O T E
[ SD カードインタフェース ]
Figure 3-8
SD カードインタフェース
SD カードスロットは、プッシュオン・プッシュオフ機構のため、挿入時または抜去時に一度奥まで押し
込んでください。
[ JTAG インタフェース ]
Figure 3-9
JTAG インタフェース
IAR 製 J-Link ICE と接続する 20pin の JTAG です。
[ ADC/SW インタフェース ]
Figure 3-10
ADC/SW インタフェース
ADC は、デモの伸縮表示で使用し、ダイヤル式です。
SW は、デモの LED 表示変更で使用し、プッシュ式です。
24
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
4. ソフトウェア概要
4.1
ソフトウェア構成
ソフトウェア構成を以下に示します。
概要
本デモシステムのソフトウェアは、Real Time OS(RTOS)上で動作し、TCP/IP プロトコルスタック,
無線 LAN ドライバ,FM4 ファミリ用ペリフェラルドライバをプラットフォームとして、デモアプリ
ケーションを動作させます。
ブロック図
各種ソフトウェアの部品を階層イメージで示します。
Figure 4-1
ソフトウェア・モジュール構成
[Application]
Web サーバー機能として、lwIP-contrib 1.4.1 を使用します。
[TCP/IP]
TCP/IP プロトコルスタックとして、lwIP STABLE-1.4.1 を使用します。
[RTOS]
Real Time OS として、μT-REALOS/M4F for EWARM を使用します。
[PDL および SDIO Driver In PDL]
FM4 のペリフェラルデバイスドライバとして、PDL Project for FM4 Family ver1.0 と本デモシステム用
に拡張した SDIO Driver を使用します。
[WLAN Driver]
無線 LAN モジュールと SDIO インタフェースを介して通信を行い、無線 LAN モジュールを制御しま
す。
契約によりソースコードの開示ができないため、ライブラリ形式で提供します。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
25
A P P L I C A T I O N
N O T E
OS リソースについて
4.1.1
Figure 4-2
スタートアップとタスクの構成
Table 4-1 タスクについて
優先度
10
タスク名
Wireless
LANDriver
4096(*)
処理内容
無線 LAN ドライバのメインタスクです。
無線 LAN モジュールに対して送受信の制御を行います。
Task
20
TCP/IP Stack Task
29
TCP/IP Event Task
30
スタック
サイズ(Byte)
Application Task
40
Idle Task
98
Initial Task
4096(*)
TCP/IP スタックのメインタスクです。
TCP/IP のプロトコル処理を行います。
4096(*)
TCP/IP スタックを起動した後、無線 LAN ドライバからのイベント通
知を待ち受け、対応する TCP/IP スタックの処理を起動します。
4096(*)
ユーザのメインタスクです。
各種初期化処理を呼び出します。
RTOS のアイドル処理のためのタスクで、基本的に無処理となります。
256(*)
削除しないでください。
1024(*)
RTOS の初期起動タスクです。
*: 各タスクのスタックサイズについては、最適化を実施していません。
Table 4-2 タスク以外の OS 資源について
タスク名
Wireless LAN Driver Task
利用資源
イベントフラグ x 1、メールボックス x 1
ミューテックス(*)
TCP/IP Stack Task
セマフォ(*)
メッセージバッファ(*)
TCP/IP Event Task
イベントフラグ x 1
Application Task
利用資源はありません。
Idle Task
利用資源はありません。
Initial Task
利用資源はありません。
*: TCP/IP スタックタスクの利用資源は lwIP から動的に呼び出されます。そのため、動作する機能
によって使用する資源数は増減します。本無線 LAN デモシステムでは、コンフィグレー
ションで設定している最大数で十分ですが、機能を拡張する場合は、コンフィグレーションの
最大数を調整してください。
26
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
4.1.2
N O T E
ファイル構成
本アプリケーションのファイル構成は下記のとおりです。
なお、一部変更していないファイルや変更ファイルが無いディレクトリについては省略しています。
:ユーザ追加実装ディレクトリ
+---app
+---pdl_user.h
:FM4 PDL 設定ヘッダファイル
+---user_main.c
:ユーザメインソースファイル
+---user_main.h
:ユーザメインヘッダファイル
:FM4-PDL ディレクトリ
+---fm4
:FM4-PDL の共通部ディレクトリ
+---common
+---base_types.h
:基本型共通ヘッダファイル
+---mb9abxxx.h
:ペリフェラル定義ヘッダファイル
+---mcu.h
:MCU 共通ヘッダファイル
+---system_mb9abxxx.c
:システム設定ソースファイル
+---system_mb9abxxx.h
:システム設定定義ヘッダファイル
:PDL ライブラリディレクトリ
+---library
:PDL コアドライバディレクトリ
+---driver
:PDL 割込みハンドラソースファイル
+---interrupts.c
+---sd
:SD カードインタフェースドライバディレクトリ
+---sd.c
:SD カードインタフェースドライバソースファイル
+---sd.h
:SD カードインタフェースドライバヘッダファイル
+---sd_cfg.h
:SD カードインタフェースドライバ構成ヘッダファイル
:PDL 上位ドライバディレクトリ
+---highlevel
+---sd
:SD 上位ドライバディレクトリ
+---sdcard.c
:SD メモリカード処理ソースファイル
+---sdcard.h
:SD メモリカード処理ヘッダファイル
+---sdcmd.c
:SD コマンド共通処理ソースファイル
+---sdcmd.h
:SD コマンド共通処理ヘッダファイル
+---sdiocard.c
:SDIO カード処理ソースファイル
+---sdiocard.h :SDIO カード処理ヘッダファイル
+---lwip
:lwIP ソフトウェアのコア部ディレクトリ
+---lwip_contrib
:lwIP ソフトウェアの周辺部ディレクトリ
+---apps
:lwIP ソフトウェアのアプリケーションプロトコル部ディレクトリ
+---httpserver_raw :lwIP HTTP server ディレクトリ
+---fsdata.c
:コンテンツ C 言語ソースファイル
+---httpd_structs.h
:HTTP ヘッダ用文字列定義ヘッダファイル
+---sample_demo_contetns :コンテンツ C 言語ソース生成ディレクトリ
+---fs
+---lwip_usr
+---ports
+---fm4
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
:デモコンテンツ格納ディレクトリ
:lwIP ソフトウェアのユーザ実装ディレクトリ
:ユーザ実装ディレクトリ
:FM4 実装ディレクトリ
27
A P P L I C A T I O N
+---ajax.c
:lwIP の HTTP server AJAX 処理ソースファイル
+---app_lwip.c
:lwIP のアプリケーション実装部
+---ethif.c
:lwIP の入出力関連の低レベル実装部
+---sys_arch.c
:lwIP のアーキテクチャ依存の低レベル実装部
+---include
:lwIP のインクルードディレクトリ
+---app
:lwIP のアプリ実装関連のインクルードディレクトリ
+---ajax.h
:lwIP の HTTP server AJAX 処理ヘッダファイル
+---app_lwip.h
:lwIP のアプリケーション実装部 ヘッダファイル
+---ethif.h
:lwIP の入出力関連の低レベル実装部 ヘッダファイル
+---arch
:lwIP のアーキ実装関連のインクルードディレクトリ
+---cc.h
:lwIP のアーキテクチャ環境定義ファイル
+---lwipopts.h
:lwIP のオプション定義ファイル
+---perf.h
:lwIP の perf 関連ヘッダファイル
+---sys_arch.h
:lwIP のアーキテクチャ依存の低レベル実装部 ヘッダファイル
:開発環境プロジェクトディレクトリ
+---proj
+---IAR
+---config
+---mb9bf568.icf
:IAR 用(JTAG)プロジェクトディレクトリ
:コンフィグレーションファイルディレクトリ
:リンカ設定ファイル
+---reset.mac
:起動マクロファイル
+---flashloader
:フラッシュローダーディレクトリ
+---FlashLoader.board
:フラッシュローダー設定ファイル指定ファイル
+---FlashMB9B560.flash
:フラッシュローダー設定ファイル
+---FlashMB9B560.flash
:フラッシュローダー起動マクロファイル
+---FlashMB9B560.out
:フラッシュローダー本体
+---wlan_release.ewd
:プロジェクト設定ファイル
+---wlan_release.ewp
:プロジェクトファイル
+---wlan_release.eww
:ワークスペースファイル
+---utrealos
:μT-REALOS ディレクトリ
+---utrealos_usr
:μT-REALOS のユーザ実装ディレクトリ
+---icrt0.asm
:スタートアップファイル
+---os.c
:μT-REALOS の低レベル実装ソースファイル
+---os.h
:μT-REALOS の低レベル実装ヘッダファイル
+---startup_mb9xfxxx.s
:割り込みベクタ定義ファイル
+---cfg
:μT-REALOS のコンフィグレーションディレクトリ
+---config.a
:μT-REALOS のコンフィグレーションファイル
+---wlancfg.tcf
:μT-REALOS のコンフィグレーション定義ファイル
+---wlanlib
28
N O T E
:無線 LAN ドライバライブラリディレクトリ
+---wlan.h
:無線 LAN ドライバライブラリヘッダファイル
+---wlan_conf.c
:無線 LAN ドライバコンフィグレーションソースファイル
+---wlanlib.a
:無線 LAN ドライバライブラリファイル
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
4.2
N O T E
詳細仕様
詳細仕様を以下に示します。
動作および概略フロー
Figure 4-3
ソフトウェア概略フロー
API 仕様
< μT-REALOS >
μT-REALOS のドキュメントを参照してください。
< lwip Protocol Stack >
lwIP の公式プロジェクトが発行している IwIP に関するドキュメントを参照してください。
lwIP の公式プロジェクトの URL を以下に示します。
http:://savannah.nonqnu.org/projects/lwip/
lwIP は2つのパッケージで構成されています。”lwip”は公式プロジェクトで開発された TCP/IP スタック
を含み、”contib”には追加コードが含まれています。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
29
A P P L I C A T I O N
N O T E
< PDL >
PDL のドキュメントを参照してください。
PDL のドキュメントは、以下の URL から Peripheral Driver Library をダウンロードした圧縮ファイル内に
あります。
http://www.spansion.com/Support/microcontrollers/sampleprogram/Pages/fm4.aspx
SDIO カード対応のため、SD ドライバを拡張しています。
拡張した SD ドライバの API については「4.2.1 SDIO カード対応 SD ドライバ」で説明します。
< 無線 LAN ドライバ >
無線 LAN ドライバの API については「4.2.2 無線 LAN ドライバ」で説明します。
4.2.1
SDIO カード対応 SD ドライバ
構造体定義
項目
概要
書式
30
説明
コールバック設定情報
typedef struct stc_sd_config_cb {
func_ptr_sd_arg32_t pfnTxCallback;
func_ptr_sd_arg32_t pfnRxCallback;
func_ptr_sd_arg32_t pfnWakeupCallback;
func_ptr_sd_arg32_t pfnErrorCallback;
func_ptr_sd_arg32_t pfnCardIntCallback;
func_ptr_sd_arg32_t pfnErrorResponseCallback;
} stc_sd_config_cb_t;
説明
pfnTxCallback
: Tx 発生時の Callback 関数(未使用)
pfnRxCallback
: Rx 発生時の Callback 関数(未使用)
pfnWakeupCallback
: Wakeup 発生時の Callback 関数(未使用)
pfnErrorCallback
: Error 発生時の Callback 関数(未使用)
pfnCardIntCallback
: Card Interrupt 発生時の Callback 関数
pfnErrorResponseCallback
: コマンドレスポンスのエラー発生時の Callback 関数
備考
pfnCardIntCallback, pfnErrorResponseCallback 以外への設定は無効です
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
項目
概要
書式
説明
説明
SDIO カード情報
typedef struct stc_sdiocard_info {
en_sdio_init_type_t
init_type;
en_sdio_init_io_t
io_init;
en_sdio_init_mem_t mem_init;
uint8_t
flg;
uint32_t
OCR;
uint16_t
RCA;
en_sdio_card_type_t card_type;
} stc_sdiocard_info_t;
init_type
: Sdio Initialize Type
PowerOn
Power On
ReInitMemory
Re-Init Memory
ReInitIO
Re-Init IO
io_init
: Sdio IO Initialize Select
NotUseIO
Not Use IO(IO Initialize Disable)
UseIO
Use IO(IO Initialize Enable)
mem_init
: Sdio Memory Initialize Select
NotUseMem
Not Use Memory(Memory Initialize Disable)
UseMem
Use Memory(Memory Initialize Enable)
flg
: Initalize Status Flag
OCR
: Operation Condition Register
RCA
: Relative Card Address
card_type
: Sdio Card Type
SDSC_MemOnly
SDHCXC_MemOnly
SD_IOOnly
SDSC_Combo
SDHCXC_Combo
SDSC Memory Only Card
SDHC or SDXC Memory Only Card
SD IO Only Card
SDSC Combo Card
SDHC or SDXC Combo Card
備考
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
31
A P P L I C A T I O N
項目
N O T E
説明
概要
書式
DMA 転送情報
typedef struct stc_sdh_dma_info {
en_sd_card_type_t
sdc_type;
en_sdh_dma_type_t dma_type;
uint32_t
data_addr;
uint32_t
data_addr_h;
en_sd_boundary_t
sdma_bound;
} stc_sdh_dma_info_t;
説明
sdc_type
: SD Card Type
SDH_SD_CARD
SD Memory Card
SDH_SDIO_CARD SDIO Card
dma_type
: SD Host DMA Type
SDH_SDMA
SDMA
SDH_ADMA
ADMA2
data_addr
: DMA データアドレス
SDMA の場合:Buffer Address
ADMA2 の場合:ディスクリプタの下位 32bit アドレス
data_addr_h
: DMA データアドレス(64bit システムのための領域)
SDMA の場合:不要
ADMA2 の場合:ディスクリプタの上位 32bit アドレス
sdma_bound
: SDMA のためのバウンダリ指定
BOUND_4K
BOUND_8K
BOUND_16K
BOUND_32K
BOUND_64K
BOUND_128K
BOUND_256K
BOUND_512K
備考
32
ADMA2 のディスクリプタについて
・一つのディスクリプタ領域は、以下の構成です。
属性情報領域(attr)[16bit]+データ長領域(len)[16bit]+データ格納アドレス(addr)[32bit]
・attr はドライバ内で自動的に設定しますので、呼び出し元では 0 に設定してください。
・ディスクリプタ領域は、link 属性でない限り連続した領域にしてください。
・link 属性のディスクリプタを設定する場合は、len を 0 に設定してください。
このとき、addr で示される領域はディスクリプタ領域となります。
・ディスクリプタには、必ず終端判別用ディスクリプタを付加してください。
終端判別用ディスクリプタは、len を 0、addr を 0(NULL)に設定してください。
ディスクリプタ例)
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
API 一覧
[SD カードインタフェースドライバ API]
API 仕様
概要
書式
入力
返却値
備考
説明
SD スピードモードの High-Speed への切替
void Sd_HighspeedChange(void)
なし
なし
初期化完了後に、カード側が High-Speed をサポートしている場合に、本 API を呼び出して
ください。
API 仕様
説明
概要
書式
割込みコールバック関数の設定
en_result_t Sd_SetIntCallback(stc_sd_config_cb_t* pstcSdCbCfg)
入力
pstcSdCbCfg
: コールバック設定情報のポインタ
(コールバック設定情報の詳細は、構造体の説明を参照してください)
エラーコード
Ok
正常終了 (本 API では常に Ok が返却されます)
返却値
備考
Sd_HostInit()を呼び出し後に、
割込みコールバックの設定が必要な場合に、本 API を呼び出してください。
pfnCardIntCallback, pfnErrorResponseCallback 以外への設定は無効です。
API 仕様
説明
概要
書式
CardInterrupt の有効化
en_result_t Sd_EnableCardInt(volatile stc_sd_t *pstcSd)
入力
pstcSd
返却値
エラーコード
Ok
正常終了 (本 API では常に Ok が返却されます)
備考
Sd_HostInit()を呼び出し後に、CardInterrupt を有効化する場合に、本 API を呼び出してくだ
さい。
Sd_SetIntCallback で pfnCardIntCallback を設定している場合には、割込み処理終了後、
本 API で有効化することで、次の CardInterrupt を受けることが可能になります。
: SD カードインタフェース レジスタ情報のポインタ
API 仕様
説明
概要
書式
CardInterrupt の無効化
en_result_t Sd_DisableCardInt(volatile stc_sd_t *pstcSd)
入力
pstcSd
返却値
エラーコード
Ok
正常終了 (本 API では常に Ok が返却されます)
備考
Sd_HostInit()を呼び出し後に、CardInterrupt を無効化する場合に、本 API を呼び出してくだ
さい。
: SD カードインタフェース レジスタ情報のポインタ
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
33
A P P L I C A T I O N
N O T E
[SDIO 上位レベルドライバ API]
API 仕様
概要
書式
入力
返却値
備考
API 仕様
概要
書式
入力
返却値
備考
API 仕様
概要
書式
入力
返却値
備考
34
説明
SDIO カードの挿抜状態取得
boolean_t Sdiocard_Detect(void)
なし
挿抜状態
TRUE
挿入状態
FALSE
抜去状態
Sd_HostInit()を呼び出し後に、本 API を呼び出してください。
説明
SDIO の初期化
int32_t Sdiocard_Init(stc_sdiocard_info_t *pstcSdiocardInfo)
pstcSdiocardInfo
: SDIO カード情報へのポインタ
(SDIO カード情報の詳細は、構造体の説明を参照してください)
エラーコード
E_SDIO_OK
正常終了
E_SDIO_NO_CARD エラー終了(SDIO カードが挿さっていません)
E_SDIO_INIT
エラー終了(SDIO カードの初期化に失敗しました)
Sd_HostInit()を呼び出し後に、本 API を呼び出してください。
説明
CMD52 の送受信
int32_t Sdiocard_Cmd52(stc_sdiocard_info_t *pstcSdiocardInfo,
const uint32_t* pu32arg, uint32_t* pu32res)
pstcSdiocardInfo
: SDIO カード情報へのポインタ
(SDIO カード情報の詳細は、構造体の説明を参照してください)
pu32arg
: SDIO CMD52 argument へのポインタ
pu32res
: SDIO CMD52 response 格納領域へのポインタ
エラーコード
E_SDIO_OK
正常終了
E_SDIO_NO_CARD
エラー終了(SDIO カードが挿さっていません)
E_SDIO_PARAMETER
エラー終了(パラメータが不正です)
E_SDIO_WRITE
エラー終了(ライト動作に失敗しました)
E_SDIO_READ
エラー終了(リード動作に失敗しました)
Sdiocard_Init ()を呼び出し後に、本 API を呼び出してください。
本 API は、SD コマンド共通処理関数の Sdcmd_SendCmd を使用して CMD52 の送受信処理
を行います。
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
API 仕様
概要
書式
N O T E
説明
CMD53 の送受信(PIO 転送)
int32_t Sdiocard_Cmd52(stc_sdiocard_info_t *pstcSdiocardInfo,
const uint32_t* pu32arg, uint32_t* pu32res,
uint8_t* pu8buf)
入力
pstcSdiocardInfo
: SDIO カード情報へのポインタ
(SDIO カード情報の詳細は、構造体の説明を参照してください)
pu32arg
: SDIO CMD52 argument へのポインタ
pu32res
: SDIO CMD52 response 格納領域へのポインタ
pu8buf
: 送信データへのポイント、または受信データ格納領域へのポインタ
返却値
エラーコード
E_SDIO_OK
正常終了
E_SDIO_NO_CARD
エラー終了(SDIO カードが挿さっていません)
E_SDIO_PARAMETER
エラー終了(パラメータが不正です)
E_SDIO_WRITE
エラー終了(ライト動作に失敗しました)
E_SDIO_READ
エラー終了(リード動作に失敗しました)
Sdiocard_Init ()を呼び出し後に、本 API を呼び出してください。
本 API は、SD コマンド共通処理関数の Sdcmd_SendCmd/Sdcmd_TxData/Sdcmd_RxData を使
用して CMD53 の PIO 転送による送受信を行います。
備考
API 仕様
概要
書式
入力
返却値
備考
説明
CMD53 の送受信(DMA 転送)
int32_t Sdiocard_Cmd53_dma(stc_sdiocard_info_t *pstcSdiocardInfo,
const uint32_t* pu32arg, uint32_t* pu32res,
stc_sdh_dma_info_t *pstcDmaInf)
pstcSdiocardInfo
: SDIO カード情報へのポインタ
(SDIO カード情報の詳細は、構造体の説明を参照してください)
pu32arg
: SDIO CMD52 argument へのポインタ
pu32res
: SDIO CMD52 response 格納領域へのポインタ
pstcDmaInf
: DMA 転送情報へのポインタ
(DMA 転送情報の詳細は、構造体の説明を参照してください)
エラーコード
E_SDIO_OK
正常終了
E_SDIO_NO_CARD
エラー終了(SDIO カードが挿さっていません)
E_SDIO_PARAMETER
エラー終了(パラメータが不正です)
E_SDIO_WRITE
エラー終了(ライト動作に失敗しました)
E_SDIO_READ
エラー終了(リード動作に失敗しました)
Sdiocard_Init ()を呼び出し後に、本 API を呼び出してください。
本 API は、SD コマンド共通処理関数の Sdcmd_SendCmd_dma を使用して CMD53 の DMA
転送による送受信を行います。
本 API を使用して、ADMA2 による DMA 転送を行う場合、DMA 転送情報領域および DMA
データ領域に加えて、呼び出し元でディスクリプタ領域を確保する必要があります。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
35
A P P L I C A T I O N
4.2.2
N O T E
無線 LAN ドライバ
構造体定義
項目
説明
概要
書式
OS リソース情報
typedef struct wlan_os_resource {
PRI
itskpri;
void*
stk;
int32_t stksz;
} WLAN_OS_RESOURCE;
説明
itskpri
: 無線 LAN ドライバタスクの優先度
stk
: 無線 LAN ドライバタスクのスタックアドレス
stksz
: 無線 LAN ドライバタスクのスタックサイズ
備考
コンフィグレーションファイル wlan_conf.c において、
変数 wlan_os_resource_init として定義してください。
項目
概要
説明
scatter/gather 型
typedef struct wlan_sg {
uint16_t
__reserved_1;
uint16_t
len;
void*
addr;
} WLAN_SG;
書式
説明
len
: 長さ
addr
: アドレス
送信 API で使用します。
備考
項目
説明
概要
書式
コールバック定義
typedef struct wlan_callback {
void
(*Recv)(uint32_t epbuf_len);
void
(*Event)(uint32_t event, void* data);
} WLAN_CALLBACK;
説明
Recv
: 受信コールバック関数
Event
: イベントコールバック関数
備考
36
コンフィグレーションファイル wlan_conf.c において、
変数 wlan_callbackfunc として定義してください。
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
項目
概要
書式
説明
備考
説明
接続コンフィグレーション
#define WLAN_SSID_LEN_MAX 32
#define WLAN_KEYLEN_MAX
32
typedef struct wlan_config {
uint8_t
ssid[WLAN_SSID_LEN_MAX];
uint32_t
ssid_len;
int
comm_mode;
int
auth_mode;
uint8_t
key[WLAN_KEYLEN_MAX];
uint32_t
key_len;
int
channel;
int
uap_wpa_cipher;
} WLAN_CONFIG;
ssid
: SSID
ssid_len
: SSID の長さ(0 指定で自動判定)
comm_mode
: 接続方式
WLAN_MODE_ADHOC
アドホックモード
WLAN_MODE_INFRASTRUCTURE
インフラストラクチャーモード
WLAN_MODE_UAP
Micro AP モード
auth_mode
: 認証モード
WLAN_AUTH_MODE_OPEN
認証なし
WLAN_AUTH_MODE_WEP
WEP (40bit / 104bit)
WLAN_AUTH_MODE_WPA_PSK
WPA/WPA2-PSK
key
: 鍵
key_len
: 鍵の長さ(0 指定で自動判定)
WEP の場合
5 文字(40bit)
、または 13 文字(104bit)の鍵を指定
WPA の場合
任意の長さ(最大 32 文字)のパスフレーズを指定
channel
: チャンネル(0 指定で自動検出)
個別指定の場合は、1 - 11ch の範囲の値を設定してください。
uap_wpa_cipher (Micro AP モードのみ。Micro AP モード以外では無視されます)
: WPA 暗号方式
WLAN_CIPHER_MIXED
AES-CCMP/TKIP mixed モード
WLAN_CIPHER_AES_CCMP
AES-CCMP
コンフィグレーションファイル wlan_conf.c において、変数 wlan_conf として定義してくだ
さい。
設定内容は、接続先の相手または接続元の情報を設定します。
■uap_wpa_cipher の AES-CCMP/TKIP mixed モードについて
本モードでは、Group Cipher として TKIP が使われます。つまり、AES-CCMP で接続する
場合でも、TKIP のサポートが必須となります。
対向機器にあわせて、以下のように設定してください。
・TKIP のみサポートしている機器
→ WLAN_CIPHER_MIXED
・AES-CCMP のみサポートしている機器 → WLAN_CIPHER_AES_CCMP
なお、Micro AP モード以外では、WPA 暗号方式は自動的に判別できます。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
37
A P P L I C A T I O N
項目
概要
書式
N O T E
説明
スキャン情報
#define WLAN_SSID_LEN_MAX 32
#define WLAN_BSSID_LEN
6
typedef struct wlan_scan {
uint8_t
ssid[WLAN_SSID_LEN_MAX];
uint32_t
ssid_len;
uint8_t
bssid[WLAN_BSSID_LEN];
int
comm_mode;
int
auth_mode;
int
channel;
uint8_t
rssi;
} WLAN_SCAN;
#define WLAN_SCANRESULT_MAX
16
typedef struct wlan_scanresult {
int
bss_num;
WLAN_SCAN bss_info[WLAN_SCANRESULT_MAX];
} WLAN_SCANRESULT;
説明
ssid
: SSID
ssid_len
: SSID の長さ
bssid
: BSSID
comm_mode
: 接続方式
WLAN_MODE_ADHOC
アドホックモード
WLAN_MODE_INFRASTRUCTURE
インフラストラクチャーモード
WLAN_MODE_UNKNOWN
不明
auth_mode
: 認証モード
WLAN_AUTH_MODE_OPEN
認証なし
WLAN_AUTH_MODE_WEP
WEP (40bit / 104bit)
WLAN_AUTH_MODE_WPA_PSK
WPA/WPA2-PSK
channel
: チャンネル
rssi
: RSSI
bss_num
: 検索結果の数
検索結果の最大数は 16 個となります。それ以上の結果は打ち切られます。
bss_info
: 検索結果の配列
備考
38
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
API 一覧
API 仕様
概要
書式
入力
返却値
備考
説明
無線 LAN ドライバの初期化
int wlan_start(void)
なし
エラーコード
DRIVER_OK
正常終了
DRIVER_ERR
エラー終了
無線 LAN ドライバの API を利用する前に、かならず最初に呼び出してください。
コンフィグレーションファイル wlan_conf.c の変数 wlan_os_resource_init の情報を利用して、
OS 資源の生成を行います。
API 仕様
概要
書式
入力
返却値
備考
説明
無線 LAN の接続開始
int wlan_connect(void)
なし
エラーコード
DRIVER_OK
DRIVER_ERR
正常終了
エラー終了
コンフィグレーションファイル wlan_conf.c の変数 wlan_conf の情報を利用して接続処理を
行います。
接続処理が完了する前に API から復帰します。
実際に接続が確立したら、Event コールバック(WLAN_EVENT_CONNECT)により通知さ
れます。
なお、接続が確立する前に対向から切断された場合など、WLAN_EVENT_CONNECT が通
知されずに、WLAN_EVENT_DISCONNECT が通知されることがあります。
API 仕様
概要
書式
入力
返却値
備考
説明
無線 LAN の切断処理
int wlan_disconnect (void)
なし
エラーコード
DRIVER_OK
DRIVER_ERR
実際に切断されたら、Event コールバック(WLAN_EVENT_DISCONNECT)により通知さ
れます。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
正常終了
エラー終了
39
A P P L I C A T I O N
API 仕様
説明
概要
書式
アクセスポイント/アドホックネットワークの検索
int wlan_scan(WLAN_SCANRESULT* result)
入力
result
返却値
備考
N O T E
: 検索結果の格納先ポインタ
エラーコード
DRIVER_OK
正常終了
DRIVER_ERR
エラー終了
情報を取得したい場合に呼び出してください。
現在立ち上げられている接続先の相手を検索します。検索には時間(1.5 秒程度)を要します。
なお、16 台を超えた機器の情報は破棄されます。
本 API は Active scan を行います。scan するチャンネルの範囲は 1 - 11ch となります。
API 仕様
説明
概要
書式
通信品質の取得
int wlan_get_comm_quality (int16_t* rssi, int16_t* noise_floor)
入力
rssi
: RSSI の格納先ポインタ
noise_floor
返却値
備考
: Noise Floor の格納先ポインタ
エラーコード
DRIVER_OK
正常終了
DRIVER_ERR
エラー終了
情報を取得したい場合に呼び出してください。
本 API の情報は接続時のみ有効です。接続していない場合、取得値は不定値となります。
API 仕様
概要
書式
入力
返却値
備考
40
説明
MAC アドレスの取得
int wlan_get_macaddr (uint8_t* macaddr)
macaddr
: MAC アドレスの格納先ポインタ
格納先には 6 byte の領域を確保してください。
エラーコード
DRIVER_OK
DRIVER_ERR
正常終了
エラー終了
TCP/IP スタックの低レベル実装から呼び出されます。
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
API 仕様
N O T E
説明
概要
書式
マルチキャストアドレスフィルタの設定
int wlan_set_multicastaddr (uint8_t* maclist, uint32_t maclist_num)
入力
maclist
: MAC アドレスの配列へのポインタ
格納先には(6 byte * maclist_num) の領域を確保してください。
maclist_num
: maclist に含まれる MAC アドレスの数
最大数は 32 個となります。
返却値
備考
エラーコード
DRIVER_OK
DRIVER_ERR
正常終了
エラー終了
TCP/IP スタックの低レベル実装から呼び出されます。
登録されている MAC アドレスについては、上位で管理してください。
本 API が呼び出されると、すでに設定されている MAC アドレスの設定は全て破棄されま
す(上書きされます)
。
なお、すべての MAC アドレスを削除したい場合は、maclist_num に 0 を指定してください。
API 仕様
説明
概要
書式
送信関数
int wlan_send_pkt (WLAN_SG* sg_buf, uint32_t total_len)
入力
sg_buf
: 送信データ(scatter/gather 構造)
sg_buf[0]
無線 LAN ドライバで予約
sg_buf[1]
1 つ目のデータ(物理アドレス/長さ)
sg_buf[2]
2 つ目のデータ(物理アドレス/長さ)
・・・
sg_buf[N]
終端 (0 クリア必須)
total_len
: sg_buf に含まれるデータの合計長(byte)
返却値
備考
エラーコード
DRIVER_OK
DRIVER_ERR
TCP/IP スタックの低レベル実装から呼び出されます。
無線 LAN モジュールにデータを送信した時点で、API から復帰します。
無線 LAN モジュールにデータを送信できない場合は、データを送信できるまで API はブ
ロッキングします。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
正常終了
エラー終了
41
A P P L I C A T I O N
API 仕様
説明
概要
書式
受信関数
int wlan_recv_pkt (void* epbuf, uint32_t* start_ptr_offset, uint32_t* pktlen)
入力
epbuf
返却値
備考
42
N O T E
: 受信データの格納先
start_ptr_offset
: ep_buf の先頭から MAC フレームまでのオフセット(byte)を格納する領域
pktlen
: ep_buf に格納された MAC フレームの長さ(start_ptr_offset は含まない)を
格納する領域
エラーコード
DRIVER_OK
正常終了
DRIVER_ERR
エラー終了
無線 LAN ドライバの受信コールバック内の専用関数です。それ以外の場所からは呼び出さ
ないでください。
引数 epbuf には、受信コールバック関数の引数 epbuf_len で指定された長さの領域を TCP/IP
スタックで確保して渡してください。
ep_buf の先頭から start_prt_offset までの領域には、無線 LAN ヘッダが格納されています。
適宜、TCP/IP スタックで削除してください。
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
コールバック関数一覧
API 仕様
概要
説明
書式
入力
受信コールバック関数
void (*Recv)(uint32_t epbuf_len)
epbuf_len
: 必要な受信バッファの長さ(byte)
返却値
なし
備考
コンフィグレーションファイル wlan_conf.c の変数 wlan_callbackfunc の情報を利用して、
コールバック通知を行います。
本コールバック関数内では、wlan_recv_pkt() を除き、無線 LAN ドライバの API の呼び出し
はできません。
本コールバック関数は無線 LAN ドライバのタスク上から呼ばれます。ユーザタスクへの通
知を行った後はできるだけ速やかに復帰してください。
コールバック関数内で wlan_recv_pkt() を呼び出さなかった場合、本コールバック関数で通
知した受信データは破棄されます。
API 仕様
説明
概要
書式
イベントコールバック関数
void (*Event) (uint32_t event, void* data)
入力
event
: イベントコード
WLAN_EVENT_CONNECT
WLAN_EVENT_DISCONNECT
WLAN_EVENT_MIC_ERROR
接続通知
切断通知
MIC Failure を検出
data
: イベントの補足情報(現在は未使用)
返却値
なし
備考
コンフィグレーションファイル wlan_conf.c の変数 wlan_callbackfunc の情報を利用して、
コールバック通知を行います。
本コールバック関数内では、無線 LAN ドライバの API の呼び出しはできません。
本コールバック関数は無線 LAN ドライバのタスク上から呼ばれます。ユーザタスクへの通
知を行った後はできるだけ速やかに復帰してください。
WLAN_EVENT_CONNECT と WLAN_EVENT_DISCONNECT の通知順序は、一対一に対応
するとは限りません。接続が確立する前に対向から切断された場合など、
WLAN_EVENT_CONNECT が通知されずに WLAN_EVENT_DISCONNECT が通知されるこ
とがあります。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
43
A P P L I C A T I O N
N O T E
デモソフトウェア
4.3
デモソフトウェアについて、以下に説明します。
4.3.1
コンフィグレーション設定について
本デモソフトウェアに関連して、修正したコンフィグレーションの項目を、以下に示します。
Table 4-3
lwIP のコンフィグレーション
コンフィグ名
No.
設定値(*1)
備考
1
MEM_SIZE
16000
lwIP のヒープサイズ
2
MEMP_NUM_TCP_PCB
10
TCP 接続の最大数(確立したもの)
3
MEMP_NUM_TCP_PCB_LISTEN
5
TCP 接続の同時に Listen できる最大数
4
MEMP_NUM_TCP_SEG
20
TCP セグメントの同時キューイング数
5
MEMP_NUM_IGMP_GROUP
32
IGMP マルチキャストグループの最大数
6
MEMP_NUM_TCPIP_MSG_INPKT
16
TCP/IP 受信メッセージの最大数
7
MEMP_NUM_ARP_QUEUE
5
ARP request の応答待ちキューイング数
8
PBUF_POOL_SIZE
24
固定長メモリプールの最大数
9
LWIP_MULTICAST_PING
1
マルチキャスト PING に応答する
10
LWIP_IGMP
1
IGMP モジュールの有効化
11
TCP_WND
12
TCP 受信ウィンドウバッファサイズ
12
TCP_SND_BUF
13
PBUF_POOL_BUFSIZE
14
TCPIP_THREAD_STACKSIZE
(*2)
TCP/IP タスクのスタックサイズ
15
TCPIP_THREAD_PRIO
(*2)
TCP/IP タスクの優先度
16
TCPIP_MBOX_SIZE
32
TCP/IP タスクのメッセージバッファ段数
(MSS)
10
TCP 送信バッファサイズ
(MSS)
1514 +
128
固定長メモリプールのブロックサイズ
(無線 LAN 処理用のヘッダサイズも含む)
*1: 各設定値については最適化を実施していません。
*2: 「Table 4-1 タスクについて」を参照してください。
Table 4-4
No.
μT-REALOS のコンフィグレーション
コンフィグ名
設定値(*1)
備考
タスクの最大数
1
_KERNEL_MAX_TSK
10
2
_KERNEL_MAX_TSKPRI
100
タスク優先度の最大値
3
_KERNEL_MAX_SEM
10
セマフォの最大数
4
_KERNEL_MAX_FLG
10
イベントフラグの最大数
5
_KERNEL_MAX_MBX
10
メールボックスの最大数
6
_KERNEL_MAX_MTX
10
ミューテックスの最大数
7
_KERNEL_MAX_MBF
10
メッセージバッファの最大数
8
_KERNEL_INIT_TSKPRI
98
初期タスクの優先度
9
_KERNEL_INIT_TSKSTKSZ
0x400
初期タスクのスタックサイズ
10
_KERNEL_SYS_STKSIZE
0x400
システムスタックサイズ
11
_KERNEL_USE_IMALLOC
1
ヒープ領域の使用(メッセージバッファで必要)
12
_KERNEL_REALMEMSZ
0x1000
ヒープ領域のサイズ
*1: 各設定値については最適化を実施していません。
44
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
Table 4-5 無線 LAN ドライバのコンフィグレーション
変数名
No.
コンフィグ名
1
ssid
2
ssid_len
設定値
備考
“FM4-WLAN_demo”
SSID
0
SSID の長さ
(0 の設定は、NULL 終端により自動
で計算します)
3
comm_mode
WLAN_MODE_INFRASTRUCTURE
接続方式
4
auth_mode
WLAN_AUTH_MODE_OPEN
認証モード
key
"password12345"
鍵
0
鍵長
5
wlan_conf
6
(0 の設定は、NULL 終端により自動
key_len
で計算します)
0
チャンネル
(0 の設定は、接続先の利用チャンネ
7
channel
8
uap_wpa_cipher
WLAN_CIPHER_MIXED
Micro AP モード時の暗号方式
9
itskpri
(*1)
無線 LAN ドライバタスクの優先度
stk_wlan_tsk
無線 LAN ドライバタスクのスタッ
ルに合わせて自動で識別します)
10
wlan_os_resource_init
stk
クアドレス
(*1)
無線 LAN ドライバタスクのスタッ
11
stksz
12
Recv
callback_Recv
受信コールバック関数
Event
callback_Event
イベントコールバック関数
wlan_callback
13
クサイズ
*1: 「Table 4-1 タスクについて」を参照してください。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
45
A P P L I C A T I O N
4.3.2
N O T E
Web サーバについて
Web サーバの概要と構造
本デモソフトウェアの Web サーバは、lwip の Web サーバを使用しています。
Web サーバの詳細については、lwip のドキュメントを参照してください。
コンテンツの変更方法について
lwip の Web サーバが利用するコンテンツは、lwip より提供されるツール(makefsdata.exe)を使用すること
で作成できます。
makefsdata.exe が格納された同一ディレクトリに fs ディレクトリを作成、その fs ディレクトリの下に
HTML ファイルなどのコンテンツを格納して、makefsdata.exe を実行します。
実行が完了すると、fsdata.c が作成されますので、そのファイルをデモソフトウェアのビルド時に、
一緒にビルドすることで、コンテンツをデモソフトウェアに取り込めます。
Figure 4-4
46
コンテンツファイル(fsdata.c)作成動作
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
CGI について
cgi 処理は ajax.c 内で C 言語の関数として実装します。
cgi 処理を行う関数は以下の手順で登録してください。
<CGI 処理を行うファイル、関数の設定>
1.
CGI ファイル名、関数の設定
ajax.c で定義されている変数 CGIHandlers に CGI ファイル名と対応する処理関数のポインタを設
定してください。
2.
Web サーバへの登録
Ajax_Init()関数内で 1. で設定したファイル名と対応関数が登録されます。
複数の CGI ファイルを登録する場合は、http_set_sgi_handlers() に与える引数を登録する CGI
ファイル数に合わせて変更してください。
<CGI 処理を行う関数の実装>
設定した CGI ファイルへのアクセス時に、設定した関数が呼び出されます。
引数には与えられたパラメータが引き渡されるので、必要な処理を実装してください。
関数の戻り値には、CGI 処理後に表示するコンテンツ(HTML ファイル)のファイル名を返しますので、
事前に必要なコンテンツを用意してください。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
47
A P P L I C A T I O N
N O T E
5. その他
注意事項



ボードは各部品が露出した状態です。金属などの電気を通す物が触れると、ショートする恐れがあ
るため注意してください。
手などを接近させる際にボードに触れると感電する恐れがあるため注意してください。
人体や物体が静電気を帯びた状態でボードに接近した場合、ボードへ放電される可能性があります。
ボード上に搭載されている各部品は、静電気に弱い部品も含まれているため注意してください。
無線 LAN デモシステムで利用する ROM/RAM サイズ
ROM サイズ
772 Kbyte(*)
RAM サイズ
103 Kbyte(*)
備考
ROM サイズの内訳
CODE : 517 Kbyte
DATA : 255 Kbyte
*: 参考値です。
転送レート
以下に無線 LAN デモシステムで測定した転送レートを示します。
受信
19.3 Mbps (*)
送信
18.8 Mbps (*)
備考
測定条件
FM4 の型格 : MB9BF568R (core clock : 160 MHz)
プロトコル : TCP
転送サイズ : 7.3 MB
認証モード : WPA2-PSK (AES-CCMP)
接続方式 : インフラストラクチャーモード
試験ボードとアクセスポイントの間は無
線接続 (IEEE 802.11n)
アクセスポイントと PC の間は有線接続
*: 参考値です。電波状況等の環境によって変化します。
48
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
6. 主な変更内容
ページ
場所
変更箇所
Revision 1.0
-
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
-
Initial release
49
A P P L I C A T I O N
N O T E
AN709-00004-1v0-J
Spansion  Application Note
FM4 ファミリ
32 ビット マイクロコントローラ
無線 LAN モジュール連携による WLAN ソリューション デモ操作マニュアル
2014 年 6 月 Rev. 1.0
発行:
編集:
50
Spansion Inc.
Marketing Communications Dept.
AN709-00004-1v0-J, June 27, 2014
A P P L I C A T I O N
N O T E
免責事項
本資料に記載された製品は、通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途 (ただし、用途の限定はあ
りません) に使用されることを意図して設計・製造されています。(1) 極めて高度な安全性が要求され、仮に当該安全性が
確保されない場合、社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 (原子力施設における
核反応制御, 航空機自動飛行制御, 航空交通管制, 大量輸送システムにおける運行制御, 生命維持のための医療機器, 兵器
システムにおけるミサイル発射制御等をいう) 、ならびに(2) 極めて高い信頼性が要求される用途 (海底中継器, 宇宙衛星等
をいう) に使用されるよう設計・製造されたものではありません。上記の製品の使用法によって惹起されたいかなる請求ま
たは損害についても、Spansion は、お客様または第三者、あるいはその両方に対して責任を一切負いません。半導体デバ
イスはある確率で故障が発生します。当社半導体デバイスが故障しても、結果的に人身事故, 火災事故, 社会的な損害を生
じさせないよう、お客様において、装置の冗長設計, 延焼対策設計, 過電流防止対策設計, 誤動作防止設計などの安全設計
をお願いします。本資料に記載された製品が、外国為替及び外国貿易法、米国輸出管理関連法規などの規制に基づき規制さ
れている製品または技術に該当する場合には、本製品の輸出に際して、同法に基づく許可が必要となります。
商標および注記
このドキュメントは、断りなく変更される場合があります。本資料には Spansion が開発中の Spansion 製品に関する情報
が記載されている場合があります。Spansion は、それらの製品に対し、予告なしに仕様を変更したり、開発を中止したり
する権利を有します。このドキュメントに含まれる情報は、現状のまま、保証なしに提供されるものであり、その正確性, 完
全性, 実施可能性および特定の目的に対する適合性やその市場性および他者の権利を侵害しない事を保証するものでなく、
また、明示, 黙示または法定されているあらゆる保証をするものでもありません。Spansion は、このドキュメントに含まれ
る情報を使用することにより発生したいかなる損害に対しても責任を一切負いません。
Copyright © 2014 Spansion. All rights reserved.
®
®
®
TM
TM
商標:Spansion , Spansion ロゴ (図形マーク), MirrorBit , MirrorBit Eclipse , ORNAND 及びこれらの組合せは、米国・
日本ほか諸外国における Spansion LLC の商標です。第三者の社名・製品名等の記載はここでは情報提供を目的として表記
したものであり、各権利者の商標もしくは登録商標となっている場合があります。
June 27, 2014, AN709-00004-1v0-J
CONFIDENTIAL
51