3G/UMTS |
|||||||||||||||||||||||||||||
Channel Mapping : MAC-hs
< Overview on MAC-hs in UTRAN : HSDPA >
When you study about MAC-hs or MAC-ehs, you always have to think of it in connection with MAC-d. So I combined the two entity as follows to help your understanding. Try following each single steps along the red path of MAC-d and all the path in MAC-hs.
As a first step, let's just read the path. i) one DTCH or DCCH RLC PDU gets into MAC-d. ii) MAC-d add C/T field to the data and pass it to MAC-hs. iii) MAC-hs distribute the incoming data into each of the priority queues. iv) As time goes one, multiple MAC-d PDUs will be accumulating into Priority Queues. v) The HARQ process in MAC-hs choose one of the priority Queues in every TTI and pull out a certain number of MAC-d PDUs based on TFRI and transmit it to the transport channel. (The MAC-hs can carry only one Queue data in one TTI, meaning it cannot multiplex more than one Queue data into one TTI).
Note :
Following is an example of MAC-hs configuration in Radio Bearer Setup. As you see, the MAC hs setup has MAC-d configuration information as well.
+-message ::= CHOICE [radioBearerSetup] +-radioBearerSetup ::= CHOICE [later-than-r3] +-later-than-r3 ::= SEQUENCE +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0] +-criticalExtensions ::= CHOICE [criticalExtensions] +-criticalExtensions ::= CHOICE [r5] +-r5 ::= SEQUENCE [00] +-radioBearerSetup-r5 ::= SEQUENCE [001000110001001010101001111] | +-rab-InformationSetupList ::= SEQUENCE OF SIZE(1..maxRABsetup[16]) [1] OPTIONAL:Exist | +-rb-InformationAffectedList ::= SEQUENCE OF OPTIONAL:Omit | +-dl-CounterSynchronisationInfo ::= SEQUENCE OPTIONAL:Omit | +-ul-CommonTransChInfo ::= SEQUENCE [0010] OPTIONAL:Exist | +-ul-deletedTransChInfoList ::= SEQUENCE OF OPTIONAL:Omit | +-ul-AddReconfTransChInfoList ::= SEQUENCE OF SIZE(1..maxTrCHpreconf[32]) [2] | +-dummy ::= CHOICE OPTIONAL:Omit | +-dl-CommonTransChInfo ::= SEQUENCE [01] OPTIONAL:Exist | +-dl-DeletedTransChInfoList ::= SEQUENCE OF OPTIONAL:Omit | +-dl-AddReconfTransChInfoList ::= SEQUENCE OF SIZE(1..maxTrCHpreconf[32]) [2] | | +-DL-AddReconfTransChInformation-r5 ::= SEQUENCE [0] | | | +-dl-TransportChannelType ::= CHOICE [hsdsch] | | | | +-hsdsch ::= NULL | | | +-tfs-SignallingMode ::= CHOICE [hsdsch] | | | | +-hsdsch ::= SEQUENCE [11] | | | | +-harqInfo ::= SEQUENCE OPTIONAL:Exist | | | | | +-numberOfProcesses ::= INTEGER (1..8) [6] | | | | | +-memoryPartitioning ::= CHOICE [explicit] | | | | | +-explicit ::= SEQUENCE OF SIZE(1..maxHProcesses[8]) [6] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | | +-HARQMemorySize ::= ENUMERATED [hms4800] | | | | +-addOrReconfMAC-dFlow ::= SEQUENCE [10] OPTIONAL:Exist | | | | +-mac-hs-AddReconfQueue-List ::= SEQUENCE OF SIZE(1..maxQueueIDs[8]) [1] | | | | | +-MAC-hs-AddReconfQueue ::= SEQUENCE [1] | | | | | +-mac-hsQueueId ::= INTEGER (0..7) [0] | | | | | +-mac-dFlowId ::= INTEGER (0..7) [0] | | | | | +-reorderingReleaseTimer ::= ENUMERATED [rt50] | | | | | +-mac-hsWindowSize ::= ENUMERATED [mws16] | | | | | +-mac-d-PDU-SizeInfo-List ::= SEQUENCE OF SIZE(1..maxMAC-d-PDUsizes[8]) [1] | | | | | +-MAC-d-PDUsizeInfo ::= SEQUENCE | | | | | +-mac-d-PDU-Size ::= INTEGER (1..5000) [336] | | | | | +-mac-d-PDU-Index ::= INTEGER (0..7) [0] | | | | +-mac-hs-DelQueue-List ::= SEQUENCE OF OPTIONAL:Omit | | | +-dch-QualityTarget ::= SEQUENCE OPTIONAL:Omit | | +-DL-AddReconfTransChInformation-r5 ::= SEQUENCE [1] | +-frequencyInfo ::= SEQUENCE OPTIONAL:Omit | +-maxAllowedUL-TX-Power ::= INTEGER OPTIONAL:Omit | +-ul-ChannelRequirement ::= CHOICE [ul-DPCH-Info] OPTIONAL:Exist | +-modeSpecificPhysChInfo ::= CHOICE [fdd] | +-dl-HSPDSCH-Information ::= SEQUENCE [11] OPTIONAL:Exist | +-dl-CommonInformation ::= SEQUENCE [11] OPTIONAL:Exist | +-dl-InformationPerRL-List ::= SEQUENCE OF SIZE(1..maxRL[8]) [1] OPTIONAL:Exist +-radioBearerSetup-r5-add-ext ::= BIT STRING OPTIONAL:Omit +-v5d0NonCriticalExtenstions ::= SEQUENCE OPTIONAL:Omit
This is the MAC component for HSDPA and the detailed structure is as follows (R99 system does not have this module). Overall process that this component is performing are :
< 25.321 - Figure 4.2.4.3.1 : UTRAN side MAC architecture / MAC-hs details >
The MAC PDU created by this module is as follows and the meaning of each field is summarized in a table following next.
< 25.321 - Figure 9.1.4.1 : MAC-hs PDU >
Note : Just by reading the PDU structure shown here you would notice a couple of characteristics as follows. i) A MAC-hs PDU can carry the data coming from only one Priority Queue. ii) A MAC-hs PDU can carry the mulitple MAC-d PDUs. (These MAC-d PDUs can have same or different sizes).
< Overview on MAC-hs in UE : HSDPA >
Following is MAC-sh structure in UE. (R99 UE does not have structure). Overall procedure is as follows : i) Take in MAC-sh PDUs ( Figure 9.1.4.1 shown above) from layer layer. ii) Split the MAC-sh PDU into multiple MAC-d PDUs using the informations in the MAC-sh header (Figure 9.1.4.1)
< 25.321 - Figure 4.2.3.3.1 : UE side MAC architecture / MAC-hs details >
Now go back to previous item ("Overview on MAC-hs in UTRAN : HSDPA") and see the MAC-hs PDU structure and try to understand how the structure will change as it flows from the bottom of this block (input) to the top of the block (output).
|
|||||||||||||||||||||||||||||