Forums - CSR1012 does not boot

9 posts / 0 new
Last post
CSR1012 does not boot
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Mon, 2016-06-27 01:02

Hi,

i have trouble with booting up csr1012.

- using own custom board with csr1012.

- the used eeprom (24C512) is pre-filled with the program (sample program just switching on some LEDs)
  (But this is of no matter since no communication is on I2C Bus, see below)

- All power domains are stable and do have the expected voltages (stable, clear, good voltage, no spikes, no drop downs):
 
  WAKE is connected with GND
  VBAT = 3.3 Volt  
  VDD_REG_IN = 1.29 Volt
  VDD_CORE = 1.19 Volt
  PIO2 = HIGH
 
- The 16 MHZ crystal is showing a good waveform. It's running at 16 MHZ.

- The 32.768 KHZ crystal can't be measured. Either there is no correct signal/waveform or we are unable to measure.
  (We do own a very cheap usb based logic analyser/oscilloscope - poor equipment and poor results)
  (E.g.: We have measured the waveform at the csr development board of the 32 KHZ crystal - but our measurement equipment does
  violate the crystal (in any way) and if we try to measure even the csr1010 on the testboard stops to work)

  The only violation we detected (so far) regarding the specs is using a 32.678 KHZ crystal (9HT10-32.768KAZF-T) with a
  ESR of 70 KOhm (max) instead of (max) 65 Kohm as recommended/tested. We tried to use the crystal from the csr dev board - but since the landing patterns did not match we used 1 cm wires from the crystal to the C (10pf) which have been installed on our custum board - but the csr1012 did not boot.
 
- We assume - because the power domains are all good, the 16 MHZ crystal works => the 32 KHZ clock is not working.
  Otherwise we expect/assume that we can see some activity at the I2C bus .... which is not the case.
 
We do have the following questions:
 

 (1) - At what step in the boot up sequence is PIO2 held on HIGH (After ?all? clocks & power domains are running correctly)?
 (2) - Any ideas why the system does not boot up?
 (3) - Is there somethig else to be measured to detect some errors. 

 (4) - What should be taken into consideration regarding the board design (for the 32 KHZ clock).

          - lower ESR ? 

          - short traces ?

          - which blocking C should be used? We tried 27PF as mentioned in the reference document, we tried 10PF as mentioned in the trouble shooting guide regarding crystals, we tried some other values:  1.5Pf, 3.3PF, 12PF, 22PF  .... no luck ... 

          - we have read that the C shall be twice as large as the internal load c of the crystal ? True?

Regards,

 

Martin Bauer

 

 

 

  • Up0
  • Down0
Max Moderator
Join Date: 11 Apr 16
Posts: 3
Posted: Thu, 2016-06-30 00:50

Could you please check pin29(I2C_SDA) and pin28(I2C_SCL) of CSR1012 have connected to pin5 and pin6 of EEPROM respectively?

According to your statement, I think there is a 32KHz frequency clock for CSR1012 circuit because it must be presented to enable internal LDO(VDD_CORE) and digital circuit(PIO2).  

If the I2C connection is no problem, could you please use CSR uEnergy's tool through debug SPI to check the design? For example, re-program, erase a EEPROM. or use CsConfig tool. 

If the design cannot load the programn from a EEPROM or a SPI flash into the RAM, the PIO2 will hold on Hign and the current consumption is around 2mA.

I suggest you to send your design to local office or disturibtors to review and check it if you still cannot boot up CSR1012 properly. 

Usually the laod capacitor (blocking C) will be double the value of crystal's laod capacitance. The example design is 12.5pF load capacitance of 32KHz crystal. The 27pF load capacitor was got from CSR1012 low cost module design.

 

  • Up0
  • Down0
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Thu, 2016-06-30 12:45

We have now better measure equipment. The 32 KHZ crystal is showing a good waveform and seems to work,

>Could you please check pin29(I2C_SDA) and pin28(I2C_SCL) of CSR1012 have connected to pin5 and pin6 of EEPROM respectively?

Well , Yes & No - it is connected and not :)  See below.

>If the I2C connection is no problem, could you please use CSR uEnergy's tool through debug SPI to check the design?

Unfortunately not. See below.

>If the design cannot load the programn from a EEPROM or a SPI flash into the RAM, the PIO2 will hold on Hign and the current >consumption is around 2mA.

This is what we observe.

-----------------------------

Let me first explain our board design:

We have no SPI port connected pins on our custom board. The pins are - except for SPI_PIO - not connected at all.

SPI_PIO is connected to GND.

The CSR101x keeps the I2C lines always LOW (even Csr10xx is not powered on - csr10xx is using power from the i2c pull ups) - and this is a bad thing if - like we do - want to prgram the eeproms externally.

We decided to integrate a multiplexer  to keep the I2C lines seperated from the CSR-I2C and the external I2C-Pins on our board which are used for firmware programming.

The CSR1012-SDA/SCL/PIO2 lines goes directly into the muliplexer and from the multiplexer to the eeprom.

The external SDA/SCL/VCC lines goes directly into the multiplexer and from the multiplexer to the eeprom.

In the I2C lines from the multiplexer to the eeproms does have 4.7 kOhm Pullups to VCC.

The multiplexer will switch to the external programming I"C-lines if the external VCC-Power is 'high' otherwise CSR will own the I2C-lines.

 

What we observe is:

Programming the eeproms externally works fine as expected. We do re-read the eeprom after writing and the content is correct.

Measuring the I2C lines after the multiplexer shows nice signals as expected if programmed externally.

Measuring the CSR1012- I2C lines from the multiplexer shows NO ACTIVITY AT ALL. Just PIO2 is high. SDA/SCL is always LOW.

We did some tests - we de-soldered the multiplexer and connected the CSR-I2C-Pins directly to the eeprom. But again - no activity can be seen at the I2C lines. PIO2 stays HIGH, SDA/SCL are low. not pulse ever to be seen. Remark: There are 4.7 kOhms pull ups to SDA/SCL.

In another test we just de-desoldered the multiplexer and measured just the CSR1012 SDA/SCL lines - in this confiuration the ines are now not connected to anything ... but again ... no activity on the bus after 'reseting' the csr1012. No spike, just low.

(Hint: We reset the csr1012 by connecting VCC with a small resistor to GND for some time - undervoltage detection reset  should be then performend)

-----------------------

Now we are 'happy' - because the 32 KHZ seems to work - but we are unhappy because we do not see any activity on the I2C-bus.

 

 

 

 

 

 

 

 

 

 

 

 

  • Up0
  • Down0
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Thu, 2016-06-30 12:47
  • Up0
  • Down0
Max Moderator
Join Date: 11 Apr 16
Posts: 3
Posted: Fri, 2016-07-01 04:06

The max supply current of PIO2 is 10mA and it can't provide enough power source to your circuit. Could you please desolder the multiplexer and just conenct CSR1012 I2C interafce to ONE eeprom then test again?

  • Up0
  • Down0
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Fri, 2016-07-01 05:49

>The max supply current of PIO2 is 10mA and it can't provide enough power source to your circuit.

Really?

I doubt this.  The multiplexer is consuming -+50 uA according to the datasheet. The eeprom

is consuming (while writing/reading) ~2 mA. The inactive (not used) eeprom is using some uA...

We desoldered the D3 (offering PIO2 to the multiplexer) and connected the D3 with the Vcc of the board (providing enough ampere if needed)  - the effect stays the same. Too much ampere seems not to be the issuee,
 

>Could you please desolder the multiplexer and just conenct CSR1012 I2C nterafce to ONE eeprom then test again?

As allready written we have done this test too - but we will repeat this once again .... will need some time.

 

Regards, Martin Bauer

  • Up0
  • Down0
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Fri, 2016-07-01 07:00

Hi,

we desoldered the multiplexer.  We connected the CSR SDA & SCL lines with eeprom lines. We let the pullups in place. The power

of the eeproms is now delivered by the board, not by PIO2. We desoldered the 2nd eeprom. We measure:

VDD_CORE = 1.2 Volt

V_REG_IN = 1.3 Volt

PIO2 is HIGH

SCL is LOW

SDA is HIGH

There is no LOW/HIGH change after power on on the I2C lines....

 

The only difference is that SDA is now high ....

 

  • Up0
  • Down0
m.bauer
Join Date: 27 Jun 16
Posts: 7
Posted: Sun, 2016-07-03 06:19

 

Everything works fine now.

The problem on all our test boards was a connection between SDA and SCL in the used board. On some boards the connection was to GND. This explanins all observations. The multilayer-board was the fault.

Thanks for helping...

 

 

 

 

 

  • Up0
  • Down0
Dr. Nissim Zur
Profile picture
Join Date: 6 Jun 16
Location: Skype: nissim.test CSR1010 External design house
Posts: 235
Posted: Sat, 2016-07-23 00:30

You do not need the multiplexer. The second EEPROM can have a deferents address by A1 A2 A3. 

You can call my Skype nissim.test so I can explain better. 

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.