USB-Microcontroller C540U Family

34
HL CE M, lehmann usb_boothesc98.ppt 1 - 07/03/22, 20:44 USB-Microcontroller C540U Family

description

USB-Microcontroller C540U Family. 8 lines. Port 0. Port 1. 6 / 8 lines 1). USB. PLL. 8 lines. Port 2. Transceiver. Module. 8 lines. Port 3. 1) P-LCC-44: 6lines; S-DIP-52: 8lines. SAB-C540U / -C541U Block Diagram. Oscillator Watchdog. RAM 256 x 8. - PowerPoint PPT Presentation

Transcript of USB-Microcontroller C540U Family

Page 1: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

1 - 04/20/23, 18:41

USB-MicrocontrollerC540U Family

Page 2: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

2 - 04/20/23, 18:41

SAB-C540U / -C541USAB-C540U / -C541U Block DiagramBlock Diagram

Oscillator WatchdogOscillator Watchdog

SSC (SPI) InterfaceSSC (SPI) Interface(C541U only)(C541U only)

Timer 0Timer 0

Timer 1Timer 1

Interrupt UnitInterrupt Unit

Tra

nsc

eive

rT

ran

scei

ver

USBUSB PLLPLL

ModuleModule

OSC & TimingOSC & Timing

C500C500

Prog. Watchdog TimerProg. Watchdog Timer(C541U only)(C541U only)

RAMRAM256 x 8256 x 8

OTPOTP4K x 8 (C540U) 4K x 8 (C540U) 8K x 8 (C541U)8K x 8 (C541U)

EmulationEmulationSupport logicSupport logic

(E-Hooks)(E-Hooks)

Port 0Port 0

Port 1Port 1

Port 2Port 2

Port 3Port 3

8 lines8 lines

6 / 8 lines 6 / 8 lines 1)

8 lines8 lines

8 lines8 lines

1) P-LCC-44: 6lines; S-DIP-52: 8lines

Page 3: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

3 - 04/20/23, 18:41

SAB-C540U / -C541USAB-C540U / -C541U List of FeaturesList of Features

Enhanced 8-Bit C500-CPUEnhanced 8-Bit C500-CPU

500 ns Instruction Cycle Time @ 12 MHz CPU Clock500 ns Instruction Cycle Time @ 12 MHz CPU Clock

Two 16-bit Timer/Counters (C501 compatible T0/1)Two 16-bit Timer/Counters (C501 compatible T0/1)

[4kbytes in the C540U] [4kbytes in the C540U] 8 Kbytes OTP / 256 bytes RAM8 Kbytes OTP / 256 bytes RAM

USB Device Core (FS/LS speed)USB Device Core (FS/LS speed)

Synchronous Serial Channel, Watchdog Timer Synchronous Serial Channel, Watchdog Timer [C541U only][C541U only]

30 digit. I/O Ports, 32 in SDIP5230 digit. I/O Ports, 32 in SDIP52

LED Driver capability on 3 dedicated pins, 10 mA / 4,5 to 5,5 VLED Driver capability on 3 dedicated pins, 10 mA / 4,5 to 5,5 V

Power supply voltage range: according to USB specPower supply voltage range: according to USB spec

Enhanced HooksTechnologyEnhanced HooksTechnology

48 MHz PLL on-chip for FS48 MHz PLL on-chip for FS

Transceiver, D+ D-, on-chipTransceiver, D+ D-, on-chip ...the interfacing solution!

Page 4: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

4 - 04/20/23, 18:41

USBUSB

DeviceDevice

CommandCommand: Get descriptor: Get descriptor((Who is out there?Who is out there?))

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x0DD0x0DD0x0DD0x0DDCRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 00CRC16CRC16CRC16CRC16

0xBB290xBB290xBB290xBB29EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Setup stage

Enumeration process on the C541U

Page 5: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

5 - 04/20/23, 18:41

SyncSync

0000000100000001

SOFSOF

0xA50xA5

Frame#Frame#

0x0DD0x0DD

CRC5CRC5

0x150x15

EOPEOP

001001

SyncSync

0000000100000001

SETUPSETUP

0xB40xB4

ADDRADDR

