5 votos

El ADuC812 necesita que se escriba el valor del DAC dos veces. ¿Es esto normal/común?

Hace un tiempo tuve un proyecto que involucraba a Analog Devices Microconvertidor ADuC812 .

Entre el variado hardware de a bordo, el dispositivo contaba con dos convertidores DAC muy útiles, que podían suministrar 0-5V en sus respectivos pines e incluso mantener un amperaje respetable.

Sin embargo, había un problema. Aunque el manual decía que todo lo que había que hacer era escribir un valor específico en un registro concreto, y el voltaje correspondiente a ese valor aparecería en la salida, la realidad no era exactamente así de sencilla.

Una escritura podía mover el valor de la tensión en unos 3,5V. Si querías pasar de 0 a 5V tenías que realizar

 MOV DAC0H,#00fh
 MOV DAC0L,#0ffh

dos veces. (Invertir el orden no ayudaría.)

La primera escritura aumentaría el voltaje a unos 3 y pico voltios, y sólo la segunda lo llevaría al valor correcto. Si partía de 2V, alcanzaría el objetivo de 5V en una sola escritura. No es un gran problema, 4 ciclos en lugar de 2 para los saltos rápidos, ningún impacto para los "deslizamientos" suaves en absoluto, pero es una rareza.

Me gustaría preguntar a cualquiera que haya trabajado con ese chip: ¿es sólo un problema de mi chip o es común a todos los ADuC812? ¿Aparece en otros chips de la familia ADuC? ¿el 814, etc.?

Como extra, ¿podría alguien con conocimientos de electrónica explicar cómo ocurre eso? ¿Qué mecanismos internos pueden llevar a ese comportamiento?

0 votos

¿Estás seguro de que estás escribiendo los dos bytes a la vez? ¿Puedes mostrar la pieza de montaje?

0 votos

@Dzarda: Ahora bien, según recuerdo, había dos mitades del registro escritas por separado, pero aun así al mover DAC0H de 0 a f debería llevar el voltaje a unos 4,68V, y el voltaje no se acercó a 4.

0 votos

¿Cómo tiene configurado el DACCON?

4voto

shash Puntos 668

La hoja de datos sugiere que el bit 2 del SFR de DACCON (SYNC) debe ponerse a 1 para que la actualización se produzca tan pronto como se escriba DACXL. En tus comentarios parece que lo tienes puesto a 0. 1 debería ser el valor por defecto. La tabla de la página 21 indica que puedes usar el bit de sincronización para cambiar simultáneamente varios DACs cargando todos los registros cuando SYNC = 0, y luego poner SYNC a 1.

0 votos

...entonces, cuando SYNC es 0, y cargo los registros, ¿qué se supone que sucede? (lo que en realidad sucede es que el voltaje va a alguna parte hacia el que se da).

0 votos

Por lo que sé, no debería pasar nada hasta que SYNC se ponga a 1 -- lo que significa que no puedo explicar por qué escribir el valor dos veces provoca una actualización sin leer mucho más sobre el dispositivo. He editado tu pregunta con un enlace de la hoja de datos a analog.com/static/imported-files/data_sheets/ADUC812.pdf pero está pendiente de aprobación. Le interesará la página 21.

1 votos

De ahí parece que los DACs tienen tres interruptores de "desactivación" diferentes: Power, force 0V, SYNC.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X