Recomendación para un simulador digital USB

4

Es cada vez más frecuente para mí tener un nuevo subsistema digital que quiero probar de forma aislada antes de intentar crear un circuito prototipo. He estado usando el analizador digital de Saleae para las entradas, lo cual es bastante útil, pero me pregunto si podría encontrar o construir su contraparte. Idealmente, sería un dispositivo para conectar un puerto USB, tendría muchas salidas digitales (digamos 20 o más) y vendría con un software que me permitiría hacer una reproducción de un archivo pregrabado, o generar la salida con un programa o script.

¿Alguien sabe acerca de un producto de este tipo, o tiene pautas para construir por mi cuenta?

    
pregunta fceconel

3 respuestas

3

El producto que está buscando es un generador de patrones digitales. Si bien este es excesivo para su especificación, es con el que estoy más familiarizado. Probablemente te costará alrededor de $ 12-20k para una configuración completa.

Básicamente, su configuración es un FPGA conectado a un grupo de RAM que controla 16 salidas lógicas. Es realmente elegante porque puede configurar la frecuencia y el voltaje de salida del módulo. Los módulos más baratos, lentos y menos flexibles deberían estar disponibles de otra persona.

    
respondido por el W5VO
1

Esto suena como una definición burda de un microcontrolador. Tiene GPIOs y puede obtener instrucciones de la memoria. Los requisitos de hardware se basan en lo siguiente:

  • memoria: ¿Cuánta reproducción necesita? El Salae utiliza muestras de 10 bits a hasta 24 MHz, o 30 MB / s (también el límite de USB 2.0 de un solo canal). Es posible que necesite módulos de memoria externos para admitir trazas largas. Esto se puede hacer directamente desde el USB, con una memoria mínima en la placa, y dependerá del ancho de banda USB de su computadora, como lo hace el Salae. Si está usando ambos a la vez, el controlador USB de su computadora puede llegar a su límite. No quisiera depender de esto.

  • Velocidad de E / S: producir múltiples patrones de 10 bits a 24 MHz no es una tarea fácil. Busque chips con muchos módulos de hardware PWM. Es posible que necesite utilizar varios chips PWM esclavos. Cuanto mayor sea la velocidad del reloj que la frecuencia PWM depende de la familia de chips.

  • ruido: en un sistema digital de 5 V, un LSB de 8 bits es aproximadamente 20 mV y un LSB de 10 bits es aproximadamente 5 mV. Para que estos bits sean efectivos, su nivel de ruido debe estar por debajo de eso. Esto será importante cuando se ejecuten tantos conductores paralelos, todos con señales digitales * de 24MHz. Aunque esta velocidad no es alta, puede tener > 20 mV interferencia si las trazas están acopladas. No creo que los controladores especiales (bipolares, etc.) o la protección EMI sean necesarios, simplemente espacíelos.

  • USB: busque soporte de hardware por USB, o vaya con un chip FDTI externo. También se puede hacer en el software, y es una opción al menos para M3s y XMOS, pero tenga en cuenta que reduce los segmentos de hilos para su recuperación de memoria PWM, etc., especialmente si se está utilizando para recuperar datos PWM de USB ( memoria limitada a bordo).

Las posibilidades incluyen la familia PIC24, XMOS y muchos de los miembros de la familia ARM. Hay algunas tablas paramétricas geniales por ahí: RS , Microchip . Valdría la pena conocer las diferencias entre las implementaciones de ARM para ver si uno hará todo.

Tenga en cuenta que es posible que también desee utilizar PWM de 8 bits, ya que podría reducir sus requisitos de hardware. * Sí, son analógicos, pero también son una grabación de una señal digital. Ojalá aparezcan así.

    
respondido por el tyblu
1

Puedes programar un Arduino con un boceto bastante básico para darte esta capacidad ... y puedes escribir una aplicación pequeña y elegante en C # para hacer la definición del patrón ... esa sería la imo más fácil. Eso debería costarle no más de $ 30 y un par de horas de tiempo libre :). Tal vez alguien ya lo haya hecho ...

    
respondido por el vicatcu

Lea otras preguntas en las etiquetas