0x000x00

ENDPENDP

0x00x0

CRC5CRC5

0x080x08

EOPEOP

001001

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 00

CRC16CRC16

0xBB290xBB29

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

Start Of FrameStart Of Frame...will be generated every millisecond...will be generated every millisecond

SyncSyncSyncSync

00000001000000010000000100000001

Packet start , signaling to the transceiver: “packet arriving“Packet start , signaling to the transceiver: “packet arriving“Packet start , signaling to the transceiver: “packet arriving“Packet start , signaling to the transceiver: “packet arriving“

SOFSOFSOFSOF

0xA50xA50xA50xA5

Start of Frame (every millisecond)Start of Frame (every millisecond)Start of Frame (every millisecond)Start of Frame (every millisecond)

Frame#Frame#Frame#Frame#

0x0DD0x0DD0x0DD0x0DD

Frame number (0 - 2047)Frame number (0 - 2047) overrollingoverrollingFrame number (0 - 2047)Frame number (0 - 2047) overrollingoverrolling

CRC5CRC5CRC5CRC5

0x150x150x150x15

5 bit Checksum over Frame#5 bit Checksum over Frame#5 bit Checksum over Frame#5 bit Checksum over Frame#

EOPEOPEOPEOP

001001001001

End of Packet (D+ and D- are low)End of Packet (D+ and D- are low)End of Packet (D+ and D- are low)End of Packet (D+ and D- are low)

Setup stage

USBUSB

DeviceDevice

Page 6: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

6 - 04/20/23, 18:41

SyncSync

0000000100000001

SETUPSETUP

0xB40xB4

ADDRADDR

0x000x00

ENDPENDP

0x00x0

CRC5CRC5

0x080x08

EOPEOP

001001

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 00

CRC16CRC16

0xBB290xBB29

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

Setup packetsSetup packets are fully decoded and are fully decoded and Interrupts are generated Interrupts are generated

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4

Setup Packet (start of control transfer) Setup Packet (start of control transfer) Setup Packet (start of control transfer) Setup Packet (start of control transfer)

ADDRADDRADDRADDR

0x000x000x000x00

Address 0 (default addr. f. every new plugged-in dev.)Address 0 (default addr. f. every new plugged-in dev.)Address 0 (default addr. f. every new plugged-in dev.)Address 0 (default addr. f. every new plugged-in dev.)

SyncSync

0000000100000001

SOFSOF

0xA50xA5

Frame#Frame#

0x0DD0x0DD

CRC5CRC5

0x150x15

EOPEOP

001001

ENDPENDPENDPENDP

0x00x00x00x0

Endpoint 0 (used for configuration)Endpoint 0 (used for configuration)Endpoint 0 (used for configuration)Endpoint 0 (used for configuration)

CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

Setup stage

USBUSB

DeviceDevice

Enumeration process on the C541U

Page 7: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

7 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 00

CRC16CRC16

0xBB290xBB29

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

The The Data packetData packet defines what kind of defines what kind of setup transfer is initiatedsetup transfer is initiated

SyncSync

0000000100000001

SETUPSETUP

0xB40xB4

ADDRADDR

0x000x00

ENDPENDP

0x00x0

CRC5CRC5

0x080x08

EOPEOP

001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3

DATADATADATADATA

DATADATADATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 00

01 = device descriptor01 = device descriptor 01 = device descriptor01 = device descriptor

80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command

06 = get descriptor06 = get descriptor 06 = get descriptor06 = get descriptor

00 = index of descriptor00 = index of descriptor00 = index of descriptor00 = index of descriptor

40 00 = amount of bytes requested 40 00 = amount of bytes requested by host (little endian format; by host (little endian format; Lowbyte first, Highbyte least) Lowbyte first, Highbyte least)

40 00 = amount of bytes requested 40 00 = amount of bytes requested by host (little endian format; by host (little endian format; Lowbyte first, Highbyte least) Lowbyte first, Highbyte least)

Get device descriptor Get device descriptor

generates an interruptgenerates an interrupt

Get device descriptor Get device descriptor

generates an interruptgenerates an interrupt

Get device descriptor Get device descriptor

generates an interruptgenerates an interrupt

