MCPC-TR-017
Ethernet 対応 TAF 搭載ガイドライン
Version 1.00
2011 年 11 月 21 日

モバイルコンピューティング推進コンソーシアム
技術委員会

変更履歴
日付
2011年11月21日

Version1.00

変更内容
Base version initial release.

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

ドキュメント発行者、および著作権者:〒105-0011
東京都港区芝公園3-5-12 芝公園真田ビル
モバイルコンピューティング推進コンソーシアム (MCPC)
電話： 03-5401-1935
ＦＡＸ： 03-5401-1937
ＥＭＡＩＬ： office@mcpc-jp.org
WEB SITE: http://www.mcpc-jp.org

機密保持について:
MCPC会則、IP Policyを遵守

免責について:本ドキュメントはモバイルコンピューティングに関する標準仕様、推奨仕様などを提供するもので、モバイルコン
ピューティング推進コンソーシアム（以下MCPCとする）は、本ドキュメントを使用した結果発生した損害、第三者の特許、またはその他の権利の侵害に対して、一切の責任を負わない。また、本ドキュメントはMCPC、または第3三者が保持するいかなる権利のライセンスを許諾するものではない。

2進数、10進数、16進数の表記方法：
 2進数は小文字 b を付加する。 (例： 10b)
 2進数4桁以上は4桁ごとにスペースで区切る。 (例：1000 0101 0010b)
 16進数は小文字 h を付加する。(例：FFFFh and 80h) その他の数字表記は10進数とする。

キーワード
 することができる
推奨または要求に自由な選択肢を示す。
してもよい(may) すべきである
必須ではないが強い推奨を示す。実施の際、必須ではないが考慮すべき。
(should) しなければならない 必須要求を示す。接続性、仕様準拠のために必ず実施しなければならない。
(shall)2

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

Table of Contents
概要 ..............................................................................................................................51.
1.1.

本ドキュメントと関連する仕様書、ドキュメントの関係 .................................................................. 5

機能 ..............................................................................................................................72.

2.1. USB-IF NCMの概要................................................................................................................ 72.1.1. NCM搭載システムのME内構成例 ..................................................................................... 7
2.1.2. NCMでの転送の特徴........................................................................................................ 82.1.2.1.
EtherFrame転送,EtherFrameとUSBパケットの関係 ............................................................ 8
2.1.3. NCMでのデータ転送パラメータの指定例.......................................................................... 10
2.1.4. LTE/3Gネットワーク対応MEでのNCMの搭載に関して .......................................................11

詳細仕様.....................................................................................................................123.
3.1.
3.2.

NCMをMCPC GL-005上に搭載する場合 ............................................................................... 12
NCMをMCPC GL-007上に搭載する場合 ............................................................................... 14

A.1 参照文献のリスト...............................................................................................................15B.1 参考文献、参照した用語などのリスト .................................................................................153

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

Table of Figures
Figure 1-1 本ドキュメントと他ドキュメントとの関係.............................................................................................. 6
Figure 2-1 NCM搭載ME内構成例 .................................................................................................................... 7
Figure 2-2 EtherNetのフレーム例 ..................................................................................................................... 8
Figure 2-3 EthernetフレームをUSBで転送した時のUSBパケット例................................................................... 8
Figure 2-4 NCMでのEthernet形式データのDMA転送メモリ上配置例 ............................................................... 9
Figure 2-5 NCMでのデータのリンク例............................................................................................................. 10Figure 3-1 GL-005 USB構成とNCMの配置.................................................................................................... 12
Figure 3-2 GL-007 USB構成とNCMの配置.................................................................................................... 144

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

1. 概要
携帯端末の通信ネットワークは2001年にデジタル方式である第3世代移動通信システムが日本で運用を開始して以来、その仕様拡張などで逐次通信スピードの高速化が図られている。
一方、2009年以降、新しい通信方式の採用などで、通信スピードの高速化は一層進んでおり、2010年以降は第3.9世代移動通信システム(LTE)の運用も予定されている。
LTEでは、IPパケット通信が採用され、ネットワークのピークデータレートとして、20MHz帯域幅で1ストリーミング使用において下り100Mbps以上、上り50Mbps以上の通信速度がターゲットとされており、さらにMIMO技術との組み合わせなどにより更に高速な通信が可能となる。 (これら帯域を複数のユーザで共有することになるので、1端末当たりの通信スピードはこの限りではない。)
このように携帯端末の通信ネットワークが高速化してくると、それが基地局と通信する高速データを外部機器に出力するためのターミナルアダプタ機能も、端末内での変換やデータコピーによるオーバヘッドを少なくし、高速化する必要が出てくる。
USB Implementers Forum(USB-IF)では、これに対応するため、2009年8月にEthernet Frameを一例とし、IPデータに一定のヘッダが付加されたようなデータ列に対応するターミナルアダプタのデータ転送を実現するプロトコル仕様(Network Control Model Specification; 以降NCMと称す)を公開している。
本ドキュメントでは、そのUSB-IFで仕様化されたUSB構造及びプロトコルを、MCPCにて既にガイドライン化されたUSB構造の中で搭載する場合について記載を行う。

