TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: MLO__ en 16 de Julio de 2014, 14:23:41
-
Hola.
Tiempo si saludarlos :oops: :oops:
Necesito su ayuda con un tema que no he encontrado en el foro.
Quiero obtener una senal de clock out de PIC desde el pin OSCO para inyectarla a otro dispositivo (al pin OSCI del dispositivo). Esto si es posible hacerlo?
Buscando por internet encontre que desde los microcontroladores philips si se suele hacer, por ejemplo:
(https://lh5.googleusercontent.com/-zb2OVhBkWk8/U8au4JySBhI/AAAAAAAALwM/-qkw9xRg71g/w1044-h350-no/OSCi+PCD.png)
Se podria hacer algo similar desde un PIC, algo asi:
(https://lh6.googleusercontent.com/-RDOu6YlXHIE/U8a08k1DMYI/AAAAAAAALww/OSHUb8apAVg/w474-h233-no/2014-07-16+12.22.05.png)
o hay que hacer algo adicional.
Saludos y gracias
-
creo que en el foro hay un hilo donde tambien se comentaba lo mismo, no lo encuentro :? , viendo la hoja de datos por ejemplo del 16F819 en la pagina 9 aparece que el pin clockout funciona a 1/4 de la frecuencia pero usando el oscilador RC
-
Hola J, gracias por responder tan rapido.
Si, en ese documento aclara eso. Los PIC tienen esa cuestion.
Pero, podria "sacar" esa senal para alimentar otro dispositivo? Supongamos que tengo un cristal de 4MHz (XT), serviria esa senal para otro dispositivo si conecto el OSCI de este dispositivo al OSC2 del PIC?
Saludos
-
yo pensaría que si, pero el oscilador deberia ser un RC , o el RC interno? , usando el cristal ocupas los dos pines OSC1 y OSC2.
Seria cuestion de probar poniendo cristal y sacando un pin desde ahi, porque al mirar con osciloscopio se ve señal de reloj
-
Hola.
He medido la señal de salida del PIC en el OSC2 y no sale nada ... es extraño: quite el condesador que conecta a tierra con OSC2 y el PIC funciono sin problemas (no lo sabia). Intente medir la señal en OSC1 y no obtuve nada ...
(https://lh6.googleusercontent.com/-28JnuDmItF8/U8bZ8bi9LJI/AAAAAAAALxo/ZHvKwkgCLkI/w400-h240-no/MAP006.BMP)
Voy a intentar con el oscilador del TIMER1 T1OSCI y T1OSCO a ver que mido ...
-
Hola.
Pues configurado oscilador interno RC si sale una buena señal de 1/4 Fosc
(https://lh4.googleusercontent.com/-BwfsUK4ajVw/U8beB141nyI/AAAAAAAALyE/fBFa_qVKyqs/w400-h240-no/MAP007.BMP)
Y del oscilador del Timer1 ... nada:
(https://lh6.googleusercontent.com/-zeT8owuJviU/U8beeoKYxJI/AAAAAAAALyM/a8daWPSvZBY/w400-h240-no/MAP008.BMP)
El problema es que necesito 3.5795MHz ... creo que habra que intentar otra opcion como el PWM
Gracias.
-
El problema puede ser la capacitancia, yo muchas veces he intentado medir con un osciloscopio la señal de un cristal y no he podido porque la punta tiene determinada capacitancia y hace que la señal sea inestable reseteandose el propio pic. Lo mismo puede ocurrir si intentas alimentar 2 ICs con el mismo cristal, aumentarian las capacitancias y la señal seria inestable. He visto muchas placas que siempre intentan ahorrar en componentes pero jamas he visto que en estas se comparta un mismo cristal, siempre he visto 2 cristales independientes. Yo creo que si se podria hacer, pero tendras muchos problemas y a veces seran problemas que te ocasionaran muchos dolores de cabeza (fallos esporadicos), sinceramente te recomiendo que uses 2 cristales o bien uses una salida adaptada que no tenga que ver con el propio cristal.
-
Yo he usado 1 cristal con 2 pics en una proboard sin ningún problema
creo recordar, que un pic el oscilador va conectado con normalidad... para la salida de reloj el pic OSC2/CLKO va la entrada OSC1/CLKI del otro pic....
ni le quite condensadores, ni nada por el estilo
en cuanto a la programacion los dos pics les indique el mismo fuse.... HS y la misma frecuencia y creo recordar que todo funcionaba.... use un 18F2550 y un 16F688 pero a ti MLO__ esto no lo necesitarias ya que no es con otro pic....
-
creo que en el foro hay un hilo donde tambien se comentaba lo mismo, no lo encuentro :? , viendo la hoja de datos por ejemplo del 16F819 en la pagina 9 aparece que el pin clockout funciona a 1/4 de la frecuencia pero usando el oscilador RC
y el pin RA7 como External clock souce input... si un pic trabaja con normalidad(conexion del cristal como lo lleva normalmente) y sacas la señal del clock por el CLKO y le inyectas la señal del clock por el pin CLKI al otro pic... deberia funcionar sin problemas....
-
Hola.
Pues es mejor no arriesgarse. Mejor voy a utilizar un generador de frecuencia ... intente hasta con un DS1307 :D :D
Saludos y mil gracias.
-
Hola.
Pues, he realizado la prueba por lo que me comentas ppyote ... y que crees: Funciona!! :-/ :-/
En la configuracion que se describe para los Philips, funciona para los PIC tambien.
He conectado un PIC16F628A con un cristal de 4MHz y 2 PIC12F629 a los cuales les hago llegar la señal del OSC2 del PIC16.
(https://lh5.googleusercontent.com/-c6E6-SoORnY/U8fiS-J-g2I/AAAAAAAALzI/T8yHyeMwPxI/w325-h577-no/20140717_094817.jpg)
En el PIC16 he ajustado un blink con delay de 1mS (T=2mS), esto es lo medido:
(https://lh5.googleusercontent.com/-xc9e_xG1zRE/U8fmTP9QNFI/AAAAAAAALzw/KL3dTir0o2U/w400-h240-no/MAP001.BMP)
En el primer PIC12 he ajustado un blink con delay de 2mS (T=4mS), esto es lo medido:
(https://lh4.googleusercontent.com/-Q5eIkj9zWvw/U8fmTPE3wWI/AAAAAAAALzk/T5mVudTuBfM/w400-h240-no/MAP002.BMP)
y en el segundo PIC12 el blink es con delay de 3mS (T=6mS):
(https://lh3.googleusercontent.com/-0AHdH28OfN0/U8fmTD7KTzI/AAAAAAAALzc/kOUxIHoxN2s/w400-h240-no/MAP003.BMP)
Funciona muy bien.
Si se hace la conexion dejando el condesador a GND en el pin OSC2, la señal OSC2 se cae mucho, pero siguiendo la configuracion de la imagen que postee al inicio, funciona muy bien, es muy estable.
Gracias por la ayuda muchachos!!
-
Nunca te irás a la cama sin saber algo nuevo
Felicidades por conseguirlo y compartirlo MLO__
-
gracias por compartir el resultado MLO_ ;-), es indiferente donde conectas la señal a los pic12 o debe ser por OSC1 ?
edit: OSC1 es el Clock in
-
Hola.
La señal de OSC2 (CLKO) del PIC que tiene el oscilador con el cristal debe conectarse al pin OSC1 (CLKI) del PIC que no lleva cristal.
Saludos
-
Hola.
Una ultima cosa: la frecuencia de OSC es la misma para los 3 PICs, no se divide entre cuatro. Para confirmarlo programe un output_toogle sin delay en los 3 PICs; de esta manera podia darme cuenta si la frecuencia cambiaba en los PIC12. Se obtuvo el mismo valor de frecuencia en el blink para los 3
(https://lh6.googleusercontent.com/-7tpUpxzj8FE/U8k-_bDG8pI/AAAAAAAAL04/uVCjQCOD0Hk/w400-h240-no/MAP009.BMP)
Saludos
-
claro debe ser porque estas tomando directamente la señal desde el pin del cristal, usando la configuración interna que dice la hoja de datos si se cumple lo de la division. Vas a probar algo asi ensamblando en PCB?
-
Hola.
Si, pienso conectarlo de esa manera. La PCB es pequeña, asi que me va perfecto para lo que quiero.
Saludos