亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? soc_ini.c

?? Infineon公司有一款實現SHDSL協議(ADSL協議的變種)的芯片
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*******************************************************************************
       Copyright (c) 2000, Infineon Technologies.  All rights reserved.
  
                               No Warranty                                                 
   Because the program is licensed free of charge, there is no warranty for 
   the program, to the extent permitted by applicable law.  Except when     
   otherwise stated in writing the copyright holders and/or other parties   
   provide the program "as is" without warranty of any kind, either         
   expressed or implied, including, but not limited to, the implied         
   warranties of merchantability and fitness for a particular purpose. The  
   entire risk as to the quality and performance of the program is with     
   you.  should the program prove defective, you assume the cost of all     
   necessary servicing, repair or correction.                               
                                                                            
   In no event unless required by applicable law or agreed to in writing    
   will any copyright holder, or any other party who may modify and/or      
   redistribute the program as permitted above, be liable to you for        
   damages, including any general, special, incidental or consequential     
   damages arising out of the use or inability to use the program           
   (including but not limited to loss of data or data being rendered        
   inaccurate or losses sustained by you or third parties or a failure of   
   the program to operate with any other programs), even if such holder or  
   other party has been advised of the possibility of such damages. 
 *******************************************************************************       
   
   Module:        SOC_INI
   Product ID:    22622.1.0.1
   Description:   Contains initialization proceedings of SOCRATES.
                                                      
 ******************************************************************************/

//  Group= SOC_INI 

/* ============================= */
/* Includes                      */
/* ============================= */

#include <stdio.h>
#include <absacc.h>
#include <intrins.h>

#include "sysdef.h"            
#include "dds.h"          
#include "sysvar.h"
#include "sysfunc.h"

#include "modid.h"
#include "reg165.h"

/* ============================= */
/* Local Macros & Definitions    */
/* ============================= */

                                         /* This macro realizes the standard
                                            bitfield command (_bfld_()) for
                                            general device addresses. Following
                                            parameters are needed:
                                            x = address of device register to be
                                                modified. Like In() and Out() no
                                                AOM base addr must be specified.
                                            y = AND bitmask: only bits which are
                                                set to 1 are modified.
                                            z = OR bitmask: defines new 
                                                bit values.                   */

/* ============================= */
/* Global variable definition    */
/* ============================= */
WORD8   G_Emulation_Mode;
/* ============================= */
/* Local function declaration    */
/* ============================= */

static void Soc_Bs_Cot_Int (WORD8 rcfdir, WORD8 frame); 
static void Soc_Bs_Cot_Ext (WORD8 rcfdir, WORD8 frame); 
static void Soc_Bs_Rt_Loop (WORD8 rcfdir, WORD8 frame); 
static void Soc_Pcm_Cot_Ext (WORD8 frame, WORD8 pcm4);  
static void Soc_Pcm_Cot_Int (WORD8 frame, WORD8 pcm4);
static void Soc_Pcm_Rt_Loop (WORD8 frame, WORD8 pcm4);
static void Soc_Pcm_Rt_Extpll (WORD8 frame, WORD8 pcm4);

/* ============================= */
/* Global function definition    */
/* ============================= */

/*******************************************************************************
Description: 
   Inititialization function of SOCRATES.
Arguments:
   NONE.
Return:
   NONE.
Remarks:
   This function calls all other SOCRATES initialization function for
   initialization of API (Soc_Init_Api), Mode (Soc_Set_Mode),
   HDLC part (Soc_Hdlc_Init).
 ******************************************************************************/
