La scheda core STM32F103C8T6 è basata sul chip microcontroller ufficiale ST STM32F103C8T6. Questa scheda compatta e versatile è stata meticolosamente progettata per creare una configurazione di sistema minima, rendendola una scelta ideale per vari progetti di sistemi embedded. Offre una gamma di componenti essenziali, inclusi circuiti per la selezione della modalità BOOT, il disaccoppiamento, l’oscillatore a cristallo, il download SWD, la funzionalità di reset, l’indicazione di alimentazione e l’interfaccia della porta IO periferica. Grazie al suo design attentamente studiato, la scheda può essere facilmente integrata ed espansa per l’uso con altre schede base. La sua efficienza energetica e le sue caratteristiche robuste la rendono uno strumento prezioso per gli sviluppatori, consentendo loro di creare e sperimentare con applicazioni innovative sulla piattaforma STM32F103C8T6.
Descrizione del progetto STM32F103C8T6
Questo progetto utilizza il chip ufficiale ST STM32F103C8T6 e progetta una scheda di sistema minima, che può essere facilmente espansa e utilizzata con la scheda base.
- I circuiti progettati includono il circuito BOOT, il circuito di disaccoppiamento, il circuito dell’oscillatore a cristallo, il circuito di download SWD, il circuito di reset, il circuito dell’indicatore di alimentazione e il circuito della porta IO periferica.
- La scheda è alimentata tramite connessioni esterne ai pin +3V3 e GND. Si consiglia di alimentare la scheda nell’intervallo da 3,3 V a 3,6 V ed è meglio non superare l’alimentazione da 3,6 V.
- È progettato un circuito di indicazione dell’alimentazione +3V3 per indicare comodamente se l’ingresso di alimentazione è normale.
Disposizione dei pin STM32F103C8T6

Circuito di disaccoppiamento
Schema elettrico

Posizionare un condensatore da 104 (0,1µF) sui pin di alimentazione sopprime efficacemente il rumore sull’alimentazione, noto come disaccoppiamento del rumore dell’alimentazione.
Più vicini sono i punti “Alimentazione – Condensatore di disaccoppiamento – Massa”, migliore è l’effetto di disaccoppiamento.
Per condensatori dello stesso materiale, anche se la capacità diminuisce a 1/10, l’effetto di disaccoppiamento non cambia in modo significativo. Per il disaccoppiamento ad alta frequenza, condensatori con lo stesso package, valori di capacità di 0,01µF, 0,1µF e 1µF mostrano risultati simili.
I condensatori a montaggio superficiale (SMD) hanno effetti di disaccoppiamento migliori rispetto ai condensatori a foro passante con la stessa capacità a causa della maggiore induttanza equivalente dei condensatori a foro passante, che influisce sull’effetto di disaccoppiamento.
Il condensatore con la capacità più piccola ha la frequenza di risonanza più alta e il raggio di disaccoppiamento più piccolo. Pertanto, dovrebbe essere posizionato più vicino al chip.
I condensatori con una capacità leggermente maggiore possono essere posizionati leggermente più lontano e la capacità più grande dovrebbe essere posizionata sullo strato più esterno. Tuttavia, tutti i condensatori per il disaccoppiamento di questo chip devono essere posizionati il più vicino possibile al chip.
Per i progetti PCB ad alta velocità, è meglio posizionare i condensatori sullo stesso lato del chip per un migliore disaccoppiamento. Per i condensatori di disaccoppiamento di tipo MCU, non c’è una differenza significativa tra il posizionarli sul lato anteriore o posteriore.
Progettazione PCB

Circuito dell'oscillatore a cristallo
Schema elettrico

L’STM32 ha tre sorgenti di clock interne, ma l’albero di clock del chip a 32 bit richiede cinque sorgenti di clock. Pertanto, il PCB deve ospitare clock esterni ad alta e bassa velocità.
Il clock esterno ad alta velocità può essere un risonatore a cristallo/ceramica o una sorgente di clock esterna, con un intervallo di frequenza da 4 MHz a 16 MHz. Una scelta comune è un oscillatore a cristallo da 8 MHz per la frequenza di sistema principale.
Il clock esterno a bassa velocità è un cristallo di quarzo con una frequenza di 32,768 kHz, utilizzato per pilotare l’orologio RTC.
Progettazione PCB

Si noti che l’area attorno al cristallo oscillatore è circondata da tracce GND e si consiglia di aggiungere via su queste tracce GND. Questo viene fatto per isolare il cristallo oscillatore. Inoltre, evitare di far passare tracce sugli strati superiore e inferiore dell’area in cui si trova il cristallo oscillatore, poiché ciò può influire sull’integrità del segnale.
Inoltre, i due condensatori vicino al cristallo oscillatore devono essere posizionati simmetricamente.
Circuito di download SWD
Schema elettrico