Get device descriptor Get device descriptor

generates an interruptgenerates an interrupt

00 00 = language ID00 00 = language ID00 00 = language ID00 00 = language ID

CRC16CRC16CRC16CRC16

0xBB290xBB290xBB290xBB29EOPEOPEOPEOP

001001001001

Setup stage

USBUSB

DeviceDevice

Page 8: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

8 - 04/20/23, 18:41

USBUSB

DeviceDevice

Every control transfer will be Every control transfer will be ACKACKnowledgednowledged

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4B

Acknowledge PacketAcknowledge PacketAcknowledge PacketAcknowledge Packet

EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x0DD0x0DD0x0DD0x0DDCRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 0080 06 00 01 00 00 40 00CRC16CRC16CRC16CRC16

0xBB290xBB290xBB290xBB29EOPEOPEOPEOP

001001001001

Setup stage

Enumeration process on the C541U

Page 9: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

10 - 04/20/23, 18:41

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Every data transfer will be initiated with an Every data transfer will be initiated with an IN/OUT packageIN/OUT package by the host(PC) by the host(PC)

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x80x80x80x8EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x0DE0x0DE0x0DE0x0DECRC5CRC5CRC5CRC5

0x170x170x170x17EOPEOPEOPEOP

001001001001

Data stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 08CRC16CRC16CRC16CRC16

0xC8E70xC8E70xC8E70xC8E7EOPEOPEOPEOP

001001001001

Data In Packet (Host requesting data from device) Data In Packet (Host requesting data from device) Data In Packet (Host requesting data from device) Data In Packet (Host requesting data from device)

Page 10: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

11 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA1DATA1

0xD20xD2

DATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 08

CRC16CRC16

0xC8E70xC8E7

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

USBUSB

DeviceDevice

Data packagesData packages

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x000x00

ENDPENDP

0x00x0

CRC5CRC5

0x80x8

EOPEOP

001001

DATADATADATADATA

12 = length of device descriptor12 = length of device descriptor 12 = length of device descriptor12 = length of device descriptor

01 = device descriptor type01 = device descriptor type 01 = device descriptor type01 = device descriptor type

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 08CRC16CRC16CRC16CRC16

0xC8E70xC8E70xC8E70xC8E7EOPEOPEOPEOP

001001001001

00 = Device Protocol00 = Device Protocol 00 = Device Protocol00 = Device Protocol

00 = Device Class00 = Device Class00 = Device Class00 = Device Class

00 = Device Sub Class00 = Device Sub Class 00 = Device Sub Class00 = Device Sub Class

08 = Max. packet size of endpoint 008 = Max. packet size of endpoint 0 08 = Max. packet size of endpoint 008 = Max. packet size of endpoint 0

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h 01 = high-byte of USB-Specification01 = high-byte of USB-Specification 01 = high-byte of USB-Specification01 = high-byte of USB-Specification

00 = low-byte of USB-Specification00 = low-byte of USB-Specification00 = low-byte of USB-Specification00 = low-byte of USB-Specification

V 01.00V 01.00V 01.00V 01.00 } }

Data stage

Page 11: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

12 - 04/20/23, 18:41

USBUSB

DeviceDevice

End of Data StageEnd of Data Stage

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x0E00x0E00x0E00x0E0CRC5CRC5CRC5CRC5

0x0E0x0E0x0E0x0EEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001OUTOUTOUTOUT

0x870x870x870x87ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA CRC16CRC16CRC16CRC16

0x00000x00000x00000x0000EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Empty data packet Empty data packet indicating data indicating data

stage endstage end

Empty data packet Empty data packet indicating data indicating data

stage endstage end

Enumeration process on the C541U

Data Out Packet (Host aborts data stage) Data Out Packet (Host aborts data stage) Data Out Packet (Host aborts data stage) Data Out Packet (Host aborts data stage)

Data stage Status stage

Page 12: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

13 - 04/20/23, 18:41

Reset from Host (10ms)Reset from Host (10ms)

Reset initiated from hostReset initiated from hostReset initiated from hostReset initiated from host

RESETRESETRESETRESET

128160128160128160128160

USBUSB

DeviceDevice

