Sunteți pe pagina 1din 57

AMSS UMTS Architecture

QCT Software Team

Restricted Distribution: This document contains critical information about QUALCOMM products and may not be distributed to anyone that
is not an employee of QUALCOMM without the approval of Configuration Management.
Export of this technology may be controlled by the United States Government. Diversion contrary to U.S. law prohibited.

QUALCOMM Proprietary

All data and information contained in or disclosed by this document is confidential and proprietary information of QUALCOMM Incorporated,
and all rights therein are expressly reserved. By accepting this material the recipient agrees that this material and the information contained
therein is held in confidence and in trust and will not be used, copied, or reproduced in whole or in part, nor its contents revealed in any
manner to others without the express written permission of QUALCOMM Incorporated.
QUALCOMM is a registered trademark and registered service mark of QUALCOMM Incorporated.
Other product and brand names may be trademarks or registered trademarks of their respective owners.
QUALCOMM Incorporated
5775 Morehouse Dr.
San Diego, CA 92121-1714
Copyright 2002 QUALCOMM Incorporated. All rights reserved.

80-V5378-1

Page 1

QUALCOMM Proprietary

The following information


is licensed and
proprietary material.
Copyright 2002
Revision history
Version

Date

Description

Oct 2002

Initial release

Oct 2002

Updated for clarification.

80-V5378-1

Page 2

QUALCOMM Proprietary

Contents

Software Development
Software Architecture
Interface Conventions
Data Flows
Call Flows
Memory Management Architecture
Build Tools

80-V5378-1

Page 3

QUALCOMM Proprietary

UMTS Feature Set


80-V6460-1 AMSS 6250 External Software Release Plan
Detailed feature set can be found in 2G and 3G PICS
document.

80-V5378-1

Page 4

QUALCOMM Proprietary

GERAN Feature Set


AMSS software supports : Rel 99 version of 3GPP
specifications
Bands supported on UMTS targets: 900MHz, 1800 MHz, 1900
MHz, 850 MHz (multi-band support between 900-1800 and
1900-850 only)***
Bands supported on 1X targets: 900 MHz, 1800 Mhz
GSM: CS voice and CS Data (on single slot), MO/MT SMS,
Supplementary Services.
GPRS: PS Data, MO/MT SMS on GPRS, multiple PDP contexts
EDGE: Enhanced GPRS (aka: EGPRS) same features as
GPRS, with higher data rates. (on MSM6275 and later only)
AMSS mobile supports: Class B service, multi-slot class 10 (for
2.5G only).
GERAN Feature Pack 1 (NACC, Extended UL TBF) included in
MSM6275 Rel 3.0 and later
Upcoming: DTM, Multi-slot class 12 support.

80-V5378-1

Page 5

QUALCOMM Proprietary

Software Architecture

80-V5378-1

Page 6

QUALCOMM Proprietary

UI/CM

SMS
Apps

DATA
Apps

Voice
Apps

MN
REG

SS

CC

SMS

GSMS

Data
Services

SM

Handset
Services
(LCD/
NV/
Keypad/
Ringer,
Drivers,
etc)

USIM

MM

GMM

PS

Broadcast
Serivices

CS

Voice/
Sound
Services

BMC

OS/
Common
Services

PDCP
GRR

RR

GPRS L2
LLC/RLC/MAC

RRC

GSM L2
DLL

GPRS L1

GSTMR

80-V5378-1

GSM
CSD

SNDCP

RLC, MAC

L1
Physical Layer

GSM L1

Modem DSP

Page 7

STMR

Diagnostics

UMTS
Software
Architecture
Voice DSP

QUALCOMM Proprietary

WCDMA SW Protocol Architecture

Global Services
to SW

USER INTERFACE/CALL MANAGER


Data App(s)
Sockets/
Browser

SMS
App(s)

SW Drivers
Interfacing to HW

Voice
App(s)
VR/VM

Applications

MN
REG

RTOS
/
Timer
Services
/
Queue
Services
/
Error
Services
/
Interrupt
Services

SS

CC - CALL
SMS
CONTROL

MM - MOBILITY
MANANGEMENT

UMTS
SIM

SM

GMM - GPRS MM

Handset
Services

Data Services

GSMS

LCD

Diag/Log
Services

BroadCast
Servic
es

PS
Data

CS
Data

Voice
Services

UART/
USB
Sound
Services

Watchdog
Services
Codec
Voc
DSP
(AMR)

RRC - RADIO RESOURCES


CONTROL

BMC

NV
Services

PDCP

NV

OnChip
Mem
Service

RLC - RADIO LINK CONTROL

MAC - MEDIUM ACCESS CONTROL


Sleep
Services

Physical Layer
(ENC/MOD/SRCH/DECOD/DMOD)

Decoder
Clock
Services

USIM
I/O

CIPHER

Clock
Regime

mDSP

Searcher

System
Timer
Encoder

80-V5378-1

Keypad
/
Ringer

Page 8

Modulator

DL Gain
Control
UL Gain
Control

RF
Control

