36
USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017 CTO Hour Rahman Ismail – Intel Corporation USB Developer Days 2017 Taipei, Taiwan October 24 – 25, 2017 1

CTO Hour - USB.org - Welcome · CTO Hour Rahman Ismail –Intel Corporation USB Developer Days 2017 ... •Remove requirement for 3.3v •Add options at 960Mbps, 1.44Gbps •Built

  • Upload
    buidan

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

CTO HourRahman Ismail – Intel Corporation

USB Developer Days 2017

Taipei, Taiwan

October 24 – 25, 2017

1

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Agenda

• USB Type-CTM Vision

• Next Gen USB Display

• Demo

• Auth 2.0 & Secure FW Update

• What about Embedded Usages?

2

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Type-C Vision

• Scalable connector• Hosts [Phone, Tablet, Detachable,…]

• Peripherals [Displays, Docks, Storage …]

• Connector Uniformity• Equal Source and Sink capabilities

• Identical Alternate Mode support

• Security Infrastructure• Authentication to identify compliant

USB PD Chargers

• Safely upgrade peripheral firmware

• Consistent and Reliable Behavior• Compliance and Interoperability

3

USB Type-C : A World Class Connector!

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

How well do we back it up?Specifications [A+]

• USB Type-C

• USB Power Delivery

• USB 3.2

• USB Type-C Authentication

• Device Classes• Audio• Communication & CDC Control• HID• Still Imaging/MTP• Printer• Mass Storage• Hub• CDC-Data• Smart Card• Content Security• Video• Personal Healthcare• Billboard• USB Type-C Bridge

4

USB

Bluetooth

Wifi

4GKeyboards

Mice

Embedded Usages

Digital Still Cameras

Cellphones

Printers

Scanners

Power

StorageDocks

BiometricsSecure Input

Web Cams

Automotive

Health Monitors

Display

Speakers

Usages

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

But USB is used in embedded environments!• Xbox Kinect 1 Camera

• Arguably the most commonly used RGB-D camera in robotics

• FLIR Pan Tilt• Two interconnected servo motors

• Robotiq 2 Finger Gripper• Robotic gripper

• Robotiq FT 300• Force sensor mounted at the

wrist that allows the robot to “feel” the environment

• Realsense Camera• Small RGB-D camera mounted at

the wrist

5

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Agenda

• USB Type-CTM Vision

• Next Gen USB Display

• Demo

• Auth 2.0 & Secure FW Update

• What about Embedded Usages?

6

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

What About Sound?

7

• All the phones above support USB Audio• Not all support USB Type-C Digital Audio (TCDA)

• All Audio adapters are NOT created equal• Some support TCDA while some are just Analog Audio Accessories• All Analog Audio Accessories are now required to support TCDA

Support TCDA!

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Transport Agnostic Display (TAD) Protocol• A protocol to unify display across transports

• Enables display and non-display clients to share a common transport and a single connector• Build on the value of the USB Type-C connector

• A scalable display protocol that maximizes the capabilities of the available transport

• A protocol that will support a range of input display streams

8

USB Display Adapter Adaption of TAD on USB

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Display Adapter (UDA) Overview• Features:

• Transports video data/metadata over USB

• Supports up to 7 displays

• Supports display of protected content

• Allows for scalable resolutions/frame rate

• Works on both USB 2.0 and USB 3.1

• Can be combined with other USB device classes for multi-function devices (e.g. audio, HID, etc.)

• Specifications:• Transport Agnostic Display (TAD) specification will define video data

packetization, display management, content protection, etc.

• UDA device class specification will define mapping of TAD to USB

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Use Cases

• UDA Dongle

• Native USB Display

• USB Display Docking

• USB Device as Source

USB Display Adapter Dongle

Physical Display

USB Connection Display Data Connection

USB Host as Source

USB Connection

USB Host as SourceUSB Device as Sink

USB Display Adapter Function

USB Host as Source

USB Connection

Display Data Connection

USB Connection

Physical Display

USB Display

USB Host as Sink

USB Device as Source

USB Connection

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

UDA Stack• Streaming Layer

• Source generates display data• Sink consumes display data

• TAD Layer• Provides display configuration and

management functions• Provides transport agnostic

packetization/depacketization

• TSA Layer• Translates between transport

agnostic and transport specific constructs

• Transport Layer• Provides transport across USB

Streaming Layer

Stream Sink

Transport Layer

TSA Layer

TAD Layer

USB Device Controller

UDA (Sink TSA)

USB Host Controller

TAD TX

UDA Driver (Source TSA)

Stream Source

