Fabbricazione PCB di precisione, PCB ad alta frequenza, PCB ad alta velocità, PCB standard, PCB multistrato e assemblaggio PCB.
La fabbrica di servizi personalizzati PCB e PCBA più affidabile.
PCB Tecnico

PCB Tecnico - Lezione di progettazione PCB: come progettare circuiti di microcontrollore

PCB Tecnico

PCB Tecnico - Lezione di progettazione PCB: come progettare circuiti di microcontrollore

Lezione di progettazione PCB: come progettare circuiti di microcontrollore

2021-10-30
View:1040
Author:Downs

Il design del circuito PCB richiesto per i microcontrollori incorporati è un progetto enorme. Per microcontrollori avanzati, schede tecniche e documenti tecnici possono essere lunghi centinaia di pagine.

Prima di iniziare a progettare il circuito, è meglio disegnare un diagramma di flusso del funzionamento di tutti i componenti principali dell'argomento, compresi tutti i dispositivi periferici che hanno un'interfaccia con il microcontrollore.

Microcontrollore ARM Cortex-M

Questo articolo si concentrerà sulle considerazioni di progettazione del circuito PCB necessarie per importare il microcontrollore ARM Cortex-M. I microcontrollori ARM Cortex-M sono disponibili in diverse versioni di diversi produttori di chip.

Rispetto ai tipici microcontrollori a 8 bit, ARM Cortex-M con architettura a 32 bit è particolarmente adatto per lavori intensivi e computazionali intensivi. Se ci sono applicazioni che richiedono più capacità di memoria o possono semplificare la migrazione della piattaforma di sistema per esigenze di espansione future, anche i microcontrollori a 32 bit presentano vantaggi.

Il microcontrollore ARM Cortex-M di cui stiamo parlando è la famiglia STM32 prodotta da ST Microelectronics; Più precisamente, ci concentreremo sulla serie STM32F4.

scheda pcb

Tuttavia, la famiglia STM32 comprende in realtà molti modelli, come la serie STM32L a bassissima potenza e la serie con prestazioni sempre più elevate rispetto alla versione STM32F4. La versione più efficiente è STM32F7, che può eseguire 1 miliardo di istruzioni al secondo. Tra i modelli meno efficienti c'è la STM32L0, che esegue solo 26 milioni di istruzioni al secondo.

Progettazione dell'energia

L'alimentazione del circuito è uno degli aspetti più importanti della progettazione hardware; non aspettare fino alla fase successiva della progettazione per decidere la configurazione dell'alimentazione elettrica e della messa a terra.

La corrente utilizzata dal microcontrollore è determinata da molteplici fattori, come la tensione di funzionamento, la frequenza dell'orologio e il carico sui pin di ingresso/uscita.

Ci dovrebbero essere condensatori ceramici 1uF e 100nF (come C7 e C8 nella figura 1) disposti il più vicino possibile a ciascun pin VDD di potenza sulla MCU per fornire il disaccoppiamento di potenza. Inoltre, un condensatore ceramico 4.7uF (C1 nella figura 1) dovrebbe essere installato vicino alla posizione IC sul cablaggio del circuito principale che fornisce VDD.

I microcontrollori con convertitori analogico-digitali (ADC) di solito hanno anche alimentazione indipendente (VDDA) e pin di terra (VSSA) esclusivamente per segnali analogici. Questi perni hanno bisogno di una speciale prevenzione del rumore.

Se la tensione di alimentazione è superiore al limite superiore della tensione di ingresso del microcontrollore, di solito è necessario un regolatore lineare step-down. Ad esempio, il TPS795xx prodotto da Texas Instruments ha caratteristiche particolarmente basse di rumore e può fornire fino a 500mA di corrente.

Se la tensione di alimentazione è significativamente superiore alla tensione richiesta dal microcontrollore, un regolatore di commutazione graduale sarà una scelta migliore. Quando la tensione di ingresso è significativamente superiore alla tensione di uscita, il regolatore lineare spreca troppa potenza.