Battery
Guage/
Serv
BSP
(Mem/
GPIO/
ADC/
Boot/
DNLD)

Sleep
Control

SW Drivers to
ASIC

QUALCOMM Proprietary

GERAN SW
Architecture

UI/Applications

AT
Handler
SMS/GSMS

DS
Sockets

DS Call
Manager

SM

SIO

PS Protocols
SIM Manager

MM/GMM
Data Services
SNDCP

L2

RR/GRR
RR/GRR

CSN.1
Utility

LLC
LLC

RLC(UL)

MAC

RLC(DL)

GSM PL1

GPRS
GPRSPL1
PL1
Portable Layer 1

Non-Portable Layer 1

mDSP

Key
Those entities that are substantially impacted by EDGE
Addition of EDGE has a minor impact

80-V5378-1

Page 9

QUALCOMM Proprietary

Module Functionality

L1 (PHY) Physical Layer Control and Drivers supports:


Encoding/modulation
Decoding/deinterleaving
Search/acquisition
Demodulation
System timekeeping
L3/L2 interfaces
Action time support
RF/gain control
mDSP sync/async interface

Physical Layer maps transport channels to physical channels and


supports both UL/DL CCTrCH configuration and control

80-V5378-1

Page 10

QUALCOMM Proprietary

Module Functionality (cont.)

L2 MAC (Medium Access Control) supports:


UL and DL mapping of logical channels to transport channels
Attachment/removal of MAC header
TFCS selection
RACH control
Traffic volume measurement

L2 RLC (Radio Link Control)


Consists of three modes of operation:
Transparent mode
Unacknowledged mode
Acknowledged mode

Provides for segmentation/reassembly, acknowledgement, and SDU-toPDU mapping for both control plane signaling and user plane data

80-V5378-1

Page 11

QUALCOMM Proprietary

Module Functionality (cont.)


L3 RRC (Radio Resource Control Protocol) supports:
Connection establishment for NAS layers
NAS data transfer
Configuration/reconfiguration of L2/L1 layers
Radio bearer setup/release/reconfiguration
Measurement control and reporting
Cell selection/reselection
Diversity control for soft and hard handoff
Security procedures for authentication and ciphering
Establishes and maintains radio link with UTRAN

80-V5378-1

Page 12

QUALCOMM Proprietary

Module Functionality (cont.)


NAS MM (Mobility Management) supports:
PLMN selection
IMSI/TMSI attachment/detachment of registration
Location area updating
Connection Management sublayer services
Authentication

NAS GMM (GPRS Mobility Management) supports:


System selection
P-TMSI attachment/detachment
Registration and authentication for the GPRS network

80-V5378-1

Page 13

QUALCOMM Proprietary

Module Functionality (cont.)


NAS CC (Call Control) supports:
Mobile-originated/mobile-terminated call setup and
termination
Emergency call setup
Call maintenance
Supplementary Services call support
DTMF support
Call reestablishment

NAS SM (Session Management)


Provides functions to activate, modify, and delete contexts
for Packet Data Protocols (PDP)

80-V5378-1

Page 14

QUALCOMM Proprietary

Module Functionality (cont.)


NAS SMS (Short Message Services) over circuit-switched
connections supports:
SMS Control protocol

NAS GSMS (GPRS Short Message Services) supports:


Short Message Services over packet-switched connections

80-V5378-1

Page 15

QUALCOMM Proprietary

Module Functionality (cont.)

NAS SS (Supplementary Services) supports


Multiparty calling
Call waiting
Call forwarding
Call baring
Call hold
Calling line identification
Connected line identification
Advice of charge
Closed user group
Call transfer
Other GSM Phase 2+ features

80-V5378-1

Page 16

QUALCOMM Proprietary

Module Functionality (cont.)

NAS MN (Mobile Network) supports protocols and interfaces


between CC/SS/SMS and MMI/UI

NAS REG (Registration) supports System Selection Control

UI/MMI (user interface/man-machine interface + Call Manager)

Bearer Services circuit-switched voice using AMR codec

Bearer Services circuit-switched data based on GSM Phase 2+


Data Services

Bearer Services packet-switched data based on GPRS

Bearer Services Broadcast Multicast Control services

80-V5378-1

Page 17

QUALCOMM Proprietary

Module Functionality (cont.)

RR/GRR
Storing & processing SI
Cell selection/reselection, handover
Radio connection establishment
Paging message handling.
GSM L2
Segmentation and reassembly of L3 frames
Error detection (duplicate/lost frames)
Flow control (stop and wait)
GSM L1/GPRS L1
Power scan, acquisition, BCCH decode
Modulation/coding
Maintains the frame timing
Controls TX/RX/monitoring at physical interface
Power control
Vocoder data exchange
Etc.

80-V5378-1

Page 18

QUALCOMM Proprietary

Module Functionality (cont.)

GPRS SNDCP
Multiplexes PDPs onto the appropriate LLC connection
Establishes, reestablishes, and releases acknowledged peer-to-peer LLC operation
Segments and reassembles
Negotiates the XID parameters between peer SNDCP entities using XID exchange
Optionally, compresses redundant protocol control information, compresses
redundant user data
GPRS LLC
Provides several logical channels to multiplex signaling and user data over radio link.
Ensures data integrity and security
Provides acknowledged and unacknowledged mode of transfer.
GPRS MAC
Manages establishment/progress/release of all UL and DL GPRS transfers.
Handles transmission/reception of control messages sent/received on Packet
Control channels.
GPRS RLC
Provides LL PDU transfer services to LLC in ack and unack mode
Provides and manages the (data) buffer services to PL1 for the receipt of downlink
data blocks and transmission of uplink data blocks

80-V5378-1

Page 19

QUALCOMM Proprietary

Software Development
Based on Release 99, 2001-06
Standards continue to update every quarter
Upper layers based on GSM stack enhancing for Phase 2+,
then adding UMTS extensions for R99

Software development
Develop L1, L2:MAC/RLC/PDCP, L3:RRC, GMM, SM,
RABM
Port/Enhance UI/CM, Applications, Data Services/Voice
Services

80-V5378-1

Page 20

QUALCOMM Proprietary

Code Leverage
~30% from existing code base

REX++ (link list timers, memory heap)


UI/CM (adding UMTS/GSM features, SS, SMS, updated CM API)
Peripheral drivers: SIO, USB, NV, SBI, PM1000, VBATT/THERM
Voice Services, Sound Services (ported, interfaces updated)
Data Services (new design + port), DSM items
Diag/logging (new core + common arch)
Common software (support PIC, otherwise similar)
Bluetooth, VR/VM (plan to port)

~70% updated to support UMTS


Updates to all tools QXDM, QPST, and QCAT
Developed ~30 new WCDMA screens for QXDM

80-V5378-1

Page 21

QUALCOMM Proprietary

Software Architecture

80-V5378-1

Page 22

QUALCOMM Proprietary

Task
Architecture

UIM
Server
Task

W/dog
Task

WCDMA
Call
Manager
Task

CNM
Task
(MN/CC/
SS/SMS)

Diag
Task

NV
Task

HS
Task

REG
Task

TMC
Task
GSDI
(SIM/
USIM)
Task

SM/
RABM
Task

MM/
GMM
Task

Voice
Services
Task

DS Task

PS Task
RR/
GRR

DS CS
UL Task

L2 DL
Task

L2 UL
Task

GSM
L2

GSM/
GPRS
L1/
L1 ISR
Interfaces to
various Tasks

Page 23

Launchpad
Feature
Tasks
GPS
Tasks

GPRS
MAC

80-V5378-1

QDSP
Services
Task

DS CS
DL Task

RRC
Task

File
System
Task

System
Support
Tasks

Sound
Services
GSM/
GPRS

Sleep
Task

USB
Task

Dualmode
(Mixed)

UI Task

L1 Task

MDSP
Task

Bluetooth
Task(s)

QUALCOMM Proprietary

A M S S W C D M A
b u i ld

a pps

p lt

W C D M A

u i

pt

lib

m s

obj
cust
ta s k

te s t
...

jf

N A S

s e r v ic e s

rrc

cb

cm

rlc

cnm

d lo a d

m ac

g sdi

tra m p

l1

m m

d ia g

l2

m n

a vs

te s t

ra b m

h s

obj

re g

nv

lib

sm

u im

te s t

w vs

o bj

fs

lib

d sm

d r iv e r s
n o n - p o r t a b le

t o o ls
p o r t a b le

h w

c lo c k

rf

b io

vdsp

c lk r e g im

m d sp

i2 c

b oot

pm

. ..

sbi

D a ta

T est

S ilk

P L T

C F A

P h one T

beam up
. ..

th e rm
v b a tt
s io
...

q d sp
u t ils

Build Directory
Structure

re x
o bj
lib
te s t
...

80-V5378-1

Page 24

QUALCOMM Proprietary

Interface Conventions

80-V5378-1

Page 25

QUALCOMM Proprietary

Interfaces
For Access Stratum, have clear interfaces between L1,
MAC, RLC, RRC, and MM/GMM
Based on REQUEST, CONFIRM, INDICATION,
RESPONSE as defined in 3GPP specs

80-V5378-1

Page 26

QUALCOMM Proprietary

Interfaces
Request The _REQ primitive is sent from a higher layer to a
lower layer (for example, L3 L1). This can result in either a
return type response for synchronous commands (that is, those
executed immediately), or a _CNF from the lower layer.
Confirm The _CNF primitive is sent from a lower layer to a higher
layer as a result of a _REQ previously sent. This _CNF is the
response to an associated _REQ. Since the processing takes some
time, it is considered asynchronous.
Indications The _IND primitive is initiated and sent from a lower
layer to a higher layer. This can have an associated _RESP or can
be provided asynchronously to the higher layer.
Response The _RESP primitive is sent from a higher layer to a
lower layer as a result of a _IND requiring some data.

80-V5378-1

Page 27

