IC leaves SPI SDO pin in a high impeadance state. - Page 1
Forum section: electronics / beginners

author: rainbain
author_rank: Contributor
timestamp: January 28, 2021, 11:00:02 pm
content: Hi, I have a SI4467 hooked up to a attiny threw SPI at 3.3v. I am sending a CTS signal to the ic to check if it is ready for its next command but the SI4467 is not driving the serial data output line. I have checked the chip has power on the PCB design but there could be a soldering issue. I have tried reversing SDO and SDI but no luck. I have changed they byte order. I have tried not inverting the chip select line. I have tied making it so that the clock line is low and not high when there is not data being transferred. Lastly I have checked each SPI line on the oscilloscope checking the actual byte being sent and it all correct. I mainly wonder if the chip is choosing not to drive it or that there is a wiring issue. If it is a wiring issue I would like to know where to start. Its a little tiny QFN-20 so I have no idea how to fix a soldering mistake on it using my solder re flow oven. Any kind of help is greatly appreciated because this is the kinda issue that kills all the fun of a project, especially when you do not know where to start. I am happy to test ideas or send more information about the PCB. (I hope this post is in the right place.)

author: rs20
author_rank: Super Contributor
timestamp: January 28, 2021, 11:13:06 pm
content: Si4467 datasheetfor those playing along at home.With the circuit powered off, use a multimeter to test for continuity to ground (red probe --> SDO, black probe --> PCB ground.)Could you explain exactly how you've reached the conclusion that the SDO pin is in a high impedance state/is "not being driven"? Try to state your observations/measurements with as little interpretation on your part as possible (e.g. "I connected an oscilloscope to SDO, ground clip to PCB ground, and found that I could set whatever voltage I wanted by pulling the SDO line high or low with a 10k resistor" rather than "it's high impedance")Do you have access to a digital microscope or camera with macro lens to provide photos of the solder joints?

author: rainbain
author_rank: Contributor
timestamp: January 28, 2021, 11:26:29 pm
content: I just tested each ones continuity to ground and found that non of them show they are connected including when they are connected to the microcontroller. I found that SDO was high impedance in electricity because when I connected an oscilloscope probe to it or just touched it, it would change from on to off. Sometimes just randomly it would change states. It is as if the pins are not connected to the IC. I do not have a good camera of digital microscope but I did take a look at it and a reference image for what a well re flowed QFN should look like. Should I throw it in the reflow oven again if that safe for it.

author: Manul
author_rank: Super Contributor
timestamp: January 28, 2021, 11:26:59 pm
content: Quote from: rs20 on January 28, 2021, 11:13:06 pmThis would also be my first troubleshooting choice. Just disconnect the attiny SPI while doing that. Also continuity mode (traditionaly) measures resistance, so usediodecheck mode.This IC have power states, which are described in datasheet. It is quite possible, that you made some protocol mistake and it is all software problem.

author: Manul
author_rank: Super Contributor
timestamp: January 28, 2021, 11:33:26 pm
content: Quote from: rainbain on January 28, 2021, 11:26:29 pmDo not reflow until you are absolutely sure the solder is bad. Note: QFN has pads extending to the sides of the package, so they ARE accessible. If you do not have small enough multimeter probes, use a needle or a hairpin to touch it and measure resistance to pcb trace. You will be sure then.

author: rainbain
author_rank: Contributor
timestamp: January 28, 2021, 11:37:01 pm
content: I just checked with the diode checker mode with the black wire on ground. Sadly I can not remove the attiny now because the last time I did that I had to de solder the pins on it and I am afraid that could break it but I did notice a strange thing. The multi meter sits at 1 and when I connect it for a split second it has a reading, then it jumps back to 1. Also this is not a very good multi meter because the fluke one is off at work. I am going to try to measure the pin on the QFN to the pad but it will take a while. I am going to check all of them as I thought it looked kinda bad.

author: Manul
author_rank: Super Contributor
timestamp: January 28, 2021, 11:54:45 pm
content: Quote from: rainbain on January 28, 2021, 11:37:01 pmDon't be affraid to also do reverse - red wire to ground. In fact I usually test reverse. The reason is that multimeter quickly charges up the power rail through the ESD diode and the multimeter goes overrange. This is what you saw. It showed something for a moment and then "1". Reverse is forcing the rail to go negative which it usually "resist" a lot more, so you measure the ESD diode drop more accurate and usually without overrange on most multimeters. So reverse is quick and less confusing.For absolute best result you need toshortthe power rail before such measurements. For example I use this method to trace boards and log IV signatures.

author: rainbain
author_rank: Contributor
timestamp: January 28, 2021, 11:58:20 pm
content: Hmmm very strange. I checked the pins and could not really check them well but I decided to power it up to see if I can measure if the chip has power and it seems something has decided to start driving the pin over night. I am going to see if I can get info from the chip threw SPI and do more multi-meter investigation. Really sounds like a soldering issue, I think the solder paste was a bit too old.

author: Manul
author_rank: Super Contributor
timestamp: January 29, 2021, 12:06:20 am
content: If you find bad soldering, put some tacky flux and just drag solder with a soldering iron. Solder paste is tricky. Soldering iron is guaranteed. Hint: watch Louis Rossmann on YT if not sure

author: rstofer
author_rank: Super Contributor
timestamp: January 29, 2021, 01:01:14 am
content: When an SPI slave device isn't selected, it would have to keep the SDO (MISO, actually) in high impedance such that other devices on the bus can use the line.Or am I missing the point? Old people do that...