TxDM RxDMTAD RX

TAD Source TAD Sink

Source Management Entity

EP 0(Control)

EP 1(Int IN)

EP 2(Bulk Out)

Monitor

Stream Tx

Main Stream Data

Control

Device Context

EP 0 EP 1 EP 2

Secondary Data

EP 3EP 3

(Bulk Out)

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

External UDA Architecture• Single device class function

• Can be combined with Audio, HID, any Interface level class

• Two bulk OUT endpoints per Stream Sink• 1 for video data

• 1 for metadata

• One interrupt IN endpoint• Used for UDA-to-Host notifications

• Shared across all internal entities

• Default Control endpoint• Used to service class specific requests

TAD Sink

Streaming LayerTAD LayerUDA Class Function (TSA Layer)

1

USB Device Control

Interrupt IN Endpoint

Default Control Endpont

USB Standard Command Processing

TAD Main Stream Data

UDA & TAD Notification Data

TAD Response, UDA Class Responses

USB, UDA, TAD Control

Required Optional

TAD Rx2

TAD Rx1

2

Bulk OUT Endpoints

TAD Rx7

4

14

TAD Commands, UDA Class Requests

Display Data Connection

Stream TX1

Stream Sink 1

Stream Sink2

Stream TX2

Stream TX7

Stream SinkN

3TAD Secondary Data

5

15

12

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Internal UDA Architecture• UDA Function

• 1 per USB device• Receives and routes data and

metadata• Provides correlation between USB

time and presentation time

• TAD Rx • 1 per Stream Sink• Provides de-packetization and stream

control functions• TAD Handles provide Stream Sink

addressing

• RxDM • 1 per UDA Function• Handles device-level management

and configuration

TAD Sink

Streaming LayerUDA Function (TSA Layer)

Std. USB Device Control

UDA & TAD Notification Data

Defined in this specification Implementation specific

Bulk OUT

IN

TAD Main Stream Data

USB, UDA & TAC Command & Control

I/O

TAD Layer

RxDM

Command/Response Data

Notifications

Video Pipeline1

Stream Tx1

Video Post-Process

& Render

Video Decrypt

Video Decode

Bulk OUTTAD Secondary

DataSecondary Data Packets

Main Stream Data Packets video pixel data

metadata

Notifications

Control Requests/Responses

TAD Rx

Stream Control

De-Packetizer

Time Sync

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Encapsulation Overview

TAD Data

TAD Control

USB Bulk OUT

v Uni-directional: TAD Source to TAD Sink

TAD Tx TAD Rx

v Maps TAD Data onto USB Transfers

v Unique Bulk OUT EP per TAD Rx Instance

UDA Class Notification

v Uni-directional : TAD Sink to TAD Source

TAD Rx TAD Tx

RxDM TxDM

v Single shared Interrupt IN EP per UDA

TAD Control Messages

UDA Class-Specific Control Transfers

v USB Message Pipe

TAD TxDM RxDM

TAD Tx TAD Rx

v Carries TAD Control Messages to TAD

Sink and Message responses to TAD

Source

v Uses USB Default Control EP

TAD Main Stream Data and TAD Secondary Data

v One or more streams per UDA (depending on

UDA structure)

14

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Agenda

• USB Type-CTM Vision

• Next Gen USB Display

• Demo

• Auth 2.0 & Secure FW Update

• What about Embedded Usages?

15

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Type-C Docking• Dock

• Two USB-A 2.0 ports

• Ethernet port

• HDMI output

• A USB Type-C charging port

• Enable desktop PC experience• Connect a Display, Mouse and Keyboard

• Simultaneously charge your docked cell phone

16

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Agenda

• USB Type-CTM Vision

• Next Gen USB Display

• Demo

• Auth 2.0 & Secure FW Update

• What about Embedded Usages?

17

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Type-C Authentication 2.0• A USB device cannot Authenticate a USB Host

• The specification does allow a USB PD Source to authenticate a USB PD Sink• Need to provide a means for a USB Device to Authenticate a USB Host

• Allows only for one way Authentication• Need to support mutual Authentication• Need to support link encryption

• Define a means to protect against illegal firmware updates• Provide a simple standardized hardened FW update process

18

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Device FW Security Goals

•USB Device FW contains known good image

•USB Devices support Secure FW Update

• Security Options:• No FW update allowed• New standard commands: Get_FW_Status,

Set_FW_Status• Support full FW enforcement by the device

• Expensive to implement

• Device needs to support on-device image signature verification

19

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB Device Architecture • ROM equivalent implementation

of new commands: Get_FW_Status, Set_FW_Status

