Altera Max10 Breakout Board: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
KKeine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Projektseite==
https://hackaday.io/project/13245-altera-max10-breakout-board
== Warum Max10? ==
== Warum Max10? ==
* Aktuell (Aug 2016) der einzig verfügbare FPGA in QFP bis 50K LUT.<br />
* Aktuell (Aug 2016) der einzig verfügbare FPGA in QFP bis 50K LUT.<br />
Zeile 4: Zeile 7:
* Geringe BOM: Flash on package, single-supply
* Geringe BOM: Flash on package, single-supply
* 3 temperature grades für QFP: C,I,A
* 3 temperature grades für QFP: C,I,A
== Eigenschaften des Breakout (11.08.16) ==
* 47mm x 47mm
** passt in Gehäuse mit Außenabmessungen 50mm x 50mm
* MEMS CLK mit CLK_enable
* 120 (4x30) pins single row 1.27
** davon I/O: 97
** auf Steckbrett nutzbar (jeder 2. Pin)
** optionale Bestückung double row für zusätzliche GND pins


== Überschlagsrechnung BOM-Kosten 10M04SC ==
== Überschlagsrechnung BOM-Kosten 10M04SC ==
Zeile 39: Zeile 33:
* S1. Kicad-Design (A1)
* S1. Kicad-Design (A1)
* S2. Zwei PCBs mit Pin-kombatiblen Breakout für die package-Linien 04-25 und 40-50 (A2).
* S2. Zwei PCBs mit Pin-kombatiblen Breakout für die package-Linien 04-25 und 40-50 (A2).
*** Die pinouts dieser beiden package-Linien sind nicht ähnlich aber nicht gleich.
*** Die pinouts dieser beiden package-Linien sind ähnlich aber nicht gleich.
* S3. 2-Layer-PCB; max 50mm x 50mm (A3, SI)
* S3. 2-Layer-PCB; max 50mm x 50mm (A3, SI)
* S4. Mindestens 0603; Footprints für händische Bestückung (A4)
* S4. Mindestens 0603; Footprints für händische Bestückung (A4)
Zeile 81: Zeile 75:
* -> VCC_ONE und VCCO werden auf dem PCB gemeinsam als VCC_ONE_ geführt.
* -> VCC_ONE und VCCO werden auf dem PCB gemeinsam als VCC_ONE_ geführt.
* -> VCCA wird über einen Filter realisiert
* -> VCCA wird über einen Filter realisiert
== BOM für das breakout pcb 10M50: ==
* FPGA (1x 52EUR; 25x 44EUR)
http://www.digikey.de/product-detail/de/altera/10M50SCE144C8G/544-3129-ND/5284853
* 01x 0603 Filter
TODO lrs
* 10x 0603 47uF
http://www.digikey.de/product-detail/de/murata-electronics-north-america/GRM188R60J476ME15D/490-13247-1-ND/5877455
* 18x 0612 1uF
http://www.digikey.de/product-detail/de/murata-electronics-north-america/LLL317R71A105MA01L/490-4389-1-ND/1022533
* MEMS CLK an CLK0 oder CLK1
http://www.digikey.de/product-detail/de/silicon-labs/501JCA100M000CAG/336-2997-ND/4582107
* 1x  1K(2x) 0606 (config pull down)
http://www.digikey.de/product-detail/de/cts-resistor-products/742C043102JP/742C043102JPCT-ND/1124588
* 1x 10K(2x) 0606 (config pull up)
http://www.digikey.de/product-detail/de/cts-resistor-products/742C043103JP/742C043103JPCT-ND/1124587
* Pin header single row
http://www.ebay.de/itm/10Stk-50Pin-50P-1-27MM-Gold-Plated-Single-Row-Straight-Male-Pin-Header-Neu-/111543240426
http://www.ebay.de/itm/10Stk-50Pin-50P-1-27MM-Gold-Plated-Single-Row-Straight-Female-Pin-Header-Neu-/111543242032
ODER
* Pin header double row
http://www.aliexpress.com/item/10-pcs-1-27-mm-lapangan-2x50pin-ganda-baris-laki-laki-Pin-Header-Pin-konektor-Double/32384322952.html
http://www.aliexpress.com/item/100pcs-lot-Du-Pont-1-27mm-Female-Header-2-36P-Straight-Double-Row-180o-Rohs-high/32352158974.html
http://www.aliexpress.com/item/10Pcs-Pitch-1-27mm-2x50Pin-100-Pin-Female-Double-Row-Straight-Header-Connector-Socket/32707828068.html
* PCB
dirty pcb oder andere