QUALCOMM Proprietary

API Support
The following APIs will be supported

80-V5378-1

Multimode Call Manager API


Multimode WMS (SMS) API
Serial I/O API
NV Item Manager API
Embedded File System API
Sound Server API
Board Support Package
GSDI API
Voice Services API
Data Services Sockets API
Bluetooth API
MMC API

Page 28

QUALCOMM Proprietary

Data Flows

80-V5378-1

Page 29

QUALCOMM Proprietary

Data Flow Description Overview


Message flow diagrams showing primitives between upper
layer, L2, and L1 for:
Downlink data transfer
Uplink data transfer on DCH
Uplink data transfer on RACH

For lower layers (RLC, MAC, and PHY), there is no


difference between Control Plane and User Plane data
transfer
For Control Plane, upper layer is RRC
For User Plane, upper layer is PDCP, BMC, or other
application

80-V5378-1

Page 30

QUALCOMM Proprietary

U P P E R LAY ER

R LC

M AC

P H Y

1 . R R C c o n fig u r e s R L C , M A C a n d P H Y la y e r s to s e t u p th e d o w n lin k lo g ic a l, tr a n s p o r t, a n d p h y s ic a l c h a n n e l.

2 . R L C _ R E G IS T E R _ D L _ S R V C _ R E Q
( R L C L o g ic a l C h a n n e l Id , D L _ Q ,
P O ST_R X_P R O C _FU N C _P TR )

3 . P H Y _ D L _ T R B L K _ H E A D E R _ IN D

4 . M A C _ D E C O D E _ D L _ P D U _ H E A D E R _ IN D

Downlink
Data
Transfer

5. M A C _D EC O D E _D L_PD U _H EA D ER _R E SP

6. PH Y_D L_TR B LK _H E A D E R _R ES P

7 . P H Y _ D L _ T R B L K _ D A T A _ IN D

8 . M A C _ D L _ P D U _ D A T A _ IN D

9 . R L C p u ts th e r e c e iv e d S D U s in
th e D L _ Q , a n d in v o k e s th e
P O S T _ R X _ P R O C _ F U N C ().

80-V5378-1

Page 31

QUALCOMM Proprietary

UPPER LAYER

RLC

MAC

PHY

1. RRC configures RLC, MAC, and PHY layers to set up the uplink logical, transport, and physical channel.

2. RLC_REGISTER_UL_SRVC_REQ
(RLC Logical Channel Id, UL_Q)

3. Upper Layer puts SDU to be


transmitted in the UL_Q, and
optionally (for AM) assigns an MUI.

Uplink
Data
Transfer
On DCH

4. PHY_UL_BUILD_FRAME_IND

5. MAC_GET_UL_BUFFER_STATUS_IND

6. MAC_GET_UL_BUFFER_STATUS_RESP

7. MAC_BUILD_UL_PDUS_IND

9. PHY_UL_BUILD_FRAME_RESP

10. Steps 4 through 9 are repeated until the entire SDU is tx'ed. RLC receives
ACKs from the peer RLC entity for each PDU that contained data from the SDU.
11. RLC_AM_SDU_CNF
(Status = SUCCESS, MUI)

80-V5378-1

Page 32

QUALCOMM Proprietary

Uplink Data Transfer on RACH


On RACH, the periodic build_frame_ind from PHY must
be turned on explicitly by MAC (off by default).
It conserves power when RACH is idle for long periods of
time.
MAC turns on the build_frame_ind when one or more SDUs
are placed in the RLC uplink data queue.
The build_frame_ind stays on as long as there are SDUs to
be transmitted.
MAC turns off the build_frame_ind when no more data is
available in the RLC uplink data queue.

80-V5378-1

Page 33

QUALCOMM Proprietary

UPPER LAYER

RLC

MAC

PHY

1. RRC configures RLC, MAC, and PHY layers for data transfer on RACH.

2. RLC_REGISTER_UL_SRVC_REQ
(RLC UL Logical Channel Id, UL_Q)
3. MAC_UL_TX_TRIGGER_SETUP_IND

Uplink
Data
Transfer
On RACH

4. Upper Layer puts SDUs to be


transmitted in the UL_Q.
5. MAC_UL_TX_TRIGGER_REQ
6. PHY_UL_TX_CONTROL_REQ
(Enable)
7. PHY_UL_BUILD_FRAME_IND
PHY_UL_BUILD_FRAME_IND
PHY_UL_BUILD_FRAME_IND

8. MAC_GET_UL_BUFFER_STATUS_IND
contd on next pg.

80-V5378-1

Page 34

QUALCOMM Proprietary

UPPER LAYER

RLC

MAC

PHY

contd from prev. pg.


8. MAC_GET_UL_BUFFER_STATUS_IND

9. MAC_GET_UL_BUFFER_STATUS_RESP

10. MAC_BUILD_UL_PDUS_IND

Uplink
Data
Transfer
On RACH
(cont.)

11. MAC_BUILD_UL_PDUS_RESP
12. PHY_UL_BUILD_FRAME_RESP

