TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
20 de Septiembre de 2014, 21:02:20

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
348928 Mensajes en 39141 Temas por 40796 Usuarios
Último usuario: dfmunozb
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Todo en microcontroladores PIC (Moderadores: marmatar, maunix, MGLSOFT, Modulay, pocher, Sasián, Suky)
| | |-+  Pic 16f88 SPI o I2C 16bits
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Marcar como favorito Imprimir
Autor Tema: Pic 16f88 SPI o I2C 16bits  (Leído 1891 veces)
debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« : 02 de Agosto de 2011, 00:04:09 »

Hola Buenas amigos me comunico con ustedes para ver si me pueden ayudar con un problemita q tengo ya q necesito comunicarme con el modulo de la tienda Sparkfun SoMO 14D no es mas q un modulos de mensajes de audio pero para pedir la reproduccion de cada mensaje tengo q enviarle una trama de 16 bits, la cual se transmite con comunicación serial 2-wire osea con 2 linea, Clock y Data.

Y el diagrama es: SB(bit de inicio),D15,....D0,(bit de parada)SB

Anteriormente he trabajado bien con este micro en assembler y he comunicado con el USART, I2C sin ningun problema... Laughing

Ahora mi pregunta Confused

Hay alguna manera de enviarle a este modulo con el pic 16f88 a través de bien sea la comunicación Serial SPI o I2C  el dato de 16Bits con el diagrama anteriormente indicado.

Espero su pronta y sabia respuesta Gracias!!!


P.D.: Programo en Assembler
En línea
esteban_68
PIC12
**
Desconectado Desconectado

South Africa South Africa

Mensajes: 86


« Respuesta #1 : 02 de Agosto de 2011, 02:09:18 »

Si el dispositivo (cualquiera que sea) al que le vas a enviar la información no tiene restricciones en tiempo de setup y hold, y no requiere que mantengas funcionando continuamente SCK, puedes simplemente enviar dos datos SPI de 8 bits, uno tras otro consecutivamente. Y dependiendo de tu aplicación puedes necesitar hacer bit bang con SDO como GPIO.
En línea
debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« Respuesta #2 : 07 de Agosto de 2011, 20:58:29 »

Hola esteban_68 gracias por tu ayuda pero ahí esta el problema... q no se como comunicar I2C con este micro ya q pense q era de igual manera q el pic16f877 (con este he comunicado perfecto) q tiene un registro para enviar el bit de inicio y de parada pero al ver bien este PIC 16f88 no cuenta con estos registros.
Y quisiera saber si sabes algo de la comunicación I2C de este PIC el 16f88 y como configurarlo y enviar la trama I2C.

Gracias!!!
En línea
AngelGris
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2386


« Respuesta #3 : 07 de Agosto de 2011, 21:06:27 »

  Tal vez no tenga periférico para I2C o SPI y es por ello que no encontrás los registros....
En línea

De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas
debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« Respuesta #4 : 07 de Agosto de 2011, 23:17:33 »

Eso es lo curioso q el datasheet dice q si tiene este modulo I2C y habla como configurarlo y todo pero en ningun registro encuentro donde enviar el bit de inicio y parada.
En línea
Suky
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 6767


Con Qt...


WWW
« Respuesta #5 : 07 de Agosto de 2011, 23:25:53 »

Tiene SSP o MSSP ?  Rolling Eyes

 wink
En línea

debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« Respuesta #6 : 07 de Agosto de 2011, 23:36:52 »

Hola Suki dice: en la pagina de configuracion I2C en el Datasheet dice:
 "SSP I2C Mode Operation"
y en el   "Synchronous Serial Port Mode" Select bits q son 4Bits de configuracion en el Registro SSPCON 
dice:  1011 = I2C Firmware Controlled Master mode (Slave Idle)

Por eso digo q si tiene comunicacion I2C pero no se como comenzar la comunicacion sino me indica como enviar los bit de inicio y parada en ningun registro, tal y como es en el 16F877A q anteriormente he ccomunicado sin ningun problema
En línea
AngelGris
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2386


« Respuesta #7 : 07 de Agosto de 2011, 23:54:29 »

Esto dice el datasheet...

"Master mode operation is supported in firmware using
interrupt generation on the detection of the Start and
Stop conditions. The Stop (P) and Start (S) bits are
cleared from a Reset, or when the SSP module is dis-
abled. The Stop (P) and Start (S) bits will toggle based
on the Start and Stop conditions. Control of the I 2C bus
may be taken when the P bit is set, or the bus is Idle
and both the S and P bits are clear.
In Master mode operation, the SCL and SDA lines are
manipulated in firmware by clearing the corresponding
TRISB<4,1> bit(s). The output level is always low, irre-
spective of the value(s) in PORTB<4,1>. So, when
transmitting data, a ‘1’ data bit must have the
TRISB<1> bit set (input) and a ‘0’ data bit must have
the TRISB<1> bit cleared (output). The same scenario
is true for the SCL line with the TRISB<4> bit. Pull-up
resistors must be provided externally to the SCL and
SDA pins for proper operation of the I2C module."

Por lo poco que entiendo de ingles (que para los datasheet y por el momento me fue suficiente  lol ) parece ser que en modo maestro vos tenés que generar la señales de SDA y SCL manipulando el TRISB. De hecho recomienda la lectura de la siguiente nota

"For more information on Master mode operation, see
Application Note AN554, “Software Implementation of
I2C™ Bus Master”.
En línea

De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas
Suky
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 6767


Con Qt...


WWW
« Respuesta #8 : 07 de Agosto de 2011, 23:56:02 »

No es igual al 16F877, hay que leer detalladamente el datasheet, pero para enviar datos hay que trabajar con el registro TRISB, no se hace automáticamente como con un MSSP. Revisa en el datasheet la sección de I2C/Master


Saludos!
En línea

debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« Respuesta #9 : 08 de Agosto de 2011, 23:33:15 »

Hola estuve leyendo la nota de Aplicación AN554 y según leo esta transmisión I2C hay q hacerla a pie, me explico mandar cada bit tanto el de dato y el del clock y también controlar el tiempo de cada uno.
Ahora si es asi lo puedo hacer con cualquier otro pin?? porq si los estoy mandando manualmente hasta el clock y los bits de datos y hago la sincronización de estos con retardos o los timer no entiendo para q utilizar los pines TRISB <4,1> q son los de SCL,SDA.

Por favor si alguien  alguna vez ha comunicado asi con protocolo I2C una ayudita porfa...!

(en ASSEMBLER )
En línea
Suky
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 6767


Con Qt...


WWW
« Respuesta #10 : 08 de Agosto de 2011, 23:41:10 »

Revisa por aquí:
http://www.todopic.com.ar/foros/index.php?topic=23812.msg202310#msg202310


Saludos!
En línea

debonaire
PIC10
*
Desconectado Desconectado

Venezuela Venezuela

Mensajes: 12


« Respuesta #11 : 09 de Agosto de 2011, 19:42:28 »

Ok gracias por la aduda suki  wink, Tratare de realizar la comunicación en I2C pero 16 Bits con el dispositivo SOMO 14D  y les aseguro q pondre por aqui la rutina en asm.  Cuando la logre realizar.

Junto a otras rutinas en assembler q he creado. Solo q no sabria en que seccion Postearla...  sera por esta misma???
En línea
AngelGris
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2386


« Respuesta #12 : 09 de Agosto de 2011, 19:44:37 »

Creo que sería mejor en "Almacén del Assembler"
En línea

De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas
TODOPIC
   

 En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.296 segundos con 24 consultas.