¿Cómo puedo controlar correctamente las entradas CS y R / W del convertidor de digital a analógico DAC7821?

0

Estoy usando DAC7821 en modo unipolar. La hoja de datos proporciona requisitos de tiempo específicos para la conversión D / A como se ve a continuación:

Simplemente ignoré esta información y apliqué la misma señal de reloj (1 MHz) a las entradas CS y R / W que también utilizo para actualizar los datos digitales. Funcionó, la conversión fue impecable. Sin embargo, me pregunto si hay algún método estándar para controlar dichos convertidores D / A, además de simplemente aplicar la misma señal de reloj a los pines CS y R / W.

    
pregunta

1 respuesta

2

Una mejor forma de ver los dos pines es que CS es el reloj y R / W es un modo seleccionado. O viceversa, de cualquier manera funcionará. En su caso, puede salirse con la suya porque t1 y t2 son cero. Esto no es necesariamente cierto para todos los dispositivos que utilizan este enfoque. En realidad, es una terminología tomada de la operación de RAM estática. Dentro de este grupo más grande, se pueden usar 2 enfoques generales: CS controlado y R / W controlado. Puede usar la CS para seleccionar uno de una serie de dispositivos decodificando las direcciones de bus, y cuando esto se haya solucionado, aplique un pulso de escritura en la línea R / W. O puede establecer la línea de escritura baja y proporcionar un pulso CS. Se puede hacer de cualquier manera, siempre y cuando las dos líneas sean bajas durante algún tiempo de superposición, y los datos de entrada sean estables cuando ocurra la primera transición a alta.

O, por supuesto, puedes unirlos como lo has hecho. En su caso, debe tener en cuenta que, aunque probablemente no pueda verlo, cuando cambie los datos de entrada D / A, es posible que obtenga salidas espurias. Depende exactamente de cómo esté suministrando los datos. Digamos que proporciona datos nuevos, pero los bits no cambian exactamente al mismo tiempo. Esto es en realidad un fenómeno bien conocido llamado sesgo. Si el borde de un reloj llega justo en el momento equivocado, tomará algunos bits nuevos y algunos bits antiguos, y el resultado será (desde su punto de vista) incorrecto. Por supuesto, con un reloj de 1 MHz, esta salida errónea solo durará 1 microsegundo, por lo que probablemente no lo notará, pero está ahí.

Incluso si se asegura de que todos los bits de datos cambien exactamente al mismo tiempo (que, tradicionalmente, es para lo que se usan los registros), no está fuera de peligro. Tenga en cuenta t4 y t5. No son cero, y no son lo mismo. Digamos que utiliza un registro para realizar la transición de los datos antiguos a los nuevos, pero todos los datos cambian 3 nseg antes del borde ascendente de su reloj. Dependiendo de cómo lo veas, has violado tu tiempo de configuración o de espera y, en cualquier caso, la salida que obtienes puede ser mala.

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas