home                             progetti                         Duke

 

 

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 un’idea 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 un’attenuazione  di -95,5 db. L’amplificazione 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 all’utilizzatore 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 l’uscita (SDATAo) del primo CS3310 con l’ingresso (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 l’ingresso 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 17 a 32).  Il valore nel Volume Control Register verrà cambiato per tutti gli integrati  sul fronte di salita  (rising edge) del pin CS . Nella figura seguente è riportato il collegamento appena descritto;  notare la resistenza da 47 k posta  tra i 2 circuiti: essa è dovuta  all’alta impedenza di SDATAo quando il pin CS  è a livello alto.

 

 

 

 

 

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 SULL’ACCENSIONE

All’accensione, 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 dell’alimentazione. 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