start first foil

36
HL CE M, lehmann usb_tele ESC spring.ppt 1 - 06/21/22, 09:43 START first foil START first foil

Upload: brigit

Post on 16-Mar-2016

59 views

Category:

Documents


0 download

DESCRIPTION

START first foil. Agenda. USB basics Why USB Bus structure Enumeration, speed Layer model Physical interface Transfer, transaction, packet. USB - ISDN Terminal Adapter (TA) Standard TA (PC ISDN card) - USB TA Endpoints usage, ISDN data format Hardware implementation, Buffering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt1 - 04/24/23, 09:20

START first foilSTART first foil

Page 2: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt2 - 04/24/23, 09:20

AgendaAgenda USB basics

-Why USB-Bus structure-Enumeration, speed- Layer model-Physical interface-Transfer, transaction, packet

USB - ISDN Terminal Adapter (TA)USB - ISDN Terminal Adapter (TA)- Standard TA (PC ISDN card) - USB TAStandard TA (PC ISDN card) - USB TA- Endpoints usage, ISDN data formatEndpoints usage, ISDN data format- Hardware implementation, BufferingHardware implementation, Buffering- B-channel performanceB-channel performance- Layer model USB TA Layer model USB TA PC ISDN card PC ISDN card- D-channel signalization through USBD-channel signalization through USB- D-channel performanceD-channel performance- Hardware platform, toolsHardware platform, tools- SAB-C541USAB-C541U

Page 3: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt3 - 04/24/23, 09:20

USB based Microcontroller in USB based Microcontroller in Telekom Peripherals for PC'sTelekom Peripherals for PC's

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

Page 4: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt4 - 04/24/23, 09:20

ISDN Terminal Adapter (TA)ISDN Terminal Adapter (TA)Digital CommunicationDigital Communication

Modem

Analog line

Fax

Analog line

ISDN line

ISDN lineISDN Line

Standard ISDNPC Card (TA)

64Kbit/sStandard ISDN PC Card

InternetInternetService provider has toService provider has tooffer an ISDN connectionoffer an ISDN connection

...connect to ISDN...connect to ISDN

Page 5: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt5 - 04/24/23, 09:20

Standard Standard ISDN PC CardISDN PC Card

Enhanced SW on PCEnhanced SW on PCsame ISDN PC Cardsame ISDN PC Card

ISDN Line

ISDN lineAnalog lin

e

Analog line

ISDN Line

Standard ISDN PC Card

Modem

ISDN TA "Modem"ISDN TA "Modem""Connecting the Digital to the Analog World""Connecting the Digital to the Analog World"

...connect to ISDN...connect to ISDN

Fax

Page 6: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt6 - 04/24/23, 09:20

IPACIPAC(PSB2115)(PSB2115)

PCI Bus

Example for a PassiveExample for a Passivelow-cost ISDN PC-Card (TA)low-cost ISDN PC-Card (TA)

...connect to ISDN...connect to ISDN

Page 7: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt7 - 04/24/23, 09:20

"Passive" "Passive" USBUSBlow-cost ISDN TAlow-cost ISDN TA

IPACIPAC(PSB2115)(PSB2115)

SAB-C541SAB-C541 IOM-2IOM-2

...connect to ISDN...connect to ISDN

Page 8: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt8 - 04/24/23, 09:20

USBUSBTransfer typesTransfer types

...basics...basics

ControlControl (e.g.: configuration, messages) (e.g.: configuration, messages)- bursty, host initiated (bus management, configuration)bursty, host initiated (bus management, configuration)- guaranteed bandwith of max. 10%guaranteed bandwith of max. 10%- error-free data delivery guaranteederror-free data delivery guaranteed

InterruptInterrupt (e.g.: mouse, joystick....) (e.g.: mouse, joystick....) - small bursty, low bandwidth requiredsmall bursty, low bandwidth required- error-free data delivery guaranteederror-free data delivery guaranteed- polling is used (by host) to check for "interrupt events”polling is used (by host) to check for "interrupt events”- polling intervall programmable. Frompolling intervall programmable. From 1ms1ms to 255ms (FS)to 255ms (FS)