1.1. 本ドキュメントと関連する仕様書、ドキュメントの関係
本ドキュメントでは、主にNCMプロトコルを既存のMCPCガイドライン構造上で実装する場合の注意点などを纏めてガイドライン化を行うが、[NCM]ではTAF制御に関して記述がされていない。その為、[TR-018]にてTAF制御の一例をガイドライン化し、それと組み合わせる事で共通の通信機能を提案するものである。

5

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

[GL-005][TR-017]
(本書)

[NCM]

MEでのUSB
機能搭載基
本構造定義[NCM]機能解説[GL-004][GL-005] / [GL-007]
での[NCM]搭載
ガイドライン[GL-005] で の 通 信 ファンクション他搭載ガイドライン[GL-007]ME内のEthernet対応
TAF構造定義[TR-018](TAF制御ガイドライン)[NCM]でのTAF制御
コマンド例[GL-005]上で[NCM]搭載する際にはこれらドキュメ
ントの参照が必要

MEでの[WMC]機能搭
載ガイドラインFigure 1-1 本ドキュメントと他ドキュメントとの関係

6©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

2. 機能
2.1. USB-IF NCMの概要
2.1.1.

NCM搭載システムのME内構成例

MobileNetwork

Celluar網
Data
Modem

Communication
CPU

Other circuits,
Softwares
DHCP Server

USB ControllerUSBtransaction

RxEtherFrame

TxEtherFrames

DMAC
16/32

USB

Main memory (RAM)
Figure 2-1 NCM 搭載 ME 内構成例
[NCM]では、USBインタフェースコントローラに送受信するデータを、DMAコントローラを使用し直接USBデータトランザクションバッファとメインメモリ間で転送ができるよう考慮されている。また、複数のEthernetFrame形式のデータを、一回のBulk転送設定にて行うことができる様考慮されている。

7

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

2.1.2.

NCMでの転送の特徴

本章では、IPデータにEthernetフレームが付加された場合を例に取り、NCMでのデータ転送の特徴を述べる。
なおNCMでは、本データ転送の特徴を利用することにより、Ethernet以外の形式やEthernetヘッダに追加ヘッダを付加したデータ列も同様に転送することが可能である。
2.1.2.1. EtherFrame転送,EtherFrameとUSBパケットの関係
Ethernet FrameはIEEE 802.3 で決められたルールでデータがカプセル化されており、14-byte ヘッダの後に可変長のデータが続く。
可変長14byte
送信先MACアドレス(6 byte)

送信元MACアドレス(6 byte)タイプ(2 byte)

データ + CRC (ex. 1500 byte)

Figure 2-2 EtherNet のフレーム例
一方USBパケットはUSBバス上で1トランザクションのデータ転送を行う際のデータ単位である。USBでは1トランザクションで転送できるデータの最大長(MaxPacketSize)は決められている為、転送すべき元データのサイズにより、MaxPacketSizeでの転送複数回と、これに満たない転送(ショートパケット転送)1回の組み合わせで転送が完了する。
 HSのBulk転送ではMaxPacketSizeは512Byte(固定)また、Ethernetのフレームサイズは、USBの最大長転送サイズと異なり、通常EthernetのフレームサイズがUSBのMaxPacketSizeより大きい為、1つのEthernetフレームをUSB上で転送する場合にはFigure 2-3の様に、Ethernetの1フレームが分割され、USB上で転送される事になる。

Ethernet フレーム例 （1514Byte）

512Byte (MaxPacket)

512Byte (MaxPacket)

