TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: LABmouse en 22 de Abril de 2007, 10:01:23

Título: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 22 de Abril de 2007, 10:01:23
(http://img120.imageshack.us/img120/7491/osciladorru1.gif)

El anterior es el circuito de lo que quiero simular, a donde quiero llegar, es a poder lograr interrupciones de 1 segundo exacto con el TMR1,  colocando un cristal de 32768 Hz en los pines que corresponden al oscilador externo de este temporizador, pero lo que sucede es que no funciona, si utilizo un generador de señales, y le coloco en el pin T1/OSI si funciona, pero con el circuito con el cristal no, sera que proteus no simula el cristal??.

Que recomendacion me dan, o si ya alguien lo pudo simular, como se hace??


Este es la parte de como configuro el oscilador en CCS, no se si tenga algun error, pero no creo ya que si coloco un generador de onda cuadrada, si incrementa TMR1.

Código: [Seleccionar]
setup_timer_1 (T1_EXTERNAL|T1_DIV_BY_1|T1_CLK_OUT);
SET_TIMER1(0);
enable_interrupts(INT_TIMER1);
enable_interrupts(global);

Muchas gracias!
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: PalitroqueZ en 23 de Abril de 2007, 13:24:20
yo creo que a ese circuito le falta algo. si miras adonde se conecta el cristal externo a un pic, veras en que en las datasheet´s

se conecta a unos inversores (mira la pag 10 de 39564b.pdf) .

por la red se consiguen esquemas de osciladores a base de compuertas, y la frecuencia la define el cristal.

Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 23 de Abril de 2007, 13:36:35
Hola amigo pedro, pero no es necesario colcoar compuertas TTL externas, es posible conectar de esa forma un cristal a un PIC, de esa forma la velocidad de procesamiento seria en mi caso 40MHz, y la velocidad para incrementar el TIMER1 es de 32768Hz, la ventaja de trabajar de esta forma, es que se logran retardos exactos de 1Seg, y con velocidad de procesamiento altos. Para hacer implementar un RTC por software es la mejor opcion.

Mira en el datasheet en la pagina 108 que el arreglo con compuertas que tu me hablas ya el PIC lo trae interno, solo el TMR1 cuenta con esta forma de trabajo.

(http://img261.imageshack.us/img261/1681/osciladoryg6.gif)

En pocas palabras el PIC estara trabajando con 2 cristales al mismo tiempo  8).

Nada que encuentro la forma de hacerlo funcionar por simulacion  :?


Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: PalitroqueZ en 23 de Abril de 2007, 13:45:24
porque no pruebas simulando solo esa etapa sin el pic a ver si funciona (sumando el inversor).

las veces que hago simulaciones, no le coloco cristal, le activo la frecuencia al pic en la propia ventana donde se carga el .hex
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 23 de Abril de 2007, 13:53:26
Tampoco funciona   :(.  el debate de si el problema es software, lo llevo por este lado:
http://www.todopic.com.ar/foros/index.php?topic=16897.0

y pues pregunte aca en ISIS porque no se si el problema sea el simulador, para ver si alguien a trabajado con el TMR1 con oscilador externo en proteus :?
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Cryn en 23 de Mayo de 2007, 22:30:26
mismo problema he visto, con cristal no da; con generador da perfecto; me animo a decir qeu es problema del simulador

ya que el micro si no se conecta cristal, y solo se lo configura dentro las opciones del PIC da perfecto, o que me dicen??
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 23 de Mayo de 2007, 22:59:18
Bueno amigo cryn, al final me toco fabricar el PCB, la otra semana lo ensamblo y salgo de la duda si era el compilador o el simulador.
Saludos!
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: fjalex en 24 de Mayo de 2007, 08:44:25
Estimado PICmouse:

Proteus no simula el reloj de un microprocesador poniendo un cristal en sus pines OSO0 y OSO1 porque gastaría enormes recursos del micro en esta simulación.

Independientemente de que pongas el reloj o no, la frecuencia la va a tomar del parámetro correspondiente. Para ello con el botón derecho sobre el pic y selecciona "EDIT propierties". En la ventana que aparece un campo es "Processor clock frecuency". Ahí puedes introducir la velocidad de reloj que simulará Proteus.

Si pones 40MHz es posible que sobrecargues el computador para simular. Baja entonces los frames por segundo y el tiempo que dura cada frame para poder realizar la simulación. Esto se hace en el menú system->set animations options.

Yo uso ese micro y el PIC18F252 Y me han funcionado perfectamente. :g)

Un saludo.
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Cryn en 24 de Mayo de 2007, 17:05:47
creo que fjalex no ha leido completamente todo el post, ya que el tema no trata sobre el cristal para el PIC, sino un cristal externo para el TMR1, ese es el que no funciona en la simulación, espero no ser mal interpretado, solo es mejor un aporte cuando alguien lee completamente el post
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 26 de Mayo de 2007, 11:46:49
Hola fjalex, como te comenta Cryn, el problema esta es en colocar un cristal en los pines TMR1/OSI, TMR!/OSO.

Sucede que es posible colocarle 2 cristales a un PIC. El Cristal principal es el de trabajo, que es el que siempre se coloca. El otro cristal, se coloca en los pines del TMR1 OSI, OSO. Esto para lograr que este temporizador de 16 bits, se incremente a la frecuencia dada por el cristal.

Al parecer proteus no simula este segundo cristal.
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: fjalex en 28 de Mayo de 2007, 04:31:48
Os pido disculpas.

Evidentemente he leído muy rapido y no con atención :shock: . Lamento haberos hecho perder el tiempo con mi aportación :(.

Un saludo.
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 28 de Mayo de 2007, 09:12:36
fjalex para nada, no es perder el tiempo leer un post, es mas hay que agradecer tu intento de ayudar, ese es el espíritu del foro.

Bueno esta semana ensamblo el PCB y hago las pruebas y se terminara la duda.

Saludos!
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Cryn en 28 de Mayo de 2007, 21:18:05
claro que si fjalex, disculpa si fui algo rudo al decir eso, tu sabes uno a veces se cae del catre, disculpa.

Ahora, recuerdo que una vez queria ver lo que me generaba el cristal con un osciloscopio (dentro el proteus), y nunca vi nada, y pues con eso mas, yo podria afirmar: PROTEUS NO SIMULA CRISTALES
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Chip en 23 de Junio de 2007, 22:59:04
picmouse queria preguntarte si lograste solucionar el problema q tenias al simular el oscilador porque yo quiero simular un simple multivibrador astable a tramsistores y ver prender y apagar leds para ver su correcto funcionamieento pero no funciona
yo creo q se tiene q configurar el proteus por alguna parte pero no se donde porque en otro simulador tiene una opcion para simular señales analogicas aparte de las digitales pero en el proteus no se como cinfigurarlos
ojala pudieras ayudarme.
saludos
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: jfh900 en 23 de Junio de 2007, 23:07:34
Por que no pones el circuito que estas simulando o mejor por que no pones el fichero con la simulación para que lo podamos probar y ver donde falla.

Un saludo
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Chip en 25 de Junio de 2007, 23:41:30
hola jfh900 el circuito que quiero simular es un simple multivibrador astable a transistores
gracias por la respuesta
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: fjalex en 26 de Junio de 2007, 09:59:59
Estimado Chip:

He construído tu circuito, lo he simulado y la intermitencia se produce en los dos leds en oposición. Te adjunto el fichero para que compruebes si a tí te funciona.

He modificado el led para que se ilumine con 2mA en lugar de los 10mA que viene por defecto para que el efecto de iluminación mejore.

Estoy usando la versión 7.1 sp4.

Un saludo.
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Chip en 14 de Julio de 2007, 18:41:46
Hola fjalex disculpa por la demora de la respuesta
descargué el fichero que enviaste y efectivamente se ve la intermitencia de los leds pero a la hora de montar el mismo circuito en una hoja nueva no es posible visualizar dicha intermitencia configuré las opciones de animacion del menu system que por cierto eran distintas a las de tu fichero pero aun asi no se produjo cambio alguno
agradecería me aclares la duda 
tengo la version demo 7.1 sp4

saludos
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: fjalex en 16 de Julio de 2007, 07:04:47
¿Por qué no pones aquí tu fichero *.dsn para que podamos comprobar que pasa?

¿Probaste a poner en el led que se encienda a 2mA?

Un saludo.
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: LABmouse en 17 de Julio de 2007, 14:14:25
Bueno, en hardware, va muy bien, oscila e incrementa el TMR1 con el cristal externo. El esquema tal cual como el mostrado en el primer POST, la configuración de CCS es la siguiente:

Código: [Seleccionar]
setup_timer_1 (T1_EXTERNAL_SYNC|T1_CLK_OUT|T1_DIV_BY_1);
enable_interrupts(INT_TIMER1);
enable_interrupts(global);

Y en la interrupción tengo esto:

Código: [Seleccionar]
#INT_TIMER1
void reloj(void){
output_toggle(pin_a4);
}

Por lo que en hardware, veré el LED conectado en el PIN_A4, parpadear, a la frecuencia según el pre-escalador seleccione.

Saludos!
Título: Re: Como simular TMR1 con oscilador externo16F876a?
Publicado por: lorcho en 25 de Febrero de 2009, 14:41:11
hola, tengo el mismo problema que PICmouse, tengo conectado el oscilador al puerto C y no comienza a oscilar. adjunto el diseño en proteus y el codigo fuente en ensamblador. el codigo fuente es "base1seg876funciona.asm" creo que el TMR1 esta respondiendo al osc interno en vez de al externo. ¿hay alguna posibilidad de que el proteus no lo simule visualmente pero si internamente?tengo un osciloscopio conectado a:1- masa para tener una referencia 2- a un generador de pulsos genericos para comprobar que funciona y 3- una de las patillas del oscilador externo del TMR1. gracias por anticipado.

¿alguien sabe si es seguro que proteus no simula el segundo cristal? ¿eso aunque solo tenga un cristal ext en la simulacion ya que el principal oscila solo sin estar implementado fisicamente en la simulacion?
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: Cryn en 27 de Febrero de 2009, 13:28:44
los cristales si mal no recuerdo proteus no los simulaba, y no los sigue simulando

yo usos para el tmr1 como oscilador externo un generador de onda cuadrada a la frecuencia que tendrá el cristal por ejemplo

un saludo
Título: Re: Como simular TMR1 con oscilador externo?
Publicado por: lorcho en 27 de Febrero de 2009, 20:51:24
gracias tio, parece mentira, era logica la solucion. palestina libre!!!!