5 votos

Exactitud de jitter en microsegundos: ¿qué usar?

Tengo cuatro señales de nivel TTL que deben cambiar de estado en un orden determinado.

A partir de la señal "ir" en una de las líneas, la alternancia de las otras líneas se hará dentro de los 100 dólares. Los otros tres señales de alterna a lo más un par de veces. El inicio, finalización y duración de entre el cambio de estado que estos otros tres señales de alterna varía dependiendo de la métrica en el sistema y que se sepa bien antes de que la señal se produce. Pero el tiempo es variable, de forma que la secuencia de pulsos y su duración deben ser programables. El tiempo y la duración es conocido antes de que se inicia la secuencia.

He aquí el problema, necesito sub microsegundo jitter exactitud. Los 120 MHz BRAZO micro que estoy usando no puede garantizar tal determinista de la sincronización de perfiles debido a la canalización y un anfitrión de otros para mejorar el rendimiento de las razones. Podemos hacer nuestro mejor esfuerzo para diseñar el sistema para minimizar el jitter, pero quiero saber si el uso de un micro más rápido o DSPs o CPLD, Amigos, etc. son una forma típica para obtener la exactitud y la resolución que estoy buscando.

En el pasado con un micro de 8 bits funcionando a 8 MHz con una instrucción por ciclo de reloj podría escribir algunos ensamblador, poner el micro a dormir, despertar en la interrupción, el recuento de algunos ciclos de reloj y han 0.25 nos precisión

¿Qué tecnología necesito investigar para lograr esta resolución y precisión?

15voto

RelaXNow Puntos 1164

No está claro qué es exactamente las señales que se necesita para generar, y de su tiempo en relación a las señales de entrada.

Sin embargo, 250 ns no es realmente tan difícil de lograr con algo parecido a una serie EP dsPIC, por ejemplo. En 70 MHz instrucción de la tasa, que le da a 17 de la instrucción de los ciclos de fluctuación permisible. Eso es un montón.

Tener su señal de entrada causar una interrupción, entonces la generación de las señales de salida fija de instrucciones de temporización le dé mucho menos de 17 ciclos de fluctuación. Sería aún mejor si la señal de entrada puede desencadenar un generador de PWM o similares. Pero, usted no ha dado suficiente información acerca de la naturaleza de las señales de salida para saber si el hardware específico disponibles en dichos micros sería aplicable.

6voto

Neil Foley Puntos 1313

Por lo general, usted puede conseguir este tipo de tiempo real, mientras que la salida no depende de software/interrupts. Es decir, los pines no se establece a partir de un informe de búsqueda internacional o similar, en cuyo caso usted tendrá microsegundo de jitter. Latencia de interrupción puede ser estático de un tiempo, pero no cuento con ella, en caso de que más de una interrupción de los incendios a la vez, etc.

Usted puede ser capaz de resolver este con la salida de comparar la función del temporizador de hardware. Es decir, todos los pines se establece cuando un timer, como por ejemplo, cuando el uso de PWM. Esto a menudo puede ser hecho con el sistema de reloj o el reloj del sistema/2 precisión. Otras alternativas son DMA, si se admite para los específicos de los pines.

Esto puede llegar a 50-100 ns a algún lugar donde usted va a estar a la merced de la analógicas características de los pines.

Y luego, por supuesto, usted no será capaz de obtener la mejor precisión de su oscilador permite. Ciertamente no se puede utilizar algunos integrado oscilador RC, pero sin necesidad de utilizar una alta precisión de cristal u oscilador externo.

5voto

Dan Mills Puntos 381

DMA y un temporizador?

¿Un par de buses SPI y solo usa los pines de datos (posiblemente de nuevo con DMA si necesitas más de 32 intervalos de tiempo)?

Mi sensación es que deberías poder hacerlo si eliges tus pines IO correctamente y estás preparado para jugar algunos juegos de bajo nivel.

Tendría que pensar en eso, pero tal vez sea un error con la carga de un chip ram QSPI y luego marcar el patrón de bits utilizando un temporizador como el reloj.

10ns es territorio FPGA.

4voto

Mark0978 Puntos 495

Verifique si tiene temporizadores que puedan accionar múltiples pines, que generalmente se usan para el control del motor (generalmente 4 o 6, para puente H y trifásico respectivamente). En muchos casos, dichos temporizadores tienen registros de "precarga" que le permiten modificar sin problemas el período y el ciclo de trabajo, lo que significa que esencialmente puede generar una forma de onda arbitraria con ellos. Si se hace correctamente, estas formas de onda son precisas hasta la resolución del temporizador.

2voto

U85 Puntos 46

Tal vez algo como un PSOC Cypress con las células lógicas programables. Creo que Microchip tiene partes con capacidades similares. Son como microcontroladores con una funcionalidad FPGA pequeña y limitada que puedes personalizar. Parece que necesitará algún tipo de DMA o FPGA para cumplir con sus requisitos.

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