13. PHY_UL_TRCH_STATUS_IND
14. MAC_GET_UL_BUFFER_STATUS_IND

(ACK)

15. MAC_GET_UL_BUFFER_STATUS_RESP

80-V5378-1

(No Data)

16. PHY_UL_TX_CONTROL_REQ

17. MAC_UL_TX_TRIGGER_SETUP_IND

(Disable)

Page 35

QUALCOMM Proprietary

UE Control Flow
Control Plane

User Plane

User Plane

Applications

Control Plane

Applications

MMI, MN

MN

CM Connection

CM

CM

MM Connection

MM

...

MM

...
RRC Connection

RRC

RRC

Logical Channels
RLC

RLC
Logical Channels

MAC

MAC
Transport Channels

PHY

PHY

Physical Channels
To Other Users
UE

80-V5378-1

Network

Page 36

QUALCOMM Proprietary

Call Flows

80-V5378-1

Page 37

QUALCOMM Proprietary

UE-Originated Call Setup (1 of 4)


Uu
MMI, MN

CM

MM

UE-RRC

UE-RLC

UE-MAC

UE-L1

Iub
Node B - L1

Iu
CRNC - L1, MAC, RLC, RRC

CN

User Presses
the SEND key
MNCC_SETUP_REQ [1]
MMCC_EST_REQ [2]
RRC_EST_REQ [3]

The UE RRC initates a RRC Connection Establishment procedure and establishes the RRC
Connection and Signalling Radio Bearers.
RRC_EST_CNF [4]

RRC_OPEN_SESSION_REQ [5]
CM SERVICE REQUEST
The UE RRC initates an Intial Direct Transfer procedure.
INITIAL DIRECT TRANSFER MESSAGE
CM SERVICE REQUEST [6]
RRC_OPEN_SESSION_CNF [7]
The UTRAN RRC initates a Downlink Direct Transfer procedure.
DOWNLINK DIRECT TRANSFER MESSAGE
AUTHENTICATION REQUEST [8]
RRC_DATA_IND [9]
AUTHENTICATION REQUEST

80-V5378-1

Page 38

QUALCOMM Proprietary

UE-Originated Call Setup (2 of 4)


Uu

MMI, MN

CM

UE-RRC

MM

UE-RLC

UE-MAC

UE-L1

Iub

Node B - L1

Iu

CRNC - L1, MAC, RLC, RRC

CN

RRC_DATA_REQ [10]
AUTHENTICATION RESPONSE
The UE RRC initates an Uplink Direct Transfer procedure.
UPLINK DIRECT TRANSFER MESSAGE
AUTHENTICATION RESPONSE [11]

Request for Ciphering


Procedure[12]
The UTRAN RRC initates a Security Mode Control procedure.
SECURITY MODE COMMAND [13]
SECURITY MODE COMPLETE [14]

RRC_SYNC_IND [15]
MMCC_EST_CNF [16]

MMCC_DATA_REQ [17]
SETUP
RRC_DATA_REQ [18]
SETUP
The UE RRC initates an Uplink Direct Transfer procedure.
UPLINK DIRECT TRANSFER MESSAGE
SETUP [19]

80-V5378-1

Page 39

QUALCOMM Proprietary

UE-Originated Call Setup (3 of 4)


U u

M M I, M N

C M

U E -R R C

M M

U E -R L C

U E -M A C

U E -L 1

Iu b

N ode B - L1

Iu

C R N C - L1, M A C , R LC , R R C

C N

T h e U T R A N R R C in ita te s a D o w n lin k D ir e c t T r a n s f e r p r o c e d u r e .
D O W N L IN K D IR E C T T R A N S F E R M E S S A G E
C A L L P R O C E E D IN G

[2 0 ]

R R C _ D A T A _ IN D [2 1 ]
C A L L P R O C E E D IN G
M M C C _ D A T A _ IN D [2 2 ]
C A L L P R O C E E D IN G

R e q u e s t fo r R a d io
B e a r e r E s ta b lis h m e n t
[2 3 ]
T h e U T R A N R R C in ita t e s R a d io B e a r e r E s t a b lis h m e n t p r o c e d u r e a n d e s t b a lis h e s R a d io
A c c e s s B e a r e r s fo r V o ic e c a ll.

R R C _ S Y N C _ IN D [2 4 ]
M M C C _ S Y N C _ IN D [2 5 ]

E n a b le V o c o d e r s .

M N C C _ S Y N C _ IN D [2 6 ]

T h e U T R A N R R C in ita te s a D o w n lin k D ir e c t T r a n s f e r p r o c e d u r e .
D O W N L IN K D IR E C T T R A N S F E R M E S S A G E
A L E R T IN G

[2 7 ]

R R C _ D A T A _ IN D [2 8 ]
A L E R T IN G
M M C C _ D A T A _ IN D [2 9 ]
A L E R T IN G

80-V5378-1

Page 40

QUALCOMM Proprietary

UE-Originated Call Setup (4 of 4)


U u

M M I, M N

C M

U E -R R C