• The FW hash + Valid State• Cached locally to reduce

performance Penalty

• ROM equivalent implementation of FW Update command to support secure recovery

• No FW in updateable FW be able to Compromise the above

20

USB Device non-updateable FW

Supports Get_FW_Status, Set_FW_Status,

FWUpdate command

USB Device Updateable FW

FW hash + Valid State

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

HW Block Diagram of the device

21

uC

Write Protected Flash Address Space(Secure code)

USB Interface

Unprotected Flash Address space

(Unsecure code)

Parses all USB commands Executes ROM equivalent Commands and Completes Response on the interface for all commands

InterfaceHW

RST

Fixed NMI/RST Entry Point(s) to secure code

Executes non Secure Commands and providesresponse to Secure code

Temp Writable Hash, Valid State Storage,

Write Protected (when code exits)

NMI

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

SW Flow Diagram

22

Disallow FW Update

Update FWIs FW HashCorrect?

Secure Device

N

Y

DeviceSupports

FW_Status?

Y

Legacy Device

N

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Agenda

• USB Type-CTM Vision

• Next Gen USB Display

• Demo

• Auth 2.0 & Secure FW Update

• What about Embedded Usages?

23

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Why USB?• What’s good with USB: Plug and play – Just works!

• Unified SW stack, saving development cost

• Comprehensive compliance program, assured interop

• Ubiquitous implementation

• What’s not so good with USB: it’s a universal serial bus• Lack of optimization for application specific connectivity

• A “walk up” port needs to be general

• Inbox USB was not a focus in the past Not a fundamental barrier

• Industry Perception is that USB is Complex, Expensive and Inefficient• Much of the problem is generality We will cut away what isn’t needed

• Existing IP reduces development costs Need to match recurring costs

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Areas of Exploration• Multi-drop

• Asymmetry - for devices that have predominantly simplex traffic

• Simplify Enumeration/addressing of devices

• Host system complexity• Need to be able to scale both HW and SW complexity• enable simple hosts (in addition to simple devices)

• Security• Link encryption

• Energy Efficiency• Perception/Real Issue?

• Reduce Wire count

• More BW options

25

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

USB for embedded applications: IO portfolio• Expand on existing USB 3.2

• Add asymmetrical lane configuration (x1/x3, x3/x1)

• Add more data rate options (2.5Gbps, 7.5Gbps, …)

• Fix USB 2.0 legacy issues• Remove requirement for 3.3v

• Add options at 960Mbps, 1.44Gbps

• Built on eUSB2.0

• Introduce asymmetrical IOs for application specific interfaces• Dual-simplex LFPS/SS with optional LFPS on VBus

• Half-duplex LS,FS/HS

• Simplified link/protocol layers to adapt application specific usages

26

Customized PHY for power, cost and device

complexity

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

LFPS LFPS

SSTX SSRX

Port A Port B

LFPS on VBus for cabled based applications

Dual simplex link for embedded application

Example LFPS/SS Asymmetrical Link Topologies5V

capacitive coupling

LFPS LFPS

VBUSSource

VBUSSink

SSRX SSTX

Port A Port B

Full-duplex link with single pair of wires

LFPS LFPS

SSTX SSRX

Port A Port B

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Embedded USB2 – built on eUSB2• eUSB2 is low-voltage USB2

• 3.3v removed

• LS/FS single-ended

• Still DC coupled

• eUSB2 extension• Introduce asymmetry

• Maintain the same PHY architecture but go far (30”)

• Introduce HS+/HS- gears for rate match• 240xN Mbps (N=1~6)

• Introduce bridging hub

28

HS_Data_Driver_Input_P

HS receiver

eD+

eD-

Single-ended Receivers

Single-ended Transmitters

SE_Receiver_Output_P

SE_Driver_Input_P

HS transmitter

HS_Differential Receiver_Enable

Low-speed/Full-speed

Rpd Rpd

RSRC_HS

Squelch

Squelch detector

SE_Receiver_Enable_P

SE_Driver_Enable_P

High-speed

Differential receiver

termination(Repeater Mode)

HS_Data_Driver_Input_N

HS_Driver_Enable

HS_Differential_Receiver_Output

SE_Receiver_Output_N

SE_Driver_Input_N

RSRC_HS

RSRC_LSFS

RSRC_LSFS

SE_Receiver_Enable_N

SE_Driver_Enable_N

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Guiding Philosophy• Software:

Use what we have but “compile out” what isn’t needed

• Host Si:

Simplified HC pre-configured for intended use

• Bus:

Asymmetric Link with optimized speeds

