25
emUSB Host / Device 株式会社エンビテック

emUSB Host / DeviceemUSB-Host / Device Audioを使用すると、デバイスをオーディオレコーダーまたは オーディオスピーカーとして利用可能です。emUSB-Host

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

emUSB Host / Device

株式会社エンビテック

SEGGER J-Linkで利用されているソフトウェア

累計60万台以上の販売実績を持つJ-Linkシリーズ

2019/7/3 2

emUSBDevice

開発ツールとの接続を担うJ-LinkのUSBデバイスはお客様に提供する製品と同じソフトウェアが使われています。

RTOSembOS

不正改造・量産防止

emSecure

TCP/IPembOS/IP

emUSB サマリー

2019/7/3 3

USB-Host 1.1 / 2.0 (HighSpeed)標準仕様に準拠USB-Device 1.1 / 2.0 / 3.0(SuperSpeed)接続対応USBに定義されているすべての転送モードをサポートします。信頼性の高いUSBパイプ管理と拡張されたエラー回復メカニズムが、スタック内部的に実装されています。

SEGGER社独自のソフトウェアモジュール化構造ハードウェア依存部はUSBスタックから独立しており、ハードウェア変更時にもアプリケーションへの影響度を最小限に抑えることが可能です。

ハードウェア依存部

USBコアモジュール

USBクラスドライバ

ハードウェア変更クラスドライバの追加を柔軟に行う事ができます。

emUSB ユーザメリット

2019/7/3 4

量産ロイヤリティ不要

開発プロジェクト無制限(ユーザライセンス)

Armマイコンでも、RXでも使える。数百品種のマイコンをサポート。

複数メーカ製マイコン・開発ツールを選べる

RTOS依存性なし、iTRONでも使える。他社RTOSでも使える

マルチタスクが不要なアプリケーションであれば、RTOSなしでも利用可能

emUSBクラス対応表emUSB Host / DeviceはUSB各クラスに対応します。

2019/7/3 5

USB Host USB DeviceMTP ○ ○MSD ○ ○Virtual MSD - ○HID ○ ○CDC ○ ○RNDIS ○ ○Printer ○ ○LAN(IP over USB) ○ ○FTDI UART ○ -MIDI ○ -Audio ○(2019.7 new) ○CCID ○ -Video - ○(2019.7 new)

DFU - ○(2019.7 new)

Bulk - ○Vendor ○ ○

emUSB Host: ROM/RAMリソース使用量

2019/7/3 6

emUSB Host: ROM/RAMリソース使用量

2019/7/3 7

USB Hostパフォーマンスベンチマーク

emUSB Device: ROM/RAMリソース使用量

2019/7/3 8

emUSB Device: パフォーマンスベンチマーク

2019/7/3 9

emUSB Host 品質テスト

2019/7/3 10

USBは、良く定義されている規格ですが、多くのUSBデバイスメーカはWindowsのみの接続検証のみで、USBフルスピード、低転送サイズなど、Windowsとは異なるタイミングで発生する問題は、製造元に認識されていません。USBホストスタックはUSB規格に準拠する必要がありますが、同時に完全に準拠していないデバイスでも動作する必要性があります。組込システムに許容できるリソースが限られているため、USBホストスタックの開発の難しさがあります。

USBホストスタックがこのような要件を満たしているかどうかを確認する唯一の方法は、クリーンなソフトウェア設計と様々なデバイスを使用した集中的なテストです。

異なるメーカーのUSBメモリを使用したテスト

テストするために定期的に新しいデバイスを追加します。

異なるデバイスクラスを使用したテスト

異なるメーカーの複数のデバイスを使用し、あらゆるデバイスクラスの処理テスト

2,000以上の評価ボード

様々なマイコンで評価

厳格な列挙テスト

数千の列挙テストをシミュレートするハードウェア

ハブテスト

USBメモリ同様不確実な製品が多いUSBハブを多数テスト

自動回帰テスト

自動回帰テストでは、VBUSスイッチボードを設計しました。

