Gestione delle reti di alimentazione - seconda parte

Creato: febbraio 21, 2017
Aggiornato: settembre 25, 2020

Il mio recente post sul blog riguardante la gestione delle reti di alimentazione ha attirato un gran numero di commenti molto interessanti e informativi. È stato per me motivo di grande soddisfazione vedere così tante persone coinvolte nella discussione. Tutti questi contributi mi hanno aiutato a comprendere quanto vasto e complesso possa essere il dominio della gestione dell'energia.

Il mio recente post sul blog riguardante la gestione delle reti di alimentazione ha attirato un gran numero di commenti molto interessanti e informativi. È stato per me motivo di grande soddisfazione vedere così tante persone coinvolte nella discussione. Tutti questi contributi mi hanno aiutato a comprendere quanto vasto e complesso possa essere il dominio della gestione dell'energia. È ovviamente anche un'area di grande importanza per tutti voi, indipendentemente dai tipi di progetto che realizzate.

Molti di questi commenti offrono ottimi suggerimenti e idee. Vorrei cercare di riunire tutto ciò in un modo coerente e organizzato, che spero indichi una via visibile e utile da seguire.

Vorrei affrontare questo argomento iniziando prima con una migliore definizione e classificazione dei problemi che devono essere affrontati per rendere la gestione dell'energia meno "energivora" (scusate il gioco di parole) per voi. Quindi, per ogni problema o classe di problemi, cercherò di proporre alcuni possibili approcci per le soluzioni, cercando di stimare lo sforzo di sviluppo necessario per implementarle.

I primi tipi di problemi sono elementari.