== Arbeitspakete ==
== Arbeitspakete ==
=== P1 Config pins (DONE) ===
=== P1 Config pins (DONE) ===
Aufgeführt werden alle config-Pins, die beschalten werden (müssen):
* CONFIG_SEL -> GND
* CONF_DONE  -> 10K pull-up  (QFP top, dunkel-gelb)
* nCONFIG    -> VCC_ONE_IO
* nSTATUS    -> 10K pull-up  (QFP top, dunkel-gelb)
* TCK        -> 1K pull-down  (QFP left, hell-gelb)
* JTAGEN    -> 1K pull-down  (QFP left, hell-gelb)
* Die JTAG pins werden als JTAG oder als I/O genutzt.
**(Abhängig von der Beschaltung JTAGEN sowie von Bitstream-Optionen)
* Andere config pins dürfen floating sein.


=== P2 Betrachtung Clocks (done): ===
=== P2 Betrachtung Clocks (done): ===
Zeile 138: Zeile 84:
E144-package hingewiesen. Datenleitungen sollten nicht direkt neben  
E144-package hingewiesen. Datenleitungen sollten nicht direkt neben  
einem CLK pin mit "hoher" Frequenz angeschlossen werden.
einem CLK pin mit "hoher" Frequenz angeschlossen werden.
* CLK auf dem PCB:
** MEMS_CLK und CLK_EN:
** CLK0p/n oder CLK1p/n (QFP left)
** Beide CLK0 und CLK1 sind in allen densities (4K -50K) auf der linken Seite vorhanden.
* 10M04 besitzt weniger PLLs und weniger CLK-Eingänge. Nach Möglichkeit sollten auch beim PCB mit 10M04 mindestens ein CLK-Eingang auf der linken Seite und ein CLK-Eingang auf der rechten Seite verfügbar sein. Dies sollten dann beim 10M50 ebenfalls CLK-Eingänge sein, um pin-Kompatibilität der breakout-pcbs zu gewährleisten.


=== P3 Betrachtung Unterschiede 10M04 pinout vs 10M50 pinout (done): ===
=== P3 Betrachtung Unterschiede 10M04 pinout vs 10M50 pinout (done): ===
* 10M04: http://www.mikrocontroller.net/attachment/301649/m04SC_3.png
* 10M50: http://www.mikrocontroller.net/attachment/301650/m50SC_3.png
* VCC, VCCO und GND liegen teilweise unterschiedlich -> für das breakout unkritisch.
* Am package des M04SC befindet sich auf der linken Seite zwischen den JTAG pins (orange) ein I/O pin (grün). Wird dieser pin nicht zum pin-header des pcb herausgeführt, so ist die Pinbelegung des pcb für beide package-Linien (04-25 und 40-50) auch hinsichtlich JTAG sowie hinsichtlich CLK0,1 identisch.
* CLK0,1,2,3 identisch
* PLL_L_CLKOUT identisch


=== P4 Anordnung der caps und Führung der Power traces (DONE) ===
=== P4 Anordnung der caps und Führung der Power traces (DONE) ===
* http://www.mikrocontroller.net/attachment/301761/layout_idee2.png


=== P5 Schematic Symbole und PCB footprints erstellen (TODO) ===
=== P5 Schematic Symbole und PCB footprints erstellen DONE lrs) ===
* ggf. mit https://github.com/xesscorp/KiPart


===P6 Layout für breakout pcbs erstellen (TODO lrs) ===
===P6 Layout für breakout pcbs erstellen (DONE lrs) ===
* erfordert P5
* erfordert P5


Zeile 167: Zeile 97:
* erfordert P6
* erfordert P6


=== P8 Basebord2 Schematic TODO) ===
=== P8 Basebord1 Schematic TODO) ===
(für Performance-Tests)
: (̶f̶̶ü̶̶r̶̶ ̶̶p̶̶e̶̶r̶̶f̶̶o̶̶r̶̶m̶̶a̶̶n̶̶c̶̶e̶-̶t̶̶e̶̶s̶̶t̶̶s̶)
* ̶̶i̶/̶o̶-̶p̶̶i̶̶n̶̶s̶̶ ̶̶d̶̶e̶̶s̶̶ ̶̶f̶̶p̶̶g̶̶a̶̶ ̶̶m̶̶i̶̶t̶̶e̶̶i̶̶n̶̶a̶̶n̶̶d̶̶e̶̶r̶̶ ̶̶v̶̶e̶̶r̶̶b̶̶i̶̶n̶̶d̶̶e̶̶n̶
: Dafür kann man auch 2 breakout boards aufeinander stecken und gegeneinander testen.
* JTAG
* JTAG
* Jumper für configpin JTAGEN
* Jumper für configpin JTAGEN
* USB conn
* USB conn
* LDO an USB conn
* LDO an USB conn
* I/O-Pins des FPGA miteinander verbinden