void Soc_Init (void)
{
   BIN_INFO bin_file;

   if (G_Emulation_Mode != EMUL_MODE)
   {
                                             /* Download has to be done first 
                                                because in this routine a HW reset
                                                included                          */
       if (DdsGetBinInfo (&bin_file) != FALSE)
       {
          Soc_Load (0x8000, bin_file.pBinStart, bin_file.binLength);
       }
       else
       {
          printf("\nNo bin file on SMART2000");
       }
   }
    else
   {
       Disable_Interrupt (INT_SOCRATES);       
    
    
        /* Wait until registers are accessible */
    
        while ( In(SOCRATES_DSEL) != 0x07 )    Out (SOCRATES_DSEL, 0x07);
        Out (SOCRATES_DSEL, 0x00);

        
       Out (SOCRATES_CONF, 0x24);                        /*EMUL, WDOG disabled */


       WHILE_NOT_ABORT ((In(SOCRATES_STAT_E) != 0x00));   /* check if HDLC is not busy */
       if (G_Abort == TRUE)
       {
          printf("\nFIFO still active");
          Enable_Interrupt (INT_SOCRATES);       
       }
       
       Out (SOCRATES_CMD_E, 0x03);                         /* reset FIFO */
       Out (SOCRATES_CMD_E, 0x00);

        Enable_Interrupt (INT_SOCRATES);       
        
   }
                                         /* Initialize all API registers  
                                            to default values.                */
   Soc_Init_Api ();
                                         /* Set API register to values of
                                            operation mode                    */
   Soc_Set_Mode ();

                                         /* No more further initialization,
                                            customer has to start with 
                                            Reg. 0x6E = 0x01                  */
}


/*******************************************************************************
Description: 
   Set API default values.
Arguments:
   NONE.
Return:
   NONE.
Remarks:
   NONE.
 ******************************************************************************/
void Soc_Init_Api (void)
{
                                       /* PCM slave 2.048MHz,DOUT=PushPull.   */
   Out ( SOCRATES_CIF_CON_1,  0x10 ); 
                                       /* enable customer interface */
   Out ( SOCRATES_CIF_CON_3,  0x02 ); 
                                       
                                       /* Data rate 256kbit/s, no Z bits.     */
   Out ( SOCRATES_RATE_CON_1, 0x04 ); 
   Out ( SOCRATES_RATE_CON_2, 0x00 );
 
                                       /* No TDM offset.                      */
   Out ( SOCRATES_TDM_OFF,    0x00 );
   Out ( SOCRATES_BYTE_BOFF,  0x00 );   /* has always to be the same as TDM_OFF */
 
                                       /* 3 bps, loop timed                   */
   Out ( SOCRATES_TRAN_CON_1, 0x20 );
                                       /* Seek sync word, CLKOUT=20.48.       */
   Out ( SOCRATES_TRAN_CON_2, 0x0B );

                                       /* Output Power 14.5 dB            */
   Out ( SOCRATES_POW_BOFF,   0x00 ); 

                                        /* enable Transceiver and EOC, not HDLC interrupt */
    Out (SOCRATES_MASK,    0x01);
                                        /* enable transceiver-status-changed 
                                         interrupt mask, TST2C, OVHC, OHTand OHR interrupt */
    Out (SOCRATES_MASKTR,  0x64);

#ifdef INTEROP
                                        /* enable only GHDBR interrupt */
    Out (SOCRATES_MASK_E,  0xDF);
#else
                                        /* enable all HDLC EOC interrupts */
    Out (SOCRATES_MASK_E,  0xC0);
                                        /* set transparent EOC mode */
    Out (SOCRATES_MODE_E,  0x0F);
#endif    

}

/*******************************************************************************
Description: 
   Set SOCRATES's operation mode according to the 
   chosen configuration settings.
Arguments:
   NONE.
Return:
   NONE.
Remarks:
   NONE.
 ******************************************************************************/
