Seguimos preparando cosas, ahora toca revisar que componente puede cumplir las espectativas para realizar el RTC. Como siempre, si esta en microchip, mucho mejor.
http://www.microchip.com/pagehandler/en-.../home.html
He revisado el modelo MCP7940N: http://ww1.microchip.com/downloads/en/De...05010F.pdf
Que buscamos?
Tiene que configurarse por I2C si es posible. Tiene que disponer de una patilla Output que ira conectada al micro, la cual nos despertara a este cuando pongamos la placa en modo sleep. No precisamos nada mas, la idea es configurar cada cuanto tiempo queremos que se genere este flag en el RTC para asi poder despertar al micro.
No hay gran cosa sobre este componente
texas instruments tenian bastantes relojes
no me he mirado el pdf pero el "despertado" solo se puede hacer de forma externa? no tiene un contador interno?
Maxim tambien ofrece samples, lo mismo podriamos usar un mitico DS3231
Es una opcion. Es facil de soldar ese modulo, y en ebay esta a 1€ unidad aprox.
ark escribió:texas instruments tenian bastantes relojes
no me he mirado el pdf pero el "despertado" solo se puede hacer de forma externa? no tiene un contador interno?
Si quieres tener la palca dormida durante tiempos superiores a 2 segundos, necesitas de una RTC o algo que te genere una interrupcion. El DS que comentan, tiene un consumo muy reducido de uA
El tiempo maximo dormido, lo marcas con el WATCHDOG, con el Prescaler a tope, calculando el tiempo que tardara en saltar si no me confundo verdad? De eso los dos segundos, no tengo muy visto la frecuencia de trabajo del 876 y la configuracion del WD.
El DS3231 funciona bastante bien, y ya digo, a mi maxim me ha enviado Samples la semana pasada, lo que si el encapsulado es algo grande.
Si, en función de lo que comentas, puedes configurar el WD para varios valores, pero máximo 2 segundos con algo. Si quiero tener la placa dormida.... mas de ese tiempo, necesito de un RTC mínimo. Con esto puedes hacer que este dormido pues 1 min, 10 min, 10 horas, días, etc.
El chip es grande si.
grafisoft escribió:Si, en función de lo que comentas, puedes configurar el WD para varios valores, pero máximo 2 segundos con algo. Si quiero tener la placa dormida.... mas de ese tiempo, necesito de un RTC mínimo. Con esto puedes hacer que este dormido pues 1 min, 10 min, 10 horas, días, etc.
El chip es grande si.
Si, yo de lo que conozco que es el DS3231, tiene alarmas configurables y demas. Muy util.
Si nos vamos a otras familias ni idea, todo seria ojearlo, tanto TI, como MicroChip tendran, todo es analizar lo que interesa. Yo el unico problema que le veo al DS3231 es el tamaño.
La idea es ponerlo con su pila correspondiente?
Creo que no merece la pena poner la pila. Vale que si sacas la bateria pues te quedas sin hora, pero no cuesta nada configurarlo. La pila ocupa bastante y lo unico que hace es mantener la hora.
He pedido 3 unidades del DS3231, a ver si llega algo.
Si has pedido a MAXIM, en una semana lo tienes en casa
Si, ahí he pedido. También he pedido de microchip. Por tamaño, me gustaría mas las de microchip, pero a ver que se puede hacer, porque no hay casi info y habrá que hacer librerias y toda la pesca
El WD a tope son 2.3 segundos creo recordar. Pero no se os a ocurrido que si quieres dormir mas segundos puedes despertar y dormir tantas veces como haga falta para cubrir tiempos mayores? Es facil hacer eso y te ahorras componentes. Yo creo que componentes extra para esto solo tienen su funcion si planeas dormir tiempo largos y precisos, o cosas de reloj. Pero para esto no lo veo una necesidad.
Ademas despertar unos ciclos cada dos segundos no se puede considerar ni consumo. Se podria incluso mandar un latido para que el master sepa que esta ahi y no apagado.
Todo depende como lo enfoquemos, si queremos tener en todos los modulos la posibilidad de establecer el tiempo real, y decidir a que hora realizar una accion. O si queremos simplemente un bajo consumo.
Bueno la verdad es que despertarse y dormir varias veces no se puede considerar impreciso. Si nos ponemos tiquismiquis, los ciclos de reloj son fijos y las instrucciones que se ejecutan en despertar y comprobar si tiene que volver a dormir y dormir tb es fijo, y se puede calcular contando los bytecodes extra al compilar de ese codigo y sumarlo a los 2.3 segundos. O mandarle dormir 24h, viendo cuanto se ha retrasado y promedirarlo. Aunque seguro que es ridiculo y aproximadamente 0. En 7 horas no se retrasaria ni 100ms casi seguro, no he hecho las cuentas.
Eso se puede absorver perfectamente despertando el master un 1% de tiempo antes para escuchar.
El mayor problema es que aun no hemos enfocado como va a ser lo primordial, el entorno de uso, como vamos a enfocar el protocolo de comunicacion y demas. Despues ya se vera si hace falta un reloj o no, pero yo en como he entendido que funciona no lo veo primordial, aun aunque tenga que dormir tiempos mayores de 2 segundos.
Ten en cuenta Over, que si no precisas de RTC, lo puedes dejar sin soldar. No es obligatorio, y no se va a ofrecer el HW con todo soldado, pues se intentara dar cierta flexibilidad.
Una desventaja del WD es que se reinicia el micro, por lo que llevar una cuenta realmente no es muy factible, salvo que estes grabando en memoria todo el rato.
Recibidas las muestras del DS3231MZ+. Me ha llegado el encapsulado de 8 pines, y es pequeño, no es ese grandote, quedaria muy camuflado.
|