Alcuni progetti presentati sono basati sul CS3310 : vediamo da vicino questo circuito integrato !
NB. Le informazioni di seguito riportate sono una parziale traduzione dal data sheet, senza avere però la pretesa di sostituirlo. Permettono di conoscere il CS3310 nelle sue funzioni principali, e di averne unidea di massima sul funzionamento.
E evidente che la regola è costituita dal data sheet scaricabile QUI , ed al quale bisogna fare riferimento anche per le figure!
DESCRIZIONE GENERALE
Il circuito integrato CS3310 è un completo controllo digitale di volume, in versione stereo, progettato in maniera specifica per apparecchiature audio. Il livello dei canali sinistro e destro viene controllato da una parola di 16 bit seriale; i primi 8 bit controllano il canale destro, e i restanti 8 bit il canale sinistro. La costruzione permette di ottenere una risoluzione di 0,5 db, con unattenuazione di -95,5 db. Lamplificazione può fornire un guadagno di 31,5,db, in passi di 0,5 db.- Da ciò si deduce che il range di azione di questo integrato è di ben127 db !.
Il CS3310 è alimentato con tensione duale di + e 5v, ed accetta segnali in ingresso fino a 3,75 v. Una volta attivo, può essere messo in condizione di mute tramite il pin MUTE (attivo basso), oppure scrivendo 00000000 nel registro di controllo (Volume Control Registers).- Può essere pilotato con un semplice bus a tre fili, con dati di 16 bit. Può essere utilizzato in configurazione daisy chain.
SERIAL DATA INTERFACE
Il CS3310 ha una semplice interfaccia seriale, che consiste di fatto in 3 ingressi : SDATAi , serial data input; SCLK, serial data clock; CS, circuit select.- Inoltre, il pin SDATAo , serial data output, permette allutilizzatore di leggere il volume impostato, o di poter pilotare più integrati CS3310 grazie al collegamento daisy chain.
Il bit di dati che viene spedito al CS3310 deve essere del tipo MSB (cioè, il primo bit deve essere il più significativo), e viene trasferito nel CS3310 durante il fronte di salita del clock; il pin CS deve essere allo stato basso. I valore del volume precedentemente presente nel Volume Control Register, viene portato fuori dal CS3310 durante il fronte di discesa del clock, sul pin SDATAo. Questo dato può essere usato per leggere il valore di guadagno/attenuazione, o per pilotare il CS3310 seguente. E evidente che il collegamento in daisy chain semplifica molto il lavoro, quando si debbano controllare più livelli di volume.
Utilizzando un solo CS3310, il volume dei 2 canali si imposta con 16 bit, tenendo il pin CS allo stato basso per 16 impulsi di clock; questo dato viene bloccato (latched) dal fronte di salita sul pin CS . Il precedente contenuto del Volume Control Register viene trasferito sul pin SDATAo in questa fase.
Circuiti con più CS3310 possono essere realizzati collegando luscita (SDATAo) del primo CS3310
con lingresso (SDATAi) del seguente CS3310. In questo modo possono venir controllati
i valori di volume di più integrati utilizzando
una sola linea seriale di dati, evitando complicati schemi elettrici. Il volume viene controllato tenendo lingresso
CS basso per un numero di impulsi di clock pari a : 16 x N , dove N è il numero di CS3310 nella catena . I primi 16 bit caricati nel primo
CS3310 durante i primi 16 impulsi di clock, verranno trasferiti nel seguente CS3310 durante gli impulsi di clock
successivi (cioè da
MUTE
La funzione di Mute può essere attivata sia in maniera hardware che software . In maniera hardware si agisce sul pin MUTE , ponendo a livello basso questo ingresso.- Via software, invece, basta caricare tutti 0 nel Volume Control Register . Un modo di ottenere un muting più morbido consiste nel caricare in sequenza, dal valore di volume attuale, dei valori sempre più bassi, fino ad ottenere tutti 0.
CONSIDERAZIONI SULLACCENSIONE
Allaccensione, il pin MUTE dovrebbe essere settato allo stato basso , per iniziare la sequenza di accensione. Questa operazione provvede a settare a 0 il valore nel Volume Control Register. Il CS3310 dovrebbe restare muto fino alla completa stabilizzazione dellalimentazione. Internamente al CS3310 è presente uno stadio di reset, che richiede un tempo di circa 100uS per stabilizzarsi, e in questo breve periodo verrà ignorato qualsiasi dato eventualmente spedito dal controller.
FARE RIFERIMENTO ALLE FIGURE PRESENTI SUL DATA-SHEET