void Soc_Set_Mode (void)
{
   WORD8 rcfdir = 0;

   if (G_Eeprom [CONFIG_INTF] == INTF_BIT_SERIAL_1)
      rcfdir = 1;

   switch (G_Eeprom [CONFIG_INTF])
   {
                                      /* Set bitserial modes.                 */
   case INTF_BIT_SERIAL_0:
   case INTF_BIT_SERIAL_1:
      switch (G_Eeprom [CONFIG_MODE])
      {
      case MODE_COT_EXT:
         COT_LED_ON;
         Soc_Bs_Cot_Ext (rcfdir, G_Eeprom[CONFIG_FRAME]);
         break;

      case MODE_COT_INT:
         COT_LED_ON;
         Soc_Bs_Cot_Int (rcfdir, G_Eeprom[CONFIG_FRAME]);
         break;

      case MODE_RT_LOOP:
         COT_LED_OFF;
         Soc_Bs_Rt_Loop (rcfdir, G_Eeprom[CONFIG_FRAME]);
         break;
      }
      break;

                                      /* Set PCM modes.                       */
   case INTF_E1_PCM_SYN:
   case INTF_E1_PCM_PLE:
   case INTF_T1_PCM_SYN:
   case INTF_T1_PCM_PLE:
   case INTF_T1:
   case INTF_E1_PCM_PLE_TEST:
      
      switch (G_Eeprom [CONFIG_MODE])
      {
      case MODE_COT_EXT:
         COT_LED_ON;
         Soc_Pcm_Cot_Ext (G_Eeprom[CONFIG_FRAME], G_Eeprom[CONFIG_P_CLK]);
         break;

      case MODE_COT_INT:
         COT_LED_ON;
         Soc_Pcm_Cot_Int (G_Eeprom[CONFIG_FRAME], G_Eeprom[CONFIG_P_CLK]);
         break;

      case MODE_RT_LOOP:
         COT_LED_OFF;
         Soc_Pcm_Rt_Loop (G_Eeprom[CONFIG_FRAME], G_Eeprom[CONFIG_P_CLK]);
         break;

      case MODE_RT_FALC:
      case MODE_EXT_PLL:
         COT_LED_OFF;
         Soc_Pcm_Rt_Extpll (G_Eeprom[CONFIG_FRAME], G_Eeprom[CONFIG_P_CLK]);
         break;
      }
      break;
   }
                                      /* Set SDSL params taken if no handshake
                                       took place */
    Out (SOCRATES_TX_SYNCW_1, G_Eeprom [CONFIG_SYNC1]);
    Out (SOCRATES_TX_SYNCW_2, G_Eeprom [CONFIG_SYNC2]);

                                      /* Set Socrates Ref Clock     */
   switch (G_Eeprom [CONFIG_REF_CLK])
   {
      case REF_CLK_8KHZ:
         /*    new datasheet 5 */
         BFLD ( SOCRATES_TRAN_CON_4, 0xc0, 0x00);
         break;
      case REF_CLK_2MHZ_1MHZEXT:
         BFLD ( SOCRATES_TRAN_CON_4, 0xc0, 0x40);
         break;
      case REF_CLK_4MHZ_2MHZEXT:
         BFLD ( SOCRATES_TRAN_CON_4, 0xc0, 0x80);
         break;
      case REF_CLK_CIF_4MHZEXT:
         BFLD ( SOCRATES_TRAN_CON_4, 0xc0, 0xc0);
         break;    
         /* old sheet 
         BFLD ( SOCRATES_TRAN_CON_1, 0x08, 0x08);
         break;
      default:
         BFLD ( SOCRATES_TRAN_CON_1, 0x08, 0x00);
         break;   */
   }
}



/* ============================= */
/* Local function definition     */
/* ============================= */

/*******************************************************************************
Description: 
   Set Socrates to mode: bitserial, COT internal timed.
Arguments:
   rcfdir - wished value for RCFDIR bit of register CIF_CON_2.
   frame - according TRAN_CON_1 FRMD1..0
Return:
   NONE.
Remarks:
   NONE.
 ******************************************************************************/

static void Soc_Bs_Cot_Int (WORD8 rcfdir, WORD8 frame)  
{
                                      /* Show selected modes to user.         */
   V24INT_PRINT(("\nSet Socrates mode: bitserial, COT internal timed, "));
   if (!rcfdir)
   {
      V24INT_PRINT(("RCFDIR=0 (Input), "));
   }
   else
   {
      V24INT_PRINT(("RCFDIR=1 (Output), "));
   }
   switch(frame){
   case 0:
        V24INT_PRINT(("SDSL framed, "));
        break;
   case 1:
        V24INT_PRINT(("SDSL plesiochronous framed, "));
        break;
   case 2:
        V24INT_PRINT(("MDSL framed, "));
        break;
   case 3:
        V24INT_PRINT(("transparent, "));
        break;
   default:
        V24INT_PRINT(("\n ERROR: Framing mode not available, "));
        return;
   }

   if (frame == 1)
   {
                                  /* Set to bitserial.                
      										PCM slave*/
   	BFLD (SOCRATES_CIF_CON_1,  0xE0, 0x60);
   }
   else
   {
                                    /* Set to bitserial, PCM master           */
      BFLD (SOCRATES_CIF_CON_1,  0xE0, 0xE0);
   }
 
                                      /* Set rcfdir bit.                      */
   BFLD ( SOCRATES_CIF_CON_2,  0x80, (rcfdir<<7));
 
                                      /* Set COT, int. timing.                */
   BFLD ( SOCRATES_TRAN_CON_1, 0xC7, (frame<<6) | 0x03 ); 
                                       /* Ref must be 8k */
                                       /* DS 5 */
   BFLD ( SOCRATES_TRAN_CON_4, 0xC0, 0x00 );   
                                       /* old DS 
   BFLD ( SOCRATES_TRAN_CON_1, 0x08, 0x08);      */
 
   /*SOCRATES_TRAN_CON_2 settings already done in API initialization */
}

/*******************************************************************************
Description: 
   Set Socrates to mode: bitserial, COT external timed.
Arguments:
   rcfdir - wished value for RCFDIR bit of register CIF_CON_2.
   frame - according TRAN_CON_1 FRMD1..0
Return:
   NONE.
Remarks:
   NONE.
 ******************************************************************************/

