USB-Microcontroller C540U Family
description
Transcript of USB-Microcontroller C540U Family
HL CE M, lehmannusb_boothesc98.ppt
1 - 04/20/23, 18:41
USB-MicrocontrollerC540U 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
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!
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
}}
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
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
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
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
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
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
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
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
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
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
HL CE M, lehmannusb_boothesc98.ppt
32 - 04/20/23, 18:42
USB Application SupportUSB Application SupportStarterkitStarterkit
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
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
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