Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

[CDYE] DDS

Progettazione collaborativa: dall'idea alla formazione del gruppo di lavoro per la realizzazione di un prodotto finito.

Moderatore: Foto Utentebrabus

5
voti

[1] [CDYE] DDS

Messaggioda Foto Utentetazzo » 17 nov 2013, 22:51

Volevo aprire una discussione riguardo alla realizzazione di un generatore arbitrario di funzioni basato su DDS di cui ha anche parlato brabus.

Inizio scrivendo qualche specifica dello strumento:
- Onde quadre e sinusoidali fino a 20 MHz
- Onde triangolari e personalizzate ad una frequenza minore
- Impedenza di uscita 50 ohm, lo standard degli strumenti da banco
- Tensione di uscita da 0 a 3-3.3V (tensione duale +/-3.3V da valutare)
- Interfaccia tramite sw lato PC ed alimentazione USB
- Modulazioni AM, OOK, ... (altre da definire)
- BOM contenuto

Il progetto si può dividere in:
- Sezione alimentazione
- Sezione digitale (microcontrollore / ic dds)
- Sezione analogica (filtro e amplificazione)

Avendo svolto un progetto simile precedentemente a breve pubblicherò delle informazioni basate sulla mia esperienza che possono rilevarsi utili
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

4
voti

[2] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 0:06

Sezione alimentazione

Il bus USB offre 5V +/- 5% e massimo 100mA prima della negoziazione col microcontrollore, dopodiché è possibile ottenere fino a 500mA

La sezione di alimentazione deve derivare dall'alimentazione USB le seguenti tensioni stabilizzate:
+3.3V per il microcontrollore e l'IC DDS
+/-5V per poter amplificare senza avvicinarsi ai rail di alimentazione un segnale finale di +/- 3.3v

La parte critica di questa sezione è rispettare le specifiche USB (es. carico capacitivo 10uF) e fornire un'alimentazione stabilizzata priva di spurie.

Sezione digitale (microcontrollore / ic dds)

Il chip DDS è l'AD9834 http://www.analog.com/en/digital-to-analog-converters/direct-digital-synthesis-dds/ad9834/products/product.html, in grado di soddisfare tutti i requisiti iniziali e dotato di costo ridotto.

Il micro-controllore dovrebbe essere dotato di due DAC.
1 DAC per poter regolare l'ampiezza del segnale in uscita grazie al pin FS ADJUST del DDS
1 DAC per poter generare segnali arbitrari direttamente dal micro-controllore

Sarei propenso ad utilizzare un Atmel XMega http://www.atmel.com/products/microcontrollers/avr/avr_xmega.aspx con USB e DAC (es. un micro della serie AU), cosa ne pensate?

Sezione analogica (filtro e amplificazione)

La questione è leggermente complicata

Con un unico filtro impostato leggermente oltre la frequenza massima (fMax) è possibile evitare l'attenuazione della fmax ma tale valore non sarà ideale ad esempio per fmax/10, un eventuale sistema di relé per segnali può permettere un architettura con più filtri per ottimizzare il filtraggio del segnale

Il singolo filtro viste le frequenza può essere solamente di tipo LC di grado elevato e dovrà tenere conto dell'impedenza di uscita del DDS. La scelta degli induttori è critica, induttori SMD seppur economici e compatti non presentano un Q elevato per le frequenze più alte, induttori toroidali (esempio nucleo T50-2) presentano una scelta migliore.

Per quanto riguarda l'amplificazione i 0.6V in uscita al DDS dovranno essere amplificati in modo possibilmente omogeneo a tutte le frequenze di 5.5 volte per ottenere una tensione massima di 3.3V.
L'amplificazione servirà anche in corrente, per ottenere un'impedenza di 50 ohm saranno necessari amplificatori in grado di erogare almeno 3.3/50=66mA
L'op-amp LMH6612 http://www.ti.com/product/lmh6612 si presenta come un buon candidato

Importante

Le specifiche così come le note di questo post sono in discussione, quindi proponete le vostre idee e osservazioni
Ultima modifica di Foto Utentetazzo il 18 nov 2013, 0:23, modificato 2 volte in totale.
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

4
voti

[3] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 0:15

Il progetto si può suddividere ancora in..