=== P9 Basebord2 Layout (TODO) ===
=== P9 Basebord1 Layout (TODO) ===
* erfordert P7, P8
* erfordert P7, P8


Zeile 181: Zeile 112:
* erfordert P7, P9
* erfordert P7, P9


=== P11 Basebord1 Schematic (optional, TODO) ===
=== P11 Basebord2 Schematic (optional, TODO) ===
* JTAG
* JTAG
* Jumper für configpin JTAGEN
* Jumper für configpin JTAGEN
Zeile 192: Zeile 123:
* ...?
* ...?


=== P12 Basebord1 Layout (optional, TODO) ===
=== P12 Basebord2 Layout (optional, TODO) ===
* erfordert P7, P11
* erfordert P7, P11


=== Weitere Ideen: ===
* SDRAM mit reduziertem pin count
...


== Links ==
== Links ==
[http://www.m-pression.com/solutions/boards/odyssey/max10-teardown odyssey max10 teardown]
[http://www.m-pression.com/solutions/boards/odyssey/max10-teardown odyssey max10 teardown]
[[Kategorie:Portexpander]]
[[Kategorie:FPGA-Projekte]]
[[Kategorie:FPGA und Co]]

Aktuelle Version vom 18. Juni 2021, 15:25 Uhr

Projektseite

https://hackaday.io/project/13245-altera-max10-breakout-board

Warum Max10?

  • Aktuell (Aug 2016) der einzig verfügbare FPGA in QFP bis 50K LUT.
    • Eignung für geringe Stückzahlen, Handbestückung, Test/Inbetriebnahme
  • Geringe BOM: Flash on package, single-supply
  • 3 temperature grades für QFP: C,I,A

Überschlagsrechnung BOM-Kosten 10M04SC

  • 10M04SC, digikey 8,22 EUR (Abnahme 25 Stück) ODER
  • 10M04SC, digikey 10,29 EUR (Abnahme 01 Stück)
  • PCB, dirtypcb 0,65 USD (10mal 10x10 für 25USD -> 25/(10*4))
  • MEMS CLK, digikey 1,00 EUR
  • Caps (keine volle Bestückung für 04SC) 1,xx EUR
  • Pin header, ebay/ali 0,35 EUR

10 bis 15 EUR

Anforderungen

  • A1. OpenSource; Design einfach modifizierbar und verwendbar
  • A2. Max10 04K LUT bis 50K LUT QFP single-supply
  • A3. geringe Material-Kosten für kleine Stückzahlen
  • A4. händisch lötbar, wenig Bauteile
  • A5. Gute GND-Anbindung auf Ansteckmodule/Baseboards
  • A6. Auf Steckbrett verwendbar
  • A7. Mit 2.54mm Pinheadern verwendbar
  • A8. Breakout von möglichst vielen I/Os
  • SI. Signal Integrity; PDN. power distribution network


Spezifikation

  • S1. Kicad-Design (A1)
  • S2. Zwei PCBs mit Pin-kombatiblen Breakout für die package-Linien 04-25 und 40-50 (A2).
      • Die pinouts dieser beiden package-Linien sind ähnlich aber nicht gleich.
  • S3. 2-Layer-PCB; max 50mm x 50mm (A3, SI)
  • S4. Mindestens 0603; Footprints für händische Bestückung (A4)
  • S5. Single row 1.27mm THT pin header (A8, A3, A4)
    • Anordnung/Distanz zueinander: Vielfaches von 2.54mm
    • A6 erfüllt bei Nutzung jedes 2. pins (GND geeignet positionieren)
    • A7 wie folgt erfüllt: Breakout auf 2.54mm double row mittels
      • Adapter oder
      • Ribbon cable mit Klemmstecker (Seite1: 1.27mm single; Seite2: 2.54 double)
  • S6. Optionale Bestückung mit 1.27mm THT double row für zusätzliche GND pins (A5, SI)

Details (Spezifikation)

  • D1. Pin header an allen 4 Seiten
  • D2. Zwischen QFP und pin header: top layer für Signal; bottom layer GND (A5, SI)
  • D3. (Fast) alle caps direkt unter das QFP (D2)
  • D4. Möglichst wenig Überschneidungen der Power Traces (SI)
  • D5. 0612 caps für HF decoubling (A4, SI, PDN)
  • D6. Pcb thickness: 0.6mm oder 0.8mm (SI, PDN)
  • D7. Leiterbahnbreite, spacings: 0.150mm; drill: 0.300mm (A3)

Bewertung ADC

  • Den FPGA gibt es im QFP als SA (1Msps ADC) und als SC (ohne ADC). Beim FPGA beträgt der Preisunterschied zwischen SA und SC 4-8EUR. Ein 1Msps ADC kostet ca. 4EUR.
  • Der ADC verursacht auch im deaktivierten Zustand einen Stromverbrauch an den ADC-Pins (Device Datasheet Seite 8)
  • Bei Verwendung des ADC sind zusätzlich erforderlich: GND-ADC, VREF-ADC, VCC-ADC
    • Dies ist zusätzlich auf 2 Lagen schwierig zu realisieren.

-> Zunächst auf ADC verzichten und erst einmal schauen, wie gut das PDN ohne die zusätzliche ADC-Beschaltung ist.

Betrachtung zum PDN

  • In der Mitte des Package befindet sich ein GND-Pad. Dieses muss elektrisch gut von allen 4 Seiten mit der GND-Fläche verbunden werden.
  • Anzahl supplies, filter
    • Der Fall Single-Supply ohne ADC ist dargestellt in "Device Family Pin Connection Guidelines" auf Seite 32 und 33. Hier werden 2 regulators vorgeschlagen.
    • Aus Datei "Device Family Pin Connection Guidelines":
      • Auf Seite 33 wird ein Filter zwischen VCC_ONE und VCCA vorgeschlagen.
      • Auf Seite 32 steht: "Both VCCA and VCC_ONE must share a single power source using proper isolation filter."
    • Aus Datei "Power Management User Guide":
      • Bildchen auf Seite 4: Die VCC_ONE pins und VCCA pins sind im Package direkt miteinander verbunden.
    • Anfrage beim Support ergibt: VCCA pins und VCC_ONE pins sind im package NICHT miteinander verbunden.
  • -> Spannungsversorgung des Boards über einen einzelnen 3V3-Pin.
  • -> VCC_ONE und VCCO werden auf dem PCB gemeinsam als VCC_ONE_ geführt.
  • -> VCCA wird über einen Filter realisiert


Arbeitspakete

P1 Config pins (DONE)

P2 Betrachtung Clocks (done):

  • Im Datenblatt wird auf eine relativ hohe Kopplung der pins im

E144-package hingewiesen. Datenleitungen sollten nicht direkt neben einem CLK pin mit "hoher" Frequenz angeschlossen werden.

P3 Betrachtung Unterschiede 10M04 pinout vs 10M50 pinout (done):

P4 Anordnung der caps und Führung der Power traces (DONE)

P5 Schematic Symbole und PCB footprints erstellen DONE lrs)

P6 Layout für breakout pcbs erstellen (DONE lrs)

  • erfordert P5

P7 Bestückung (TODO)

  • erfordert P6

P8 Basebord1 Schematic TODO)