Tuttavia, di solito è meglio sotto-regolare la tensione di uscita del regolatore di commutazione con un regolatore lineare, perché il rumore di tensione fornito dal regolatore lineare è molto più basso.

orologio

STM32F4 può essere eseguito con orologio di sistema interno o esterno. L'orologio di sistema utilizzato all'avvio è l'orologio interno (16 MHz). Dopo l'inizializzazione del sistema, la sorgente esterna dell'orologio può essere selezionata tramite il software.

Il perno dell'orologio su STM32F4 può azionare un cristallo di quarzo esterno da 4 a 26 MHz (vedere X1 in Figura 1) o può utilizzare una sorgente di clock esterna fino a 50 MHz.

La configurazione del cristallo deve seguire rigorosamente le istruzioni riportate nella scheda tecnica. In generale, il cablaggio dovrebbe essere breve e la capacità di carico sul cristallo dovrebbe essere la stessa del valore raccomandato dal produttore del cristallo.

GPIO

I pin di ingresso e uscita per uso generale (GPIO) sul microcontrollore sono programmabili e possono essere impostati come input o output tramite software.

Ad esempio, S1 nella Figura 1 è un pulsante collegato a un pin GPIO programmato come ingresso. STM32 fornisce una resistenza pull-up integrata, quindi questo pulsante non ha bisogno di installare una resistenza pull-up esterna. L'uscita GPIO in questo esempio viene utilizzata per azionare il LED.

La maggior parte dei pin GPIO hanno anche altre funzioni e vari componenti periferici sul chip comunicano con il mondo esterno attraverso questi pin multifunzione.

Non tutte le funzioni interne possono essere utilizzate attraverso ogni pin GPIO e ci sono rigide mappature dei pin da osservare, quindi assicurati di fare riferimento alla tabella dei dati quando scegli quali pin utilizzare.

I pin GPIO possono essere utilizzati per guidare vari carichi e la maggior parte dei pin può fornire o resistere a una corrente fino a 25mA. Tuttavia, in generale, è un progetto migliore utilizzare un circuito di azionamento esterno per ridurre il carico dell'azionamento GPIO del microcontrollore. Fare riferimento alla Figura 1 per l'esempio di LED di guida MN1.

Ogni pin di STM32 ha un limite superiore della corrente nominale, così come un limite superiore della corrente totale di tutti i pin GPIO.

Collegare componenti periferici

STM32 fornisce il collegamento del segnale seriale attraverso le interfacce UART, I2C, SPI e USB.

Ad esempio, nella Figura 1, c'è un sensore di temperatura (U2-LM75BDP) collegato al microcontrollore attraverso il bus I2C. Due resistenze pull-up (R2, R3) sono necessarie sul bus I2C per collegarsi al driver open-drain.

Per la maggior parte delle applicazioni come i sensori a bassa velocità, preferisco usare I2C come protocollo seriale perché utilizza solo due fili per la comunicazione. Inoltre, a differenza di SPI, che richiede un chip aggiuntivo per selezionare una porta funzionante per elaborare ogni componente periferica, I2C utilizza un singolo indirizzo.

Il bus SPI è collegato al sensore di movimento a nove assi MPU-9250 prodotto da Inventense. MPU-9250 contiene un accelerometro a tre assi, un giroscopio a tre assi e un magnetometro a tre assi.

Connettore di programmazione

STM32F4 fornisce due interfacce di editing dei programmi (ISP) in-system: il debug della linea seriale (SWD) e JTAG. La versione più economica di STM32 fornisce solo l'interfaccia SWD. SWD e JTAG sono le due interfacce di programmazione più comunemente utilizzate per microcontrollori.

in conclusione

In questo articolo, abbiamo discusso il design del circuito PCB del microcontrollore e introdotto il STM32F4 in grado di leggere i pulsanti di ingresso, azionare i LED e comunicare con i sensori di temperatura I2C e i sensori di movimento SPI.