Enumeration process on the C541U

Page 13: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

14 - 04/20/23, 18:41

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

CommandCommand: Set Address: Set Address((You are called You are called Number 2 Number 2 from now on!from now on!))

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

00 05 02 00 00 00 00 0000 05 02 00 00 00 00 0000 05 02 00 00 00 00 0000 05 02 00 00 00 00 00CRC16CRC16CRC16CRC16

0xD7680xD7680xD7680xD768EOPEOPEOPEOP

001001001001

DATADATADATADATA

02 = device address nr. 202 = device address nr. 202 = device address nr. 202 = device address nr. 2

00 = direction from host to device, std. command,00 = direction from host to device, std. command, recipient device recipient device

00 = direction from host to device, std. command,00 = direction from host to device, std. command, recipient device recipient device

05 = set address05 = set address 05 = set address05 = set address

this command is handled by the this command is handled by the C54x itself without extra softwareC54x itself without extra software

this command is handled by the this command is handled by the C54x itself without extra softwareC54x itself without extra software

00 00 00 00 00 = default00 00 00 00 00 = default00 00 00 00 00 = default00 00 00 00 00 = default

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1430x1430x1430x143CRC5CRC5CRC5CRC5

0x040x040x040x04EOPEOPEOPEOP

001001001001 USBUSB

DeviceDevice

Page 14: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

15 - 04/20/23, 18:41

USBUSB

DeviceDevice

End of Data StageEnd of Data Stage

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1440x1440x1440x144CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x000x000x000x00ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x080x080x080x08EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA CRC16CRC16CRC16CRC16

0x00000x00000x00000x0000EOPEOPEOPEOP

001001001001

Empty data packet Empty data packet from device handled from device handled

by C54x without by C54x without SoftwareSoftware

Empty data packet Empty data packet from device handled from device handled

by C54x without by C54x without SoftwareSoftware

Enumeration process on the C541U

Data stage Status stage

Page 15: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

16 - 04/20/23, 18:41

Get Descriptor from Device Get Descriptor from Device Number 2Number 2((What are you like?What are you like?))

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1510x1510x1510x151CRC5CRC5CRC5CRC5

0x1E0x1E0x1E0x1EEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

Setup stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 01 00 00 12 0080 06 00 01 00 00 12 0080 06 00 01 00 00 12 0080 06 00 01 00 00 12 00CRC16CRC16CRC16CRC16

0x072F0x072F0x072F0x072FEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001 Devices is accessed Devices is accessed

by address 2by address 2

Devices is accessed Devices is accessed

by address 2by address 2

Page 16: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

17 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

80 06 00 01 00 00 12 0080 06 00 01 00 00 12 00

CRC16CRC16

0x072F0x072F

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

SyncSync

0000000100000001

SETUPSETUP

0xB40xB4

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

SyncSync

0000000100000001

SOFSOF

0xA50xA5

Frame#Frame#

0x1510x151

CRC5CRC5

0x1E0x1E

EOPEOP

001001

Get Descriptor from Device Get Descriptor from Device Number 2Number 2((What are you like?What are you like?), details), details

DATADATADATADATA

01 = device descriptor01 = device descriptor 01 = device descriptor01 = device descriptor

80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command

06 = get descriptor06 = get descriptor 06 = get descriptor06 = get descriptor

00 = index of descriptor00 = index of descriptor00 = index of descriptor00 = index of descriptor

12 00 = bytes to 12 00 = bytes to transfer 12 00 = bytes to 12 00 = bytes to transfer

00 00 = language ID00 00 = language ID00 00 = language ID00 00 = language ID

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 01 00 00 12 0080 06 00 01 00 00 12 0080 06 00 01 00 00 12 0080 06 00 01 00 00 12 00CRC16CRC16CRC16CRC16

0x072F0x072F0x072F0x072FEOPEOPEOPEOP

001001001001

Setup stage

USBUSB

DeviceDevice

Page 17: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

18 - 04/20/23, 18:41

IN requestIN request ((get data about device descriptionget data about device description))

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1520x1520x1520x152CRC5CRC5CRC5CRC5

0x1C0x1C0x1C0x1CEOPEOPEOPEOP

