Come i team di progettazione embedded possono semplificare I/O e routing

Zachariah Peterson
|  Creato: gennaio 4, 2023  |  Aggiornato: novembre 18, 2024
Come i team di progettazione embedded possono semplificare I/O e routing

I prodotti elettronici reali stanno diventando gradualmente più intelligenti, sia per l'implementazione di un'applicazione embedded sia per le connessioni con una piattaforma cloud o un'applicazione. I team di sviluppo embedded devono lavorare insieme per creare queste nuove generazioni di prodotti. Un'area in cui l'ingegnere di layout PCB, lo sviluppatore embedded e persino l'ingegnere MCAD possono subire ritardi nel completamento di un progetto è nella selezione degli I/O. Questo accade ogni volta che si hanno connettori, periferiche e un processore host.

Quindi, per mantenere le cose semplici per entrambe le parti, voglio condividere alcune delle mie esperienze lavorative con gli sviluppatori embedded per ottimizzare la selezione degli I/O e il processo complessivo per completare il layout del PCB. Con un po' di collaborazione iniziale, è possibile rendere il routing del PCB e lo sviluppo embedded più semplici nella fase finale.

Chi fa cosa nello sviluppo embedded?

Ritengo che ogni membro del team di sviluppo dovrebbe capire ciò di cui gli altri membri del team hanno bisogno per avere successo. Si tratta anche di un uso efficiente delle risorse, evitando impasse ingegneristiche che richiedono giorni per essere risolte e arrivando rapidamente sul mercato.

 

Cosa fanno

Di cosa hanno bisogno

Progettista PCB

  • Vincoli dal progettista MCAD
  • Lista dei periferici da
  • Lista dei pin I/O desiderati dallo sviluppatore embedded*

Progettista MCAD

  • Creare il contenitore/la custodia del dispositivo
  • Definire i vincoli (zone vietate, posizionamento, ecc.)
  • Modelli 3D dei connettori
  • Modelli 3D meccanici
  • Vincoli SI/EMI dal progettista PCB

Sviluppatore embedded

  • Sviluppare il firmware embedded
  • Definire le uscite verso l'applicazione web/cloud (se utilizzata)
  • Utilizzare gli I/O richiesti dal progettista PCB
  • Funzioni I/O dal progettista PCB
  • Lista dei pin I/O desiderati dal progettista PCB*

Ho messo un asterisco (*) sugli elementi della lista dei pin perché il processo esatto per assegnare gli I/O dipende dal componente specifico utilizzato per eseguire l'applicazione embedded. Si tratta di un semplice MCU, dove gli I/O disponibili sono fissati in posizioni specifiche, o è un FPGA che può avere un pinout personalizzato in certe banche? L'altro aspetto riguarda i connettori: il pinout è standardizzato, è impostato da un'altra scheda nell'assemblaggio, o può essere personalizzato?

Qui possiamo iniziare a vedere la sfida coinvolta in un progettista di PCB e uno sviluppatore embedded che lavorano insieme sulla selezione degli I/O. Come possono le due parti venire insieme e definire i pinout, la selezione degli I/O e, in ultima analisi, il layout del PCB?

Lo Sviluppatore Embedded Definisce i Requisiti del PCB

A mio parere, questo funziona meglio quando il pinout sul processore principale è flessibile, cioè, l'applicazione sarà istanziata in un FPGA. In questo caso, gli I/O possono essere impostati dallo sviluppatore nella logica del dispositivo, e il risultato è che il progettista del PCB dovrà lavorare con le assegnazioni dei pin che gli vengono date.

Il problema è questo: se le assegnazioni dei pin sono date su base individuale, potresti non ottenere un routing ottimale, risultando in un groviglio di connessioni che si incrociano l'una con l'altra per raggiungere i componenti. Invece, se lo sviluppatore embedded fornisce semplicemente assegnazioni di banchi al progettista PCB, allora il progettista PCB può scegliere i pin all'interno di un banco per realizzare connessioni ottimali.

PCB FPGA
Screenshot che mostra le assegnazioni dei banchi in un FPGA. Certi banchi supporteranno diverse interfacce, e il progettista PCB può selezionare alcuni pin all'interno di questi banchi per lo scambio di pin.

