AMBA Bus Architecture y sus relojes

1

Tengo pocas dudas sobre la arquitectura de bus AMBA y sus relojes

Estoy trabajando en Propriety SOC con documentos no detallados, el SOC se basa en ARM9 Architecture, que tiene periféricos conectados a través de AMBA2.0

Cada Periférico (digamos UART) necesita un reloj que se entrega después de realizar el preescalado y el escalado posterior a través de PLL y se alimenta al periférico respectivo, por lo que tenemos claro que necesitamos un reloj para que funcione un periférico

Dado que estos periféricos están conectados a través de un bus APB, cada uno tiene una entrada PCLK que está conectada al núcleo a través de la matriz

Ahora, mi duda es cómo APB master (el núcleo del brazo) está manejando el PCLK mientras que se generó a partir de un bloque separado. El generador de reloj APB, ¿PCLK es generado por el esclavo en contrario? ¿Funciona el periférico con PCLK?

si es posible, sugiéreme algunas referencias sobre AMBA en SOC basado en brazo

    
pregunta kakeh

1 respuesta

2

Debemos entender que la diferencia entre interface clock y functional clock APB clock es el interface clock Cada periférico recibe dos relojes: reloj de interfaz (o reloj de bus APB) y reloj funcional. El reloj de interfaz se utiliza para leer / escribir los registros del periférico. En otras palabras, su reloj de bus APB es necesario para leer / escribir sus registros UART para la programación. Por otro lado, el reloj funcional se utiliza para operar el periférico. Un UART envía / recibe datos cuando el reloj funcional está habilitado. En algunos casos, el reloj de función se deriva del reloj de interfaz, pero en la mayoría de los casos el reloj funcional se deriva de otra fuente de reloj. (La selección de la fuente del reloj es programable en la mayoría de los SoC). Para operar un periférico, necesitamos un reloj de interfaz (para programar los registros del periférico) y un reloj funcional. Durante el reposo, deshabilitamos el reloj de interfaz para el periférico. El reloj funcional puede o no ser desactivado durante el sueño dependiendo de los casos de uso.

Todos los relojes (interfaz y relojes funcionales) son generados por varios PLL dentro del módulo de generación de reloj. El núcleo ARM no genera ningún reloj.

    
respondido por el kakeh

Lea otras preguntas en las etiquetas