多くの試験・シミュレーションを行い、emUSBの品質を管理しています。

emUSB Host / Device - HID

2019/7/3 11

ヒューマンインターフェースデバイスマウス・キーボード・タッチパッドなどHIDアプリケーションとの接続をサポート

バーコードから文字情報を読み取り、送受信するサンプルアプリケーション

https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c42675

アプリケーション例

emUSB Host / Device - CDC

2019/7/3 12

コミュニケーションデバイスクラスFAXやモデムなどの通信機器で利用されるCOMポートをUSBサポートします。

POS端末に文字情報を表示するサンプルアプリケーション

https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c42671

アプリケーション例

emUSB Host / Device - MSD

2019/7/3 13

MSD - マスストレージデバイスUSBメモリスティック、ハードディスク、SDカードリーダなどストレージデバイスとの接続をサポート

別途「emFile」などファイルシステムが必要になります。

Virtual MSD(デバイスのみ)Virtual MSDでは、ストレージデバイスを仮想的に使用することができます。ストレージデバイスは、構成可能なサイズと構成可能なファイルリストを持つFAT形式のボリュームとしてホスト上に表示されます。

アプリケーション例

emUSB Host - LAN

2019/7/3 14

USB to LANUSBからのインターネット接続をサポートします。

USB to Ethernet Adapterサンプル:https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c46692

4G/LTE データ接続USBスティックサンプル:https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c42667

アプリケーション例

emUSB Host - Printer / FTDI / MTP

2019/7/3 15

プリンタUSBプリンタクラスを利用した機器との接続をサポート

USB FTDI UARTUSBからシリアル接続への変換コネクタの接続をサポート(FT232)

MTP Android、Windows、その他MTPデバイス上のファイル読み書き、アプリケーションによってMTPプロパティを取得・変更することができます。

emUSB Host - CCID

2019/7/3 16

CCIDクラスは、主にスマートカードサポートを組込システムに追加するために使用されます。

シンプルなユーザーAPI新しく接続されたスマートカードリーダーの通知。スマートカードが挿入または削除された場合の通知。APDUをスマートカードに送る簡単な機能。

アプリケーション例

emUSB Host - MIDI

2019/7/3 17

MIDIキーボード、サンプラー、シーケンサーなどのMIDI規格対応接続機器をサポートします。複数のMIDI規格接続デバイスを制御可能となりますが、RTOS実装が必須要件となります。

サンプルアプリケーションSTM32F746G Discovery 用のサンプルアプリケーションを用意しています。接続されたMIDI対応シンセサイザでMIDIシーケンスを再生し、ターゲットボードのディスプレイにピアノ譜面と歌詞をリアルタイムに表示します。

もう一つはディスプレイに表示されたピアノキーボードからキーストロークデータをMIDI規格に基づいて音源に転送するサンプルアプリケーションです。

https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c48553

emUSB Host / Device - Audio

2019/7/3 18

オーディオクラスemUSB-Host / Device Audioを使用すると、デバイスをオーディオレコーダーまたはオーディオスピーカーとして利用可能です。emUSB-Host / Device Audioでは、PC(Linux / Windows / Mac)から再生されたオーディオデータをSDカードに直接保存するなど、デバイスが使用可能なハードウェアに関係なくオーディオデータを処理できます。

スピーカーインターフェイスの機能ユニットコントロール(ボリューム、ミュートなど)のコマンドSET_CUR、GET_CUR、SET_MIN、GET_MIN、SET_MAX、GET_MAX、SET_RES、GET_RESがサポートされています。

emUSB-Host/Device-Audioは、オーディオ周辺機器用のドライバ/コーデックを提供していません。

emPowerボード用のemUSB-Device Audioデモを用意しています。

https://www.segger.com/downloads/emusb-device/SeggerEval_emPower_emUSBD_Audio_SES

emUSB Device - Video

2019/7/3 19

