EO_501

ELETTRONICA OGGI 501 - APRILE 2022 52 Blocco di campionamento analogico Il blocco di campionamento analogico (Fig. 5) è responsabile della conversione da analogico a digitale. Affinché un’uscita di 100 kHz sia possibile, con i limiti di frequenza del dispositivo, l’ADCC è stato configurato per accumulare più campioni e poi effettuare una media per ottenere un risultato sovracampionato a 14 bit. Uno svantaggio di questo sovracampionamento è il rumore statistico aggiuntivo che va a sommarsi al risultato finale. Il rumore viene compensato calcolando la media del sovracampionamento e aggiungendo l’isteresi. Per implementare l’isteresi, viene utilizzata la funzione di interrupt di soglia dell’ADCC (per semplicità, verranno trattate solo le specifiche di come questo esempio utilizza la funzione di interrupt di soglia). Quando l’ADCC termina il calcolo del sovracampionamento medio, il valore risultante viene confrontato con un registro di setpoint nella periferica. Se la differenza tra i due dati è maggiore o minore delle soglie impostate, viene attivato un interrupt. La CPU maschera questo interrupt e non viene influenzata, tuttavia questo interrupt attiva una copia DMA (Direct Memory Access) del risultato medio di oversampling nel registro del setpoint dell’ADCC, che aggiorna il punto medio dell’isteresi. Se le soglie non vengono superate, questa copia DMA non verrà eseguita, per cui non attiverà l’aggiornamento del DMA del blocco oscillatore di uscita. Blocco oscillatore di uscita Il blocco oscillatore di uscita di questa soluzione (Fig. 6) è responsabile della generazione di un segnale di clock alla frequenza di uscita desiderata. Questo segnale di uscita è collegato internamente al generatore di duty cycle, che dimezza la frequenza in uscita ma crea un’uscita al 50% del duty cycle. Per questo motivo, il blocco oscillatore di Fig. 5 – Implementazione del blocco di campionamento analogico uscita funziona necessariamente al doppio della frequenza dell’uscita. Il nucleo centrale del blocco dell’oscillatore di uscita è costituito da un oscillatore a controllo numerico (NCO). La periferica NCO funziona aggiungendo un valore incrementale ad un accumulatore sul fronte di salita di un clock di ingresso. L’overflow dell’accumulatore viene utilizzato per derivare l’uscita della periferica. (Per la spiegazione completa sull’NCO, consulta la scheda tecnica.) In questo esempio, NCO2 è stato configurato per creare internamente la frequenza di clock di ingresso necessaria per ottenere un’uscita a 100 kHz da un ingresso a 14 bit. Viene utilizzato il risultato a 14 bit perché il risultato nativo a 12 bit dell’ADCC non è sufficientemente grande da generare l’uscita a 100 kHz senza una sorgente di clock esterna. Nella tabella 1 sono riportate le uscite ideale del convertitore V/F a 100 kHz con watchdog spento. Se la frequenza di uscita dell’NCO2 viene modificata o viene utilizzata una sorgente alternativa, la frequenza di uscita verrà scalata su un intervallo di uscita diverso. Ad esempio, se l’NCO2 viene ridotto a 1,28 MHz, l’uscita raggiunge il massimo a 10 kHz. Nella tabella 2 sono riportate uscite ideali del convertitore V/F a 10 kHz con watchdog spento. Fig. 6 – Struttura del blocco oscillatore di uscita Quando l'ADCC termina il calcolo del sovracampionamento medio, il valore risultante vie confrontato con un registro di setpoint nella periferica. Se la differenza tra i due dati è maggio o minore delle soglie impostate, viene attivato un interrupt. La CPU maschera questo interrup non viene influenzata, tuttavia questo interrupt attiva una copia DMA (Direct Memory Acce del risultato medio di oversampling nel registro del setpoint dell'ADCC, che aggiorna il pun medio dell'ister si. Se le soglie non vengono superate, questa copia DMA non verrà eseguita, p cui non attiverà l'aggiornamento del DMA del blocco oscillatore di uscita. Blocco oscillatore di uscita Il blocco oscillatore di uscita di questa soluzione (Fig. 6) è responsabile della generazione di seg ale di clock alla frequenza di uscita desiderata. Questo segnale di uscita è collega internamente al generatore di duty cycle, che dimezza la frequenza in uscita ma crea un'uscita 50% del duty cycle. Per questo motivo, il blocco oscillatore di uscita funziona necessariamente doppio della frequenza dell'uscita. Il ucleo centrale del bl cco dell'oscillatore di uscita è costituito da un oscillatore a control numerico (NCO). La periferica NCO funziona aggiungendo un valore incrementale ad accumulatore sul fronte di salita di un clock di ingresso. L'overflow dell'accumulatore vie utilizzato per derivare l'uscita della periferica. (Per la spiegazione completa sull’NCO, consulta scheda tecnica.) I quest esempio, NCO2 è stato configurato per r are inter amente la frequenza di clock ingresso necessaria per ottenere un'uscita a 100 kHz da un ingresso a 14 bit. Viene utilizzato risultato a 14 bit perché il risultato nativo a 12 bit dell'ADCC non è sufficientemente grande generare l'uscita a 100 kHz senza una sorgente di clock esterna. Nella tabella 1 sono riportate uscite ideale del convertitore V/F a 100 kHz con watchdog spento. Risultato ADC Output NCO1 (raddoppiato) Frequenza Output 0x0000 0 Hz 0 Hz 0x0001 12.2 Hz 6.1 Hz 0x0100 3.1 kHz 1.6 kHz 0x1000 50 kHz 25 kHz 0x3FFF 200 kHz 100 kHz Se la frequenza di uscita dell'NCO2 viene modificata o viene utilizzata una sorgente alternativ la frequenza di uscita verrà scalata su un intervallo di uscita diverso. Ad esempio, se l’NCO2 vie ridotto a 1,28 MHz, l'uscita raggiunge il massimo a 10 kHz. Nella tabella 2 sono riportate usci ideali del convertitore V/F a 10 kHz con watchdog spento. Risultato Frequenza Output NCO1 (raddoppiata) Frequenza Output 0x0000 0 Hz 0 Hz 0x0001 1.2 Hz 0.6 Hz 0x0100 312.5 Hz 156.3 Hz 0x1000 5 kHz 2.5 kHz 0x3FFF 20 kHz 10 kHz Tab. 1 – Uscite ideali del convertitore V/F a 100 kHz, con watchdog spento DIGITAL MCUS

RkJQdWJsaXNoZXIy Mzg4NjYz