a
La home page di Lorenzo
Home

FidoCAD
    Introduzione
    FidoCAD Win
    FidoCAD FAQ
    FidoCAD sources

Elettronica
    Oscilloscopio
    Misurare la potenza
    CS low-cost
    SMD for dummies
    PIC16x84
    Propic2clone
    IR-displ

Software
    EZ Tunnel
    Varie

Varie
    Segnalare lo spam

Links
Forum
Guestbook
Contattami

Ritirare le truppe italiane dall'IRAQ:

Si

No

Risultati

La scheda madre

Grazie alla modularità del DSO e al buon numero di funzioni gestite direttamente dai moduli di acquisizione, la scheda madre deve soltanto rivestire il ruolo di arbitro e interfaccia fra le parti e quindi è abbastanza semplice. A un certo momento avevo pensato di demandare a ciascun modulo persino la generazione del clock, poi - per motivi che spiegherò - sono tornato sui miei passi.

Come ho illustrato nel capitolo dello schema a blocchi del DSO, la scheda madre è composta sostanzialmente da tre sezioni:

  1. La CPU. Ho optato per un PIC16F877 perché permette di effettuare l'in-circuit debugging a bassissimo costo, ha un buon numero di I/O, è facilmente reperibile e ha una potenza più che sufficiente per i nostri scopi;
  2. L'interfaccia USB. C'è ben poco da aggiungere, tutte le funzioni necessarie sono assolte dal chip (benedetto!) dell'FTDI;
  3. Il generatore di clock. Paradossalmente questa è stata la sezione che mi ha dato più da pensare: generare un clock programmabile fino a 60 MHz e in modo economico è meno semplice di quanto si pensi! Le problematiche sono due: la generazione del clock in sé e per sé, e la sua successiva "trasmissione" su tutti i punti necessari del sistema. Per quanto riguarda la tecnica di generazione, le opzioni sono sostanzialmente due: generare un clock ad alta frequenza e poi ridurlo con un divisore programmabile, oppure utilizzare un PLL. La seconda soluzione permette di ottenere una maggiore flessibilità e libertà nella generazione del clock, ma rende necessaria un'attenta progettazione e scelta dei componenti (e RS non è che disponga di una vasta gamma di PLL e VCO...); ho optato quindi per la soluzione col divisore programmabile, avvalendomi di una CPLD da pochi euro che implementa un divisore a 16 bit con caricamento seriale.
    Per quanto riguarda invece la trasmissione del clock sui vari moduli, si prospettavano ancora una volta due differenti soluzioni: la generazione "in loco" su ogni modulo, oppure la generazione centralizzata sulla scheda madre e successiva trasmissione. La generazione in loco è vantaggiosa in termini di flessibilità (in linea teorica si potrebbero adottare delle basi dei tempi diverse per ciascun canale!) e di "pulizia" del segnale, ma è più costosa e complessa da gestire. La generazione centralizzata è più semplice e quindi economica, ma ha l'evidente svantaggio di rendere necessaria la trasmissione di un segnale ad alta frequenza su un percorso relativamente lungo. Probabilmente il DSO sarà costruito "a piani", con la scheda madre e tutti i moduli accatastati sopra e sotto e connessi a un backplane comune tramite degli strip; fra gli strip, lo sviluppo tridimensionale e le lunghezze che necessariamente si dovranno raggiungere, credo che rimarrebbe ben poco del segnale di clock come noi lo conosciamo! Per questo motivo, sebbene abbia optato per la soluzione centralizzata per evidenti motivi di semplicità, ho deciso di trasmettere il clock tramite degli LVDS. L'acronimo sta per Low Voltage Digital Signaling, si tratta sostanzialmente di transceivers bilanciati che utilizzano segnali a bassa tensione, molto usati in circostanze come queste (trasmissioni di segnali veloci fra più schede di uno stesso sistema). Questo dovrebbe risolvere sia il problema della "pulizia" del clock che quello degli eventuali disturbi irradiati sul resto del circuito.

Per ora non mi soffermo oltre nella descrizione della scheda madre; in futuro si dovrà buttare giù una documentazione decisamente più esaustiva!

 

Indice

(precedente) Blocco di acquisizione analogico

(prossimo) E adesso?