Video ClassemUSB-Device Videoを利用することで、Hostアプリケーションへビデオデータをストリーミング転送することが可能です。

emUSB-Device Video Classは、USB Video Class V1.1 に準拠し、非圧縮フォーマット「YUV422」をサポートします。

アプリケーション例

emPowerボード用のemUSB-Device Videoデモを用意しています。

https://www.segger.com/downloads/emusb-device/Trial_emPower_emUSBD_Video

emUSB Device - DFU

2019/7/3 20

Device Firmware Upgrade (DFU) classemUSB-Device DFUを利用することで、USB Deviceアプリケーション製品でファームウェアアップデート機能を利用することができます。dfu-utilのような一般的なツールで、作成したDFUファイルをUSB Hostで利用することにより、ファームウェア更新することができます。DFUクラスは、他のクラスドライバと共存することができますので、アプリケーションへの影響も最小限に抑えることが可能です。

emUSB-Device DFUクラスは、「ランタイムモード」「DFUモード」と2つのモードをサポートします。まずランタイムモードにおいては、USB Deviceは通常動作をし、HostにDFU機能を通知します。ランタイムモードのままではファームウェアのダウンロードを受け入れることはできないため、HostからDeviceをDFUモードに切り替え、ファームウェア更新を実行します。これによりUSB Deviceにランタイムファームウェアとブートローダが共存しているアプケーションで有効活用することが可能です。

サンプル・評価環境は準備中です。

emUSB Host / Device - Vendor

2019/7/3 21

ベンダークラスベンダーによって定義された非標準の独自プロトコルをサポート

標準定義されていないユーザ様独自プロトコルにて、アプリケーション開発が可能

SAMPLE

オプション:WindowsでVendorクラスを利用するためにemUSB-Device driver WHQL certification次のWindowsオペレーティングシステム用のWindows Hardware Quality Labs(WHQL)Driver認定:Windows XP、Vista、7,8および8.1および10この認定は、x86およびx64アーキテクチャーで有効です。

USB Host マイコン対応

2019/7/3 22

MicrochipAT32UC3A AVR32 Driver

AT91SAM9260 OHCI Driver

AT91SAM9261 OHCI Driver

AT91SAM9263 OHCI Driver

AT91SAM92G10 OHCI Driver

AT91SAM92G20 OHCI Driver

AT91SAM9G15 OHCI Driver

AT91SAM9G45 OHCI Driver

AT91SAM9XE OHCI Driver

AT91SAM92G45/M10 OHCI Driver

AT91SAMA5D2x OHCI Driver

AT91SAMA5D2x EHCI Driver

AT91SAMA5D3x OHCI Driver

AT91SAMA5D3x EHCI Driver

ATSAMV70/V71/S70/E70 ATSAMx7 Driver3

Infineon

XMC45xx Synopsys DWC2 Full Speed Driver

NXPiMX6DL EHCI DriveriMXRT1050 EHCI DriverKinetis K20_120 EHCI Driver

Kinetis K20 Kinetis Full Speed Driver1

Kinetis K21 Kinetis Full Speed Driver1

Kinetis K22 Kinetis Full Speed Driver1

Kinetis K24 Kinetis Full Speed Driver1

Kinetis K26 EHCI Driver

Kinetis K26 Kinetis Full Speed Driver1

Kinetis K27 EHCI Driver

Kinetis K27 Kinetis Full Speed Driver1

Kinetis K28 EHCI Driver

Kinetis K28 Kinetis Full Speed Driver1

Kinetis K40 Kinetis Full Speed Driver1

Kinetis K60_120 EHCI Driver

Kinetis K60 Kinetis Full Speed Driver1

Kinetis K61 EHCI Driver

Kinetis K61 Kinetis Full Speed Driver1

Kinetis K63 Kinetis Full Speed Driver1

Kinetis K64 Kinetis Full Speed Driver1

Kinetis K65 EHCI Driver

Kinetis K65 Kinetis Full Speed Driver1

Kinetis K66 EHCI Driver