(̶f̶̶ü̶̶r̶̶ ̶̶p̶̶e̶̶r̶̶f̶̶o̶̶r̶̶m̶̶a̶̶n̶̶c̶̶e̶-̶t̶̶e̶̶s̶̶t̶̶s̶)
  • ̶̶i̶/̶o̶-̶p̶̶i̶̶n̶̶s̶̶ ̶̶d̶̶e̶̶s̶̶ ̶̶f̶̶p̶̶g̶̶a̶̶ ̶̶m̶̶i̶̶t̶̶e̶̶i̶̶n̶̶a̶̶n̶̶d̶̶e̶̶r̶̶ ̶̶v̶̶e̶̶r̶̶b̶̶i̶̶n̶̶d̶̶e̶̶n̶
Dafür kann man auch 2 breakout boards aufeinander stecken und gegeneinander testen.
  • JTAG
  • Jumper für configpin JTAGEN
  • USB conn
  • LDO an USB conn

P9 Basebord1 Layout (TODO)

  • erfordert P7, P8

P10 Inbetriebnahme mit Baseboard (TODO)

  • erfordert P7, P9

P11 Basebord2 Schematic (optional, TODO)

  • JTAG
  • Jumper für configpin JTAGEN
  • USB conn
  • LDO an USB conn
  • Pinheader für typisches NRF24
  • Footprint für ESP8266
  • Pin header für FTDI UM232H-B (oder ähnlich)
  • Pin header für wiz850io
  • ...?

P12 Basebord2 Layout (optional, TODO)

  • erfordert P7, P11


Links

odyssey max10 teardown