16bit DAC con 24bit SPI?

4

Mi diseño requiere un DAC de 16 bits con 100kS / s plus y comunicación SPI. Extrañamente para mí, los DAC de 16 bits más baratos que cumplen el requisito ( búsqueda paramétrica ) tiene una palabra SPI de 24 bits, como AD5662 ( pdf ) Estoy tratando de usar. Los 16 bits menos significativos son el valor de salida a actualizar y los 8 bits superiores son la configuración (solo 2 de los 8 se utilizan realmente). Este modo de operación es inconveniente para mi microcontrolador de 16 bits, ya que el ADC asociado en el diseño tiene una palabra SPI de 16 bits, ADC161S626 (pdf ). Esto significa que mi microcontrolador necesita escribir x3 paquetes de 8 bits en lugar de x1 de 16 bits.

¿Por qué los fabricantes hacen esto? ¿Cuál sería la mejor manera de realizar la comunicación?

Si tanto el DAC como el ADC fueran palabras SPI de 16 bits, podría leer y escribir al mismo tiempo sin tener que reconfigurar el módulo SPI y los datos en el microcontrolador.

    
pregunta A. Vieira

2 respuestas

6

Estás causando demasiados inconvenientes menores.

Primero, probablemente puedas hacer dos transferencias de 16 bits. El dispositivo responderá con ceros o basura en los 8 bits adicionales y los ignorará en su firmware.

Sin embargo, lo lógico es hacer tres transferencias de 8 bits. Seguramente tu micro puede configurarse para transferir fragmentos de 8 bits.

A 100 kS / s, tiene 10 µs por muestra. Ese es un tiempo "largo" para SPI que probablemente se puede sincronizar a 10 MHz (no verifiqué la hoja de datos, pero esa velocidad generalmente es compatible con dichos dispositivos). Cada bit por lo tanto toma 100 ns. Por lo tanto, la transferencia de 24 bits requiere 2.4 µs solo para los bits, más un poco de sobrecarga para seleccionar y deseleccionar el chip.

En general, debería poder transferir los datos necesarios en aproximadamente ¼ del tiempo disponible, ciertamente dentro de & frac13; El tiempo disponible.

No hay problema aquí. Solo tiene que diseñar el firmware por adelantado, teniendo en cuenta las características específicas de esta D / A.

¿Por qué los fabricantes hacen esto? Se utilizan dos bytes enteros para los datos. Usted mismo dijo que también se transmite cierto estado y configuración, por lo que obviamente toma al menos una parte de un byte más. La mayoría de los maestros SPI tienen hardware que transfiere bytes completos, por lo que documentan los bits adicionales como si estuvieran en un byte completo. Se dan cuenta correctamente de que esto no es realmente un gran problema para los escritores de firmware.

    
respondido por el Olin Lathrop
1

¿Por qué los fabricantes hacen esto?

Imposible responder, pero te ofrezco una conjetura. Creo que el problema es que está buscando el DAC incorrecto para su aplicación.

Lo ha seleccionado de la búsqueda paramétrica en función de la velocidad indicada, sin mirar la hoja de datos. Usted declara que necesita más de 100 kS / s. Bien, la hoja de datos dice que tienes un tiempo de ajuste de 10 µs, esto es más o menos en el mismo estadio.

Pero si observa la lista de aplicaciones y el resto de la hoja de datos, todo indica que este DAC se diseñó para baja frecuencia y precisión . ¡Ni siquiera mencionan el rango de frecuencia como una característica!

Por lo tanto, para las aplicaciones en las que está diseñado este DAC, el número de bits por muestra no importa en absoluto, ya que no se debe actualizar a una velocidad tan rápida. La simplicidad de un diseño sin estado en el que toda la información se transmite en una palabra supera la ganancia de rendimiento con 16 bits por transferencia.

    
respondido por el pipe

Lea otras preguntas en las etiquetas