Assegnando banchi su un FPGA invece di un pinout specifico, il progettista può utilizzare uno strumento come lo scambio di pin per spostare le assegnazioni I/O all'interno di un banco di pin. Se lo scambio di pin è desiderabile, allora potrebbe essere richiesto un simbolo schematico personalizzato per separare correttamente i pin nei rispettivi banchi. Utilizzare un simbolo personalizzato consente un raggruppamento molto più rapido dei pin per le operazioni di scambio di pin durante il routing del PCB.

Il Progettista PCB Definisce i Requisiti Embedded

A mio parere, questo funziona meglio quando il pinout sul processore principale è fisso, ovvero un MCU e i suoi periferici. In un MCU, le posizioni I/O sono sostanzialmente fisse. Si può avere una certa flessibilità in termini di come ogni I/O viene utilizzato, ad esempio quando si usa un gruppo di GPIO. Tuttavia, l'assegnazione di pin o funzioni per interfacce standard può essere fissa (ad esempio, pin SPI, pin ADC, pin PWM, I2C, ecc.).

In questo caso, penso che sia meglio se il progettista PCB seleziona i pin che userà per abbinarli a diversi componenti. Il progettista PCB deve scegliere all'interno di un pinout fisso, quindi dovrà capire come posizionare i componenti in modo tale che il layout del PCB sia risolvibile. Una volta posizionati e tracciati, è compito del progettista PCB comunicare allo sviluppatore embedded quali pin vengono utilizzati per determinate funzioni.

STM32 LQFP pinout
Elenco di assegnazione dei pin STM32 LQFP48. Possiamo vedere come diverse funzioni dei pin sui GPIO sono assegnate a posizioni specifiche. Questo può limitare ciò che viene fatto nel layout del PCB, quindi il progettista PCB dovrebbe avere la libertà di selezionare i pin che desidera utilizzare, e lo sviluppatore embedded dovrà seguire ciò quando scrive il firmware.

Cosa succede se un Pinout di un Connettore è Standardizzato?

Quando il pinout del tuo connettore è standardizzato, allora è un po' una variabile impazzita. Dico questo perché "standardizzato" può significare due cose diverse:

  • Il pinout potrebbe far parte di un'interfaccia standard (Ethernet, USB, ecc.)
  • Il pinout potrebbe essere impostato da un'altra scheda nell'assemblaggio o nel sistema

Se nessuno di questi casi si applica, allora il tuo pinout è personalizzabile. Nei progetti in cui ho avuto a che fare con altre schede in un assemblaggio più grande, spesso abbiamo avuto la libertà di impostare un pinout, solitamente perché stavamo costruendo entrambe le schede. In ogni caso, le due parti devono lavorare insieme per capire quale sia il pinout "migliore" in modo oggettivo per il connettore e come questo si allinea con il processore.

I team che hanno bisogno di collaborare su prodotti complessi possono accedere a un set completo di funzionalità di progettazione collaborativa utilizzando Altium Designer®. Tutti gli stakeholder coinvolti nella progettazione del prodotto possono accedere a un set completo di strumenti per la progettazione di PCB che possono supportare compiti di sviluppo embedded, così come funzionalità di progettazione di cavi e cablaggi. Quando hai terminato il tuo progetto e vuoi rilasciare i file al tuo produttore, la piattaforma Altium 365™ rende facile collaborare e condividere i tuoi progetti.

Abbiamo solo sfiorato la superficie di ciò che è possibile con Altium Designer su Altium 365. Inizia oggi la tua prova gratuita di Altium Designer + Altium 365.

Sull'Autore

Sull'Autore

Zachariah Peterson ha una vasta esperienza tecnica nel mondo accademico e industriale. Prima di lavorare nel settore dei PCB, ha insegnato alla Portland State University. Ha condotto la sua Fisica M.S. ricerche sui sensori di gas chemisorptivi e il suo dottorato di ricerca in fisica applicata, ricerca sulla teoria e stabilità del laser casuale. Il suo background nella ricerca scientifica abbraccia temi quali laser a nanoparticelle, dispositivi semiconduttori elettronici e optoelettronici, sistemi ambientali e analisi finanziaria. Il suo lavoro è stato pubblicato in diverse riviste specializzate e atti di conferenze e ha scritto centinaia di blog tecnici sulla progettazione di PCB per numerose aziende. Zachariah lavora con altre società del settore PCB fornendo servizi di progettazione e ricerca. È membro della IEEE Photonics Society e dell'American Physical Society.

Risorse correlate

Documentazione Tecnica Correlata

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