001001001001

Data stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 08CRC16CRC16CRC16CRC16

0xC8E70xC8E70xC8E70xC8E7EOPEOPEOPEOP

001001001001

Page 18: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

19 - 04/20/23, 18:41

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

SyncSync

0000000100000001

DATA1DATA1

0xD20xD2

DATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 08

CRC16CRC16

0xC8E70xC8E7

EOPEOP

001001

USBUSB

DeviceDevice

IN requestIN request, details, details((get data about device descriptionget data about device description))

DATADATADATADATA

12 = length of device descriptor12 = length of device descriptor 12 = length of device descriptor12 = length of device descriptor

01 = device descriptor type01 = device descriptor type 01 = device descriptor type01 = device descriptor type

01 = highbyte of USB-Specification01 = highbyte of USB-Specification 01 = highbyte of USB-Specification01 = highbyte of USB-Specification00 = lowbyte of USB-Specification00 = lowbyte of USB-Specification

00 = lowbyte of USB-Specification00 = lowbyte of USB-Specification

00 = Device Protocol00 = Device Protocol 00 = Device Protocol00 = Device Protocol

00 = Device Class00 = Device Class00 = Device Class00 = Device Class

00 = Device Sub Class00 = Device Sub Class 00 = Device Sub Class00 = Device Sub Class

08 = Max. packetsize of endpoint 008 = Max. packetsize of endpoint 0 08 = Max. packetsize of endpoint 008 = Max. packetsize of endpoint 0

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

12 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 0812 01 00 01 00 00 00 08CRC16CRC16CRC16CRC16

0xC8E70xC8E70xC8E70xC8E7EOPEOPEOPEOP

001001001001

Data stage

Page 19: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

20 - 04/20/23, 18:41

22ndnd IN request IN request ((get data about device descriptionget data about device description))

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1530x1530x1530x153CRC5CRC5CRC5CRC5

0x030x030x030x03EOPEOPEOPEOP

001001001001

Data stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

8B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 00CRC16CRC16CRC16CRC16

0x86DB0x86DB0x86DB0x86DBEOPEOPEOPEOP

001001001001

Page 20: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

21 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

8B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 00

CRC16CRC16

0x86DB0x86DB

EOPEOP

001001

USBUSB

DeviceDevice

22ndnd IN request IN request, details, detailsDevice Specific Data are Transferred to PCDevice Specific Data are Transferred to PC

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

DATADATADATADATA

C5 = highbyte of product IDC5 = highbyte of product IDC5 = highbyte of product IDC5 = highbyte of product ID

41 = lowbyte of product ID41 = lowbyte of product ID41 = lowbyte of product ID41 = lowbyte of product ID

00 = index for manufacturer string descriptor00 = index for manufacturer string descriptor 00 = index for manufacturer string descriptor00 = index for manufacturer string descriptor

01 = lowbyte of devicenumber01 = lowbyte of devicenumber01 = lowbyte of devicenumber01 = lowbyte of devicenumber

00 = highbyte of devicenumber00 = highbyte of devicenumber00 = highbyte of devicenumber00 = highbyte of devicenumber

00 = index for product string descriptor00 = index for product string descriptor00 = index for product string descriptor00 = index for product string descriptor

next 8 bytes of the next 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

next 8 bytes of the next 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

8B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 008B 05 41 C5 01 00 00 00CRC16CRC16CRC16CRC16

0x86DB0x86DB0x86DB0x86DBEOPEOPEOPEOP

001001001001

}} C541 C541

8B = lowbyte of vendor ID8B = lowbyte of vendor ID8B = lowbyte of vendor ID8B = lowbyte of vendor ID

05 = highbyte of vendor ID05 = highbyte of vendor ID05 = highbyte of vendor ID05 = highbyte of vendor ID

}}

Page 21: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

22 - 04/20/23, 18:41

SyncSync

0000000100000001

SOFSOF

0xA50xA5

Frame#Frame#

0x1540x154

CRC5CRC5

0x1D0x1D

EOPEOP

001001

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

SyncSync

0000000100000001

DATA1DATA1

0xD20xD2

DATADATA

00 0100 01

CRC16CRC16

0xFCF10xFCF1

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

USBUSB

DeviceDevice

33rdrd IN request IN requestthe remaining data is transferredthe remaining data is transferred

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1540x1540x1540x154CRC5CRC5CRC5CRC5

0x1D0x1D0x1D0x1DEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

00 0100 0100 0100 01CRC16CRC16CRC16CRC16

0xFCF10xFCF10xFCF10xFCF1EOPEOPEOPEOP

001001001001

DATADATADATADATA

00 = index for serial number string descriptor00 = index for serial number string descriptor00 = index for serial number string descriptor00 = index for serial number string descriptor

01 = number of configurations01 = number of configurations01 = number of configurations01 = number of configurations

Data stage

Page 22: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

23 - 04/20/23, 18:41

USBUSB

DeviceDevice

CommandCommand: OUT transfer (with empty data : OUT transfer (with empty data package) finishes the data stagepackage) finishes the data stage

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1550x1550x1550x155CRC5CRC5CRC5CRC5

0x020x020x020x02EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001OUTOUTOUTOUT

0x870x870x870x87ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA CRC16CRC16CRC16CRC16

0x00000x00000x00000x0000EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Enumeration process on the C541U

Data stage Status stage

Page 23: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

24 - 04/20/23, 18:41

CommandCommand: Get Configuration Descriptor: Get Configuration Descriptor((How does the device function?)How does the device function?)

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1570x1570x1570x157CRC5CRC5CRC5CRC5

0x1F0x1F0x1F0x1FEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SETUPSETUPSETUPSETUP

0xB40xB40xB40xB4ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

Setup stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 00CRC16CRC16CRC16CRC16

0x97250x97250x97250x9725EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Page 24: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

25 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

80 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 00

CRC16CRC16

0x97250x9725

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

SyncSync

0000000100000001

SETUPSETUP

0xB40xB4

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

SyncSync

0000000100000001

SOFSOF

0xA50xA5

Frame#Frame#

0x1570x157

CRC5CRC5

0x1F0x1F

EOPEOP

001001

CommandCommand: Get Configuration Descriptor: Get Configuration Descriptor((How does the device function?)How does the device function?), details, details

DATADATADATADATA

02 = configuration descriptor02 = configuration descriptor 02 = configuration descriptor02 = configuration descriptor

80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command 80 = transfer direction, std. command

06 = get descriptor06 = get descriptor 06 = get descriptor06 = get descriptor

00 = index of descriptor00 = index of descriptor00 = index of descriptor00 = index of descriptor

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

80 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 0080 06 00 02 00 00 FF 00CRC16CRC16CRC16CRC16

0x97250x97250x97250x9725EOPEOPEOPEOP

001001001001

00 00 = language ID00 00 = language ID 00 00 = language ID00 00 = language ID

00 = highbyte of bytes to transfer00 = highbyte of bytes to transfer00 = highbyte of bytes to transfer00 = highbyte of bytes to transfer

FF = lowbyte of bytes to transferFF = lowbyte of bytes to transferFF = lowbyte of bytes to transferFF = lowbyte of bytes to transfer

USBUSB

DeviceDevice

Page 25: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

26 - 04/20/23, 18:41

In RequestIn Request: Gives Feedback to: Gives Feedback toHow does the device function?How does the device function?

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1580x1580x1580x158CRC5CRC5CRC5CRC5

0x0F0x0F0x0F0x0FEOPEOPEOPEOP

001001001001

Data stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

09 02 19 00 01 01 00 6009 02 19 00 01 01 00 6009 02 19 00 01 01 00 6009 02 19 00 01 01 00 60CRC16CRC16CRC16CRC16

0x50200x50200x50200x5020EOPEOPEOPEOP

001001001001

Page 26: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

27 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA1DATA1

0xD20xD2

DATADATA

09 02 19 00 01 01 00 6009 02 19 00 01 01 00 60

CRC16CRC16

0x50200x5020

EOPEOP

001001

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

USBUSB

DeviceDevice

In RequestIn Request: Gives Feedback to: Gives Feedback toHow does the device function?How does the device function?, details, details

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

DATADATADATADATA

