⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l1_tabs.h

📁 MMI层OBJ不能完全编译
💻 H
📖 第 1 页 / 共 2 页
字号:
/************* Revision Controle System Header *************
 *                  GSM Layer 1 software 
 * L1_TABS.H
 *
 *        Filename l1_tabs.h
 *  Copyright 2003 (C) Texas Instruments  
 *
 ************* Revision Controle System Header *************/
/***********************************************************
 * Content:
 *   This file contains the miscelaneous ROM tables.
 ***********************************************************/

#ifndef L1_TABS_H
#define L1_TABS_H

  #ifdef L1_ASYNC_C
    /*-----------------------------------------------------------------*/
    /* Idle Tasks info. (Paging position, extended Paging position...) */
    /*-----------------------------------------------------------------*/
    /* REM:                                                            */
    /* The "working area" field gives the starting position of an area */
    /* it will be used for neighbour:  - FB search,                    */
    /*                                 - SB reading,                   */
    /* The value given for each parameter set takes into account the   */
    /* size of the "FB search" task and the CBCH task.                 */                                 
    /*-----------------------------------------------------------------*/
    //  NP or EP task size: 1 + 4 + 1 = 6.
    //  BCCHS task size: 1 + 4 + 1 = 6.
    //  FB task size: 1 + 12 + 1 = 14.    --+-- FB + SB task take 15 TDMA (pipeline overlay).
    //  SB task size: 1 + 2 + 1 = 4.      --+
    //  CNF, SB task size: 1 + 2 + 1 = 4.
    //  BC (Broad. Channel): 1 + 4 + 1 = 6     
     
    const T_IDLE_TASK_INFO IDLE_INFO_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1) * (MAX_PG_BLOC_INDEX_NCOMB+1)] =
    // BS_CCCH_SDCCH_COMB = False, BCCH not combined.
    { 
      // BS_AG_BLKS_RES = 0.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_0,     CCCH_2  },  // Paging Block Index = 0.
      {  CCCH_1,     CCCH_3  },  // Paging Block Index = 1.
      {  CCCH_2,     CCCH_4  },  // Paging Block Index = 2.
      {  CCCH_3,     CCCH_5  },  // Paging Block Index = 3.
      {  CCCH_4,     CCCH_6  },  // Paging Block Index = 4.
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 5.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 6.
      {  CCCH_7,     CCCH_0  },  // Paging Block Index = 7.
      {  CCCH_8,     CCCH_1  },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 1.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_1,     CCCH_3  },  // Paging Block Index = 0.
      {  CCCH_2,     CCCH_4  },  // Paging Block Index = 1.
      {  CCCH_3,     CCCH_5  },  // Paging Block Index = 2.
      {  CCCH_4,     CCCH_6  },  // Paging Block Index = 3.
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 4.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 5.
      {  CCCH_7,     CCCH_1  },  // Paging Block Index = 6.
      {  CCCH_8,     CCCH_2  },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 2.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_2,     CCCH_4  },  // Paging Block Index = 0.
      {  CCCH_3,     CCCH_5  },  // Paging Block Index = 1.
      {  CCCH_4,     CCCH_6  },  // Paging Block Index = 2.
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 3.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 4.
      {  CCCH_7,     CCCH_2  },  // Paging Block Index = 5.
      {  CCCH_8,     CCCH_3  },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 3.
      // -------------------
      // Paging, Ext Paging, 
      {  CCCH_3,     CCCH_5  },  // Paging Block Index = 0.
      {  CCCH_4,     CCCH_6  },  // Paging Block Index = 1.
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 2.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 3.
      {  CCCH_7,     CCCH_3  },  // Paging Block Index = 4.
      {  CCCH_8,     CCCH_4  },  // Paging Block Index = 5.
      {  NULL,       NULL    },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 4.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_4,     CCCH_6  },  // Paging Block Index = 0.
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 1.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 2.
      {  CCCH_7,     CCCH_4  },  // Paging Block Index = 3.
      {  CCCH_8,     CCCH_5  },  // Paging Block Index = 4.
      {  NULL,       NULL    },  // Paging Block Index = 5.
      {  NULL,       NULL    },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 5.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_5,     CCCH_7  },  // Paging Block Index = 0.
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 1.
      {  CCCH_7,     CCCH_5  },  // Paging Block Index = 2.
      {  CCCH_8,     CCCH_6  },  // Paging Block Index = 3.
      {  NULL,       NULL    },  // Paging Block Index = 4.
      {  NULL,       NULL    },  // Paging Block Index = 5.
      {  NULL,       NULL    },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 6.
      // -------------------
      // Paging, Ext Paging, 
      {  CCCH_6,     CCCH_8  },  // Paging Block Index = 0.
      {  CCCH_7,     CCCH_6  },  // Paging Block Index = 1.
      {  CCCH_8,     CCCH_7  },  // Paging Block Index = 2.
      {  NULL,       NULL    },  // Paging Block Index = 3.
      {  NULL,       NULL    },  // Paging Block Index = 4.
      {  NULL,       NULL    },  // Paging Block Index = 5.
      {  NULL,       NULL    },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    },  // Paging Block Index = 8.

      // BS_AG_BLKS_RES = 7.
      // -------------------
      // Paging, Ext Paging
      {  CCCH_7,     CCCH_7  },  // Paging Block Index = 0.
      {  CCCH_8,     CCCH_8  },  // Paging Block Index = 1.
      {  NULL,       NULL    },  // Paging Block Index = 2.
      {  NULL,       NULL    },  // Paging Block Index = 3.
      {  NULL,       NULL    },  // Paging Block Index = 4.
      {  NULL,       NULL    },  // Paging Block Index = 5.
      {  NULL,       NULL    },  // Paging Block Index = 6.
      {  NULL,       NULL    },  // Paging Block Index = 7.
      {  NULL,       NULL    }   // Paging Block Index = 8.
    };

    const T_IDLE_TASK_INFO IDLE_INFO_COMB[(MAX_AG_BLKS_RES_COMB+1) * (MAX_PG_BLOC_INDEX_COMB+1)] =
    // BS_CCCH_SDCCH_COMB = TRUE, BCCH combined.
    { 
      // BS_AG_BLKS_RES = 0.
      // -------------------
      // Paging, Ext Paging, offset, working_area
      {  CCCH_0,     CCCH_2  },  // Paging Block Index = 0.
      {  CCCH_1,     CCCH_0  },  // Paging Block Index = 1.
      {  CCCH_2,     CCCH_1  },  // Paging Block Index = 2.

      // BS_AG_BLKS_RES = 1.
      // -------------------
      // Paging, Ext Paging, offset, working_area
      {  CCCH_1,     CCCH_1  },  // Paging Block Index = 0.
      {  CCCH_2,     CCCH_2  },  // Paging Block Index = 1.
      {  NULL,       NULL    },  // Paging Block Index = 2.

      // BS_AG_BLKS_RES = 2.
      // -------------------
      // Paging, Ext Paging, offset, working_area
      {  CCCH_2,     CCCH_2  },  // Paging Block Index = 0.
      {  NULL,       NULL    },  // Paging Block Index = 1.
      {  NULL,       NULL    }   // Paging Block Index = 2.
    };

      
    /*-------------------------------------*/
    /* Table giving the number of Paging   */
    /* blocks in a MF51.                   */
    /* (called "N div BS_PA_MFRMS" in      */
    /* GSM05.02, Page 21).                 */
    /*-------------------------------------*/

    // BS_CCCH_SDCCH_COMB = False, BCCH not combined.
    const UWORD8 NBPCH_IN_MF51_NCOMB[(MAX_AG_BLKS_RES_NCOMB+1)] =
    {
      9,    // BS_AG_BLKS_RES = 0. 
      8,    // BS_AG_BLKS_RES = 1. 
      7,    // BS_AG_BLKS_RES = 2. 
      6,    // BS_AG_BLKS_RES = 3. 
      5,    // BS_AG_BLKS_RES = 4. 
      4,    // BS_AG_BLKS_RES = 5. 
      3,    // BS_AG_BLKS_RES = 6. 
      2     // BS_AG_BLKS_RES = 7. 
    };    

    // BS_CCCH_SDCCH_COMB = True, BCCH combined.
    const UWORD8 NBPCH_IN_MF51_COMB[(MAX_AG_BLKS_RES_COMB+1)] =
    {
      3,    // BS_AG_BLKS_RES = 0. 
      2,    // BS_AG_BLKS_RES = 1. 
      1     // BS_AG_BLKS_RES = 2. 
    };    

    // Initial value for Downlink Signalling failure Counter (DSC).
    const UWORD8 DSC_INIT_VALUE[MAX_BS_PA_MFRMS-1] =
    {
      45,   // BS_PA_MFRMS = 2.
      30,   // BS_PA_MFRMS = 3.
      23,   // BS_PA_MFRMS = 4.
      18,   // BS_PA_MFRMS = 5.
      15,   // BS_PA_MFRMS = 6.
      13,   // BS_PA_MFRMS = 7.
      11,   // BS_PA_MFRMS = 8.
      10    // BS_PA_MFRMS = 9.
    };

    // REM: 2nd block of SDCCH is always at the same position as the first block
    //      but 1 mf51 later.
    // REM: monitoring during SDCCH used a fixe area (FB51/SB51/SBCNF51 tasks).
    //      Here is given the area starting position. This position is chosen
    //      to allow the equations for SBCNF51 occurence as it is in the l1s
    //      scheduler (the area do not overlap the end of 102 multiframe 
    //      structure).
    // Table for SDCCH description, Down Link & Up link, Not combined case.
     const T_SDCCH_DESC SDCCH_DESC_NCOMB[8] =
    {
      //  "dl_D" , "dl_A"  , "ul_D"  , "ul_A".        , "monit. area"
      {  51 - 12 , 32 - 12 , 15 - 12 ,  47 - 12       ,  70 - 12     }, // SDCCH, D0
      {  55 - 12 , 36 - 12 , 19 - 12 ,  51 - 12       ,  74 - 12     }, // SDCCH, D1
      {  59 - 12 , 40 - 12 , 23 - 12 ,  55 - 12       ,  78 - 12     }, // SDCCH, D2
      {  12 - 12 , 44 - 12 , 27 - 12 ,  59 - 12       ,  82 - 12     }, // SDCCH, D3
      {  16 - 12 , 83 - 12 , 31 - 12 ,  98 - 12       ,  35 - 12     }, // SDCCH, D4
      {  20 - 12 , 87 - 12 , 35 - 12 , 102 - 12       ,  39 - 12     }, // SDCCH, D5
      {  24 - 12 , 91 - 12 , 39 - 12 ,   4 - 12 + 102 ,  43 - 12     }, // SDCCH, D6
      {  28 - 12 , 95 - 12 , 43 - 12 ,   8 - 12 + 102 ,  47 - 12     }  // SDCCH, D7
    };  

    // REM: monitoring during SDCCH used a fixe area (FB51/SB51/SBCNF51 tasks).
    //      Here is given the area starting position. This position is chosen
    //      to allow the equations for SBCNF51 occurence as it is in the l1s
    //      scheduler (the area do not overlap the end of 102 multiframe 
    //      structure).
    // Table for SDCCH description, Down Link & Up link, Combined case.
    const T_SDCCH_DESC SDCCH_DESC_COMB[4] =
    {
      // "dl_D"  , "dl_A"  , "ul_D"  , "ul_A".       , "monit. area"
      {  73 - 37 , 42 - 37 , 37 - 37 , 57 - 37       ,  92 - 37     }, // SDCCH, D0
      {  77 - 37 , 46 - 37 , 41 - 37 , 61 - 37       ,  96 - 37     }, // SDCCH, D1
      {  83 - 37 , 93 - 37 , 47 - 37 , 6  - 37 + 102 ,  51 - 37     }, // SDCCH, D2
      {  87 - 37 , 97 - 37 , 51 - 37 , 10 - 37 + 102 ,  55 - 37     }  // SDCCH, D3
    };                                                               

    // Table for HOPPING SEQUENCE GENERATION ALGORITHM.
    const UWORD8 RNTABLE[114] =
    {
       48,  98,  63,   1,  36,  95,  78, 102,  94,  73,
        0,  64,  25,  81,  76,  59, 124,  23, 104, 100,
      101,  47, 118,  85,  18,  56,  96,  86,  54,   2,
       80,  34, 127,  13,   6,  89,  57, 103,  12,  74,
       55, 111,  75,  38, 109,  71, 112,  29,  11,  88,
       87,  19,   3,  68, 110,  26,  33,  31,   8,  45,
       82,  58,  40, 107,  32,   5, 106,  92,  62,  67,
       77, 108, 122,  37,  60,  66, 121,  42,  51, 126,
      117, 114,   4,  90,  43,  52,  53, 113, 120,  72,
       16,  49,   7,  79, 119,  61,  22,  84,   9,  97,
       91,  15,  21,  24,  46,  39,  93, 105,  65,  70,
      125,  99,  17, 123
    };


    // Table giving the RACH slot positions when COMBINED.
    // Rem: all is shifted left by 1 to map the position of the possible "contoles".
    const UWORD8 COMBINED_RA_DISTRIB[51] =
    { 
      0, 0, 0, 
      1, 1, 
      0, 0, 0, 0, 0, 0, 0, 0, 
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
      0, 0, 0, 0, 0, 0, 0, 0,
      1, 1, 
      0, 0, 0, 0, 0
    };

  #if !L1_GPRS
    const T_TASK_MFTAB  TASK_ROM_MFTAB[NBR_DL_L1S_TASKS] =
    {
      { BLOC_HWTEST,   BLOC_HWTEST_SIZE   },  // HWTEST 
      { BLOC_ADC    ,  BLOC_ADC_SIZE      },  // ADC in CS_MODE0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -