0
\$\begingroup\$

I am using Arduino(does not matter) and 8 x 12 bit-ADCs to read some values. I created a prototype which consists of a Shift Register(SR) and all outputs of SR are connected to individual ADC's chip-select pin. During boot, I set all output of SR as HIGH.

I select the ADC by pulling the specific output of the SR as LOW and then talk to the ADC. As soon as my communication is finished, I again set all output of SR as HIGH. This is all working.

During some testing, I found that if all SPI (ADCs) are pulled HIGH (none should be talking) and if I read MISO, I was getting some random data. I realized that MISO was floating and added a 100K pull-down (weak pulldown!) which sorted this out. After this, if I listened the MISO while all ADCs were HIGH, all I get is 0s (Yey!).

My question is that does it make sense to pull down MOSI and CLOCK as well? Will it create any problem?

\$\endgroup\$
3
\$\begingroup\$

You shouldn't need to pull down the MOSI or Clk lines.

Master Out Slave In is an output from your controller, as is the Clk line. Unless you do something that turns those pins to inputs, they should be just fine without either pull-down or pull-up resistors.

On the other hand, Master In Slave Out is an input to the controller. When none of your ADC chips are selected, that line does float. It needs the resistor that you added.

\$\endgroup\$
  • \$\begingroup\$ Thanks! But would it hurt if I add 100K pull down to MOSI and CLK? \$\endgroup\$ – Anuj Purohit Apr 9 '15 at 4:11
  • 1
    \$\begingroup\$ Generally, you know the state of MOSI and CLK at any particular time. But if you feel that they could float at some point, you could add the pull downs. It won't hurt at all. I always add 10k pull ups to the chip select lines because my CPU outputs floats for a while before it gets its act together! I don't want the peripherals thinking someone is talking to them... \$\endgroup\$ – carveone Apr 13 '15 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.