10ms10ms to 255ms (LS)to 255ms (LS) IsochronousIsochronous (e.g.: audio, telephony.....) (e.g.: audio, telephony.....)

- for data which need to be periodically sent for data which need to be periodically sent - predictable latency on data delivery. predictable latency on data delivery. - no error check, error-free data delivery is no error check, error-free data delivery is notnot guaranteed guaranteed

BulkBulk (e.g.: printer, scanner, still camera.....) (e.g.: printer, scanner, still camera.....) - non periodic, bursty, ideal for large amounts of datanon periodic, bursty, ideal for large amounts of data- error-free data delivery guaranteederror-free data delivery guaranteed

Page 9: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt9 - 04/24/23, 09:20

Frame = 1ms

printerprinter

ControControll

USB Frame ModelUSB Frame Modelexampleexample

Stereo Audio

Telephony

SOF

SOF low-speed

IsochronouIsochronouss

BulkBulk

InterruptInterrupt

...basics...basics

printerprinter

any lowspeed device like keyboard,

mouse, etc.

BulkBulk

Page 10: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt10 - 04/24/23, 09:20

Implementation With a SingleImplementation With a SingleUSB Interface, Endpoint AssignmentUSB Interface, Endpoint Assignment

...connect to ISDN...connect to ISDN

DirectionDirection NumberNumber FunctionFunctionEndpointEndpointtypetype

InputInputOutputOutput 00 device configuration (IN / OUT),device configuration (IN / OUT),

device controldevice controlControlControl

OutputOutput 22 B1 and B2 chan. data transmissionB1 and B2 chan. data transmissionIsochronousIsochronous

OutputOutput 44 D-channel control and D-channelD-channel control and D-channeldata receptiondata receptionIsochronousIsochronous

InputInput 11 B1 and B2 channel data receptionB1 and B2 channel data receptionIsochronousIsochronous

IsochronousIsochronous InputInput 33D-channel control and D-channelD-channel control and D-channeldata transmissiondata transmissionSync feedback information for EP2Sync feedback information for EP2

Page 11: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt11 - 04/24/23, 09:20

Which data has to be transferred?Which data has to be transferred?

D - channelD - channel

B1 - channelB1 - channel

B2 - channelB2 - channel

Data / Address busData / Address busIPACIPAC

SAB-C541USAB-C541U

D - OUT pipe (isochronous)D - OUT pipe (isochronous)

B1 / B2 - IN pipe (isochronous)B1 / B2 - IN pipe (isochronous)

B1 / B2 - OUT pipe (isochronous)B1 / B2 - OUT pipe (isochronous)D - IN pipe (isochronous)D - IN pipe (isochronous)

interruptinterrupt

...connect to ISDN...connect to ISDN

Page 12: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt12 - 04/24/23, 09:20

USB Timing isUSB Timing isAsynchronous to the ISDN TimingAsynchronous to the ISDN Timing

- every 125µs is an IOMevery 125µs is an IOM-2 frame interrupt generated-2 frame interrupt generated

- external interrupt 1 is used to keep track of the IOMexternal interrupt 1 is used to keep track of the IOM-2-2

data frame timing data frame timing

- each USB frame may contain 7, 8 or 9 IOMeach USB frame may contain 7, 8 or 9 IOM-2 frames-2 frames

- complex circular buffers are neededcomplex circular buffers are needed

...connect to ISDN...connect to ISDN

Page 13: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt13 - 04/24/23, 09:20

IPACIPAC(PSB 2115)(PSB 2115)

Control Register

D-channeltransmission

B1 channelB2 channel

B1 channelB2 channel

D-channelreceptionInternalInternalRegisterRegister

USB Timing AsynchronousUSB Timing Asynchronousto ISDN Timingto ISDN Timing

Overview, logical connectionOverview, logical connection

SAB-C541USAB-C541UUSB Buffer USB Buffer (265 Bytes)(265 Bytes)

EP

1IN

- IS

O(1

8 by

te)

1. B1, B2 in

max. 9. B1, B2 in

(2 Byte every 125µs)

tran

sfer

con

trol

led

by C

'51

µC c

ode

tran

sfer

con

trol

led

by C

'51

µC c

ode

EP

0C

ontro

lE

P4

IN -