USB バルクパケット 1USB バルクパケット 2490Byte(ShortPacket)
USBバルクパケット 3(ショートパケット）

Figure 2-3 Ethernet フレームを USB で転送した時の USB パケット例
Figure 2-3の例では、USBバルクパケット3はショートパケットとなる。[USB2.0]では、バルク転送のショートパケットは、一連のバルクデータ転送が終了した事を示すため、ここでCPUに割り込み信号(IRP)が発生する。その為、Ethernet 1フレーム分のデータをUSB上で転送する度にIRPが発生する事になる。その為、Ethernet通信スピードが高速になる程IRPの発生頻度が高まるため、CPUでのIRP処理に必要なオーバヘッドがシステム全体の通信パフォーマンスに与える影響を無視できなくなってくる。
この問題を克服するため、NCMではEthernetフレームをUSB転送する際に、複数のEthernetフレームをUSB

8©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00の1データグラムに集結し、その全体からUSBパケット化する手法をとっている。同時に、USBで送受信したデータ自 体の 格納 /抽出も CPU を介 する 事なく、 DMAを使用 して行えるよう、 データのメモリ上の配置についても16/32bitDMAコントローラの使用を前提とした（D）WORDバウンダリに配置する様にしている。ScatterGatherに対応したDMA転送を行う事により、転送データのテンポラリコピーをメモリ上の専用エリアに配置する必要が無く、DMAで直接送れるように考慮されている。またIPデータの抽出が容易になるよう、EtherneｔのヘッダーとIPデータの境を（D）WORDバウンダリに配置する。
一方、Ethernetデータの配置をこのようにする事により、各Ethernetのフレーム間や最終Ethernetフレームの後には有効データのない”空きエリア”が存在する可能性がある。[NCM]では、この空きエリアをPaddingデータとして埋めていく事にしている。
Figure 2-4に3つのEthernetフレームデータを[NCM]をの32bitDMAを使用して通信した場合のメモリ上のデータ配置例を示す。

内部DMA(32bit)バウンダリ

….

0x000
NCM Block Header

NCM FPT

0x*40

Padding

Ethernetヘッダ….
1USBパケット
0x1FF (512byte)

IP Frame #0 (1500 bytes)
0x3FF
0x5FF

Padding

Ethernetヘッダ
0x7FF

IP Frame #1 (1500 bytes)

0x9FF
0xBFF

Padding

Ethernetヘッダ
0xDFF

IP Frame #2 (500 bytes)
Padding

0xFFF

Figure 2-4 NCM での Ethernet 形式データの DMA 転送メモリ上配置例

9

ここでUSBIRP発生©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

2.1.3.

NCMでのデータ転送パラメータの指定例[NCM]では、NCM Transfer HeaderにてNCM Datagram Pointer(NDP)を使用し、NDBの配置位置を示す。

NDP(*)どこに配置しても良い
NCM TransferBlock index （*）

NCM Transfer Header

Padding

NTB Datagram[0](Ethernet) Header

Frame #0 (1500byte)

Padding

Frame #1 (1500byte)

Padding

NTB Datagram[1](Ethernet) Header

NTB Datagram[2](Ethernet) Header

Frame #2 (510byte)(D)WORDバウンダリ

Figure 2-5 NCM でのデータのリンク例

10Padding©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

2.1.4.

LTE/3Gネットワーク対応MEでのNCMの搭載に関して

3Gモバイルネットワーク対応のMEにて、その通信データを終端するTAFでは、多くがモデムTAFを搭載しているのが現状である。一方[NCM]はLTEなどの高速ネットワークから送受信されたデータを、USBを使って効率的に転送するように考慮されているが、TEのソフトスタック上はLANアダプタと同様、ネットワークアダプタとして見せる。そのため、3GとLTEの両ネットワークに対応したMEでは、3GとLTEのサービスエリアによって、TEとの間でデータ転送を行うTAFを切り替える必要があることに注意が必要である。
この切り替えを回避する為に、[NCM]を3G用のTAFとしても利用する事も可能である。但し、その場合は3G対応の上位アプリとのAPIが従来のモデムAPIから変わる可能性があるため、注意が必要となる。

11

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

3. 詳細仕様
3.1. NCMをMCPC GL-005上に搭載する場合[GL-005]では、ME内にターミナルアダプタ機能(TAF)を配置するMobile Abstract Controlモデル(AB)と、TAFをME外部に置くMobile Direct Lineモデル(DL)を定義した。本ドキュメントでは、そのうちMobile Abstract Controlモデル(AB)をNCM搭載に使用する。Mobile Abstract Controlモデル(AB)では、複数のTAFを1つのME内に収めるため、各種TAFの配置を制御し、一種のソフトウェアHUBとしての機能を持つ”USB Data Relay Driver”という管理レイヤを持ち、その上位に各TAFを配置する。(Figure 3-1参照)

Application Program

WAPI
TAPI

MODEM
DriverCommunication API（WAN / Serial Port）

Communication
API （LAN）

Audio
API

MDL
API

AT
CommandDriver

Network
Driver
（NCM）

Audio
Drv.

Direct Line

OBEX

DriverMobileDrv.

USB Data Relay Driver （GL005 Data Relay）

USB Driver
USB Host Control Driver
USB Host Controller (Hardware)USB

Host side
Mobile equipment side

TAF1

TAF2

TAF3

Figure 3-1 GL-005 USB 構成と NCM の配置

12: API / Driver©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

[GL-005]では、Mobile Abstract Controlモデル(AB)で使用するTAFとして、以下が定義されている。(それぞれのTAFモード詳細は[GL-005] 4.2.5.1.3章 参照)
・ 音声通信モード
・ モデムモード
・ LANモード・ ATコマンド制御モード
・ OBEXモード
これまでのモバイル通信用MEでは、MEとTE間のデータ通信用TAFとして、モデムモードが多用されていた。このように、MEでLANモードを使用していなかった場合、[GL-005]のモード定義を拡張することなく、ここに[NCM]のデータ通信用TAFを搭載することが可能になる。
[NCM]では、Data InterfaceとしてBULK-INとBULK-OUTそれぞれ1個ずつのEndpointを使用する。そのため、このTAFには[GL-005]で定義されたPipeGroupとしてはAB-1,AB-2,AB-4のいずれかを使用することが可能である。
一方、[NCM]通信の呼制御など、コントロールを行うTAFの実装はいくつかの方法が考えられる。一例として
は、3Gネットワーク用TAFで広く使用されているATコマンドを使用する方法がある。なお、通常ホストPCサイドで[NCM]の様なネットワークカード見えするアダプタでは、WANモデムとは異なる制御コマンドにて通信制御を行うことが多い(例えばWindows OSで使用されているNDISコマンド等)。
[TR-018]にて、[NCM]対応TAFをATコマンドで制御するコマンド例を紹介している。

13

©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

3.2. NCMをMCPC GL-007上に搭載する場合[GL-007]では、基本的に[WMC]で定義された”USB Data Relay Driver”上に[NCM]を配置する。
この時の注意点は[GL-007]及び[WMC]を参照すること。

MODEM
Application

Voice
Communication
ApplicationOBEX
Application

DeviceManagement
Application

MDLM
Application

MODEM
API

VoiceAPI

CallControl
APICOMAPI

DeviceManagement
API

MDLM
API

MODEM
Driver

Voice
Control
Driver

CallControl
Driver

OBEX
DriverDeviceManagement
Driver

MDLM
DriverUSB Data Relay (WHCM) Driver
API/Driver stack

USB Bus Driver
USB Host Control Driver
USB Host Controller

USB Host

USB interface

Mobile equipment
WMC Mobile Phone
Figure 3-2 GL-007 USB 構成と NCM の配置

14Network
Application

NetworkAPI

NetworkDriver©Copyright 2011 Mobile Computing Promotion Consortium (MCPC)MCPC TR-017 Ethernet対応TAF搭載ガイドライン Version 1.00

Appendix A (標準仕様など参照文献(Normative))
A.1 参照文献のリスト[GL-004] MCPC USB Implementation Guideline -Overview- Ver.2.0 March 31,2006[GL-005] MCPC USB Implementation Guideline -Technical Specification- Ver.2.0 March 31,2006[GL-007] MCPC USB Implementation Guideline for Communication Device Class Wireless Mobile
Communication Devices Ver. 1.0 Mar 25, 2002
[TR-018][NCM] Universal Serial Bus Communications Class Subclass Specifications for Network Control Model
Devices Revision 1.0 April 30, 2009
[USB2.0] Universal Serial Bus Specification Revision 2.0 April 27, 2000
[WMC] Universal Serial Bus CDC Subclass Specification for Wireless Mobile Communications Devices
Revision 1.1 February 9, 2007

Appendix B (参考文献(Informative))B.1 参考文献、参照した用語などのリスト
TAFME
TE

Terminal Adaption Function
Mobile Equipment
Terminal Equipment

15