Autor Tema: Protocolo SPI en pic16F84A  (Leído 7135 veces)

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

Desconectado merycr

  • PIC10
  • *
  • Mensajes: 19
Protocolo SPI en pic16F84A
« en: 17 de Junio de 2008, 12:14:32 »
¡Hola a todos!  :mrgreen:

Tengo una duda sobre el protocolo SPI...

A ver, me explico, tengo que hacer un proyecto del que una parte es que tengo que enviar cadenas de 10 bits a un motor (ficticio, no voy a montarlo, tan sólo tengo que programar el software de envio), con las siguientes especificaciones:

- El PIC realiza el papel de maestro (único) del bus
- La electrónica de control del motor implementa la el interfaz maestro (único) del bus.
- El periodo del reloj de sincronización SCLK es de 3ms.
- El modo utilizado en la comunicación es: Clock Polarity (polaridad del reloj) = 1 y Clock Phase (reloj de fase) = 1. [creo que esto significa que los datos se colocarán sobre la línea en flanco desdendente y se leen en flanco ascendente].
- Los pines de E/S del PIC dedicados a la comunicación son los siguientes:


RB5 -- SCLK. Reloj pra la sincronización de la comunicación.
RB6 -- Comunicación del maestro al esclavo.
RB7 -- Señal de selección del esclavo.



Vale, entonces mi duda es: Cómo puedo enviar los datos? Y qué hago con el reloj? :?

He estado mirando en todos lados y nada...  :(


Muchas gracias anticipadas :-/


Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Protocolo SPI en pic16F84A
« Respuesta #1 en: 17 de Junio de 2008, 12:35:21 »
Hola.

Pues, el CCS tiene una implementacion de SPI por soft, en el manual de ayuda del compilador estan las opciones para el manejo de los pines, del reloj y de las diferentes configuraciones de envio. Lo he simulado y montado en hardware para el PIC12F629 y el PIC16F628A y me ha dado resultado. Revisa la ayuda del CCS con #use SPI ( tengo la version 4.057 del CCS)

Saludos
El papel lo aguanta todo

Desconectado merycr

  • PIC10
  • *
  • Mensajes: 19
Re: Protocolo SPI en pic16F84A
« Respuesta #2 en: 17 de Junio de 2008, 12:45:50 »
Perdona, soy un poco nueva aún co todo esto...  :oops:

¿Qué es el CCS, un programa? ¿Y si es así, dónde lo puedo descargar?

Por cierto, no lo he dicho, pero estoy utilizando ensamblador :-)

Gracias!

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Protocolo SPI en pic16F84A
« Respuesta #3 en: 17 de Junio de 2008, 12:54:42 »
Hola.

El CCS es un compilador para microcontroladores en lenguaje C. Si es un programa y puedes descargar el demo que dan AQUI.

La verdad de assembler se muy poco tirando a nada, lo vi en la U, pero hace rato que ya no lo uso. Hay un subforo de ese lenguaje, busca alli, seguro encuentras algo.

Saludos
El papel lo aguanta todo

Desconectado merycr

  • PIC10
  • *
  • Mensajes: 19
Re: Protocolo SPI en pic16F84A
« Respuesta #4 en: 17 de Junio de 2008, 13:53:59 »
Vaya, pero yo tengo que usar ensamblador...  :(

Bueno a ver si alguien más puede ayudar...

Gracias de todas maneras ;)

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Protocolo SPI en pic16F84A
« Respuesta #5 en: 17 de Junio de 2008, 16:46:50 »
Saludos merycr!
Bueno vas a tener que darle duro para generar la spi a pie, usando puro código... y en lenguaje de máquina, guao!  :shock:
Pero no es imposible.
Yo lo que haría es en primer lugar generar la onda cuadrada que constituirá el reloj...
De repente se me ocurre que uses la interrupción por tmr0... te da sobrado para que interrumpa cada 1.5ms... en lo que interrumpa inviertes el estado del SCK, y pues, ya tienes el reloj de la interfaz SPI.... eso lo haces 16 veces (para enviar los 8 bits).
El EN no tiene nada del otro mundo, nada más ponerlo en bajo cuando comienza la transmisión y listo.
Y los datos los puedes sincronizar con la SCK usando también la interrupción del tmr0... pero respetando la polaridad...
Ok espero que puedas arrancar y teclear algo de código... y en lo que pueda te seguiré ayudando.
Dale pues, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web


 

anything