19 00 = length of configuration, interface 19 00 = length of configuration, interface and endpoint descriptorand endpoint descriptor

19 00 = length of configuration, interface 19 00 = length of configuration, interface and endpoint descriptorand endpoint descriptor

09 = length of configuration descriptor09 = length of configuration descriptor09 = length of configuration descriptor09 = length of configuration descriptor

02 = configuration descriptor type02 = configuration descriptor type02 = configuration descriptor type02 = configuration descriptor type

00 = index to configuration string descriptor00 = index to configuration string descriptor 00 = index to configuration string descriptor00 = index to configuration string descriptor

01 = number of used interfaces in this configuration01 = number of used interfaces in this configuration01 = number of used interfaces in this configuration01 = number of used interfaces in this configuration

01 = value to set this configuration with 01 = value to set this configuration with SetConfigurationSetConfiguration

01 = value to set this configuration with 01 = value to set this configuration with SetConfigurationSetConfiguration

60 = attributes of configuration60 = attributes of configuration60 = attributes of configuration60 = attributes of configuration

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

first 8 bytes of the first 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA

09 02 19 00 01 01 00 6009 02 19 00 01 01 00 6009 02 19 00 01 01 00 6009 02 19 00 01 01 00 60CRC16CRC16CRC16CRC16

0x50200x50200x50200x5020EOPEOPEOPEOP

001001001001

Page 27: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

28 - 04/20/23, 18:41

22nd nd In RequestIn Request: Gives Feedback to: Gives Feedback toHow does the device function?How does the device function?

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x1590x1590x1590x159CRC5CRC5CRC5CRC5

0x100x100x100x10EOPEOPEOPEOP

001001001001

Data stage

USBUSB

DeviceDevice

Enumeration process on the C541U

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

32 09 04 00 00 01 00 0032 09 04 00 00 01 00 0032 09 04 00 00 01 00 0032 09 04 00 00 01 00 00CRC16CRC16CRC16CRC16

0x273E0x273E0x273E0x273EEOPEOPEOPEOP

001001001001

Page 28: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

29 - 04/20/23, 18:41

SyncSync

0000000100000001

DATA0DATA0

0xC30xC3

DATADATA

32 09 04 00 00 01 00 0032 09 04 00 00 01 00 00

CRC16CRC16

0x273E0x273E

EOPEOP

001001

USBUSB

DeviceDevice

22nd nd InIn Request: Gives Feedback to Request: Gives Feedback toHow does the device function?How does the device function?, details , details

SyncSync

0000000100000001

ACKACK

0x4B0x4B

EOPEOP

001001

SyncSync

0000000100000001

ININ

0x960x96

ADDRADDR

0x020x02

ENDPENDP

0x00x0

CRC5CRC5

0x150x15

EOPEOP

001001

DATADATADATADATA

04 = interface descriptor type04 = interface descriptor type04 = interface descriptor type04 = interface descriptor type

32 = max. power consumption (in 2mA 32 = max. power consumption (in 2mA units)units)

32 = max. power consumption (in 2mA 32 = max. power consumption (in 2mA units)units)

09 = length of interface descriptor09 = length of interface descriptor09 = length of interface descriptor09 = length of interface descriptor

01 = used endpoints used in this interface01 = used endpoints used in this interface01 = used endpoints used in this interface01 = used endpoints used in this interface

00 = number of interfaces00 = number of interfaces00 = number of interfaces00 = number of interfaces

00 = alternate settings00 = alternate settings00 = alternate settings00 = alternate settings

00 = interface class00 = interface class00 = interface class00 = interface class

next 8 bytes of the next 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

next 8 bytes of the next 8 bytes of the device descriptor device descriptor

initialized in config.hinitialized in config.h

00 = interface sub class00 = interface sub class00 = interface sub class00 = interface sub class

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

32 09 04 00 00 01 00 0032 09 04 00 00 01 00 0032 09 04 00 00 01 00 0032 09 04 00 00 01 00 00CRC16CRC16CRC16CRC16

0x273E0x273E0x273E0x273EEOPEOPEOPEOP

001001001001

Page 29: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

30 - 04/20/23, 18:41

USBUSB

DeviceDevice