Ogni rete di alimentazione (l'insieme delle reti coinvolte nel fornire energia ai componenti) dovrebbe in ultima analisi essere connessa a qualche fonte esterna di energia. Ogni fonte esterna di energia dovrebbe anche erogare energia da qualche parte. Su una data rete di alimentazione, dovrebbero essere rispettati vincoli di bilancio di base (l'energia prodotta dovrebbe essere maggiore o uguale all'energia consumata, le gamme di tensione operative dei dispositivi connessi a una rete comune dovrebbero corrispondere). Inoltre, laddove le reti di alimentazione interagiscono con i segnali (mi riferisco a pull-up e pull-down), non dovrebbero essere generati errori spurii, oscurando gli errori reali.

Poi ci sono problemi di natura più complessa.

Ogni bilancio della rete di alimentazione dovrebbe essere gestito con precisione per garantire che ciò che viene fornito venga distribuito in modo appropriato (affinché le varie parti funzionino correttamente) e infine raccolto, in tutte le possibili condizioni operative. Di interesse è la quantità di corrente fornita a quale tensione (per il lato di alimentazione), e come viene raccolta e restituita.

Infine, ci sono questioni più avanzate.

Alla fine, il PCB deve essere progettato in modo che soddisfi fisicamente i requisiti di potenza delle parti utilizzate. Per evitare lavori ripetitivi ed errori, questi vincoli di progettazione dovrebbero essere calcolati automaticamente dalle informazioni dello schema. Poi, per verificare che il risultato sia adeguato, il progetto finale del PCB dovrebbe essere simulato. Queste aree di interesse includono il design delle piste di alimentazione e di separazione, la gestione dei percorsi, la gestione del calore, lo stress dei componenti, e così via.

Controllo semplice delle connessioni di alimentazione

Per il primo gruppo di problemi elementari, penso che, dati i mezzi per definire una rete di alimentazione, i suoi nodi e le loro caratteristiche di base, dovrebbe essere relativamente facile eseguire controlli elementari e focalizzare l'attenzione del progettista su potenziali problemi.

I controlli elementari a cui sto pensando sono:

  • C'è almeno un produttore di energia sulla rete.
  • La potenza prodotta sulla rete è maggiore o uguale alla potenza consumata.
  • Le gamme di tensione dei dispositivi connessi alla rete dovrebbero almeno intersecarsi.

La domanda importante è: quale sarebbe un modo pratico per implementare questo?

Prima, consideriamo il modo di "costruire" una rete elettrica. Una rete elettrica è semplicemente un insieme di reti coinvolte nel fornire energia alle parti che ne hanno bisogno.

Trovo che le parti trasparenti siano un buon meccanismo per raggiungere lo scopo di definire questo.

Capisco che la rappresentazione grafica proposta nel post precedente non sia adeguata, e vedo totalmente i punti sollevati - come precedentemente raffigurato, possono essere confusi, fuorvianti e ingombrare inutilmente lo spazio di progettazione.

Il loro scopo principale è comunicare che, per un certo intento (qui, definizione della rete elettrica), due reti dovrebbero essere considerate unite. Nel caso della gestione della potenza, agiscono semplicemente come fili, e quindi dovrebbero essere posizionati su parti che non influenzano la tensione in modo significativo.

Questo dovrebbe riflettersi nel loro comportamento e nella loro rappresentazione grafica. Sullo schermo, dovrebbero essere visibili solo in modo esplicito - ad esempio quando il mouse si sofferma su un pin coinvolto, e/o in base ad alcune preferenze o impostazioni. Tuttavia, non ho ancora determinato esattamente come dovrebbero apparire (quando e se visibili). Di certo, dovrebbe essere possibile escluderli dalle stampe e dagli output. Inoltre, consentiranno relazioni uno-a-molti. Sarà possibile posizionarli sia in una libreria che in un contesto di progettazione.

Quindi, vediamo cosa sarebbe necessario per definire le caratteristiche elettriche di base su una rete di alimentazione. Capisco che sostituire il tipo di pin ‘Power’ con due tipi ‘Power Supply’ e ‘Power Sink’, incorporando le caratteristiche elettriche nei parametri dei pin, sia un'idea popolare. Tuttavia, ciò mi rende scomodo per una serie di motivi.

Innanzitutto, si solleva la questione dell'aggiornamento dei dati, sia in un contesto di libreria che di progettazione. Data una vecchia piedinatura di alimentazione, bisognerebbe fare una scelta oculata quando si passa al nuovo software (era intesa come alimentazione o come scarico?). Data la situazione reale di oggi, sembra che non ci siano risposte facili. Lo stesso problema esiste per la compatibilità all'indietro e per i dati che vanno avanti e indietro tra varie versioni del software.

In secondo luogo, le opinioni sembrano divergere riguardo la denominazione e i concetti sottostanti questi tipi (alimentazione/scarico di potenza, alimentazione/scarico di corrente, riferimento positivo/negativo...). Potrebbe anche essere introdotta una certa confusione riguardo alle alimentazioni negative.

C'è anche la questione delle caratteristiche dei componenti che variano a seconda del modo in cui vengono utilizzati nei vari progetti. Questo va dai regolatori regolabili alla potenza fornita dai connettori generici. Modificare le piedinature dei componenti nel progetto è sempre una possibilità, ma si tratta di un approccio pieno di insidie quando si tratta di una gestione rigorosa dei dati (ad esempio utilizzando Aggiorna dalle Librerie o il Gestore degli Elementi di Progetto).

Penso che ciò che è richiesto qui per avanzare sia un sistema più flessibile che permetta di dichiarare in modo semplice le caratteristiche dei pin di connessione.

Da questa prospettiva, mi piace l'idea del "Tagging" proposta da Ian. Un "Power Tag" è semplicemente una descrizione di connessione. È definito da un tipo (Produttore o Consumatore), una potenza nominale, un intervallo di tensione e una descrizione in testo libero. Quando viene posizionato su un pin, dichiara le caratteristiche elettriche del pin. Può essere posizionato sia in un contesto di libreria, sia in un contesto di progettazione.

Quindi, data una rete di alimentazione, i controlli di base possono essere facilmente eseguiti:

  • I tipi di connessione permettono di verificare l'assenza di produttore o consumatore.
  • Tutta la potenza [prodotta] dai produttori può essere sommata, e tutta la potenza [consumata] dai consumatori può essere sommata. Questi due valori possono poi essere confrontati per verificare uno squilibrio della rete di alimentazione.
  • Infine, gli intervalli di tensione di ogni pin connesso con power tag possono essere confrontati per verificare una corrispondenza valida.

Le immagini seguenti illustrano l'approccio generale descritto sopra. In questo esempio, sono definite due reti di alimentazione: 5V0 e 3V3.

Un jack di alimentazione fornisce 5V0 all'intera rete. Direttamente nello schema (poiché questa situazione è specifica del progetto) un Power Tag descrive le caratteristiche di alimentazione del pin del jack di alimentazione che è connesso al binario 5V0.

Un interruttore permette di accendere e spegnere l'alimentazione. Poiché le reti +B e 5V0 fanno parte della stessa rete di alimentazione, e in effetti hanno la stessa tensione, vengono aggiunti due collegamenti trasparenti per unire i pin 1 e 3, e i pin 3 e 2. Un interruttore è sempre "trasparente", quindi questi collegamenti trasparenti avrebbero potuto essere aggiunti direttamente al simbolo sch nella libreria schematica.

Successivamente, un regolatore riduce la tensione della linea 5V0 a 3V3.

Il 5V0 è fornito a un amplificatore di potenza audio. I Tag di potenza posizionati sui pin descrivono le loro caratteristiche. Il valore del consumo di potenza descrive lo scenario peggiore. Questo può essere fatto sia nell'ambiente della libreria schematica, sia nello schema stesso.

Il 3V3 è fornito a un controller per schermi touch, le cui caratteristiche dei pin sono descritte da appropriati Tag di potenza.

Quindi, si possono eseguire semplici controlli di potenza sul 5V0:

Produttori su 5V0

Pin

Potenza prodotta (W)

J19-1

5

Totale

5

Consumatori su 5V0

Pin

Potenza consumata (W)

U1-1

1

U26-2

1.3

U26-10

1.3

U26-15

1.3

Totale

4.9

Anche su questa rete, tutti i range di tensione corrispondono (J19-1 fornisce 5V0, mentre U1-1 necessita di 2V7~6V0, e U26-2, 10 e 15 necessitano di 4V5~5V0).

Sui 3V3, le stesse verifiche possono essere eseguite:

Produttori su 3V3

Pin

Potenza prodotta (W)

U1-5

480 x 10-3

Totale

480 x 10-3

Consumatori su 3V3

Pin

Potenza consumata (W)

U48-10

80 x 10-6

U48-1

750 x 10-6

U48-9

10 x 10-9

Totale

830.01 x 10-6

Anche sulla rete 3V3, i range di tensioni operative corrispondono (3.2V~3.4V, 1.2V~ 3.4V, 2.7V~3.6V, 2.7V~3.6V)

Basandomi su questo approccio rivisto, inizio a vedere un percorso chiaro verso l'implementazione di una soluzione efficace che affronti queste questioni elementari, entro pochi mesi.

Dovrebbe essere anche possibile evidenziare intere reti di alimentazione su richiesta, con qualche indicazione della loro correttezza.

Allo stesso modo, un semplice meccanismo di raggruppamento dei produttori insieme, utilizzando un indice di gruppo nel Tag di Alimentazione, ci permetterà di indicare quali produttori saranno attivi contemporaneamente (e quindi dovrebbero essere sommati), per sistemi di alimentazione ridondanti ad esempio. Il sistema può prendere questo in considerazione durante l'esecuzione dei controlli.

Gestione e analisi avanzata dell'alimentazione

Vorrei anche affrontare il problema più complesso della gestione assistita del budget di alimentazione.

Capisco che uno strumento molto utile sarebbe quello che, data la piena caratterizzazione elettrica dei componenti coinvolti e il modo in cui sono connessi insieme, potrebbe fare tutti i calcoli e segnalare se tutti i vincoli dichiarati sono soddisfatti, in ogni momento. Condivido questa visione.

Per implementare ciò in modo soddisfacente, sarebbe necessario integrare il motore di simulazione Spice, il che è ovviamente possibile.

Oltre al peso di aggiungere i modelli di simulazione adeguati alle librerie e ai progetti, non sono ancora sicuro che tutti i casi possibili possano essere coperti in modo affidabile. Il consumo di energia di molti dispositivi dipende dal modo in cui operano effettivamente sul campo. Per accomodare ciò, il motore di simulazione Spice dovrebbe essere dotato dei mezzi per tenere in conto il modo in cui i dispositivi sono programmati, e il modo in cui questi dispositivi programmati interagiscono con il loro ambiente.

Questo sembra un progetto molto eccitante, ma che si inserisce in una prospettiva a lungo termine. Mi sembra qualcosa che vale la pena approfondire, investigare e discutere - possibilmente in un futuro post sul blog!

Infine, gli argomenti avanzati della generazione automatica di regole e della simulazione finale del design sembrano ugualmente utili se potessero essere affrontati efficacemente. Tuttavia, la strada per la loro implementazione finale sembra ancora più incerta.

Per quanto riguarda la generazione automatica di regole, una serie di problemi architettonici dovrebbero essere risolti nel software, come la capacità di definire una regola binaria a livello schematico per esempio. Poi, le linee guida per la generazione automatica di regole dovrebbero essere chiaramente investigate e definite, con possibilmente, nuove regole introdotte a livello di PCB.

Inoltre, nel mondo della simulazione del risultato finale, sarebbe necessario sviluppare o acquisire una tecnologia completamente nuova. Diversi passi strategici dovrebbero essere intrapresi per primo al fine di affrontare efficacemente questi aspetti.

Questo è stato un post piuttosto lungo, ma penso che l'interesse espresso in questo argomento richiedesse un'analisi attenta, e una risposta altrettanto dettagliata e onesta. Il mio obiettivo è delineare chiaramente un percorso verso una soluzione utile che possa essere effettivamente implementata in un paio di mesi.

Anche per la soluzione elementare che ho proposto, alcuni input sarebbero molto utili.

Ad esempio, continuo a parlare di "Rete di alimentazione" ma trovo il termine alquanto ambiguo. Qui abbiamo usato il termine "Linea elettrica". Quali sono i vostri pensieri?

Inoltre, la rappresentazione grafica di parti semi-trasparenti e dei Power Tags richiederà sicuramente un'attenzione molto scrupolosa. Quello che è disegnato nell'illustrazione sopra è solo una bozza. I vostri suggerimenti saranno più che benvenuti.

Come sempre, mi piacerebbe molto leggere i vostri pensieri e idee qui.

Per favore, postateli nella sezione commenti qui sotto.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.