TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado 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.
setup_timer_1 (T1_EXTERNAL|T1_DIV_BY_1|T1_CLK_OUT);
SET_TIMER1(0);
enable_interrupts(INT_TIMER1);
enable_interrupts(global);
Muchas gracias!
-
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.
-
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 :?
-
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
-
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 :?
-
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??
-
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!
-
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.
-
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
-
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.
-
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.
-
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!
-
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
-
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
-
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
-
hola jfh900 el circuito que quiero simular es un simple multivibrador astable a transistores
gracias por la respuesta
-
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.
-
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
-
¿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.
-
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:
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:
#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!
-
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?
-
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
-
gracias tio, parece mentira, era logica la solucion. palestina libre!!!!