ISO

EP

3O

UT

- IS

O

EP

2O

UT

- IS

O(1

8 by

te)

max. 9. B1, B2 out

1. B1, B2 out

(2 Byte every 125µs)

Inte

rrup

t con

trol

led

Inte

rrup

t con

trol

led

ever

y 12

5µs

ever

y 12

5µs

Page 14: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt14 - 04/24/23, 09:20

- Depending on the ISDN inputDepending on the ISDN input- two Bytes will be added or subtracted by the HOST (PC)two Bytes will be added or subtracted by the HOST (PC)

- ISDN will feed-in ISDN will feed-in 1414,16,16

oror 18 18 Bytes per USB frame (1ms)Bytes per USB frame (1ms)

32 Bytes This is supported within the On-chip USB buffer (256Bytes)This is supported within the On-chip USB buffer (256Bytes)

B1 B2B1B1 B2B2

-2-2

B1 B2 B1 B2 B1 B2 B1 B2 B1 B2 B1 B2 B1 B2

- The standard transmitted length is 16 BytesThe standard transmitted length is 16 Bytes- B1 and B2 are placed multiplexed into the pipeB1 and B2 are placed multiplexed into the pipe

Every B-channel ISO-pipe is defined with the length 32 BytesEvery B-channel ISO-pipe is defined with the length 32 Bytes

Isochronous Pipes SupportingIsochronous Pipes SupportingB-Channel Data transfer (EP1 + EP2)B-Channel Data transfer (EP1 + EP2)

...B-channel pipes...B-channel pipes

22 44 66 88 16161010 1212 1414

16 Bytes 16 Bytes (default)(default)

B1 B2

1818

18 Bytes 18 Bytes (overflow)(overflow)

B1B1 B2B2

+2+2

1414

14 Bytes (underflow)14 Bytes (underflow)

Page 15: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt15 - 04/24/23, 09:20

USB Dual BuffersUSB Dual BuffersSupport for Isochronous Pipes Support for Isochronous Pipes

e.g. USB read accesse.g. USB read access

USB

CPU

page0page1

1) 1)

USB buffer is empty and USB buffer is empty and CPU buffer is filled.CPU buffer is filled.

USB

CPU

page0page1

USB

CPU

page1page0

swap2)2)

CPU buffer is full and swapped toCPU buffer is full and swapped toUSB side. USB read action enabled.USB side. USB read action enabled.

USB

CPU

page1page0

3) 3)

USB buffer is read out whileUSB buffer is read out whileCPU writes to its own page.CPU writes to its own page.

USB

CPU

page1page0

4)4)

USB buffer is empty, CPUUSB buffer is empty, CPUbuffer is not yet full.buffer is not yet full.

USB

CPU

page1page0

USB page0page1

CPU

swap

5) 5)

CPU Buffer is full and swapped toCPU Buffer is full and swapped toUSB side. USB read action enabled.USB side. USB read action enabled.

USB

CPU

page0page1

6)6)

USB buffer is read out whileUSB buffer is read out whileCPU writes to its own page.CPU writes to its own page.

Page 16: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt16 - 04/24/23, 09:20

...SW solution...SW solution

void my_func (void) interrupt 9void my_func (void) interrupt 9{EPSEL = IN_CHANNEL_NR; {EPSEL = IN_CHANNEL_NR; /* select EP number *//* select EP number */ B1_IN B1_IN = = USBVALUSBVAL; ; /* USBVAL = SFR which passes data to the *//* USBVAL = SFR which passes data to the */ B2_IN B2_IN = = USBVALUSBVAL; ; /* Internal USB module, *//* Internal USB module, */ D_CI_IND_CI_IN = = USBVALUSBVAL; ; /* this /* this allows easy and fast data access */ easy and fast data access */ MON_IN MON_IN = = USBVALUSBVAL; ;

SW Example to access the USB buffers SW Example to access the USB buffers included in the SAB-C541Uincluded in the SAB-C541U

EPSEL = OUT_CHANNEL_NR;EPSEL = OUT_CHANNEL_NR; USBVALUSBVAL = = B1_OUTB1_OUT; ; /* in both directions! *//* in both directions! */ USBVALUSBVAL = = B2_OUTB2_OUT;; USBVALUSBVAL = = D_CI_OUTD_CI_OUT;; USBVALUSBVAL = = MON_OUTMON_OUT; ;

if(++int_cnt==8){ if(++int_cnt==8){ /* e.g. packet size 8 bytes *//* e.g. packet size 8 bytes */ EPBSnEPBSn = = EPBSnEPBSn | | DONEDONE_;_; /* set USB buffer FULL for OUT CHANNEL *//* set USB buffer FULL for OUT CHANNEL */ EPSELEPSEL = = IN_CHANNEL_NRIN_CHANNEL_NR; ; /* select endpoint for IN CHANNEL *//* select endpoint for IN CHANNEL */ EPBSnEPBSn = = EPBSnEPBSn | | DONE_DONE_;; /* set USB buffer FULL for CHANNEL *//* set USB buffer FULL for CHANNEL */ int_cnt = 0; }}int_cnt = 0; }}

