Estoy desarrollando un firmware USB de alta velocidad para STM32F746VG , y en la página 1411 (en la sección 37.16.3, paso 2), me dice que debo habilitar el inicio de las interrupciones de cuadro.
Sé que los hosts USB envían un paquete de inicio de cuadro una vez cada 125 uS en modo de alta velocidad, pero ¿por qué mi dispositivo debe preocuparse por los paquetes SOF, además del cronometraje? ¿Qué podría hacer en una rutina de servicio de interrupción que se activaría en cada inicio de paquete de trama?
Creo que el inicio original de la interrupción de cuadro de 1 ms (1 kHz) fue para dar a los dispositivos una sincronización económica pero precisa. La especificación de precisión en eso es bastante estricta.
Si no necesita sincronizar con precisión, o si tiene su propio cristal, entonces no necesita saber cuándo comienzan los marcos USB. El host inicia todas las transacciones, incluso cuando envía, por lo que su hardware y firmware sabrán cuándo hacer qué.
Creé un montón de dispositivos USB y hasta ahora no he usado la detección de inicio de fotogramas. Si está utilizando una biblioteca enlatada, entonces posiblemente la biblioteca use SOF para algún tiempo interno o para saber cuándo hacer el mantenimiento. Si los documentos de la biblioteca dicen que necesita SOF, entonces necesita SOF.
Eugenio Sh.
juan m
Eugenio Sh.