M M

U E -R L C

U E -M A C

U E -L 1

Iu b

N ode B - L1

Iu

C R N C - L1, M A C , R LC , R R C

C N

M N C C _ A L E R T _ IN D [3 0 ]
T h e U T R A N R R C in ita te s a D o w n lin k D ir e c t T r a n s fe r p r o c e d u r e .
U s e r h e a rs

D O W N L IN K D IR E C T T R A N S F E R

th e R in g b a c k
T one.

M E S S A G E

C O N N E C T [3 1 ]

R R C _ D A T A _ IN D [3 2 ]
C O N N E C T

M M C C _ D A T A _ IN D [3 3 ]
C O N N E C T

M N C C _ S E T U P _ C N F [3 4 ]
M M C C _ D A T A _ R E Q [3 5 ]
R in g b a c k t o n e
S to p s

C O N N E C T A C K
R R C _D A T A _R E Q [ 36]
C O N N E C T A C K

T h e U E R R C in it a t e s a n U p lin k D ir e c t T r a n s f e r p r o c e d u r e .
U P L IN K D IR E C T T R A N S F E R

M E S S A G E

C O N N E C T A C K [3 7 ]

C o n v e r s a t io n

80-V5378-1

Page 41

A c t iv e

QUALCOMM Proprietary

UE-Originated Call Release (1 of 2)


U u

M M I, M N

C M

U E -R R C

M M

U E -R L C

U E -M A C

U E -L 1

Iu b
N ode B - L1

Iu
C R N C - L1, M A C , R LC , R R C

C N

C o n v e r s a tio n A c tiv e .
U s e r P re s s e s
th e E N D k e y
M N C C _ D IS C _ R E Q [1 ]
M M C C _ D A T A _ R E Q [2 ]
D IS C O N N E C T
R R C _ D A T A _ R E Q [3 ]
D IS C O N N E C T
T h e U E R R C in ita t e s a n U p lin k D ir e c t T r a n s fe r p r o c e d u r e .
U P L IN K D IR E C T T R A N S F E R

M E S S A G E

D IS C O N N E C T [4 ]

T h e U T R A N R R C in it a te s a D o w n lin k D ir e c t T r a n s f e r p r o c e d u r e .
D O W N L IN K D IR E C T T R A N S F E R

M E S S A G E

R E L E A S E [5 ]

R R C _ D A T A _ IN D [6 ]
R E LE A S E
M M C C _ D A T A _ IN D [7 ]
M N C C _ R E L _ IN D [8 ] R E L E A S E
D is p la y C a ll
R e le a s e
In d ic a tio n

M M C C _ D A T A _ R E Q [9 ]
R E LE A S E C O M P LE TE
R R C _ D A T A _ R E Q [1 0 ]
R E LE A S E C O M P LE TE
M M C C _ R E L _ R E Q [1 1 ]

80-V5378-1

Page 42

QUALCOMM Proprietary

UE-Originated Call Release (2 of 2)


U u

M M I, M N

C M

U E -R R C

M M

U E -R L C

U E -M A C

U E -L 1

Iu b
N ode B - L1

Iu
C R N C - L1, M A C , R LC , R R C

C N

T h e U E R R C in ita te s a n U p lin k D ir e c t T r a n s fe r p r o c e d u r e .
U P L IN K D IR E C T T R A N S F E R

M E S S A G E

R E L E A S E C O M P L E T E [1 2 ]

D is a b le V o c o d e r s .
R e q u e s t f o r S ig n a llin g
S e s s io n R e le a s e [1 3 ]
T h e U T R A N R R C in it a te s a S ig n a llin g C o n n e c tio n R e le a s e p r o c e d u r e .
S IG N A L L IN G C O N N E C T IO N R E L E A S E

M E S S A G E [1 4 ]

R R C _ C L O S E _ S E S S IO N _ IN D [1 5 ]
M M C C _ R E L _ IN D [1 6 ]
T h e U T R A N R R C in it a te s R a d io B e a r e r R e le a s e p r o c e d u r e a n d r e le a s e s t h e R a d io A c c e s s
B e a r e r s fo r th e V o ic e c a ll.

T h e U T R A N R R C in ita t e s R R C C o n n e c tio n R e le a s e p r o c e d u r e if n o s ig n a llin g s e s s io n s e x is t .

R R C _ R E L _ IN D [1 7 ]

C a ll is R e le a s e d .

80-V5378-1

Page 43

QUALCOMM Proprietary

Memory Management Architecture

80-V5378-1

Page 44

QUALCOMM Proprietary

Memory Management
A memory management scheme is needed for:
Dynamic memory allocation (number and size of SDUs/PDUs is
arbitrary)
Efficient transfer of data between different layers in the WCDMA
protocol stack (copying data wastes both CPU cycles and RAM)

Existing memory management scheme that meets these


requirements: Data Services Memory (DSM)
Originally used by the IS-707 data services protocol stack (hence
the name)
This is a general-purpose memory management scheme that can
be adapted for use in the WCDMA protocol stack software