Page 17: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt17 - 04/24/23, 09:20

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2B1, B2

B1, B2

B1, B2

...SW solution...SW solution

IN_read_ptrIN_read_ptr

ISAC-SISAC-S

ISAC-SISAC-S

IN_read_ptrIN_read_ptr

ISAC-SISAC-S

IN_read_ptrIN_read_ptr

ISAC-SISAC-SIN_read_ptrIN_read_ptr

ISAC-SISAC-SIN_read_ptrIN_read_ptr

ISAC-SISAC-S

IN_read_ptrIN_read_ptr

ISAC-SISAC-S

ISAC-SISAC-S

IN QueueIN Queue OUT QueueOUT QueueIOM-2 Int.

ISAC-SISAC-S

OUT_write_ptrOUT_write_ptr

ISAC-SISAC-SOUT_write_ptrOUT_write_ptr

ISAC-SISAC-S

OUT_write_ptrOUT_write_ptr

ISAC-SISAC-S

OUT_write_ptrOUT_write_ptr

OUT_write_ptrOUT_write_ptr

ISAC-SISAC-S

IN_read_ptrIN_read_ptr

SOF Int.

OUT_write_ptrOUT_write_ptr

IN_write_ptrIN_write_ptr

OUT_read_ptrOUT_read_ptr

OUT_write_ptrOUT_write_ptr

ISAC-SISAC-S

14, 16 or 18 Bytes from

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2B1, B2

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2B1, B2 B1, B2

B1, B2

B1, B2

B1, B2

B1, B2

B1, B2

B-channel, Circular BuffersB-channel, Circular BuffersSW ImplementationSW Implementation

IN_write_ptrIN_write_ptr

OUT_read_ptrOUT_read_ptr

ISAC-SISAC-S

B1, B2B1, B2

B1, B2B1, B2

Page 18: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt18 - 04/24/23, 09:20

...SW solution...SW solution

SW Implementation; Both B-channel SW Implementation; Both B-channel Directions handled parallelDirections handled parallel

OUT_Queue(circular Buffer)

empty ?

SOF-Interrupt(1ms)

write data toUSB memory

USB_FIFO =OUT_Queue (B1)

USB_FIFO =OUT_Queue (B2)

Return from Interrupt

YES

NO

USB memoryempty ?

read data fromUSB memoryIN_Queue (B1) =

USB_FIFOIN_Queue (B2) =

USB_FIFOYES

NO

IOM-2 Interrupt

read from circular Buffer(internal RAM of C54x)B1_IOM (DU) = IN_QueueB2_IOM (DU) = IN_Queue

write to circular Buffer(internal RAM of C54x)

OUT_Queue = B1_IOM (DD)OUT_Queue = B2_IOM (DD)

Return from Interrupt

(125µs)

Page 19: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt19 - 04/24/23, 09:20

Results, Performance RequirementsResults, Performance RequirementsISDN B channel data transferISDN B channel data transfer

...connect to ISDN...connect to ISDN

Both interrupt service routines carry out two B-channels (in Both interrupt service routines carry out two B-channels (in both directions) simultaneouslyboth directions) simultaneously

