TODOPIC

Microcontroladores PIC => RTOS => Mensaje iniciado por: pajaro en 02 de Agosto de 2012, 15:49:35

Título: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: pajaro en 02 de Agosto de 2012, 15:49:35
Hola
despues de leer el hilo :

http://www.todopic.com.ar/foros/index.php?topic=15876.20

y probar algunas cosas, Formulo una pregunta:

es posible generar PWM por software mediante el uso de RTOS de ccs.

¿Como deberia de emfocar la cosa?
cxontrolar servos y hacer otras cosas mas..

se que el perido se repite cada 20ms,
tambine se cuanto tiempo tiene que estar en alto,
y despues de ese tiempo se pasa a estado abajo.:

esto seria:
 le pongo en alto las salida, lo mado a dormir de 120us a 700us
entreganndo en ese tiempo el cpu para que hag otra cosa.

Tras currido ese tiempo vuelvo a la tarea y pongo en bajo ese led.
y eso se repite cada 20 ms.

Estoy en ello,... pero no tengo mucho exito..



Título: Re: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: Suky en 02 de Agosto de 2012, 16:49:25
Me parece que es complicarse, lo más sencillo sería usar un tick por medio de una interrupción de un timer. Vas hacer lo mismo y más eficiente que con un rtos donde no puedes controlar los tiempos de forma precisa.


Saludos!
Título: Re: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: pajaro en 02 de Agosto de 2012, 17:17:21
Hola suky

- dejas caer entre lineas que el timer es mas preciso que rtos,
con el timer como controlas que cada 20 ms se sincronizan 4 servos y al mismo tiempo
atiendas a la interupcion del i2c y alguna otra cosa que pudiera venir.

Si rtos es como multitarea y timer es precision... dilema.. :?

timer o RTos?
Se admiten propuestas ..

Un Saludo
Título: Re: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: Suky en 02 de Agosto de 2012, 18:22:42
- dejas caer entre lineas que el timer es mas preciso que rtos,

 :shock: Sin dudas!!!

Para leer:

http://www.todopic.com.ar/foros/index.php?topic=20918.0

http://picmania.garcia-cuervo.net/picc_servos_x_8.php

Título: Re: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: pajaro en 02 de Agosto de 2012, 18:37:54
Hola Suky
ante un evente de  interrupciones y prioridades

imagina que se esta ejecuntando  dentro de la interupcion del i2c y llega al tiempo de los 20ms
para mandar sincronismo de los vervo, dejaria colgada la recepcion de datos del i2c.

u otro caso esta sincronizando los servos y se produce int del i2c que pasaria dejaria
colgado a los servos para asistir al i2c.

como adminsitras esos tiempo con los timer, eso es una locula no..
o eso se pude hacer de alguna forma.

Necesito un alguien que diga ahora tu y haz esto y ahora espera y ahora tu continuas..

que opinas de eso..no estoy loco... aun..

Un Saludo.

Título: Re: :: RTOS :: CCS :: PWM software :: INT ::
Publicado por: Suky en 02 de Agosto de 2012, 19:20:15
Le das prioridad al timer... O sea, si utilizas un PIC18 el de alta prioridad que sea el del timer. Si deja colgado I2C no afecta, mientras sea corto, porque el hardware se encarga de enviar o recibir el dato.

Tampoco es que si quieres manejar varios servos vas hacer un proyecto con múltiples fuentes de interrupciones más alguna lógica de control  :undecided: