Esistono diversi circuiti divisori di clock, ma GreenPAK di Renesas è l’unico prodotto che consente la divisione del clock come parte del flusso di elaborazione nei sistemi a segnale misto.
La divisione di clock compare nei sistemi a segnale misto per molte ragioni. Ad esempio, un oscillatore o una sorgente di riferimento deve in genere servire più domini temporali con larghezze di banda, tolleranza al rumore di fase e requisiti di posizionamento dei fronti differenti. Un microcontrollore può richiedere un ingresso di temporizzazione a bassa frequenza, un ADC può richiedere un clock di campionamento pulito e un anello di controllo può richiedere uno strobe periodico o un riferimento di confronto. La divisione di clock viene utilizzata in base al duty cycle richiesto, al jitter additivo, alla simmetria dei fronti, ai vincoli di instradamento e persino alla quantità di rumore di commutazione digitale che viene iniettata nei circuiti analogici vicini.
Gli esempi seguenti illustrano le scelte circuitali e dei componenti più comuni usate per implementare la divisione di clock. Alcune sono semplici logiche a livello di scheda, mentre altre sono integrate nella logica programmabile o nelle periferiche timer, sebbene possano essere realizzate anche con componenti discreti. In molte applicazioni embedded che coinvolgono l’elaborazione del segnale, o in cui a segnali analogici vengono applicate condizioni logiche, l’implementazione in logica digitale è la soluzione più sensata
Il circuito divisore più pulito resta lo stadio toggle divide-by-2 realizzato con un flip-flop D. L’implementazione è semplice ed è mostrata di seguito. Questo produce un’uscita con duty cycle del 50% e un posizionamento dei fronti deterministico rispetto all’ingresso, assumendo che i requisiti temporali siano soddisfatti. Per i progetti mixed-signal a livello di scheda, questa è un’ottima opzione quando l’obiettivo è creare un clock locale a metà frequenza con profondità logica minima e comportamento prevedibile.
Questo produce un’uscita a onda quadra quando il clock sorgente è stabile, oppure a partire da un segnale analogico sottoposto a soglia (con un comparatore). Questo circuito è particolarmente utile quando il rapporto di divisione è esattamente 2 o una piccola potenza di 2 (richiede il collegamento in cascata), e l’uscita deve mantenere un buon comportamento. Viene comunemente usato a monte della logica di controllo del serializer, di macchine a stati locali o della temporizzazione di interfacce digitali, dove è sufficiente un riferimento a metà frequenza. Si noti che il collegamento in cascata per ottenere potenze di 2 comporta un accumulo del ritardo di propagazione, che alle alte frequenze di clock può influire sullo skew rispetto ad altri segnali.
I componenti tipici che possono essere utilizzati sono:
Una semplice divisione di clock può essere eseguita con un DFF. Il collegamento in cascata consente la divisione per potenze di 2.
Quando il rapporto di divisione richiesto è maggiore di 2, l’implementazione standard è un contatore sincrono con un bit di uscita usato direttamente oppure con un conteggio terminale decodificato usato per resettare il contatore. Un bit di uscita di un contatore binario fornisce un risultato pulito di divisione per 4, per 8 o per 16 con circuiteria aggiuntiva minima. Un rapporto che non è una potenza di 2, come divisione per 3, per 5 o per 10, richiede in genere la decodifica del conteggio e un registro di uscita, se il risultato deve comportarsi come un vero clock.
Per i progetti mixed-signal, l’approccio a contatore è interessante perché è compatto e facile da implementare in logica, dispositivi programmabili e alcune periferiche timer. Il limite emerge quando un impulso di conteggio terminale decodificato viene trattato come un clock distribuito. Le uscite di conteggio terminale sono impulsi stretti, a meno che una logica aggiuntiva non ricostruisca un’uscita a onda quadra. Questa distinzione è importante quando il segnale diviso alimenta convertitori, clock di interfaccia o qualsiasi elemento sensibile al duty cycle.
Divisione di clock basata su contatore con un comparatore.
Un clock diviso per 10 per un’interfaccia a bassa velocità è un esempio tipico. Un contatore decadico da solo può generare il rapporto corretto, ma il formato dell’uscita determina se il risultato è utile. Per uno strobe periodico, può essere sufficiente un impulso di conteggio terminale. Per un dispositivo a valle che si aspetta un ingresso di temporizzazione a onda quadra, aggiungere un registro di uscita o uno stadio toggle e verificare il duty cycle risultante.
Le divisioni dispari sono il punto in cui i progetti semplici si complicano. Un’uscita divide-by-3 presa direttamente dalla decodifica del contatore spesso ha un duty cycle basso. Se un dispositivo a valle si aspetta qualcosa di più vicino al 50%, un metodo diverso potrebbe essere:
Un’implementazione pratica divide-by-3 potrebbe contare tre fronti di ingresso e usare un secondo registro per ricostruire una forma d’onda che resta alta per 1,5 cicli e bassa per 1,5 cicli. Questo è comune nella logica di generazione del clock ASIC/FPGA, ma meno comune nella semplice logica a livello di scheda perché aggiunge complessità temporale.
Un phase-locked loop (PLL) può agire come divisore anche quando l’uscita rimane allineata in fase all’ingresso. Questo è uno dei metodi più utili quando il clock diviso deve avere fase controllata e basso skew rispetto alla sorgente. Un PLL può dividere mantenendo una relazione definita con il riferimento, e molti dispositivi consentono moltiplicazione e divisione simultanee, così da generare più frequenze correlate da un’unica sorgente.
Questa classe di soluzione appartiene ai progetti in cui la qualità del clock è il fattore più importante. È più complessa di un semplice divisore logico, ma i vantaggi sono duty cycle controllato, skew inferiore su più uscite e migliore integrazione con l’instradamento dell’albero di clock. Riduce inoltre la tentazione di costruire un percorso di temporizzazione sensibile all’analogico a partire da logica a contatore improvvisata collocata accanto a regioni rumorose di commutazione digitale.
In molti sistemi, un divisore di clock è semplicemente una periferica timer. In un’applicazione embedded su MCU è possibile generare un clock arbitrario senza configurare manualmente circuiti divisori con flip-flop. In una FPGA, il punto corretto in cui dividere i clock è di solito all’interno delle risorse di clocking dedicate piuttosto che nella logica generale, anche se ciò può essere fatto con flip-flop come parte di un flusso di processo o di un algoritmo, invece di utilizzare le risorse di clocking integrate nel chip.
|
Caratteristica |
Implementazione MCU |
Implementazione FPGA |
|---|---|---|
|
Risorsa principale |
Periferiche timer/contatore |
Clock manager (PLL/MMCM) |
|
Configurazione |
Prescaler e registri di periodo |
Blocchi di clocking dedicati |
|
Segnale di uscita |
Singola uscita usata dalle periferiche |
Instradamento ad albero di clock a basso skew |
|
Caso d’uso migliore |
PWM a bassa velocità o periferiche |
Logica sincrona ad alta velocità |
Questo fornisce un’uscita a onda quadra derivata dal clock principale del sistema. È comodo, ma non sempre equivale a un albero di clock dedicato a basso skew. In genere va bene per periferiche a bassa velocità, generazione PWM o segnali di temporizzazione esterni. Questa è la scelta giusta quando il risultato diviso deve comportarsi come un vero clock all’interno della logica programmabile, piuttosto che come un semplice impulso di abilitazione più lento.
I dispositivi Renesas GreenPAK colmano il divario tra la logica a funzione fissa e le piattaforme programmabili più grandi, integrando oscillatori, macrocelle CNT/DLY, flip-flop D e LUT insieme a un’interfaccia analogica programmabile. Questo rende questi processori mixed-signal completamente programmabili e riconfigurabili al volo, con applicazioni come funzioni di controllo locali, ad esempio temporizzazione di avvio, debounce e qualificazione degli impulsi.
Il SLG46537V è un esempio del portafoglio prodotti GreenPAK che consente l’implementazione della divisione di clock insieme a numerose funzioni standard di logica ed elaborazione analogica. Il diagramma a blocchi seguente mostra le funzionalità analogiche disponibili con comparatori per l’elaborazione di segnali analogici e macrocelle interne per applicare condizioni logiche agli ingressi analogici convertiti.

Diagramma a blocchi SLG46537V
Gli strumenti di sviluppo di Renesas GreenPAK offrono ai progettisti la possibilità di sviluppare IC digitali, analogici o mixed-signal completamente personalizzati. Questi processori mixed-signal programmabili consentono di consolidare le funzioni presenti nei circuiti di gestione del clock e del segnale, permettendo sistemi più piccoli ed efficienti. Per saperne di più, dai un’occhiata ai componenti GreenPAK e agli esempi di riferimento.
Che tu debba realizzare elettronica di potenza affidabile o sistemi digitali avanzati, usa l’insieme completo di funzionalità di progettazione PCB e strumenti CAD di livello mondiale offerti da Altium per implementare le tue soluzioni GreenPAK. Altium fornisce la principale piattaforma al mondo per lo sviluppo di prodotti elettronici, completa dei migliori strumenti del settore per la progettazione PCB e di funzionalità di collaborazione interdisciplinare per team di progettazione avanzati. Contatta oggi stesso un esperto Altium!