The IOM interrupt service routine is called every 125µs and has The IOM interrupt service routine is called every 125µs and has the highest prioritythe highest priority- the maximum runtime of the IOM interrupt service routine is 64 the maximum runtime of the IOM interrupt service routine is 64

cycles (32µs)cycles (32µs)- ~25% of the C541U computing performance is required.~25% of the C541U computing performance is required.

The USB interrupt service routine is called every 1000µsThe USB interrupt service routine is called every 1000µs- the maximum runtime of the USB interrupt service is the maximum runtime of the USB interrupt service is

~460 cycles (230µs)~460 cycles (230µs)- the USB interrupt service routine will be interruptedthe USB interrupt service routine will be interrupted

(max. twice) by the IOM interrupt service routine(max. twice) by the IOM interrupt service routine- 23% of the C541U computing performance is required.23% of the C541U computing performance is required.

As a result, the C541U will spend As a result, the C541U will spend 49%49% of its computing of its computing performance on maintaining the two B-channels through the performance on maintaining the two B-channels through the isochronous pipes.isochronous pipes.

Page 20: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt20 - 04/24/23, 09:20

CAPICAPICAPICAPI Common Common ISDN ISDN Application InterfaceApplication Interface

Layer Models:Layer Models:ISDN PC Card ISDN PC Card vs. vs. USB ISDN TAUSB ISDN TA

HW-InterfaceHW-Interface

ISA/PCI BusISA/PCI BusRegister I/ORegister I/O

Virtual HW (ISDN controller)Virtual HW (ISDN controller)

USB USB ISDN ISDN

USB-standard OS-driverUSB-standard OS-driver

ApplicationsApplications

IPACIPAC(PSB2115)(PSB2115)

IPACIPAC(PSB2115)(PSB2115)

Firmware on SAB-C541UFirmware on SAB-C541U

Register I/ORegister I/O

USB pipes

physicalphysicalconnectionconnection

HOSTHOSTDeviceDevice

Unpredictable Delays!

...connect to ISDN...connect to ISDN

Page 21: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt21 - 04/24/23, 09:21

SAB-C541USAB-C541U

IPACIPAC

...connect to ISDN...connect to ISDN

D-channelD-channelControl and Frame TransferControl and Frame Transfer

The firmware supports the following D-channel related The firmware supports the following D-channel related functions via specific isochronous commands:functions via specific isochronous commands:-D-channel controller and S-transceiver initializationD-channel controller and S-transceiver initialization-D-channel frame transmissionD-channel frame transmission- layer-1 status controllayer-1 status control-HDLC controller resetHDLC controller reset

The USB ISDN TA firmware reports the following D-channel The USB ISDN TA firmware reports the following D-channel related information via the isochronous pipe to the hostrelated information via the isochronous pipe to the host- received D-channel framesreceived D-channel frames- layer-1 status informationlayer-1 status information- HDLC controller status information, e.g. the completion of a HDLC controller status information, e.g. the completion of a

D-channel frame transmissionD-channel frame transmission

Page 22: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt22 - 04/24/23, 09:21

The 8 Bytes are filled with commands from the PC to the The 8 Bytes are filled with commands from the PC to the IPAC (via the microcontroller):IPAC (via the microcontroller):

...D-channel pipes...D-channel pipes

D-Channel Pipes D-Channel Pipes Isochronous Isochronous OUTOUT (EP4) (EP4)

D1 D2 D3 D4 D5 D6 D7D0

8 Bytes8 Bytes

-D-channel controller and S-transceiver initializationD-channel controller and S-transceiver initialization

-D-channel frame transmissionD-channel frame transmission

- layer-1 status controllayer-1 status control

-HDLC controller resetHDLC controller reset

Page 23: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt23 - 04/24/23, 09:21

D1 D2 D3 D4 D5 D6 D7D0

8 Bytes8 Bytes

...D-channel pipes...D-channel pipes

D-Channel Pipes D-Channel Pipes Isochronous Isochronous OUTOUT (EP4), details (EP4), details

[ o p t i o n a l p a r a m e t e r s ][ o p t i o n a l p a r a m e t e r s ] CMDCMDIDID

CMD ID = command identificationCMD ID = command identification Opt. parametersOpt. parameters

- data referring to command IDdata referring to command ID