Kinetis K66 Kinetis Full Speed Driver1

Kinetis K70 EHCI Driver

Kinetis K70 Kinetis Full Speed Driver1

Kinetis KL20 Kinetis Full Speed Driver1

LPC17xx OHCI DriverLPC2387 OHCI DriverLPC2388 OHCI DriverLPC2420 OHCI DriverLPC2458 OHCI DriverLPC2460 OHCI DriverLPC2468 OHCI DriverLPC2470 OHCI DriverLPC2478 OHCI DriverLPC3180 OHCI DriverLPC3220 OHCI DriverLPC3230 OHCI DriverLPC3240 OHCI DriverLPC3250 OHCI DriverLPC4088 OHCI DriverLH7A400 OHCI DriverLH7A404 OHCI DriverLPC18xx (except LPC181x)

EHCI Driver

LPC18Sxx (except LPC181Sx)

EHCI Driver

LPC43xx (except LPC431x)

EHCI Driver

LPC43Sxx (except LPC431Sx)

EHCI Driver

LPC546xx, LPC540xx, LPC5411x

OHCI Driver (Full Speed)

LPC546xx, LPC540xx

LPC54 High Speed Driver

RenesasRX11x Renesas Driver(RX113)RX23x Renesas Driver(RX231)RX62x

Renesas Driver(RX621, RX62N)RX63x

Renesas Driver(RX631, RX63N)RX64x Renesas Driver(RX64M)RX65x Renesas Driver(RX65M)RX71x Renesas Driver(RX71M)RZ/A1x

Renesas Driver

(RZ/A1H -R7S72100xRZ/A1M -R7S72101xRZ/A1L -R7S72102x)

RZ/G1E

EHCI Driver (High Speed)OHCI Driver (Full Speed)

Synergy

Renesas Driver(S3A3, S3A7, S5D5, S5D9, S7G2)

ST MicroelectronicsSTM32F105 Synopsys DWC2 Full

Speed Driver

STM32F107 Synopsys DWC2 Full Speed Driver

STM32F205 Synopsys DWC2 Full Speed Driver2

STM32F205 Synopsys DWC2 High Speed Driver2

STM32F207 Synopsys DWC2 Full Speed Driver2

STM32F207 Synopsys DWC2 High Speed Driver2

STM32F215 Synopsys DWC2 Full Speed Driver2

STM32F215 Synopsys DWC2 High Speed Driver2

STM32F217 Synopsys DWC2 Full Speed Driver2

STM32F217 Synopsys DWC2 High Speed Driver2

STM32F401 Synopsys DWC2 Full Speed Driver2

STM32F405 Synopsys DWC2 Full Speed Driver2

STM32F405 Synopsys DWC2 High Speed Driver2

STM32F407 Synopsys DWC2 Full Speed Driver2

STM32F407 Synopsys DWC2 High Speed Driver2

STM32F415 Synopsys DWC2 Full Speed Driver2

STM32F415 Synopsys DWC2 High Speed Driver2

STM32F417 Synopsys DWC2 Full Speed Driver2

STM32F417 Synopsys DWC2 High Speed Driver2

STM32F427 Synopsys DWC2 Full Speed Driver2

STM32F427 Synopsys DWC2 High Speed Driver2

STM32F429 Synopsys DWC2 Full Speed Driver2

STM32F429 Synopsys DWC2 High Speed Driver2

STM32F437 Synopsys DWC2 Full Speed Driver2

STM32F437 Synopsys DWC2 High Speed Driver2

STM32F439 Synopsys DWC2 Full Speed Driver2

STM32F439 Synopsys DWC2 High Speed Driver2

STM32F7xx Synopsys DWC2 Full Speed Driver2

STM32F7xx Synopsys DWC2 High Speed Driver2

STM32H7xxSynopsys DWC2 High Speed Driver(can also be used in full-speed mode)

USB Device マイコン対応

2019/7/3 23

Cypress SemiconductorMB9BF5xx,MB9BF6xx

