Upload
nikita
View
31
Download
0
Embed Size (px)
DESCRIPTION
Università di Trieste 4 Maggio 2006 “ Progettazione e realizzazione di moduli a microprocessore ad alte prestazioni ” - Progettare per Produrre : dalla teoria alla pratica -. Agenda. Parte I presentazione della società sistemi embedded e moduli embedded Parte II - PowerPoint PPT Presentation
Citation preview
Università di Trieste
4 Maggio 2006
“ Progettazione e realizzazione di moduli a
microprocessore ad alte prestazioni ”
- Progettare per Produrre : dalla teoria alla pratica -
Agenda• Parte I
– presentazione della società
– sistemi embedded e moduli embedded
• Parte II
– Concept Product (specifiche di progetto)
– Progetto (schema elettrico/meccanico, PCB Mastering)
– Prototipazione e Debug
– Certificazione (pre-EMC, EMC)
• Parte III
– Progetto del modulo FLEXY su FPGA
– Signal Integrity
– Distribuzione dei clock
– Sistema di alimentazione e reti di bypass
– Placement e disposizione dei segnali
2
Chi siamo
• DAVE S.R.L.
• via Forniz 2 , 33080 Porcia• tel. +39.0434.921215• fax +39.0434.1994030• e-mail: [email protected]• web: www.dave-tech.it• fondata nel 1998
3
Servizi e Prodotti
• Moduli CPU (SOM “System On Module”)
• Sistemi embedded completi• Servizi di Progettazione
– Porting (Linux, uCLinux, eCos, Windows CE)
– Drivers
– Applicazioni
4
Sistema Embedded: definizioni
5
• molte definizioni in letteratura; non c'e' una definizione universalmente riconosciuta
• Sistema Embedded è un sistema specializzato, incorporato in un dispositivo fisico in modo tale che possa controllarne le funzioni tramite un apposito programma software dedicato
• un Sistema Embedded è tipicamente dotato delle risorse hardware minime indispensabili per espletare le funzioni per cui è preposto
Sistema Embedded: la struttura
6
Sistema Embedded: i tipi
“General Purpose” (Pentiums II/III/IV, PowerPC, SPARC, Athlon ecc.)• software general purpose (da applicazioni da ufficio a simulazioni di sistemi biologici)• s.o. “pesanti” (Unix, Linux, Windows NT ecc.)• applicazioni: Personal Computer, workstation, servers,...• Assorbimento di corrente(potenza) notevole / necessità di ventole
Processori embedded: ARM, x86 (AMD520, Geode), Hitachi SH-3/4, MIPS, PowerPC• singolo programma• s.o. estremamente ridotto, spesso real-time• supporto funzionalita' DSP• applicazioni: telefonia cellulare, elettronica di consumo, controllo industriale ecc.
Microcontrollori• il costo ridotto e' l'obiettivo fondamentale• parallelismo ridotto (tipicamente 8 bit)• volumi di produzione enormi • applicazioni: automobili, termostati, telecomandi ecc.
7
Cosa “intendiamo” per sistema embedded
8
• differenze rispetto ad un sistema PC classico:
– frequenze di lavoro (potenza di calcolo) tipicamente di molto inferiori
– tagli di memoria notevolmente inferiori
– dispositivi di I/O spesso molto piu' primitivi o addirittura assenti
• molte architetture non x86 profondamente incompatibili tra loro (ARM, PowerPC, MIPS, SH-4 ecc.)
– diversa endianness
– diverso set di istruzioni
– diversa organizzazione della memoria
Dualità tra SOM e PC104
9
• PC104 è standard (SOM no)
• PC104 include i connettori (SOM no)• Su PC104 le espansioni sono a standard• Con i SOM controllo i consumi• SOM è predisposto per il plug su host • Consumo !• Costi
Moduli Embedded: perchè
10
• Forniscono una soluzione hardware-software completa per la parte high-tech di un sistema embedded
• Permettono di concentrarsi sulle altre problematiche realizzative del dispositivo in cui verranno integrati
Moduli Embedded: la struttura
11
Moduli Embedded: CPU / tipologie
12
• Entry/Small Networking: • ARM7TDMI [famiglia B2]
• Industry Standard:• ARM920T [Zefeer]
• Portable:• ARM920T [Parsy] + Xscale [Rocket]
• Intensive Computation: • PowerPC [PPChameleon + Flexy]
B2:Entry/Small Networking [ARM7TDMI]
13
PPChameleon: Intensive Computation [PowerPC]
14
Industry Standard:ARM920T [Zefeer]
15
Portable : ARM920T [Parsy]
16
La gamma (periferiche)
17
Flexy* PPChameleon Zefeer Parsy Rocket* B2CPU PowerPC 405 core D PowerPC 405 core D ARM920T ARM920T Xscale ARM7TDMIMHz < 400 133-266-333 166-200 100-200 <624 66-40/85° range availability yes yes yes-25/85° range availability yes yes yes yes yesFPU yes yes yesMultimedia Accelerator yes yes yesMMU I+DMMU I+DMMU I+DMMU I+DMMU I+DMMUCache 16K/16K 16K/16KDMA yes yesSDRAM Type DDR 266 SDR 133 SDR 133 SDRM 133 SDRM 133 SDR 100SDRAM (Mbytes) 64 16-32NOR Flash (Mbytes) 4-64 4-16 4-64 4-64 4-64 01/02/16NAND Flash (Mbytes) 32-128 Ethernet MAC 2 x 10/100 2 x 10/100 1 x 10PCI IP 2.0LCD IP (2K x 2K) XGA SVGA SVGA STNATA/IDE IP 2 noUSB host IP 2-3 1 noUSB device IP 1 1 noSPI IP 1 noI2C IP 1 1 1 YesI2S IP 1 1 1 noGPIO IP 64PACKAGE (mm) Tbd SO-DIMM 200 68 x 51 58 x 41 Tbd 80 x 56PSU 1 5,0V 1,8V 3,3V 3,0V Tbd 3,3VPSU 2 3,3VPOWER (mW) > 10.000 1500 800 600 600 750@ 133MHz
32-64-128 32-64-128 32-64-128 32-64-128
• Parte I– presentazione della società
– sistemi embedded e moduli embedded
• Parte II
– Concept Product (specifiche di progetto)
– Progetto (schema elettrico/meccanico, PCB Mastering)
– Prototipazione e Debug
– Certificazione (pre-EMC, EMC)
• Parte III
– Progetto del modulo FLEXY su FPGA
– Signal Integrity
– Distribuzione dei clock
– Sistema di alimentazione e reti di bypass
– Placement e disposizione dei segnali
18
Agenda
Processo realizzativo
19
• Concept Product (specifiche di progetto)• Progetto (schema elettrico/meccanico, PCB Mastering)• Prototipazione e Debug• Certificazione (pre-EMC, EMC)
Concept Product
20
Specifiche di progetto:
• Potenza di calcolo CPU
• Risorse di memoria volatile/non volatile
• Periferiche integrate (Porte RS-232,USB, ETH, CAN, LCD controller ecc.)
• Periferiche AUX on board (RTC, EEPROM, ID dev.)
• Range di Temp. (C / I)
• Format meccanico (min/max)
• Power Supply
• Volumi annui di produzione
Scelte dei componenti
fondamentali:
• Microprocessore (Architettura, famiglia , casa)
• Memorie FLASH e SDRAM
• External Controller (USB, ETH)
• Power Supply Unit
Da schema elettrico a PCB
21
Schema elettrico+
Spec. Mecc. comp
+Indicazioni di sbroglio
Place Routing
Signal integrity
HW Engineer PCB Designer
Schema elettrico
22
• Electric CAD • Componenti di libreria proprietaria omologati• Inserimento componenti ausiliari a scopo debug primo
prototipo, misure generiche, test• Predisposizione soluzioni per EMC • Indicazioni per PCB Routing: Piste critiche, piani GND/VCC
e isole GND/VCC
Hot nets : Nets critiche
23
• Clock: alim. uP, uP-RAM, ext. Chip (ETH, USB, LCD ecc.) • Alimentazione uP [10-50 Mhz]• uP-RAM (SCLK) [50-200 Mhz] • Ext chip (ETH CON , USB CON, LCD, ecc) [10-40Mhz]• Res di term. Serie (Rts) 22-68ohm con alternativa 0 ohm obbligatoria (EMC)
• Segnali di controllo memorie e chip (Unidirezionali)• Rt facoltativa
• BUS Unidirezionali : • ADDRESS BUS (20-30 traces)• RGB BUS (10-24 traces)
• BUS Bidirezionali: DATA BUS (32 traces) • No Rt per BUS se BUS < 100 Mhz , necessarie e di vario tipo se > 400Mhz (DDR)
• Eventuali piste analogiche • Piste di guardia
• Bus differenziali: RS485, CAN; ETH, LVDS, DVI (impdenza controllata)
PCB Routing Rules e Indicazioni
24
• Clock, segnali di controllo del bus• Piste piu' corte possibili
• Percorsi lineari
• Unico layers (NO VIAS)
• Resistenze di terminazione [Rt] vicine alla sorgente (22-68ohm)
• BUS Unidirezionali : Equalizzazione lunghezza piste• BUS Bidirezionali: Equalizzazione lunghezza piste [No Rt] • Nets analogiche : piste di guardia , layers dedicato ecc. • Bus differenziali: impedenza controllata,
• Lunghezza minima, percorsi lineari, no incroci, no vias
• Indicazioni di portata di corrente max delle piste (VCC ecc.)
Piani di GND/VCC e indicazioni di Routing
25
• Isole di massa diverse da GND ma aventi uguale riferimento unite in un solo punto (es AGND unita in un solo punto con GND)
• Isole di massa devono stare solamente vicine ai segnali/componenti di propria competenza (AGND limitata alla parte analogica del chip / evitare correnti di ritorno in altre isole di massa)
• Inserimento di filtri (pi-greco) come disacoppiamento tra due masse
• Capacita' di bypass dei vari chip piu' vicino possibile ai chip/connettori (piu' piccola la capacita + deve stare vicina )
Flessibilita' di Routing
26
• Connettori con pinout non fissato (Swap)
• GPIO signals (Swap)
• Logiche CPLD, FPGA: swap di pin (si ha un routing piu’ lineare, tempi minori di sbroglio)
• Priorita’ di sbroglio piu’ bassa per i segnali non veloci.
Caratteristiche principali di un PCB
27
• Dimensioni (AREA mm2) [$ ]• Spessore [0.8mm-2.0mm]
• Numero di layers (2-24) [Ns. Moduli : 4-10 ] [ $ , x2]
• Fori(via ) passanti o fori ciechi ($[passante] < $[ciechi] )
• Num di Via ( 500-1500) [$ ]• Dimensioni Vias (300um, 200um, 125um) [se < 100um [ $ ], ES; BGA passo 0.8mm
• Larghezza piste (6 mils) [$ ] • Isolamenti Piste (6 mils ) [$ ]• Impedenza controllata [$ ]• Dielettrico ( FR4 )
• Finitura, dalla meno pregiata in ordine crescente: SnPb (PCB doppiafaccia), HAL, Sn Chimico (BGA), Oro chimico (BGA), Flash gold ecc. [$ ]
• Contatti in Oro [$ ]
Case Study A: DZQ
28
Num comp:200Num Pin: 1500 Layers:8Num Vias:1000Tracce: 6 milsIsolamenti: 6milsSpessore: 1.2mmT real. = 80 h
1 BGA-352-1.3mm2 BGA-64-1.0mmConn:70x2x0.6mm
DZQ: bottom layout
29
DZQ: Top layer
30
DZQ: Power Plane
31
DZQ: Ground Plane
32
DZQ: drill layout
33
Case Study B
34
Case Study B: Bottom layout
35
Case Study B: Grounds Plane
36
Num comp:700Num Pin: 3050 Layers:6Num Vias:1563Tracce: 6 milsIsolamenti: 6milsSpessore: 1.8mmT real. = 150 h
1 mils = 25,4um
Case Study B : Top Layer
37
Case Study B : Top layer
38
BLUE: Data Bus GREEN:RGB Signal VIOLET: FPGA program signal
Case Study B : Ground Plane (I2)
39
Case Study B : Inner 4
40
Case Study B : Inner3
41
Case Study B : Power Plane (I5)
42
Case Study B : Bottom layer
43
PCB Prototiping
44
Aziende manufatturiere di CS specializzate nella prototipazione
• Numero di pezzi minimo: 3-5
• Tempi di fornitura :
• 3 gg (2 layers)
• 5-6 gg (4 < layers < 10)
• Costi:
• Attrezzatura digitale: dai 350 euro (4 strati no BGA) - 700 euro (8 layers BGA)
• Materiali + lavoro: dipendono fortemente dalle caratteristiche del CS
(indicativamente da 350 euro ( 8pz, 2 layers) a 700 euro (8pz, 8 layers)
Es: DZQ: 8 layers, diel FR4, spessore 1.2mm, dim (50x68mm), 8pz a 69euro/cad -> tot= 552 euro
PCB Assembling
45
Assemblaggio SMT/Wave Soldering (max 5pz)
• Manuale : solo per schede semplici (anche 6 layers -no BGA,no FINE-PITCH)
• Vantaggi: basso costo, velocita (no attrezzatura, no fornitori),
• Svantaggi: difficolta’ di saldatura (perdite di tempo durante il debug), bassa qualita’ di saldatura (cortocircuiti, etc)
• Macchina: presso un terzista, realizzazione attrezzatura (obbligatorio per i componenti BGA)
• Vantaggi: qualita’ di saldatura, primo assaggio del processo produttivo della scheda
• Svantaggi: costo elevato, attrezzatura da buttare, tempi lunghi (2-3 weeks)
• Note: E’ difficile trovare terzisti attrezzati per prototipazioni complesse (BGA) e allo stesso tempo veloci (5-10g)
Debugging
46
Predisposizioni su PCB che aiutano la fase di debugging:
• Test point segnali critici, clock e segnali di controllo
• Test point sulle varie VCC e GND
• Fori di fissaggio
• Bus Dati su connettore ausiliario (collegamento e ETH controller etc) interfacciamneto generico a francobollo di debug
• Resistenze zero-ohm tra stadi di alimentazione e carichi (Setting tensioni 3V3, 1V8, 2V5, etc, misure di assorbimento)
• Connettori dedicati per analizzatore di stati logici
• Eventuali logiche programmabili per riservarsi la possibilita’ di modificare al volo il routing dei segnali senza risbrogliare o aggiungere filetti.
EMC
47
I nostri moduli non sono dei prodotti finiti, ma sono componenti di un sistema piu’ ampio: non abbiamo l’obbligo di apporre la marcatura CE.
Tuttavia i prodotti vengono certificati CE per garantire al cliente di non avere problemi derivanti dal modulo durante le prove EMC.
Le prove della direttiva 89/336 :
• Emissioni e Immunita’ irradiata (CEI EN55022)
• Emissioni e disturbi condotti su porte di alimentaz. e di comunicaz. (CEI EN55024)
Sorgenti di disturbo tipiche: Clock uP-SRAM, Ethernet, Clock BUS RGB
Le strategie adottate come soluzioni a problemi EMC(oltre a Rt):
• Resistenze di terminazione serie (valore opportuno)
• Ferriti di filtro con caratteristiche tipiche 600ohm/100Mhz, 300mA sulle alimentazioni
• Ferriti sui flat – cable che vanno ai display LCD.
48
EMC
49
EMC
Agenda• Parte I
– presentazione della società
– sistemi embedded e moduli embedded
• Parte II
– Concept Product (specifiche di progetto)
– Progetto (schema elettrico/meccanico, PCB Mastering)
– Prototipazione e Debug
– Certificazione (pre-EMC, EMC)
• Parte III
– Progetto del modulo FLEXY su FPGA
– Signal Integrity
– Distribuzione dei clock
– Sistema di alimentazione e reti di bypass
– Placement e disposizione dei segnali
50
Introduzione al progetto
• Idea base:realizzare un nuovo prodotto caratterizzato da un’elevata configurabilità nella dotazione di periferiche
• Scelta operata:utilizzare un FPGA in sostituzione del tradizionale microprocessore
51
Perché usare un FPGA?
FPGA
IBM PPC405EP
52
Struttura Hardware Flexy
PSU
opzionale
53
Signal Integrity: bus DDR
• Specifiche SSTL-2 per terminazione segnali bus
• In realtà in fase di progetto si cerca un compromesso tra affidabilità e semplicità
54
Tre soluzioni
• Tre evaluation board per Virtex-4, tutte con due componenti di memoria DDR
–Evaluation board Avnetterminazioni serie + terminazioni parallelo
–Evaluation board Xilinxsolo terminazioni parallelo
–Evaluation board Memecnessuna terminazione
55
Soluzione realizzata
solo terminazioni parallelo
• L’integrità dei segnali non è critica per schemi con soli due componenti di memoria
• L’adattamento di impedenza sul fronte controller (FPGA) può essere realizzato tramite DCI (Digital Controlled Impedance)
• La conferma della bontà della soluzione verrà con le simulazioni di Signal Integrity
56
Distribuzione Clock
• I segnali di clock rappresentano una delle principali sorgenti di emissioni elettromagnetiche a causa del loro spettro molto esteso
• E’ necessario porre attenzione a:–Lunghezza percorsi linee di clock–Frequenze in gioco
• Si cerca di avere una sola sorgente a frequenza il più possibile bassa
57
Clock necessari su Flexy
• FPGA:clock generato esternamente con frequenza tra i 25MHz e i 100MHz, variabile in funzione della specifica implementazione
• Ethernet PHY:Si hanno due opzioni
–quarzo a 25MHz pilotato da circuiteria interna–clock digitale a 25MHz generato esternamente
58
Soluzione realizzata
implementazione di due alternative
si sceglierà in base alle indicazioni dei test EMC
59
Sistema di alimentazione
• Reference design di Texas Instruments per Virtex-4 (modificato)
– 3 regolatori switching per le tre tensioni principali
– 1 regolatore lineare per la tensione 1.25V
• Il gruppo “Voltage Monitors” genera un reset in caso di cali di tensione
TPS54310
3V3@3A
TPS54310
2V5@3A
TPS54610
1V2@6A
LP2996
1V25
Voltage
Monitors
2600mA1.2V
2650mA2.5V
1330mA3.3V
AssorbimentoTensione
60
Rete di bypass
• Lo scopo è fornire un percorso a bassa impedenza verso massa per le alimentazioni, riducendo il disturbo causato dai picchi di assorbimento dei componenti
caratteristiche condensatori reali
61
Bypass VCCO(2,5V) per FPGA
1,00
E+03
1,00
E+04
1,00
E+05
1,00
E+06
1,00
E+07
1,00
E+08
1,00
E+09
1,00E-03
1,00E-02
1,00E-01
1,00E+00
1,00E+01
1,00E+02
1,00E+03
1,00E+04
1,00E+05
1,00E+06
Impedance VS Frequency
1x10u (0805X7R)
2x100n (0805X7R)
5x10n (0603X7R)
10x680p (0603X7R)10x680p (0603C0G)
Power Plane
Totale-X7R
Totale-C0G
Frequency
Imp
ed
an
ce
62
Placement componenti
• La disposizione dei componenti sul PCB è fondamentale per ottenere buoni risultati
– semplificazione del routing– minimizzazione percorsi dei segnali– riduzione del numero di strati
• In Flexy c’è un grado di libertà in più: la dsposizione dei segnali sugli I/O del FPGA
63
Disposizione segnali su FPGA
• Raggruppamento per standard elettrici compatibili
• Ottimizzazione percorsi interni ed esterni tramite raggruppamento per componente
64
Ipotesi di Placement
65
Conclusioni
• Progettazione / realizzazionenella fase di Progettazione occorre tener conto di
tutte le fasi di Produzione/Test/Debug/EMCrealizzare un Prodotto non è banale
• Progetti Hi-Tech know-how necessarioscelte strategiche
• Produrre moduli embeddedmake or buy ?
66