Page 24: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt24 - 04/24/23, 09:21

(01)

(01)

ext. RAMext. RAM

frag. counterfrag. counter

stac

k (P

C)

stac

k (P

C)

...D-channel pipes...D-channel pipes

D-Channel Pipes D-Channel Pipes Isochronous Isochronous OUTOUT (EP4), example (EP4), example

D1 D2 D3 D4 D5 D6 D7D0

[ o p t i o n a l p a r a m e t e r s ][ o p t i o n a l p a r a m e t e r s ] CMDCMDIDID

CMD ID CMD ID e.g.send data- data will be split in fragments (opt. parameters)data will be split in fragments (opt. parameters)

- fragments will be buffered in devicefragments will be buffered in device

D1

D2

D3

D4

D5

D6

D7

ID

t0+ 49ms

(02)

(02)

(49)

(49)

(02)(02)

(49)(49)

(01)(01)D

1D

2D

3D

4D

5D

6D

7

t0+1ms

ID

D1

D2

D3

D4

D5

D6

D7

t0

ID

controlledcontrolledby µCby µC

length length (e.g. 49)(e.g. 49)

Page 25: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt25 - 04/24/23, 09:21

B1 B2B1 B2 B1 B2 B1 B2 B1 B2 B1 B2 B1 B2 B1 B2

22 44 66 88 16161010 1212 1414

16 Bytes 16 Bytes (default)(default)

...D-channel pipes...D-channel pipes

D-Channel Pipes D-Channel Pipes Isochronous Isochronous ININ (EP3), SYNC (EP3), SYNC SYNC = synchronizing feedback for B-channel OUTSYNC = synchronizing feedback for B-channel OUT

1414

B1B1 B2B2

-2-2

1818

B1B1 B2B2

+2+2

- 14, 16 or 18 B-channel frames14, 16 or 18 B-channel frames

feedbackfeedback

D2 D3 D4 D5 D6 D7D0

8 Bytes8 Bytes

[ i n d i c a t i o n ][ i n d i c a t i o n ] SYNCSYNCD1CMDCMD

IDID

Page 26: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt26 - 04/24/23, 09:21

...D-channel pipes...D-channel pipes

D-Channel Pipes D-Channel Pipes Isochronous Isochronous ININ (EP3), CMD ID (EP3), CMD ID

indication = acknowledge to ISDN commandsindication = acknowledge to ISDN commands- received D-channel framesreceived D-channel frames

- layer-1 status informationlayer-1 status information

- HDLC controller status informationHDLC controller status information- e.g. the completion of a D-channel frame transmissione.g. the completion of a D-channel frame transmission

D2 D3 D4 D5 D6 D7D0

8 Bytes8 Bytes

SYNCSYNCD1

CMD ID = command identificationCMD ID = command identification

[ i n d i c a t i o n ][ i n d i c a t i o n ] CMDCMDIDID

Page 27: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt27 - 04/24/23, 09:21

Pool of Pool of memorymemoryblocksblocks

Pool of Pool of memorymemoryblocksblocks

poolpoolofof

memorymemoryblocksblocks

...D-channel pipes...D-channel pipes

D-Channel D-Channel IN-PipesIN-Pipes, details , details CMD ID, CMD ID, e.g. e.g. layer-1 status informationlayer-1 status information

D2 D3 D4 D5 D6 D7D0

[ i n d i c a t i o n ][ i n d i c a t i o n ] SYNCSYNCD1CMDCMD

IDID

D0

SYCSYCD1

Layer-1 statusLayer-1 statusD3 D4 D5 D6 D7

Queue element including dataQueue element including dataD2

[ d a t a ][ d a t a ] oror

D0

SYNCSYNCD1

pointerpointerD3 D4 D5 D6 D7D2

Queue element including pointerQueue element including pointer

[ p o i n t e r ][ p o i n t e r ]

Page 28: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt28 - 04/24/23, 09:21

Queue forQueue formessages frommessages fromdevice to USBdevice to USB

Pool of memoryPool of memoryblocks for temp.blocks for temp.

Storage ofStorage ofR-FIFO data bytesR-FIFO data bytes

Pool of memoryPool of memoryblocks for temp.blocks for temp.