Sezione software

Composta dal firmware e dal software lato PC.
Lato firmware la scelta sarà dipendente dal micro-controllore scelto.

La Atmel dispone del framework ASF per semplificare lo sviluppo.

Lato PC propongo di utilizzare principalmente C# e WPF per realizzare un front-end in grado di:

- Impostare i parametri relativi alla generazione di forme d'onda visualizzandone un'anteprima a schermo
- Trasmettere eventuali file (es. audio) da modulare sul DDS
- Fornire un'interfaccia API utilizzabile da altri programmi
- Fornire un'ambiente di scripting
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

4
voti

[4] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 0:36

Tools

Per poter collaborare bisogna utilizzare alcuni strumenti, propongo:

Schemi e Board: Eagle 6+
Firmware: Atmel Studio 6+ (se scelto il microcontrollore Atmel)
Software: Visual Studio 2010+ (versione Express gratuita)
Simulatore: TINA (versione TI gratuita)

Per lo sviluppo ci si può avvalere di un repository gratuito come CodePlex / GitHub / etc.. da decidere
Ultima modifica di Foto Utentetazzo il 18 nov 2013, 0:49, modificato 1 volta in totale.
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

4
voti

[5] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 0:43

Sezione meccanica

In questa sezione non ho grande esperienza ma non per questo è meno importante, definire l'aspetto fisico dell'oggetto e i materiali da utilizzare per il case, con un occhio sui costi ed eventuali soluzioni DIY per chi volesse cimentarsi nella costruzione.

Pensavo semplicemente ad un piccolo parallelepipedo di economica plastica ABS con un foro per il connettore USB (B o Mini-B per contenere i costi rispetto al Micro-B?) ed un foro per i connettori BNC.
Probabilmente esistono case commerciali con queste caratteristiche o molto simili, a cui eventualmente vincolare la dimensione del PCB se non si vuole realizzare un contenitore ad-hoc per il progetto.
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

2
voti

[6] Re: [CDYE] DDS

Messaggioda Foto UtentePietroBaima » 18 nov 2013, 0:47

che progetto tazzuto!

Se il CDTC (Crowd Design Technical Core :mrgreen: ) raccoglierà il design ticket (oggi mi spreco in anglicismi :D ) servirà fare delle squadre e organizzarsi molto bene e bisognerà aprire diverse sezioni di sviluppo.

Progetto bello tosto.

Ciao,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[7] Re: [CDYE] DDS

Messaggioda Foto Utentebrabus » 18 nov 2013, 1:05

Fatty's in! :mrgreen:

Eccellente spiegazione Foto Utentetazzo, se vuoi abbiamo già la repository di ElectroYou su github, così puoi iniziare ad archiviare qualcosa.

In merito alla scelta del microcontrollore, chiamo in campo Foto UtenteTardoFreak, vediamo se il PIC18F47J53 (già impiegato nel PIERIN) può andar bene. :ok:

In merito al software di schematico e di sbroglio, per me Eagle va bene (già usato); domanda impertinente: conosci KiCad?

Per quanto riguarda la sezione RF analogica mi piacerebbe sentire il parere di Foto UtenteBrunoValente, Foto Utentecarloc, Foto UtenteDarwinNE, Foto UtenteEnChamade, Foto UtenteDirtyDeeds.
Se ho dimenticato qualcuno estendete l'invito!

Per la meccanica, che ne dici delle scatoline della Hammond? :roll: Sono semplicemente p-e-r-f-e-t-t-e... :ok:

Oh, io lo do per scontato: facciamo fare i PCB da OSHPark vero? ;-)

Grazie per la collaborazione! Ciao a presto!
Alberto.
Avatar utente
Foto Utentebrabus
22,2k 4 11 13
G.Master EY
G.Master EY
 
Messaggi: 3146
Iscritto il: 26 gen 2009, 15:16

1
voti

[8] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 1:56

Eccellente spiegazione tazzo, se vuoi abbiamo già la repository di ElectroYou su github, così puoi iniziare ad archiviare qualcosa.


Ottimo :) fammi sapere qualcosa al riguardo

In merito alla scelta del microcontrollore, chiamo in campo TardoFreak, vediamo se il PIC18F47J53 (già impiegato nel PIERIN) può andar bene. :ok:


