Part Number Hot Search : 
V674ME12 HFP5N50S XMXXX 15340 SP101 MMSZ52 ERJ3G 1072147
Product Description
Full Text Search
 

To Download SI4320-J1-FTR Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com s 4 x 3 xb0 er 0 41712 april 17, 2012 si4 x 3 x errata (rev. b ) errata status summary errata # title impact status 1 register modification required for frequency operation from 240 C C impact d efinition: each erratum is marked with an impact, as defined below: ? minor : workaround exists. ? major : errata that do not conform to the data sheet or standard. ? information : the device behavior is acceptable the data sheet will be changed to match the device behavior.
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com errata details 1. description : r egister modifica tions are required for operation in the frequency bands between 240 C 320 mhz and 480 C 640 mhz with a temperature above 60 c. impact : in extremely r are cases , the synthesizer will not lock in these bands when the device is operated at a temperature above 60 c. the software workaround is only required for these frequency and temperature ranges. workaround : write 0 3 h to register 59h and 02h to regist er 5ah. resolution : software workaround with register modification. 2. description : incorrect nirq signal operation after shutdown (sdn) or initial power up. impacts : in a small percentage of cases a fter shutdown ( sdn ) or initi al power up the nirq signa l can be low during the power - on - reset (por) period. typically the nirq signal will be high during this period and will exhibit a high to low transition at the expiration of the por period. the interrupt status registers in 03h and 04h will report the co rrect status of the por and the nirq function is normal after the initial por period . workaround : the nirq line should not be monitored for por after sdn or initial power up. the por signal is availabl e by default on gpio0 and gpio1 and should be monitor ed as an alternative to nirq for por. a second potential workaround is also available by running a timer on the microcontroller after sdn for 26 ms and then reading the interrupt status registers in 03h and 04h to check for por and chip ready (xtal start - up/ready). after the initial interrupt is cleared the operation of the nirq pin will be normal. resolution : will be fixed in the next revision. 3. description: this issue only affects sleep mode when the low battery detection (lbd) function is enabled (en lbd = 1 in register 07h). note that the lbd function is disabled by default. if lbd is enabled, approximately 5% of devices will enter into a state that draws more current than expected in sleep mode. such devices will draw an average current of approx imately 350 a in sleep mode versus the expected 1 a. these devices will also report an inaccurate battery voltage level in sleep mode. the cause of the issue has been verified to be the improper reset of the lbd circuitry when in sleep mode. we stro ngly recommend all customers affected by this issue to implement one of the software workarounds described below. impact: affected devices will draw more current than expected in sleep mode which will reduce the battery life of battery - backed products. workaround: if the low battery detection (lbd) function is not required during sleep mode, this issue can be resolved by ensuring that lbd is disabled (enlbd = 0 in register 07h).
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com alternatively, we have verified two software workarounds that allow the battery level to be checked during sleep mode with low current consumption. complete details and reference code are provided in the attached appendix. a summary of each workaround is included below. workaround a: this workaround utilizes the low duty cy cle mode function of the device to periodically check the battery level. the wake - up timer (wut) period must be set in conjunction with the ldc mode on time to 0.5 s for this workaround to function properly. it does not require any intervention by an exte rnal mcu. the average current when using this workaround is 2.5 a. workaround b: this workaround requires an external mcu to wake up the device and check battery levels periodically. the average current when using this workaround is dependent on the du ty cycle of the wake up interval. if the interval is set to 500 s , the average current in this mode will be 1 a . resolution: implementation of the workarounds described in this document will enable the battery level to be checked with low current consu mption. the low battery detection (lbd) function is no longer recommended for use in sleep mode and will be removed from the next revision of the si4x3x data sheet.
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com appendix workaround a: this low battery detection using low duty cycle mode (automa tic lbd workaround). initialize chip, clear interrupts setup wake - up timer, low duty cycle mode to 0.5 sec enable low battery detect interrupt enable low duty cycle mode low battery detect interrupt? clear inte rrupts indicate low battery n y
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com workaround b : low battery detection using wake - up timer. initialize chip clear interrupts setup wake - up timer to 1 sec. (or desired time) enable wake - up timer interrupts wake up timer interrupt ? go to sleep mode battery voltage < low battery detect threshold? wait for some time read battery voltage clear interrupts indicate low batt ery n y n y
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com sample code workaround a : low battery detection using low duty cycle mo de //function prototypes //mcu initialization void mcu_init(void); //spi functions void spiwriteregister (u8, u8); u8 spireadregister (u8); // global variable xdata u16 wwaitcnt; void main(void) { u8 itstatus1,itstatus2,battery_volta ge_level,lbdt; u16 delay; u8 temp8; //initialize the mcu: // - set io ports for the software development board // - set mcu clock source // - initialize the spi port // - turn off leds mcu_init(); //initialize the si4x3x ism chip //read interrupt status registers to clear the interrupt flags and release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register for (temp8=0;temp8<15;temp8++) {
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com for(delay=0;delay <10000;delay++); } //sw reset spiwriteregister(0x07, 0x80); //write 0x80 to the operating & function control1 register //wait for por interrupt from the radio (while the nirq pin is high) while ( nirq == 1); //read interrupt status registers to cle ar the interrupt flags and release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register //wait for chip ready interrupt from the radio (while the nirq pin is high) while ( nirq == 1); //read interrupt status registers to clear the interrupt flags and release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 reg ister // setup wake up timer to wake up every 1/2 second spiwriteregister(0x14, 0x00); spiwriteregister(0x15, 0x10); spiwriteregister(0x16, 0x00); // setup low duty cycle on period spiwriteregister(0x19, 0x01); // set lbdt (low battery detect) threshold s piwriteregister(0x1a, 0x14); // store lbdt for comparison with battery voltage register lbdt = spireadregister(0x1a); //write interrupt enable registers, spiwriteregister(0x05, 0x00); //write 0x00 to the interrupt enable 1 register spiwriteregister(0x06, 0x04); //write 0x04 to the interrupt enable 2 register // delay
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com for(delay=0;delay<10000;delay++); // read battery voltage battery_voltage_level = spireadregister(0x1b); // set test bus #ifdef debug // gpio0=lbdcomp, gpio1=wake - up, gpio2 = active_state sp iwriteregister(0x0b, 0x0d); spiwriteregister(0x0c, 0x0b); spiwriteregister(0x0d, 0x15); spiwriteregister(0x50, 0x1c); spiwriteregister(0x51, 0x01); #else // gpios set to gnd spiwriteregister(0x0b, 0x1f); spiwriteregister(0x0c, 0x1f); spiwriteregister(0x0d, 0x1f); #endif #ifdef antenna_diversity spiwriteregister(0x0c, 0x17); //write 0x17 to the gpio1 configuration(set the antenna 1 switch used for antenna diversity ) spiwriteregister(0x0d, 0x18); //write 0x18 to the gpio2 configuration(set the ante nna 2 switch used for antenna diversity ) #endif #ifdef one_sma_with_rf_switch spiwriteregister(0x0c, 0x12); //write 0x12 to the gpio1 configuration(set the tx state) spiwriteregister(0x0d, 0x15); //write 0x15 to the gpio2 configuration(set the rx state) #endif // enable low duty cycle mode
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com spiwriteregister(0x08, 0x04); // enable wake up timer and low batter detect spiwriteregister(0x07, 0x60); //main loop// while(1) { while ( nirq == 1); //read interrupt status registers to clear the interrupt flags an d release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register if ((itstatus2 & 0x04) == 0x04 ) // low battery detect interrupt occured { led2 = 1; ba ttery_voltage_level = spireadregister(0x1b); battery_voltage_level = 0x00; // disable low battery detect measurement spiwriteregister(0x07, 0x20); // delay for (temp8=0;temp8<255;temp8++) { for(delay=0;delay<10000;delay++); } // enable low battery detect m easurement spiwriteregister(0x07, 0x60); led2 = 0; } } }
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com workaround b : low battery detection using wake - up timer //**function prototypes** //mcu initialization void mcu_init(void); //spi functions void spiwriteregister (u8, u8); u8 spireadregister (u8); //global variable xdata u16 wwaitcnt; void main(void) { u8 itstatus1,itstatus2,battery_voltage_level,lbdt; u16 delay; u8 temp8; //initialize the mcu: // - set io ports for the software development board // - set mcu clock source // - initial ize the spi port // - turn off leds mcu_init(); // initialize the si4x3x ism chip //read interrupt status registers to clear the interrupt flags and release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register for (temp8=0;temp8<15;temp8++) { for(delay=0;delay<10000;delay++);
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com } //sw reset spiwriteregister(0x07, 0x80); //write 0x80 to the operating & function control1 register //wait for por in terrupt from the radio (while the nirq pin is high) while ( nirq == 1); //read interrupt status registers to clear the interrupt flags and release nirq pin itstatus1 = spireadregister(0x03); //read the interrupt status1 register itstatus2 = spireadregist er(0x04); //read the interrupt status2 register //wait for chip ready interrupt from the radio (while the nirq pin is high) while ( nirq == 1); //read interrupt status registers to clear the interrupt flags and release nirq pin itstatus1 = spireadregiste r(0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register // setup wake up timer : this should be set based on application requirements and battery // characteristics.ideally, wake up should be done as minimal as possible. spiwriteregister(0x14, 0x00); spiwriteregister(0x15, 0x20); spiwriteregister(0x16, 0x00); // set lbdt (low battery detect) threshold spiwriteregister(0x1a, 0x14); // store lbdt for comparison with battery voltage reg ister lbdt = spireadregister(0x1a); // set test bus #ifdef debug //gpio0 = 32khz clock, gpio1=wake - up event, gpio2=active state spiwriteregister(0x0b, 0x0b); spiwriteregister(0x0c, 0x0b); spiwriteregister(0x0d, 0x15);
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com spiwriteregister(0x51, 0x01); #else sp iwriteregister(0x0b, 0x1f); spiwriteregister(0x0c, 0x1f); spiwriteregister(0x0d, 0x1f); spiwriteregister(0x51, 0x01); #endif #ifdef antenna_diversity spiwriteregister(0x0c, 0x17); //write 0x17 to the gpio1 configuration(set the antenna 1 switch used // for antenna diversity ) spiwriteregister(0x0d, 0x18); //write 0x18 to the gpio2 configuration(set the antenna 2 switch used for antenna diversity ) #endif #ifdef one_sma_with_rf_switch spiwriteregister(0x0c, 0x12); //write 0x12 to the gpio1 configu ration(set the tx state) spiwriteregister(0x0d, 0x15); //write 0x15 to the gpio2 configuration(set the rx state) #endif spiwriteregister(0x05, 0x00); //write 0x00 to the interrupt enable 1 register spiwriteregister(0x06, 0x08); //write 0x08 to the inte rrupt enable 2 register //radio in sleep mode, with wake up timer spiwriteregister(0x07, 0x20); //main loop// while(1) { while( nirq == 1 ); // enable active state spiwriteregister(0x07, 0x67); //read interrupt status registers
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com itstatus1 = spireadregister (0x03); //read the interrupt status1 register itstatus2 = spireadregister(0x04); //read the interrupt status2 register // wake up timer interrupt occured if ((itstatus2 & 0x08) == 0x08 ) { // delay for(delay=0;delay<5000;delay++); battery_voltage_level = spireadregister(0x1b); // error in battery voltage reading if (battery_voltage_level== 0x00) { led1 = 1; for (temp8=0;temp8<255;temp8++) { for(delay=0;delay<10000;delay++); } } // low battery detected else if (lbdt > battery_voltage_level) { led2 = 1; led 1 = 0; for (temp8=0;temp8<255;temp8++) { for(delay=0;delay<10000;delay++); } } // no low battery
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com else { led2 = 0; led1 = 0; } battery_voltage_level = 0x00; //radio in sleep mode, with wake up timer spiwriteregister(0x07, 0x20); } } }
400 west cesar chavez, austin, tx 78701 (512) 416 - 8500 fax (512) 416 - 9669 www.silabs.com current consumption: w orkaround a : low battery detection using low duty cycle mode no. state time current average current 1 sleep mode 0.5 s 1 a 2.5 a 2 active state 0.1221 m s 18.5 ma table 1 : timing & curren t consumption for low battery detection using low duty cycle mode w orkaround b : low battery detection using wake up timer table 2 : timing & current consumption for low battery detection using wake - up timer no. state time current average current 1 sleep mode user programmable 1 a 1 a (500 s interval) 2 active state ~4.9 m s 18.5 ma


▲Up To Search▲   

 
Price & Availability of SI4320-J1-FTR

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X