Introduzione a JTAG:
Utilizziamo comunemente il downloader Jlink, che ha lo svantaggio di utilizzare l’interfaccia Jtag a 20 pin. L’eccessivo numero di pin può portare a un affollamento su piccole schede PCB e aumentare la complessità del cablaggio.
L’utilizzo dell’interfaccia SWD per il download e il debug richiede solo 4 pin: GND, RST, SWDIO, SWDCLK. La velocità di download può raggiungere i 10 M/s, offrendo chiari vantaggi.
Modalità SWD:
La modalità SWD è più affidabile di JTAG in scenari ad alta velocità. In situazioni con grandi quantità di dati, il download del programma JTAG può fallire più frequentemente rispetto a SWD, che ha un tasso di errore inferiore. Generalmente, se l’emulatore supporta la modalità di simulazione JTAG, è possibile utilizzare direttamente la modalità SWD, a patto che la supporti.
Progettazione PCB

Circuito indicatore di alimentazione
Schema elettrico

Secondo il datasheet, la caduta di tensione diretta massima è di 2,4 V, con un valore tipico di 2,1 V. Quindi, quando il LED funziona normalmente, la caduta di tensione massima sul LED è di 2,4 V. In questo caso, la divisione di tensione su R3 è di 0,9 V.
Di solito, i LED si accendono normalmente con correnti comprese tra 3 mA e 10 mA. La corrente nominale massima è di 20 mA. All’interno della corrente nominale, maggiore è la corrente che scorre attraverso il LED, più brilla.
Qui scegliamo I = 10 mA, quindi R3 = U / I = 0,9 V / 10 mA = 90 Ω. Poiché le resistenze da 100 Ω sono più comuni nei nostri materiali, possiamo utilizzare una resistenza da 100 Ω invece.
Progettazione PCB

Progettazione del circuito di reset
Schema elettrico

Quando il pin NRST viene tirato verso il basso, viene generato un segnale di reset, consentendoci di eseguire un’operazione di reset sul nostro microcontrollore.
Nel diagramma del circuito:
– Quando il microcontrollore viene riacceso, il condensatore C14 si carica e conduce. La tensione RESET è bassa, causando un reset del sistema. Dopo un certo periodo, quando il condensatore C9 termina di caricarsi e si disconnette, la tensione RESET diventa alta e il microcontrollore rimane stabile senza resettarsi.
– Quando si preme il pulsante, rimane conduttivo per 20~50 ms, collegando nRST a massa, con conseguente bassa tensione e un reset del sistema.
Progettazione PCB

Progettazione del circuito BOOT
Schema elettrico

BOOT0 e BOOT1 di STM32 controllano la modalità di avvio del chip, supportando l’avvio da FLASH interna, la memoria di sistema e la SRAM interna. Nello specifico:
- User Flash: la Flash integrata del chip.
- SRAM: l’area RAM integrata del chip.
- Memoria di sistema: un’area specifica all’interno del chip in cui viene precaricato un bootloader durante la produzione. Questo è spesso indicato come programma ISP.
- I programmi ISP comunicano di solito tramite USART1.
Quando si esegue il debug e si scaricano programmi utilizzando JTAG o SWD, il programma viene solitamente scaricato nella Flash. In questo caso, è possibile impostare i pin BOOT0 e BOOT1 su basso.
Viene utilizzata una resistenza da 10 K perché BOOT0 e BOOT1 sono in uno stato ad alta impedenza senza dispositivi esterni. Le resistenze di pull-up e pull-down da 10 K fungono da buoni limitatori di corrente e proteggono anche il chip IC interno.
Progettazione PCB

Qui, posizioniamo le resistenze di pull-down per BOOT0 e BOOT1 sul retro del PCB per evitare interferenze con le nostre tracce.
Circuito della porta IO periferica
Schema elettrico

I pin inutilizzati vengono comunemente estratti utilizzando connettori pin. Si consiglia di utilizzare connettori pin a doppia fila per migliorare la stabilità e ridurre al minimo la flessione durante l’inserimento o la rimozione, evitando i connettori pin a singola fila.
Inoltre, è consigliabile estrarre BOOT0. Ciò facilita la successiva progettazione di un circuito di download ISP a un pulsante, consentendo il download del programma con un singolo cavo USB.
Infine, si consiglia di estrarre almeno due set di pin +3V3 e GND, in modo che ciascun lato del connettore pin abbia un alimentatore, facilitando il cablaggio del PCB.
Progettazione PCB