Il PIC in oggetto non dispone di DAC purtroppo, essenziali per progetto. A tal proposito scordavo anche un DAC aggiuntivo potrebbe tornare utile per un OFFSET di tensione programmabile del segnale di uscita.

Si potrebbe risolvere con un IC esterno ma preferirei per semplificare il PCB e ridurre i costi utilizzare meno componenti possibili.

Andrei su qualcosa di più prestante di un 8 bit classico, ho proposto XMega (es. ATXMEGA128A1U http://www.atmel.com/devices/ATXMEGA128A1U.aspx?tab=parameters) perché:
- Includono USB, 4 DAC, DMA e permettono 32 MIPS, in pratica sono una via di mezzo tra un 8 e un 32 bit.
- Li conosco meglio di altri e dispongo dell'AVR Dragon per programmarli ed eseguire debug (si possono ad ogni modo programmare con bootloader tramite Atmel Flip)

Stando sul lato PIC mi orienterei su modelli più prestanti, se qualcuno ha esperienza prenderei in considerazione anche gli ARM.

In merito al software di schematico e di sbroglio, per me Eagle va bene (già usato); domanda impertinente: conosci KiCad?


Mi piacerebbe molto utilizzare KiCad e per me va bene però non l'ho mai usato

Per quanto riguarda la sezione RF analogica mi piacerebbe sentire il parere di BrunoValente, carloc, DarwinNE, EnChamade, DirtyDeeds.


Non ho tirato in ballo tutto per la sezione RF, lo slew-rate e tanti altri parametri sono importanti, l'op-amp che ho consigliato usato in un doppio stadio permette di risolvere molti problemi. Una discussione più approfondita sicuramente gioverebbe al progetto, sul lato filtri ho dubbi riguardo all'uso di appositi relé (più che altro per i costi).

Oh, io lo do per scontato: facciamo fare i PCB da OSHPark vero? ;-)


Col toner transfer qualcosa si può fare se il micro non va oltre il TQFP64, altrimenti OSHPark o comunque un service è praticamente mandatorio.

Ciao!
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

3
voti

[9] Re: [CDYE] DDS

Messaggioda Foto UtenteTardoFreak » 18 nov 2013, 2:10

Per questa applicazione Foto Utentec1b8 è in grado di dire se il PIC18F47J53 è sufficiente. Lui ha già fatto qualcosa del genere ed io non conosco la tecnica DDS.
Tuttavia, cambiare micro per cambiare micro, tanto vale buttarsi direttamente su un Cortex-M3 o su un PIC32.
Scegliere una via di mezzo che non è ne carne ne pesce non ha nessun senso.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[10] Re: [CDYE] DDS

Messaggioda Foto Utentetazzo » 18 nov 2013, 2:37

L'IC DDS si occupa della generazione del segnale una volta impostati alcuni parametri tramite SPI, fin qui non è richiesta grande capacità di elaborazione del micro se non per sweep particolarmente rapidi che comunque hanno limiti legati al bus di comunicazione.

La generazione di segnali "custom" tramite il DAC del micro (senza utilizzare il DDS) è la parte che richiede (oltre al DAC) maggiori prestazioni.

L'idea di usare gli XMega non la scarterei a priori, evitano alcune complessità di micro più sofisticati a 32 bit portando con se però periferiche interessanti (nel nostro caso diversi DAC) e prestazioni non paragonabili ai ben più complessi Cortex ma che potrebbero essere accettabili e comunque superiori ai modelli ad 8 bit di fascia più bassa. Tecnicamente gli XMega sono classificati come 8/16 bit. Un motivo determinante della mia proposta era l'esperienza con questi micro.

Il problema principale da inquadrare secondo me però è: su quale micro c'è un know-how maggiore in questa community ed in particolari tra gli interessati a questo progetto? Se nessuno conosce gli XMega o similari naturalmente inutile continuare in questa direzione e meglio orientarsi sui micro maggiormente utilizzati.

Ciao
Avatar utente
Foto Utentetazzo
225 1 6
New entry
New entry
 
Messaggi: 76
Iscritto il: 1 giu 2010, 11:08

Prossimo

Torna a Crowd Design

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti