1

I'm trying to TWI communication between accelerometer FXOS8700 & micro-controller (nrf51) but I forgot to connect SA0 & SA1 line to micro-controller pin (or connection to GND) & all PCB printing completed. Both pin hanging, As per as datasheet:

The slave addresses that may be assigned to the FXOS8700CQ part are 0x1C, 0x1D,0x1E, or 0x1F. The selection is made through the logic level of the SA1 and SA0 inputs. see Table 11 I2C slave address

Is there any way to resolve this problem using firmware?
enter image description here

Jon
  • 45
  • 5
  • Grab a piece of wire and tie the pins to GND. So the address will be 0011100. – Bence Kaulics May 13 '17 at 08:02
  • Yes I can but All are smd component, second thing I don't want to wire them as you said. – Jon May 13 '17 at 08:19
  • Read the data sheet to see if firmware gives any options. Don't expect folk to tuck you into bed at night and read you a story. – Andy aka May 13 '17 at 10:10
  • The datasheet to which you link only has a different pin map. It shows a whole lot of NCs where you have labelled RES, CRST, RST. More critically it has a GND pin where you label labelled SA1... – Tom Carpenter May 13 '17 at 10:46
  • There is very little you can do but respin the board, this time making sure to double check your schematic first. – Tom Carpenter May 13 '17 at 10:47
  • Thanks @TomCarpenter is there any option in sensor so that we can set SA0 & SA1 to GND internally? – Jon May 13 '17 at 11:41
  • Not according to the datasheet. And besides SA1 doesn't exist! it is a ground pin. Your schematic symbol is wrong. – Tom Carpenter May 13 '17 at 11:49
  • According to 6. Pinning information in datasheet it's say pin 7 is SA0/MISO & pin 10 is SA1/CS_B. Please see updated datasheet – Jon May 13 '17 at 12:28
  • So now you have suddenly completely changed which device you are using? – Tom Carpenter May 13 '17 at 15:07
  • If your (presumably QFN) package has side metalization, soldering ultra fine wire to it is not impossible, just frustrating. That may get you a prototype (though previous comments suggest there may be other serious mistakes). Meanwhile, or no later than as soon as that proves your concept, get a fab started on a corrected PCB. – Chris Stratton May 13 '17 at 15:25

1 Answers1

0

According to page 18 of the datasheet:

Datasheet SPI/I2C Detection

If the SA0 pin is left floating as you have done, the chip will run in SPI mode. However the CS pin is multiplexed with SA1 which you have also left floating.

As a result there is no way to talk to the chip. You can't use I2C because you have set it to SPI mode, and you can't use SPI because you've left one of the SPI pins unconnected. Because it is a QFN chip you will find it very difficult if not impossible to correct. You might just be able to solder magnet wire (thin wires), but that will be tricky.

Your best bet is to redesign/remake your board. Remember to always double and triple check your schematic and compare it with datasheets.

Tom Carpenter
  • 63,168
  • 3
  • 139
  • 196