void AW5306_User_Cfg1(void) { unsigned char i; for(i=0;i<AWTPCfg.TX_LOCAL;i++) { AW_I2C_WriteByte(SA_TX_INDEX0+i,AWTPCfg.TX_ORDER[i]); //TX REVERT } AW_I2C_WriteByte(SA_TX_NUM,AWTPCfg.TX_LOCAL); AW_I2C_WriteByte(SA_RX_NUM,AWTPCfg.RX_LOCAL); if(1 == AWTPCfg.MULTI_SCANFREQ) { AW_I2C_WriteByte(SA_SCANFREQ1,AWTPCfg.BASE_FREQ); AW_I2C_WriteByte(SA_SCANFREQ2,AWTPCfg.BASE_FREQ); AW_I2C_WriteByte(SA_SCANFREQ3,AWTPCfg.BASE_FREQ); } else { AW_I2C_WriteByte(SA_SCANFREQ1,AWTPCfg.BASE_FREQ); //3-5 } //AW_I2C_WriteByte(SA_TCLKDLY,1); AW_I2C_WriteByte(SA_RX_START,AWTPCfg.RX_START); AW_I2C_WriteByte(SA_SCANTIM,4); // set to 32 TX cycles mode AW_I2C_WriteByte(SA_PAGE,1); AW_I2C_WriteByte(SA_CHAMPCFG,0x2b); // AW_I2C_WriteByte(SA_OSCCFG1,AWTPCfg.FREQ_OFFSET); // AW_I2C_WriteByte(SA_PAGE,0); AW5306_CLB_WriteCfg(); }
void AW5x0x_User_Cfg1(void) { unsigned char i; AW_I2C_WriteByte(SA_PAGE,0); AW_I2C_WriteByte(SA_IDRST,0x55); AW_Sleep(5); if(AWTPCfg.TX_LOCAL > 21) { for(i=0; i<21; i++) { AW_I2C_WriteByte(SA_TX_INDEX0+i,AWTPCfg.TX_ORDER[i]); //TX REVERT } AW_I2C_WriteByte(SA_PAGE,2); for(i=21; i<AWTPCfg.TX_LOCAL; i++) { AW_I2C_WriteByte(SA_TXINDEX21+(i-21),AWTPCfg.TX_ORDER[i]); //TX REVERT } AW_I2C_WriteByte(SA_PAGE,0); } else { for(i=0; i<AWTPCfg.TX_LOCAL; i++) { AW_I2C_WriteByte(SA_TX_INDEX0+i,AWTPCfg.TX_ORDER[i]); //TX REVERT } } AW_I2C_WriteByte(SA_TX_NUM,AWTPCfg.TX_LOCAL); AW_I2C_WriteByte(SA_RX_NUM,AWTPCfg.RX_LOCAL); if(AWTPCfg.MULTI_SCANFREQ & 1) { AW_I2C_WriteByte(SA_SCANFREQ1,AWTPCfg.BASE_FREQ); AW_I2C_WriteByte(SA_SCANFREQ2,AWTPCfg.BASE_FREQ); AW_I2C_WriteByte(SA_SCANFREQ3,AWTPCfg.BASE_FREQ); } else if(! (AWTPCfg.MULTI_SCANFREQ & 1)) { AW_I2C_WriteByte(SA_SCANFREQ1,AWTPCfg.BASE_FREQ); //3//-5 } if(AWTPCfg.INT_MODE == 0) { AWTPCfg.WAIT_TIME = 0; } AW_I2C_WriteByte(SA_WAITTIME,AWTPCfg.WAIT_TIME); AW_I2C_WriteByte(SA_RX_START,AWTPCfg.RX_START); if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0) AW_I2C_WriteByte(SA_SCANTIM,4); // set to 32 TX cycles mode else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x10) AW_I2C_WriteByte(SA_SCANTIM,8); // set to 64 TX cycles mode else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x20) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 96 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,96); // set to 96 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x30) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 128 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,128); // set to 128 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x40) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 160 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,160); // set to 160 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x50) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 192 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,192); // set to 192 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x60) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 224 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,224); // set to 224 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x70) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to 255 TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,255); // set to 255 TX cycles mode } else if((AWTPCfg.MULTI_SCANFREQ & 0xF0) == 0x80) { AW_I2C_WriteByte(SA_SCANTIM,0x0C); // set to any TX cycles mode AW_I2C_WriteByte(SA_CARRNUM,AWTPCfg.CARRNUM); // set to any TX cycles mode } if(AWTPCfg.CHIPVER == 259) { if(AWTPCfg.MULTI_SCANFREQ & 4) AW_I2C_WriteByte(SA_SCANTIM,(AW_I2C_ReadByte(SA_SCANTIM)|0x40)); // enable CAC CFB cycle reset else AW_I2C_WriteByte(SA_SCANTIM,(AW_I2C_ReadByte(SA_SCANTIM)&0xBF)); // disable CAC CFB cycle reset } AW_I2C_WriteByte(SA_DRV_VLT, AWTPCfg.DRVVLT); AW_I2C_WriteByte(SA_PAGE,1); AW_I2C_WriteByte(SA_CHAMPCFG,AWTPCfg.CHAMP_CFG); // AW_I2C_WriteByte(SA_OSCCFG1,AWTPCfg.FREQ_OFFSET); // AW_I2C_WriteByte(SA_OSCCFG2,0x10); //TRIM register AW_I2C_WriteByte(SA_POSLEVELTH,AWTPCfg.POSLEVEL_TH); AW_I2C_WriteByte(SA_CPFREQ,AWTPCfg.CPFREQ); AW_I2C_WriteByte(SA_ADCCFG,AWTPCfg.ADCCFG); AW_I2C_WriteByte(SA_IBCFG1,AWTPCfg.IBCFG1); AW_I2C_WriteByte(SA_IBCFG2,AWTPCfg.IBCFG2); AW_I2C_WriteByte(SA_LDOCFG,AWTPCfg.LDOCFG); if((AWTPCfg.CHIPVER == 256) || (AWTPCfg.CHIPVER == 259)) { AW_I2C_WriteByte(SA_ATEST1,AWTPCfg.ATEST1); AW_I2C_WriteByte(SA_ATEST2,AWTPCfg.ATEST2); AW_I2C_WriteByte(SA_ADCDCR,AWTPCfg.ADCDCR); if(AWTPCfg.MULTI_SCANFREQ & 2) AW_I2C_WriteByte(SA_CCR1,AWTPCfg.CCR1 | 0x10); else AW_I2C_WriteByte(SA_CCR1,AWTPCfg.CCR1); AW_I2C_WriteByte(SA_CCR2,AWTPCfg.CCR2); AW_I2C_WriteByte(SA_CAMPRSTCR,AWTPCfg.CAMPRSTCR); AW_I2C_WriteByte(SA_PAGE,2); for(i=0; i<7; i++) { AW_I2C_WriteByte(SA_RXOFFSET_CC0+i,AWTPCfg.RXOFFSET_CC[i]); } for(i=0; i<13; i++) { AW_I2C_WriteByte(SA_TXOFFSET_CC0+i,AWTPCfg.TXOFFSET_CC[i]); } } for(i=0; i<16; i++) { if(AWTPCfg.REGISTER_LIST[i][1]!= 0) //register != 0 { AW_I2C_WriteByte(SA_PAGE,AWTPCfg.REGISTER_LIST[i][0]); AW_I2C_WriteByte(AWTPCfg.REGISTER_LIST[i][1],AWTPCfg.REGISTER_LIST[i][2]); } else { break; } } AW_I2C_WriteByte(SA_PAGE,0); AW5x0x_CLB_WriteCfg(); }