Storage ofStorage ofR-FIFO data bytesR-FIFO data bytes

Frame Transmission / ReceptionFrame Transmission / Reception

IPACIPAC

Memory block forMemory block fortemp. Storage oftemp. Storage ofD-channel frameD-channel frameto be transmittedto be transmitted

D-channelD-channeltransmit datatransmit data

TransmitTransmitFIFO dataFIFO data

additionaladditionalmessagesmessagesparametersparameters

ReceiveReceiveFIFO dataFIFO data

Data flow for the D-channel pipesData flow for the D-channel pipes

Isochronous pipeIsochronous pipemessagesmessages

StausStausmessagesmessages

Control PipeControl PipeControl pipe commandsControl pipe commands SAB-C541USAB-C541U

Isochronous Isochronous PipePipe

Isochronous Isochronous PipePipe

Pool of memoryPool of memoryblocks for temp.blocks for temp.

Storage ofStorage ofR-FIFO data bytesR-FIFO data bytes

Page 29: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt29 - 04/24/23, 09:21

Results, D-channel handlingResults, D-channel handlingPerformance RequirementsPerformance Requirements The 16 kbit/sec data rate requires packets of 32 bytesThe 16 kbit/sec data rate requires packets of 32 bytes

- 32 bytes = size of the D-channel transmit and receive FIFOs 32 bytes = size of the D-channel transmit and receive FIFOs - transferred from USB to the ISAC-S and vice versa in 16ms transferred from USB to the ISAC-S and vice versa in 16ms

periodsperiods- In addition, the CPU-load for temporary storage of a In addition, the CPU-load for temporary storage of a

D-channel frame has to be consideredD-channel frame has to be considered One additional notification from the USB ISDN TA to the host One additional notification from the USB ISDN TA to the host

shall be generated in each 16ms period, tooshall be generated in each 16ms period, too Instruction cycle is 500ns (@ 12MHz external) Instruction cycle is 500ns (@ 12MHz external)

- max. 5000 cycles are needed to execute the sample routines.max. 5000 cycles are needed to execute the sample routines.

As a result, the C541U spends only As a result, the C541U spends only ~20%~20% of its computing of its computing performance on maintaining the D-channel.performance on maintaining the D-channel.

...connect to ISDN...connect to ISDN

Page 30: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt30 - 04/24/23, 09:21

...connect to ISDN...connect to ISDN

C541U CPU performance for handlingC541U CPU performance for handlingan USB ISDN Terminal Adapteran USB ISDN Terminal Adapter

ProcedureProcedure SAB-C541USAB-C541UCPU-LoadCPU-Load

D-channel handling,D-channel handling,transfer of D-channel messages from USBtransfer of D-channel messages from USBto IPAC and vice versato IPAC and vice versa

~20%~20%

B-channel data transferB-channel data transferfrom USB to IPAC and vice versafrom USB to IPAC and vice versa ~50%~50%

~70%~70%

Page 31: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt31 - 04/24/23, 09:21

Reference Design:Reference Design:USB ISDN Terminal AdapterUSB ISDN Terminal Adapter

...HW solution connects to ISDN...HW solution connects to ISDN

Page 32: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt32 - 04/24/23, 09:21

USB-MicrocontrollerC540U Family

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

Page 33: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt33 - 04/24/23, 09:21

C540U / C541U C540U / C541U Block DiagramBlock Diagram

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

Oscillator WatchdogOscillator Watchdog

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

Timer 0Timer 0

Timer 1Timer 1

Interrupt UnitInterrupt Unit

Tran

scei

ver

Tran

scei

ver USBUSB PLLPLL

ModuleModule

OSC & TimingOSC & Timing

C500C500Prog. 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 34: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt34 - 04/24/23, 09:21

C540U FamilyC540U FamilyList 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 C540U4kbytes in the C540U] 8 Kbytes OTP / 256 bytes RAM] 8 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 onlyC541U 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...the interfacing solution

4kbytes in the C540U

C541U only

Page 35: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt35 - 04/24/23, 09:21

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

Page 36: START first foil

HL CE M, lehmannusb_tele ESC spring.ppt36 - 04/24/23, 09:21

END last foilEND last foil