InfineonXMC45xx

MaximMAX32590

MicrochipAT91CAP9AT91RM9200AT91SAM3SAT91SAM3UAT91SAM3XAT91SAM4SAT91SAM7A3AT91SAM7SAT91SAM7SEAT91SAM7XAT91SAM9260

AT91SAM9261AT91SAM9263AT91SAM9G20AT91SAM9G45AT91SAM9Rx64AT91SAM9x25AT91SAM9XEATSAMD21AVR32UCSAMA5D2xSAMA5D3xSAMA5D4xSAMV7xPIC32MX

Nordic SemiconductornRF52840

NXPLPC13xx(LPC1342, LPC1343)LPC17xxLPC18xxLPC214xLPC23xxLPC24xxLPC288xLPC318xLPC313xLPC3250LPC43xx (except LPC431x)LPC54xxxKinetis KHCIKinetis K60/K70 HighspeediMX25xiMX28xMCF227xMCF225xMCF51JMxP1020Vybrid

OKI69Q62

RenesasH8S2472H8SX1668RK78F102xR7FS7G2xRX11xRX13xRX23xRX62xRX63xRX64xRX65xRX71x (USBb, USB FS Controller)RX71x (USBAa, USB HS Controller)RZA1RZG1ESH7203SH7216SH7268/9SH726ASH7286uPD720150V850ES/JG3-E/U/HV850ES/JH3-E/U/HSynergy S124Synergy S128Synergy S3a3Synergy S3a7Synergy S5d5Synergy S5d9 (USB FS, USB FS Controller)Synergy S7g2 (USB FS, USB FS Controller)Synergy S5d9 (USB HS, USB HS Controller)Synergy S7g2 (USB HS, USB HS Controller)

SharpLH79524/5LH7A40x

SiLabsEFM32GGxxx

STSTM32F0xxSTM32F103STM32F105/107STM32F2xxSTM32F3xxx:STM32F302x6, STM32F302x8,STM32F302xB, STM32F302xC,STM32F302xD, STM32F302xESTM32F303x6, STM32F303x8,STM32F303xB, STM32F303xC,STM32F303xD, STM32F303xESTM32F373x8,STM32F373xB, STM32F373xCSTM32F4xxSTM32F401STM32F405STM32F407STM32F415STM32F417STM32F427STM32F429STM32F437STM32F439STM32F469STM32F7xx,STM32H7xxSTM32L1xxSTM32L4xxSTR71xSTR750STR91x

TI

LM3S9B9x

MSP430

OMAP-L138

AM335x

TM4Cxx

Toshiba

TMPA900

TMPA910

TMPM369

TZ1200

Xilinx

Zynq 7007S

Zynq 7012S

Zynq 7014S

Zynq 7010

Zynq 7015

Zynq 7020

Zynq 7030

Zynq 7035

Zynq 7045

Zynq 7100

SEGEER ソフトウェアライセンスシステム

柔軟なライセンス体系をニーズに合わせて選択可能

2019/7/3 24

ライセンスモデル 提供コード 対象製品 開発者人数 CPU/ コンパイラ

プロダクトライセンス 一つの製品 無制限 1CPU1コンパイラ

プロダクトファミリーライセンス 製品シリーズ 無制限 1CPUファミリー1コンパイラ

ユーザーライセンス 無制限 1名 1CPUファミリー1コンパイラ

CPUライセンス 無制限 無制限 1CPUファミリー1コンパイラ

バイアウトライセンス 無制限 無制限 無制限ソースコード

ソースコード

ソースコード

ソースコード

ソースコード

ARM CPUファミリー: Cortex-Mファミリー(M0/M0+/M1/M3/M4/M7デバイス) Cortex-A/Rファミリー ARM7/9/11ファミリー

RXファミリー: RXファミリー

2019/7/3 25

お問い合わせ窓口

株式会社エンビテック

TEL: 03-6240-2655FAX: 03-6240-2656

E-mail:[email protected]://www.embitek.co.jp