80-V5378-1

Page 45

QUALCOMM Proprietary

DSM Services Overview


DSM services were designed to address the needs of network
protocols
Dynamic allocation of fixed-size memory buffers from heap space
Linking of multiple memory buffers to hold an arbitrary amount of
data
Transfer and duplication of payload without copying data
Addition and removal of protocol headers without copying data
Various functions supporting protocol data extraction

Memory management facilities revolve around a data structure


known as a dsm_item (modeled after the UNIX mbuf)

80-V5378-1

Page 46

QUALCOMM Proprietary

DSM Services Overview (cont.)

Header fields allow manipulation


of payload data.
Payload consists of fixed-size
blocks.
For WCDMA, block sizes
must be chosen to match
DSM HEADER
TrBLK sizes.
Statically allocated space for
each item (heap).
RAM usage is determined by
the number of items (tuned
based on usage).
dsm_items should be used for
transfer of protocol stack data D S M D A T A
only, not for any other purpose.

80-V5378-1

Page 47

lin k

U s e d t o l i n k it e m s ( o r p a c k e t s ) i n t o q u e u e s

p k t_ p tr

P o in t e r to th e n e x t ite m in th e p a c k e t ( if a n y )

d u p _ p tr

P o i n t e r t o d u p l i c a t e d it e m ( i f a n y )

re fe re n c e s

C o u n t o f t h e n u m b e r o f d u p lic a t e s ( o f t h is it e m )

a llo c a t e d

T o ta l n u m b e r o f b y t e s in t h e p a y lo a d

s iz e

M a x im u m n u m b e r o f b y te s in t h e b o d y

u sed

N u m b e r o f b y t e s o f v a lid d a ta in th e b o d y

k in d

P r o t o c o l t y p e ( u s e d f o r d e b u g g in g )

p r io r i t y

U s e d f o r p r io r i t y q u e u i n g

c o o k ie

U s e d t o c h e c k f o r m e m o r y s c r i b b le s ( s e t t o 0 x B E A F )

tra c e r

U s e d f o r d e b u g g in g

d a ta _ p tr

body

P o in t e r to th e d a ta p a y lo a d

C o n t ig u o u s ly a llo c a t e d d s m _ it e m p a y lo a d s p a c e

QUALCOMM Proprietary

1 . G e t d s m _ ite m s to b u ild S D U s

U s e r P la n e E n t it y # n
U s e r P la n e E n tit y # 3
U s e r P la n e E n tit y # 2
U s e r P la n e E n t ity # 1
2 . C o n s tru c t S D U s

RR C

2 . C o n s tru c t S D U s

1 . G e t d s m _ ite m s
to b u ild S D U s
C H #n
C H #3
C H #2
C H #1

D S M H D R

D S M H D R

D S M H D R

D SM D A TA

D SM D A TA

D S M D A TA

U pper Layer S D U #1
D S M _ IT E M

Uplink
Data
Transfer

7 . G e t d s m _ ite m s
to b u ild P D U s

R L C U p lin k D a ta Q u e u e s
6 . G e t S D U s fr o m
U L D a ta Q u e u e s

R LC

D S M F re e P o o l

D S M H D R

D S M H D R

D SM D A TA

D SM D A TA

U pper Layer S D U #n

9 . C o n s tru c t P D U s

8 . F re e d s m _ ite m s
fo r t x 'e d S D U s ,
A C K 'e d A M P D U s

D S M H eader
M AC H eader

R LC P D U #1
R LC P D U #2
R LC P D U #3

5 . P D U S iz e &
# P D U s per
lo g ic a l c h a n n e l

M A C PD U

4 . G e t b u ffe r o c c u p a n c y
s ta tu s

R LC H eader

D SM D A TA

R L C D a ta
T rB L K # 1

L is t o f R L C P D U s
per TTI
1 0 . G e t P D U s fr o m lis t

M AC
1 1 . U p d a te M A C H e a d e r
T rB L K # 1
T rB L K # 2

D S M H eader
M AC H eader

T rB L K # 3
3 . B u ild F r a m e

1 4 . F re e d s m _ ite m s fo r
t x 'e d T M / U M P D U s

M A C PD U

R LC H eader

D SM D A TA

R L C D a ta
L is t o f M A C P D U s
per TTI

T rB L K # 1

1 2 . G e t T r B L K s fr o m lis t

PH Y
1 3 . W r ite T r B L K s to E n c o d e r H W

80-V5378-1

Page 48

QUALCOMM Proprietary

RLC
6 . U p d a t e C ip h e r in g C o n f ig
fo r U M a n d A M

5 . G e t H e a d e r B u ffe r fro m M A C
T rB
R LC
C ip h
T rB

Downlink
1st Pass
Header
Decoding

LK #1 H D R
P D U O ffs e t
e r in g C o n f ig
LK #2 H D R

H e a d e r B u ffe r
w / M A C d a ta

4 . U p d a te R L C P D U O ffs e t a n d
C ip h e r in g C o n f ig f o r T M

M AC

