Autor Tema: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi  (Leído 3529 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lolos123

  • PIC12
  • **
  • Mensajes: 53
Hola como va eso!

Estoy intentanto trabajar en ensamblador con el modo spi de un 16f876. Lo voy a poner como maestro y lo que observo es que no tengo impulsos de reloj por la patilla RC5/SCL.

Os comento lo que estoy haciendo a ver si lo hago bien

Sólo va a recibir datos,el pic no tiene que enviar nada por  RC3/SD0 por lo que la configuracion que tengo de entradas y salidas es EnfurruñadoRC3/SDO no la uso)

RC4/SDI entrada
RC5/SCK salida

Como tiene que ser maestro configuro RA5/SS* como entrada y en ADCON1 le indico que es digital. Esta patilla la pongo a nivel alto para indicarle que es maestro.

Una vez configuradas las patillas configuro SSPSTAT y SSPCON(frecuencia reloj,etc)

Una vez habilitado en SSPCON,5 ¿no debería enpezar ya a funcionar el SPI, es decir no debería tener ya señal de reloj en  RC5/SCK y a la espera de que empiecen a entrar datos por RC4/SDI.

No se si lo he explicado bien, pero agradezco cualquier comentario

Gracias por vuestro tiempo.


Desconectado kuauhtemok

  • PIC16
  • ***
  • Mensajes: 116
RE: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #1 en: 08 de Junio de 2005, 16:59:00 »
Oye,

¿como sabes que no hay pulsos?

Estas viendo la salida en un osciloscopio?

Porque si solo lo estas simulando en el MPLAB......

Te recuerdo que el MPLAB no simula SPI (sobre todo no simula el clock
)
La felicidad no es mas q la ausencia momentanea del dolor

Desconectado lolos123

  • PIC12
  • **
  • Mensajes: 53
RE: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #2 en: 09 de Junio de 2005, 13:41:00 »
No estoy en MPLAB, estoy con un micro real y como no me funcionaba el conversor a/d que le quería conectar empecé a mirar si el micro le daba la señal de reloj.

Para comprobarlo  le puse el voltímetro en la salida, si hay pulsos debería dar una tensión de salida que debería cambiar con la frecuencia ( segun la programas en SSPCON Fosc/4, Fosc/16...) y yo no tenía esa tensión.

Ya he solucionado el error, era de programacion, y en efecto tienes una tensión a la salida que cambia segun frecuencia. He visto tambien la salida en un osciloscopio y ahora si sale señal de reloj.

No se si te sirve de algo, pero a mi fue lo primero que se me ocurrio.

Desconectado ElvisJara

  • PIC10
  • *
  • Mensajes: 1
Re: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #3 en: 28 de Noviembre de 2008, 20:03:20 »
Hola, dices que ya solucionaste el problema. Necesito tu programa, ya que tengo el mismo problema. Quiero que mi PIC maestro reciba el dato pero nisiquiera funciona el SCK, todo me parece estar bien configurado, solo espero que se llene el SSPBUF, pero nada. ni el SCK envía su señal.

Agradecría mucho que publiquen el codigo en asm.

Saludos.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #4 en: 28 de Noviembre de 2008, 20:17:55 »
Que tal amigos!
Yo les voy a recomendar que se lean este articulo muy bueno sobre el spi.

Como podran leer alli, la señal de reloj la genera el maestro, si y solo si, se escribe en el registro un dato en el registro sspbuf.

Aun cuando el maestro este en modo recepcion es necesario escribir algo en el sspbuf para hechar a andar el reloj.

Saludos

Desconectado arturo98370

  • PIC10
  • *
  • Mensajes: 4
Re: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #5 en: 24 de Febrero de 2009, 19:36:11 »

Hola.. sabes tengo yo tengo un problema tabien con los registros de desplazamiento pero yo lo que deseo es enviar datos solamente puedes por favor facilitar la parte de el programa donde manejas el mosulo SPI para entendeer como  se hace esto ya que tengo varias dudas, una es no se como se genera la frecuencia de reloj y el pin que va hacia el latch clock que funcion tiene por favor ayudame ....

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: no tengo impulsos de reloj en un pic que trabaja como maestro en modo spi
« Respuesta #6 en: 24 de Febrero de 2009, 22:22:20 »
A ver a ver, aca hay conceptos equivocados:

Estoy intentanto trabajar en ensamblador con el modo spi de un 16f876. Lo voy a poner como maestro y lo que observo es que no tengo impulsos de reloj por la patilla RC5/SCL.

El pin de reloj de la transmisión SPI es el RC3/SCK/SCL, no el RC5. El pin del reloj es el numero 14 del encapsulado DIP y 11 en el QFN.

Sólo va a recibir datos,el pic no tiene que enviar nada por  RC3/SD0 por lo que la configuracion que tengo de entradas y salidas es EnfurruñadoRC3/SDO no la uso)

RC4/SDI entrada
RC5/SCK salida

Te recomiendo que utilizes el SDO de todas formas y que lo uses como retroalimentación para comprobar la comunicación, el SPI puede funcionar como Full-Duplex asi que esto no va a demorarte la comunicación.
Aca otra vez te equivocaste los pines. SDI es la entrada de datos, SDO es la salida de datos y SCK es la salida de reloj (si el PIC es maestro) o la entrada de reloj (Si el PIC es esclavo).  No hay que confundirse los pines SDA y SCL, que son los pines asignados para el I2C, que es otro protocolo de comunicación.

Como tiene que ser maestro configuro RA5/SS* como entrada y en ADCON1 le indico que es digital. Esta patilla la pongo a nivel alto para indicarle que es maestro.

El pin de SS no se utiliza cuando el PIC es maestro, sino que es una entrada que le indica a los esclavos cual debe comunicarse con el maestro.

Una vez habilitado en SSPCON,5 ¿no debería enpezar ya a funcionar el SPI, es decir no debería tener ya señal de reloj en  RC5/SCK y a la espera de que empiecen a entrar datos por RC4/SDI.

Para que empieze a funcionar el SPI necesitas activar el bit SSPEN, el SSPCON es un registro de configuraciòn, no una flag de habilitación.

Mira, no quiero sonar ofensivo, pero deberías leerte toda la sección de SPI del datasheet del 16F87A antes de comenzar con este tipo de comunicación, porque de lo contrario vas a estar dando vueltas dias y dias tratando de hacer algo que esta muy bien explicado por la gente de Microchip. Además, ese vinculo que ha posteado RALF es muy interesante, y es fundamental conocer como funciona en general el SPI antes de largarse siquiera a configurar los bytes en el PIC. Bueno, es mi consejo, de todas formas aqui estaremos por si tienes nuevas dudas.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."


 

anything