• Device:

Already good, we’ll make it better

29

Enhancing USB for In-Box Applications for Best TTM

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Call to Action• Talk to us about your embedded needs

• Support Authentication

• Join the USB Display WG

• Use Industry standard specifications (www.usb.org)

• Get certified!

USB : It Just Works!

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Certification & Brown M&Ms

31

• Test: Non-removable bit in Hubs

• If you fail these kind of tests then to paraphrase David Lee Roth:• Guaranteed you’re going

to have a technical error• You didn’t read the

specification… Sometimes it would threaten to just destroy the whole show.

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Finally, to reiterate… • Only design to official released versions of USB specifications

• Developer presentations are intended to help familiarize you with the general characteristics of these specifications and provide design guidance

• These presentations are not technically complete and should not be used as the sole basis for product designs

• USB technology has evolved into highly complex and challenging designs• Always make use of certified product suppliers – silicon, connectors, etc.

• Proper materials and manufacturing processes are increasingly more critical to making successful products

• Submit your products for USB certification

32

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Q&A

33

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Dual-Simplex LFPS/SS Asymmetrical PHY Options

Same PHY, different combo simply simplified

34

PISOTxD SSTx

SIPORxD

SSRx

PLL

Rosc

CR

D

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecodeCDR

Tx BufferTxD

SIPORxD

SSRx

PLL

Rosc

CR

D

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecodeCDR

PISOTxD SSTx

Rx BufferRxD

PLL

Rosc

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecode

Power Source

VBusSource

Tx BufferTxD

SIPORxD

SSRx

PLL

Rosc

CR

D

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecodeCDR

PISOTxD SSTx

Rx BufferRxD

PLL

Rosc

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecode

Power Sink

VBusSink

Dual-simplex symmetrical

Dual-simplex asymmetrical

LFPS on VBus

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

Full-Simplex LFPS/SS Asymmetrical PHY

LFPS/SS separation in the frequency domain made it possible for a full-duplex link

35

PISOTxD SSTx

SIPORxD

SSRx

PLL

Rosc

CR

D

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecodeCDR

Dual-simplex symmetrical Full-duplex asymmetrical

dB

ffLFPS

~ 10~50MHz

f2 f1 fSS

~2.5GHz

LPF HPF

Device

+-

+-

Txp

Txn

Rxp

Rxn

AC Capacitor

Device systemCable Assembly

Host

+-

+-

Txp

Txn

Rxp

Rxn

AC Capacitor

Host system

PISOTxD SSTx

Rx BufferRxD

PLL

Rosc

RefCLK

LFPS Tx

LFPS Rx

LTSSM

LFPS/LBPMencode

LFPS/LBPMdecode

Tx BufferTxD

SIPORxD

SSRx

PLL

CR

D

RefCLK

LFPS Rx

LTSSM

LFPS/LBPMdecodeCDR

Rosc

LFPS/LBPMencode

LFPS Tx

HFP

USB Developer Days – October 24 – 25, 2017 USB Implementers Forum © 2017

HS receiver

eD+

eD-

Single-ended Receivers

Single-ended Transmitters

SE_Receiver_Output_P

SE_Driver_Input_P

HS_Differential Receiver_Enable

Low-Speed

Rpd Rpd

Squelch

Squelch detector

SE_Receiver_Enable_P

SE_Driver_Enable_P

High-speed

HS_Differential_Receiver_Output

SE_Receiver_Output_N

SE_Driver_Input_N

RSRC_LSFS

RSRC_LSFS

SE_Receiver_Enable_N

SE_Driver_Enable_N

eD+

eD-

Single-ended Receivers

Single-ended Transmitters

SE_Receiver_Output_P

SE_Driver_Input_P

HS transmitter

Low-Speed

Rpd Rpd

RSRC_HS

SE_Receiver_Enable_P

SE_Driver_Enable_P

High-speed

HS_Driver_Enable

SE_Receiver_Output_N

SE_Driver_Input_N

RSRC_HS

RSRC_LSFS

RSRC_LSFS

SE_Receiver_Enable_N

SE_Driver_Enable_N

HS_Data_Driver_Input_P

HS_Data_Driver_Input_N

eUSB2 asymmetrical link – touch, low res camera

• Customized for asymmetrical data traffic

• Same USB 2.0 protocol but simplified

• LS half-duplex (single-ended forwarded clocking) for control and initialization

• HS simplex for bulk data (isoch’) transfer• Add 6 HS+/- gears for rate match (240, 480, 720, 960, 1200, 1440-Mbps)

36

Host DFP Device UFP