33rd rd In RequestIn Request: Gives Feedback to: Gives Feedback toHow does the device function?How does the device function?, details, details

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x15B0x15B0x15B0x15BCRC5CRC5CRC5CRC5

0x0D0x0D0x0D0x0DEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ININININ

0x960x960x960x96ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA0DATA0DATA0DATA0

0xC30xC30xC30xC3DATADATADATADATA

00000000CRC16CRC16CRC16CRC16

0x00000x00000x00000x0000EOPEOPEOPEOP

001001001001

00 = polling interval 00 = polling interval

for interrupt for interrupt

endpointsendpoints

00 = polling interval 00 = polling interval

for interrupt for interrupt

endpointsendpoints

Enumeration process on the C541U

Page 30: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

31 - 04/20/23, 18:42

USBUSB

DeviceDevice

CommandCommand: OUT transfer: OUT transferfinishes the data stagefinishes the data stage

SyncSyncSyncSync

00000001000000010000000100000001SOFSOFSOFSOF

0xA50xA50xA50xA5Frame#Frame#Frame#Frame#

0x15C0x15C0x15C0x15CCRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001OUTOUTOUTOUT

0x870x870x870x87ADDRADDRADDRADDR

0x020x020x020x02ENDPENDPENDPENDP

0x00x00x00x0CRC5CRC5CRC5CRC5

0x150x150x150x15EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001DATA1DATA1DATA1DATA1

0xD20xD20xD20xD2DATADATADATADATA CRC16CRC16CRC16CRC16

0x00000x00000x00000x0000EOPEOPEOPEOP

001001001001

SyncSyncSyncSync

00000001000000010000000100000001ACKACKACKACK

0x4B0x4B0x4B0x4BEOPEOPEOPEOP

001001001001

Enumeration process on the C541U

Data stage Status stage

Page 31: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

32 - 04/20/23, 18:42

USB Application SupportUSB Application SupportStarterkitStarterkit

Page 32: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

33 - 04/20/23, 18:42

USB Application SupportUSB Application SupportPhytec KitCON-541 / StarterkitPhytec KitCON-541 / Starterkit

Evaluation Board - Starter KitEvaluation Board - Starter Kit

StarterkitStarterkit

Page 33: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

34 - 04/20/23, 18:42

C541-Evaluation BoardC541-Evaluation BoardPhytec KitCON-541 / StarterkitPhytec KitCON-541 / Starterkit

D+D-

D+D-

US

B G

ND

US

B V

ccCommon Vcc plane

Com

mon

GN

D p

lane

rev. USBrev. USBSpec. 1.0Spec. 1.0rev. USBrev. USBSpec. 1.0Spec. 1.0

96

-po

l co

nn

ect

or

fem

ale

1,5k

3,0-

3,6V

4,0-

4,75

V

0,0 V

FULL speedFULL speedUSB driverUSB driver

FULL speedFULL speedUSB driverUSB driver

LOW speedLOW speedUSB driverUSB driverLOW speedLOW speedUSB driverUSB driver

USB powered / USB powered / self poweredself powered

selectorselector

USB powered / USB powered / self poweredself powered

selectorselector

1 2 1 2 3 3 44

SAB-C541SAB-C541on PGA 44on PGA 44

socketsocket

SAB-C541SAB-C541on PGA 44on PGA 44

socketsocket

USBUSBconnectorconnector

DA

DD

5k

100k47nF

detached/attacheddetached/attachedcircuitcircuit

detached/attacheddetached/attachedcircuitcircuit

GNDn-channelFET

StarterkitStarterkit

Page 34: USB-Microcontroller C540U Family

HL CE M, lehmannusb_boothesc98.ppt

35 - 04/20/23, 18:42

Infos on INTERNETInfos on INTERNET

...the interfacing solution...the interfacing solution

Microcontrollers general:Microcontrollers general:

http://www.siemens.de/Semiconductor/Microcontroller/http://www.siemens.de/Semiconductor/Microcontroller/

http://www.siemens.de/Semiconductor/products/ICs/34/usb.htmhttp://www.siemens.de/Semiconductor/products/ICs/34/usb.htm

...for infos on our USB parts...for infos on our USB parts