Con respecto a la velocidad de la CPU requerida para las aplicaciones USB

2

Estoy trabajando en un proyecto para desarrollar un teclado USB, soy nuevo en el protocolo USB y realicé un estudio inicial sobre los aspectos básicos de la transmisión de datos a través de USB.

Ahora estoy comprobando los microcontroladores compatibles con USB necesarios para mi aplicación y cualquier kit de desarrollo asociado.

Mientras revisaba algunos, vine a través del teclado USB con Teensy, que usa un microcontrolador AT90USB162-16AU que tiene una velocidad de CPU de 16MHz como máximo.

¿Pero para USB no es la velocidad de reloj requerida de 48MHz?

¿Qué me estoy perdiendo aquí?

    
pregunta Akpt0

3 respuestas

7

El USB en el AT90USB162-16AU tiene su propio circuito de reloj. El reloj USB de 48 MHz se genera con un bucle de fase bloqueada (PLL) en el chip. En este caso, el PLL siempre multiplica su entrada por 6. Por lo tanto, el registro del reloj del PLL debe programarse por software para generar un reloj de 8 MHz en la entrada del PLL como se muestra a continuación:

Entonces, si se usa un cristal de 8 MHz, el prescaler de reloj PLL se establece para dividir entre 1. Si se usa un cristal de 16 MHz, el prescaler de reloj PLL se establece para dividir entre 2. En cualquier caso, la entrada al PLL es 8 MHz y la salida es 48 MHz.

Uno no debe usar el reloj RC de 8 MHz interno al hacer USB, ya que no será lo suficientemente preciso.

    
respondido por el tcrosley
0

USB es un protocolo asíncrono. Cada nodo tiene su propio reloj local y muestra el bus en busca de transiciones de señal. Por confiabilidad, el muestreo se realiza típicamente a 4-5 veces la tasa de bits real. La velocidad máxima del USB es de 12 Mbps, por lo que necesita un reloj de alta precisión de 48 o 60 MHz para el muestreo. Sin embargo, el resto del sistema no tiene que funcionar a esa velocidad. Es posible tener un PLL solo para USB que se alimente directamente a la lógica de muestreo. Esto permite que la CPU y otros periféricos se ejecuten a una frecuencia más baja o más alta.

    
respondido por el Adam Haun
-1

48Mhz no es necesario para USB, V-USB tiene USB de baja velocidad en el software que usa un reloj de 12Mhz, para un teclado que probablemente sea suficiente, a menos que sea un realmente buen mecanógrafo.

    
respondido por el Jasen

Lea otras preguntas en las etiquetas