Comunicar ADC con PIC mediante SPI

Seguir
Hola a todos. Quiero utilizar un ADC (MCP300 para realizar medidas de voltage de un sensor acondicionado con fotodiodo para medida de la intensidad de luz. Éste ADC quiero comunicarlo con un PIC16F877A y almacerar su valor.

Jamás he tocado un ADC pero puedo entender la parte que es de entradas determinado por las siglas "CH", alimentación "VDD", voltaje de referencia para la comparación "VREF", etc.

Lo que me interesa saber es:

1. ¿Cómo puedo yo seleccionar el canal a medir (ya que en el ADC que quiero utilizar hay hasta 7)?

2. Como hago para comunicar mi ADC con mi PIC mediante SPI? (Tengo que configurar "Clock" y demás para que ambos se puedan comunicar correctamente?)

Sé que en las especificaciones explica algo pero no lo acabo de entender.

5 Soluciones propuestas

Adjunto el link del datasheet por si interesase mirarlo: https://www.adafruit.com/datasheets/MCP3008.pdf
Bueno justo ahora mismo he sacado algo un poco en claro. El pin "Din" permite seleccionar el canal y el tipo de medida (diferencial o unipolar). Por el "Dout" saldría el resultado de la medida del ADC.

Entonces, ¿en mi micro conectaria "Din" a la entrada que le corresponda para "entradas de protocolo SPI" para almacenar el dato obtenido desde el ADC?

¿Luego para seleccionar el canal y el tipo de medida en el ADC, conectaría un pin de transmisión del PIC al ADC?

Si alguien sabe más al respecto le agradecería mucho su aporte. Feliz)
Salfer escribió:
Bueno justo ahora mismo he sacado algo un poco en claro. El pin "Din" permite seleccionar el canal y el tipo de medida (diferencial o unipolar). Por el "Dout" saldría el resultado de la medida del ADC.

Entonces, ¿en mi micro conectaria "Din" a la entrada que le corresponda para "entradas de protocolo SPI" para almacenar el dato obtenido desde el ADC?

¿Luego para seleccionar el canal y el tipo de medida en el ADC, conectaría un pin de transmisión del PIC al ADC?

Si alguien sabe más al respecto le agradecería mucho su aporte. Feliz)


También he descubierto que si mi PIC funciona como MASTER le proporcionará un clock al ADC. Supongo que el clock del ADC que utiliza para realizar la conversión es el clock que le proporciona mi PIC (para la comunicación SPI) espero estar en lo cierto...
Salfer escribió:
Bueno justo ahora mismo he sacado algo un poco en claro. El pin "Din" permite seleccionar el canal y el tipo de medida (diferencial o unipolar). Por el "Dout" saldría el resultado de la medida del ADC.

Entonces, ¿en mi micro conectaria "Din" a la entrada que le corresponda para "entradas de protocolo SPI" para almacenar el dato obtenido desde el ADC?

¿Luego para seleccionar el canal y el tipo de medida en el ADC, conectaría un pin de transmisión del PIC al ADC?

Si alguien sabe más al respecto le agradecería mucho su aporte. Feliz)


También he descubierto que si mi PIC funciona como MASTER le proporcionará un clock al ADC. Supongo que el clock del ADC que utiliza para realizar la conversión es el clock que le proporciona mi PIC (para la comunicación SPI) espero estar en lo cierto...
No he usado los circuitos mencionados, pero de acuerdo con la definición de SPI:
Son 4 pines: los dos de datos que ud nombró, el clk que también nombró -y que sí va del PIC hacia el ADC- y el CS/SHDN que es el selector de master/slave y que es active low.