start first foil
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 PresentationTRANSCRIPT
HL CE M, lehmannusb_tele ESC spring.ppt1 - 04/24/23, 09:20
START first foilSTART 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
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
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
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
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
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
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
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
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
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
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
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
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)
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.
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; }}
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
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)
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.
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
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
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
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
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)
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
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
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 ]
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
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
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%
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
HL CE M, lehmannusb_tele ESC spring.ppt32 - 04/24/23, 09:21
USB-MicrocontrollerC540U Family
...the interfacing solution...the interfacing solution
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
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
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
HL CE M, lehmannusb_tele ESC spring.ppt36 - 04/24/23, 09:21
END last foilEND last foil