background preloader

Spi

Facebook Twitter

¿Quien me puede explicar el funcionamiento del protocolo SPI? Hola a todos, pues vengo hasta aquí en busca de ayuda.Antes de nada he de decir que mis conocimientos en C no son de un experto, utilizo el CCS C y estoy intentando desarrollar un circuito empotrado que consta de un pic 16F876A y un convertidos analógico digital para la medición de temperatura con termocupula, el max6675.según el datasheet del fabricante, cuando activamos el bit select, el max envía una trama de 16bits por la salida DO.

¿Quien me puede explicar el funcionamiento del protocolo SPI?

Resulta que estoy intentando utilizar el protocolo SPI en el pic por hardware, lo hago con la directiva #use SPI(opciones) hasta ahí todo correcto, lo que pasa que en las gráficas del osciloscopio, la señal de bit select no se genera correctamente, la señal de relog no es de 16 pulsos de reloj si no de 8, se para unos momentos y se genera otra de 8 pulsos no de 16 y como el fabricante dice que es de 16 creo que no está funcionando bien o no se. Comunicaciones Serie SPI. En este tutorial vamos a examinar en el protocolo SPI (Serial Protocol Interface), describiendo los registros SFR involucrados y detallando los procedimientos para transmitir y recibir.

Comunicaciones Serie SPI

Lo ilustraremos con un ejemplo muy sencillo de comunicación con un periférico SPI, un conversor DAC (MCP4822 de Microchip). En entradas posteriores veremos ejemplos de comunicaciones SPI con otros periféricos con protocolos de comunicación más complicados. Es importante entender los conceptos básicos detrás de una comunicación SPI, que son diferentes de otros tipos de comunicaciones. Empezaremos recordando las propiedades de un registro de desplazamiento o shift register (ver figura): En un registro de desplazamiento, con cada clock del reloj, un nuevo bit entra en el registro y desplaza a todos los bits una posición.

Vemos que en la UART tenemos sendos registros de desplazamiento para la recepción como para la transmisión. ¿Cómo podemos recibir y transmitir con un solo registro? SSPCON1, SSPSTAT y SSPBUF. Comunicaciones Serie SPI. ¿Quien me puede explicar el funcionamiento del protocolo SPI? Master-Slave Slave-Master mediante un bus SPI. Enunciado: En la siguiente práctica, se nos pide realizar una conexión de maestro esclavo entre dos PIC 18F4550 mediante el bus SPI.

Master-Slave Slave-Master mediante un bus SPI

En esta práctica se nos da mucha libertad para el programa a desarrollar, por lo que se me ha ocurrido realizar un código en el cual, los dos PIC sean maestro y esclavo cambiando de uno a otro automáticamente. En el momento de inicio, el PIC 1 estará actuando como maestro enviando el número “0” al PIC 2, que está actuando como esclavo. Una vez recibido el número “0” por el PIC 2, este se configura como maestro, incrementa el valor y lo envía al PIC 1 que está como esclavo en ese momento. Este proceso se repite continuamente. Todos los números serán mostrados por medio de dos LCDs, conectados uno a cada PIC. Desarrollo: Una vez que tenemos claro lo que queremos, realizamos el esquema en “Proteus ISIS” para la posterior simulación. Una vez hecho esto, comenzamos a realizar los códigos para los dos PIC. Código: int caracter=0; Simulación en Proteus: Me gusta:

Comunicacion entre PIC’s de la serie 18F por el bus SPI « JJSanchezTorres. Comunicacion entre PIC’s de la serie 18F por el bus SPI El ejercicio consiste en comunicar dos PIC’s 18F4550 mediante el puerto SPI.

Comunicacion entre PIC’s de la serie 18F por el bus SPI « JJSanchezTorres

En mi caso el ejercicio es sencillo el Maestro en caso de recibir un 1 lógico en la puerta RA0 mandara una señal al Esclavo. Este activara un LED siempre y cuando se lo diga el Maestro. Al tener dos PIC’s independientes nos hará falta tener dos códigos. Empelo el lenguaje C de CCS para programar los PIC’s. Una vez programado el Maestro pasamos a programar el Esclavo. Una vez tengamos los códigos pasaremos a Proteus para simular el circuito y ver si funciona correctamente. En esta imagen se puede ver como cuando el Botón esta pulsado funciona el LED.

Ahora pasamos a diseñar la PCB de la placa. Al pasar al ARES colocamos todos los componentes enrutamos las pistas y colocamos el borde a de la placa. Descargar Ejercicio.