H e a d e r B u ffe r w /
M A C a n d R L C d a ta

T rB L K # 1 H D R
R L C P D U O ffs e t
C ip h e r in g C o n f ig
T rB L K # 2 H D R

3 . G e t H e a d e r B u ffe r fro m P H Y

T rB L K # 1

T rB L K # 1 H D R
R L C P D U O ffs e t
C ip h e r in g C o n f ig

1 0 B y te s
H e a d e r B u ffe r

T rB L K # 2 H D R

2 . W r it e T r B L K h e a d e r s
to H e a d e r B u ffe r

7 . G e t H e a d e r B u ffe r

PHY
1 . R e a d T rB L K h e a d e rs
fro m D e c O B

8 . C o n f ig u r e C ip h e r in g
a n d /o r D e c o d e r H W

T rC H # 1
T rC H # 2
T rC H # 3
T rC H # n
D e c o d e r O u tp u t B u ffe r

80-V5378-1

Page 49

QUALCOMM Proprietary

9 . F re e d s m _ ite m s fo r
p ro c e s s e d S D U s

U s e r P la n e E n tity # n
U s e r P la n e E n tity # 3
U s e r P la n e E n tity # 2
U s e r P la n e E n t ity # 1
8 . G e t S D U s fro m
D L D a ta Q u e u e

R R C
9 . F r e e d s m _ ite m s fo r
p ro c e s s e d S D U s

8 . G e t S D U s fro m
D L D a ta Q u e u e

C H #n
C H #3
C H #2
C H #1

D S M _H D R

D S M _H D R

D S M _H D R

D S M _D A TA

D S M _D A T A

D S M _D A TA

U pper Layer S D U

7 . N o tify U p p e r L a y e r
th a t d a ta is a v a ila b le

Downlink
2nd Pass
PDU
Processing

R L C D o w n lin k D a ta Q u e u e s

5 . F re e d s m _ ite m s fo r
d is c a r d e d P D U s

6 . R e - a s s e m b le S D U s
D S M F re e Q u e u e

R LC
4. G et R LC P D U s

R LC P D U #1
R LC P D U #2

D S M H D R
D S M H D R

R LC P D U #3

M AC

D S M H D R
R LC P D U

D S M D A T A

L is t o f R L C P D U s p e r T T I
2 . G e t d s m _ ite m s to
s to r e r x 'e d P D U s
3 . W rite R L C P D U s
in to d s m _ ite m s

P H Y

1 . R e a d b y te - a lig n e d ,
d e -c ip h e r e d R L C
P D U s fro m D e c O B

T rC H # 1
T rC H # 2
T rC H # 3
T rC H # n
D e c o d e r O u tp u t B u ffe r

80-V5378-1

Page 50

QUALCOMM Proprietary

Build Tools

80-V5378-1

Page 51

QUALCOMM Proprietary

Software Builds with BEAMuP

Features of BEAMuP (Build Effector for Applications on Multiple


Platforms)
Hierarchical encapsulation of services required by software builds
Core makefiles encapsulating commonly needed features BEAMuP core
Project-specific common makefiles defining common items Top-level core
Subsystem-specific make files one set per distributed build (subbuild)
Localized automatic on-the-fly dependency generation and hiding

Batch, shell, and Perl scripts to set up and execute a software


build
Driven by GNU make utility supports both Microsoft Windows
and UNIX

80-V5378-1

Page 52

QUALCOMM Proprietary

Software Builds with BEAMuP (cont.)


Accepted BEAMuP naming conventions
BEAMuP core and top-level core make files will use the
extension .gmk
VU-/subsystem-specific make files will use the extension
.smk
Top-level entry-point make file for a build will use the
extension .mak
Make file templates to be distinguished from working ones
by using the extension .tmk

80-V5378-1

Page 53

QUALCOMM Proprietary

Make Files and Build Execution


Top-level make files
Core make file shareall.gmk is included in each distributed
build
Stays in the top-level build entry-point directory; typically
referred to as build
Defines project-wide common macros for option switches,
commands, and so on

Entry-point make file, for example, surf.mak, to invoke a


make with
Defines the distributed build architecture by naming the
subbuilds
Defines common items for shareall.gmk to pick up and distribute

80-V5378-1

Page 54

QUALCOMM Proprietary

Make files and Build Execution (cont.)


Subbuild make files
One entry-point make file per subbuild; for example,
boot.smk, common.smk, and so on
Other make files for organization; for example, rf.smk,
sio.smk in the drivers subbuild

Invocation from command line (Note: [x] implies x optional,


y|z implies y or z exclusively)
To build:
make [-f yourmake.mak]
To clean:
make [-f yourmake.mak] [sm]clean|[sm]clear|[sm]clobber

80-V5378-1

Page 55

QUALCOMM Proprietary

Tools
QPST
QXDM
QCAT

80-V5378-1

Page 56

QUALCOMM Proprietary

Questions?

asicapps@qualcomm.com
80-V5378-1

Page 57

QUALCOMM Proprietary

S-ar putea să vă placă și