static void Soc_Bs_Cot_Ext(WORD8 rcfdir, WORD8 frame)  
{
                                      /* Show selected modes to user.         */
   V24INT_PRINT(("\nSet Socrates mode: bitserial, COT external timed, "));
   if (!rcfdir)
   {
      V24INT_PRINT(("RCFDIR=0 (Input), "));
   }
   else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频在线免费观看| 国产精品国产三级国产三级人妇| 精品福利在线导航| 亚洲欧洲色图综合| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美私人免费视频| 精品国产电影一区二区| 亚洲国产成人tv| 成人中文字幕电影| 日韩一区二区三区精品视频| 亚洲精品日日夜夜| 成人免费黄色在线| 久久久九九九九| 精品一区二区三区香蕉蜜桃 | 亚洲一二三区不卡| 成人高清免费观看| 亚洲精品一区二区三区影院| 日韩精品午夜视频| 欧美日韩精品久久久| 一区二区在线免费观看| 99国产精品99久久久久久| 日韩精品一区二区三区蜜臀| 日韩精品视频网| 91.xcao| 丝袜美腿成人在线| 欧美日韩三级一区| 亚洲va欧美va国产va天堂影院| 日本高清不卡一区| 亚洲美女免费视频| 91捆绑美女网站| 亚洲三级免费电影| 91视频在线观看免费| 国产精品国产自产拍在线| 成人午夜av在线| 国产精品嫩草99a| 91一区一区三区| 一区二区三区电影在线播| 色综合视频一区二区三区高清| 亚洲精品欧美激情| 91看片淫黄大片一级| 亚洲男同性恋视频| 色狠狠av一区二区三区| 亚洲精品免费电影| 欧美日韩一本到| 美女视频黄 久久| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品一区不卡| 中文字幕精品综合| 91麻豆福利精品推荐| 婷婷成人激情在线网| 日韩一区二区在线看片| 国产一区二区三区在线观看免费视频| 国产亚洲欧美一区在线观看| 一本高清dvd不卡在线观看| 亚洲亚洲精品在线观看| 欧美一级欧美一级在线播放| 激情综合亚洲精品| 国产精品久久久久久久久动漫 | 亚洲一区二区三区视频在线| 欧美狂野另类xxxxoooo| 韩国成人精品a∨在线观看| 亚洲欧美一区二区在线观看| 欧美视频日韩视频在线观看| 经典三级视频一区| 中文字幕中文字幕一区| 欧美另类变人与禽xxxxx| 狠狠色狠狠色合久久伊人| 国产精品欧美一区喷水| 欧美日韩亚洲高清一区二区| 国产美女在线精品| 亚洲在线视频一区| 欧美精品一区二区在线观看| 91麻豆免费视频| 国产一区二区电影| 亚洲成人午夜影院| 国产精品久久久一本精品 | 蜜臀99久久精品久久久久久软件| 中日韩av电影| 欧美一区二区精美| caoporn国产一区二区| 日韩成人精品在线| 国产精品九色蝌蚪自拍| 欧美岛国在线观看| 欧美视频自拍偷拍| 成人av网站免费观看| 免费人成网站在线观看欧美高清| 中文字幕在线播放不卡一区| 精品美女被调教视频大全网站| 91视视频在线观看入口直接观看www | 91福利视频在线| 免费精品视频最新在线| 亚洲久草在线视频| 国产日韩av一区| 欧美一区二区三区成人| 色系网站成人免费| 国产精品一区二区91| 麻豆91免费看| 日韩av午夜在线观看| 亚洲综合在线五月| 最新欧美精品一区二区三区| 五月天一区二区| 亚洲欧美日韩久久| 国产午夜精品久久| 精品国产一区二区精华| 制服丝袜在线91| 欧美亚洲国产bt| 色婷婷久久久综合中文字幕| av成人动漫在线观看| 高潮精品一区videoshd| 国产在线精品国自产拍免费| 蜜桃av一区二区三区| 日韩经典一区二区| 视频在线观看一区| 亚洲va在线va天堂| 午夜精品影院在线观看| 亚洲电影在线免费观看| 亚洲电影一区二区| 香蕉成人啪国产精品视频综合网| 亚洲成av人片www| 日韩影视精彩在线| 日本最新不卡在线| 老司机免费视频一区二区| 久久黄色级2电影| 狠狠色伊人亚洲综合成人| 国产伦理精品不卡| 大陆成人av片| 91猫先生在线| 717成人午夜免费福利电影| 欧美日本一道本在线视频| 欧美精品一二三四| 精品欧美一区二区在线观看| 久久精品视频一区| 国产精品久久久久一区| 亚洲美女一区二区三区| 视频在线在亚洲| 国产精品亚洲午夜一区二区三区| 成人精品gif动图一区| 91在线精品秘密一区二区| 欧美亚洲国产一区二区三区va| 777xxx欧美| 丝袜美腿亚洲色图| 国产尤物一区二区| 91在线精品一区二区| 6080日韩午夜伦伦午夜伦| 久久综合国产精品| 亚洲欧美一区二区三区久本道91| 亚洲高清免费视频| 久久国产麻豆精品| a级高清视频欧美日韩| 欧美亚洲尤物久久| 精品理论电影在线观看| 国产精品久久三| 男人操女人的视频在线观看欧美| 成人精品gif动图一区| 欧美日韩一区二区在线观看视频| 久久嫩草精品久久久久| 亚洲自拍偷拍图区| 国产成人自拍网| 欧美午夜视频网站| 国产片一区二区| 日韩在线一二三区| 成人国产精品免费观看| 欧美一级二级三级蜜桃| 亚洲伦理在线精品| 国产最新精品精品你懂的| 欧洲av在线精品| 欧美国产97人人爽人人喊| 亚洲va国产天堂va久久en| 成人aaaa免费全部观看| 精品国产免费一区二区三区四区| 亚洲欧美日韩一区二区三区在线观看| 久久国产精品99精品国产 | 亚洲精品一区二区在线观看| 1000精品久久久久久久久| 久久99精品久久久久久久久久久久| 99re这里只有精品首页| 久久综合久久99| 免费的成人av| 在线看一区二区| 亚洲欧洲日韩在线| 国产剧情一区在线| 日韩一区二区三区四区| 五月天视频一区| 欧美三级电影网| 亚洲欧美日韩系列| 99国产一区二区三精品乱码| 久久精品日韩一区二区三区| 美女www一区二区| 一本到一区二区三区| 国产精品美女久久久久久2018| 国产呦萝稀缺另类资源| 日韩精品一区二区三区在线播放 | 天天综合日日夜夜精品| 91美女福利视频| 亚洲黄色小视频| 91亚洲国产成人精品一区二三| 国产精品美女久久久久久2018| 成人h动漫精品一区二区| 国产精品理论在线观看| av一区二区久久|