2
\$\begingroup\$

ADC AD9266 Here is the datasheet of ADC AD9266. page no 25 of it is SPI

I'm working on a Project where I have to interface my ADC with MCU 8051. The Problem I encountered with is my ADC supports two wire SPI mode ( SCLK , SDIO pins ) while my MCU has three wire SPI configuration ( SCLK , MISO , MOSI ).

How would I connect my MISO & MOSI pins to single SDIO pin..pins connection

My Actual problem is I have to program ADC first to through SPI Port for which I need my MCU to act as Master & connect MOSI to SDIO & During first instruction ADC will be programmed but after that I need to collect the data from ADC so ADIO must be connected to MISO. What is the remedy ?

thank you all in advance.

\$\endgroup\$
  • \$\begingroup\$ What does the datasheet for the ADC say? This is the 2nd time you're being called on datasheet. Pattern emerging. \$\endgroup\$ – Nick Alexeev Dec 13 '14 at 5:12
  • \$\begingroup\$ what's the part number / datasheet location for your adc? \$\endgroup\$ – Some Hardware Guy Dec 13 '14 at 5:15
  • \$\begingroup\$ @NickAlexeev According ADC datasheet, we can send Instruction to ADC in every data transfer ( 16 bit instruction followed by data) which will decide SDIO to act as input or output. But the problem is with MCU pins how would I connect MISO & MOSI to single pin SDIO of ADC..? \$\endgroup\$ – nkg2743 Dec 13 '14 at 5:17
  • \$\begingroup\$ @SomeHardwareGuy ADC 9266 datasheet link is analog.com/static/imported-files/data_sheets/AD9266.pdf \$\endgroup\$ – nkg2743 Dec 13 '14 at 5:22
  • \$\begingroup\$ Can you configure your MCU's MOSI ouptut pin to disable? If not, then use an external signal transistor as open-drain driver from MCU MOSI to ADC SDIO. Then MCU can transmit all 1's during the SDIO master-input time, and ADC can pull down to 0 as needed. If using single NPN or open-drain 74ALS125 gate, MCU must send inverted data. \$\endgroup\$ – MarkU Dec 13 '14 at 6:13
4
\$\begingroup\$

The "SPI" in your microcontroller stands for "Serial Perpheral Interface", which is an industry standard I/O port originally defined by Motorola. But the "SPI" in the Analog Devices' AD converter stands for "Serial Port Interface", which is not the same as the SPI in your microcontroller. It's Analog's own definition for a digital interface.

Analog has written an application notes on how to communicate with this port. It can be found here:

AN-877 Interfacing to High Speed ADCs via SPI: http://www.analog.com/static/imported-files/application_notes/56755538964965031881813AN_877.pdf

You might be able to use your microcontroller's SPI port for this, at least partly - the Atmel protocol seems at least somewhat compatible with Serial Peripheral Interface. You could connect your microcontrollers MISO port to the Atmel's SDIO port and then bit-bang the instruction header from your microcontroller to the ADC and then use the hardware SPI to read the data. Or you perhaps could connect both MOSI and MISO together in your MCU and use the pin's direction and mode bits (input-or-output, gpio-or-peripheral) to essentially disable the MOSI pin when you're reading data and MISO pin when you're writing data.

\$\endgroup\$
  • \$\begingroup\$ thanks..!! that application note I have already gone through..only problem was with MISO & MOSI pin connection.. Connecting them together might solve my problem..thank you once again.. \$\endgroup\$ – nkg2743 Dec 13 '14 at 8:48

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.