1200 velocidad de transmisión UART a una velocidad de reloj de 9 kHz [cerrado]

0

Acabo de hacer los cálculos y con el reloj interno del ATMega328. La frecuencia de reloj más baja que podría usar para tener una velocidad de 1200 Baudios es 9.6kHz.

Desafortunadamente, necesito estar por debajo de 9kHz.

¿Hay algún micro que pueda impulsar una velocidad de 1200 baudios a 9.000kHz?

    
pregunta DarthRubik

1 respuesta

2

Conceptualmente sí, pero en términos de abastecimiento, probablemente no, y de todos modos, el abastecimiento es una pregunta de compras fuera de tema.

Pero para explicar el problema conceptual, la ruta receive de un UART normalmente funciona mediante oversampling en lugar de hacerlo mediante la recuperación del reloj. Sus cálculos suponen un exceso de muestreo de 8x, que es el más bajo de los dos valores utilizados normalmente de 8x y 16x.

Sin embargo, la ruta de transmisión no requiere mucho de muestreo excesivo, ya que es fundamentalmente libre para dictar su propia temporización; no está tratando de detectar la temporización del otro extremo de la manera en que lo hace un receptor. Tener un reloj de 2 veces la velocidad de transmisión podría ser conveniente, y probablemente se requiera que la velocidad de reloj sea un múltiplo entero de la velocidad de transmisión, pero no es necesario que sea 8 veces. 2.4 KHz probablemente funcione conceptualmente.

Sin embargo, es posible que no encuentre un IC estándar con esta capacidad. Debe ser posible una implementación personalizada en un FPGA o CPLD grande.

También podría ser posible construir un receptor basado en FPGA usando 7x en lugar de 8x sobremuestreo.

También puede considerar si un receptor dado configurado para 1200 baudios podría tolerar una velocidad en baudios de 1125 (9 KHz / 8). Dejar caer la velocidad de transmisión efectiva incluso por debajo de la desviación deseada podría ser una prueba útil.

Mediante una manipulación cuidadosa de los patrones de datos, también podría ser posible (ab) usar un motor SPI para transmitir una forma de onda de datos compatible con UART a una fracción más cercana de su velocidad de reloj, aunque probablemente necesite ejecutarla modo superior a 8 bits.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas