Forum: Markt [Q] Interesse an FPGA Board


von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin gerade dabei ein FPGA Board mit Xilinx Spartan 6 (LX9) zu machen 
und wollte grundsätzlich mal fragen, ob jemand vielleicht Interesse an 
so einem Board bzw. auch nur an Platinen hätte!?

Die Anforderungen an das Board waren sehr minimal. D.h. es ist 
hauptsächlich der
- Spartan 6 (XC6SLX9),
- ein USB Interface zum Programmieren des FPGA und
- ein MicroSD Slot (inspiriert durch das von Elektor vorgestellte FPGA 
Board)  vorhanden sein.

Die SD Karte soll eben auch benutzt werden können, um ein Bitfile zu 
laden.
Zum USB Interface muss ich noch sagen, dass ich nicht auf den meist 
üblichen doch eher schwerfälligen Cypress FX2 Highspeed USB Controller 
setze, sondern auf einen einfachen ATMega32U2. Der Grund dafür ist 
einfach der, weil ich den FX2 nicht so gerne verwende. Ist zwar sehr 
schnell, aber einfach auch ein sehr komplexes Teil!

Anbei noch ein Bild meines Prototypen, bei dem zumindest schonmal die 
Konfiguration über USB mit einem Bitfile läuft!

Grüße,
Andreas

von daniel (Gast)


Lesenswert?

ich weiß es kommt nachher stark auf sie Menge der Boards an, aber was 
wird denn das Teil ca. kosten?

von Alex W.:-) (Gast)


Lesenswert?

Q?

von nicht billig (Gast)


Lesenswert?

Der Spartan kostet selbst nur ein zehner, das macht die Sache attraktiv.
Wie machst du das mit dem Atmega? Ich kenn nur JTAG + EEPROM.

von Robert N. (metrux)


Lesenswert?

Hi Andreas,

großartig! Mit so 4-5 wär ich dabei.

Gruß,

Robert

von Figlux E. (Firma: figlux electronix) (fuxl)


Lesenswert?

Kommt auf den Preis und die Entwicklungsumgebung drauf an ..
Aber wäre mit einem Stück dabei vorausgesetzt Preis passt und es gibt 
eine frei verfügbare IDE!

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hallo,

schön, wenn Interesse besteht ;-)!

@daniel:
Die Kosten hab ich noch nicht alle 100%ig zusammen, aber auf jedenfall 
unter 100 Euro für das aufgebaute Board. Ich hoffe, dass sich ca. 80 
Euro ausgehen wird.

@nicht billig:
Wo gibts den Spartan 6 LX9 um 10 Euro? Ich hab ihn für den Prototypen 
nur um 17,90 Euro (inkl. Mwst.) bekommen.
Der Spartan 6 wird über ein serielles Interface konfiguriert (ist am SPI 
vom Atmega angeschlossen). Das nennt sich dann Slave Serial 
Configuration.

@d_b F.:
Für den Spartan6 gibts von Xilinx eine freie IDE. Für den ATMega32 gibts 
den AVRGCC + Editor (oder Eclipse) als IDE.
Und zum Konfigurieren des FPGA hab ich momentan ein kleines C++ 
Programm, dass unter Linux in der Console läuft. Als Alternative sind 
aber auch die JTAG Anschlüsse rausgeführt und man kann mit einem JTAG 
Programmer den FPGA konfigurieren.

Die SD Karte habe ich bis jetzt noch nicht getestet...

Achja... vielleicht noch ein Punkt. Der Atmega32 stellt für den FPGA das 
Clock Signal (8MHz) zur Verfügung, damit die Schaltungen im FPGA auch 
"geclockt" werden. Aus den 8 MHz kann man mit dem DCM Block im FPGA auch 
höhere Frequenzen erzeugen (hab zum Testen aus den 8 MHz per DCM 64 MHz 
gemacht und einen 8bit Counter betrieben und dessen Zustand auf die 
externen Pins gelegt).

mfg,
Andreas

von Christoph (Gast)


Lesenswert?

Andreas Auer schrieb:
> Die Kosten hab ich noch nicht alle 100%ig zusammen, aber auf jedenfall
> unter 100 Euro für das aufgebaute Board. Ich hoffe, dass sich ca. 80
> Euro ausgehen wird.

Da kriegt man mit Studentenrabatt schon fast n Eval-Board mit nem 
Spartan 3. Ist da so n grosser Unterschied zum Spartan 6 dass es sich 
dann lohnen wuerde  deine Platine statt eines Eval Boards zu kaufen?

Sorry, aber ich kenn mich auf dem FPGA-Markt nicht wirklich aus, darum 
die Frage.

Preis von 50 Euro waer mal richtig interessant!!

Gruss

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hi,

da hast du wahrscheinlich auch recht! Es gibt auch schon Spartan 6 
Boards, die nicht viel mehr kosten.
Der Grund warum ich mein Board gebaut habe (und was IMHO auch der 
Unterschied zu den meisten Eval Boards ist), ist der, dass ich viele I/O 
Pins nach außen geführt haben wollte und zwar auf Anschlüssen, wo ich 
auch mal ein Kabel anlöten kann. Deshalb gibts auch kein extra RAM und 
dergleichen.
Das Designziel war ein günstiges FPGA Board mit vielen I/Os, einer 
einfachen Schnittstelle zum Konfigurieren und keine zusätzliche 
Peripherie wie RAM oder dergleichen, um das Board nicht zu teuer bzw. zu 
kompliziert zu machen.

Wenn mir jemand noch sagen kann, wo ich den FPGA um 10 Euro statt um 18 
Euro herbekomme, dann wären auch schon wieder 8 Euro gespart ;-).

Du kannst die Platine auch selbst bestückst, dann bist du natürlich auch 
nochmal billiger und du kommst wahrscheinlich schon auf die 50 Euro hin.

Andreas

von nicht billig (Gast)


Lesenswert?

Hallo, den kleinsten spartan 6 gibt es für 10 euro. 
digikey.de/scripts/dksearch/dksus.dll?FV=ffec6186%2Cffec6187%2Cfff40027% 
2Cfff80166&k=Spartan&vendor=0&mnonly=0&newproducts=0&ptm=0&fid=0&quantit 
y=0&PV1291=2492&stock=1

Das mit dem atmega klingt interessant. Mal ne ernste frage, willste an 
dem projekt was verdienen?
Spartan 6     10 bis 20 euro
Atmega + spannungsregler + kleinkram 10 euro
Sd karte brauch ich nicht

Wahrscheinlich brauchst du eine 4 lagige platine.aber so teuer sind die 
auch nicht.
Ich will nicht stänkern, wäre aber an einem ultra low cost nur 
interessiert.
viele grüße

von Albert G (Gast)


Lesenswert?

@ nicht billig

+19% Mwst und der LX4 ist eben auch deutlich kleiner als der LX9 ;-)

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Mein Vorredner (danke @Albert G) hats eh schon gesagt... da kommen noch 
19% bzw. für mich hier in Österreich noch 20% Mwst dazu. Dann bist du 
beim günstigsten LX9 auch bei 16,xx Euro.

Und die Bestückung der Platine musst du natürlich auch rechnen. Wenn du 
es bei 30-50 Stück bei ner Firma machen lässt, dann kannst du mit ca. 50 
Euro/Platine rechnen, was dich nur die Bestückung kostet.

Und wenn ich es per Hand bestücke, mach ich das auch nicht umsonst 
(sorry). Deshalb hab ich auch angeboten, dass ich auch gerne nur die 
Platinen hergebe, und es sich dann jeder selbst bestücken kann.

Andreas

von Electronics'nStuff (Gast)


Lesenswert?

nicht billig schrieb:
> Ich will nicht stänkern, wäre aber an einem ultra low cost nur
> interessiert.

Ja, wie die meisten hier.
Kratz dir doch aus dem Elektroschrott alle Transistoren die du finden 
kannst und bau das FPGA selbst auf. Kommt bestimmt günstiger!!

Sei froh, das Angebot dass er hier macht ist schon gut genug.

von Nero Neugier (Gast)


Lesenswert?

Ich hab mir mal dieses zugelegt:

 http://shop.ztex.de/product_info.php?products_id=70&language=de

(Spartan 6, USB, EEPROM, DDR2, MicroSD-Sockel, < 200€ )

Was macht dein Board besser als dieses?

MfG,

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Nero Neugier schrieb:
> Was macht dein Board besser als dieses?

Meins ist nicht so komplex und doch günstiger ;-).

Vorallem habe ich eine persönliche Abneigung gegen den FX2. Nicht falsch 
verstehen... ich find, dass das Teil echt viel kann und wenn man sehr 
viele Daten zwischen FPGA und PC übertragen muss, dann ist er genau 
richtig.
ABER, durch das, dass er soviel kann und vorallem auch die USB Endpoints 
voll konfigurierbar sind, wird er eher schwer zu programmieren.
Außerdem muss teilweise bestimmter Code am Anfang im Speicher liegen und 
die USB Deskriptor müssen auch an gerade Adresse anfangen, wenn ich mich 
noch recht erinnere. Alles Sachen, die eine einfache Programmierung in C 
etwas erschweren.

von Christoph (Gast)


Lesenswert?

Andreas Auer schrieb:
> Und die Bestückung der Platine musst du natürlich auch rechnen. Wenn du
> es bei 30-50 Stück bei ner Firma machen lässt, dann kannst du mit ca. 50
> Euro/Platine rechnen, was dich nur die Bestückung kostet.
>
> Und wenn ich es per Hand bestücke, mach ich das auch nicht umsonst
> (sorry). Deshalb hab ich auch angeboten, dass ich auch gerne nur die
> Platinen hergebe, und es sich dann jeder selbst bestücken kann.

Was hat denn der FPGA für ein Gehäuse? Ist das noch 0.5 mm Pitch?
Wenn ja wäre ein selber zusammenbauen natürlich schon interessant!

Ich kann die Grösse von dem Ding auch nicht wirklich abschätzen - krieg 
ich da n 32-Bit Softcore rein und wenn ja wie viel Prozent ist dann noch 
frei??

So ne Platine wäre auf jeden Fall interessant z.B. für einen LED Cube!

Gruss

von Dominik S. (dasd)


Lesenswert?

Nero Neugier schrieb:
> (Spartan 6, USB, EEPROM, DDR2, MicroSD-Sockel, < 200€ )

Auch nur Netto < 200€...

Wie sieht es bei deinem Board denn mit der Stromversorgung aus, Andreas?

Habe bis jetzt privat noch nichts mit FPGAs gemacht (nur in der 
Hochschule), aber folgenen Punkt finde ich bei dem von "Nero Neugier" 
verlinkten Board schon recht aufwendig:

> Externe Stromversorgung erforderlich:
> 3,3 V; Versorgungsstrom anwendungsabhängig (siehe Spartan 6-> >Datenblätter), 
empfohlen: ≥ 800 mA
> 2,5 V - 2,6 V: Versorgungsstrom anwendungsabhängig (siehe Spartan 6-> 
>Datenblätter), empfohlen: ≥ 300 mA
> 1,2 V; Versorgungsstrom anwendungsabhängig (siehe Spartan 6-> 
>Datenblätter),empfohlen: ≥ 2500 mA
> Variable I/O-Spannung VCCO_IO: 1,14...3,46 V; Versorgungsstrom 
>anwendungsabhängig (siehe Spartan 6-Datenblätter), empfohlen: ≥ 500 mA

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

@Christoph:
Das Gehäuse des FPGA ist TQFP144 mit 0.5mm Pitch und war ohne Probleme 
per Hand zu löten.
Ich selbst hab mit den Spartan6 leider auch noch nicht viel gemacht, und 
kann dir deshalb leider auch nicht genau sagen, wieviel du in den LX9 
reinbekommst.
Ich hab mir mal einen SHA256 Core für den FPGA angesehen und etwas 
optimiert. Das Design (ohne Interface nach außen) hat auf dem LX9 ca. 
16% benötigt.

LED Cube oder auch RGB LED Display wäre sicher eine interessante 
Anwendung für das Board.

@Dominik S.:
Versorgt wird das Board bei mir komplett über USB. Es sind 2 
Spannungsregler mit jeweils 800mA Ausgangsstrom drauf (einer für 3,3V 
und einer für 1,2V).
Nachdem es "nur" ein LX9 ist, benötigt der auch nicht soviel Strom wie 
der LX45 auf dem Board von Nero Neugier. Sollte eigentlich für die 
meisten Designs hinkommmen.
Um das zu testen möchte ich auch noch einmal ein größeres Design (z.B. 
einen Bitcoin Mining Core) synthetisieren und mal ausprobieren, ob das 
läuft.

von nicht billig (Gast)


Lesenswert?

Hey Leute.... sorry sollte kein Angriff sein ...

Ich glaub es gibt hier einfach Differenzen zwischen den Bastlern und 
Leuten die ein bisschen mehr Geld haben....

Selber löten kann ich ... das Geld vom Bestücker würde ich mir gerne 
sparen.
Ob es Sinn macht den kleinesten Spartan 6 zu nehmen kann ja auch jeder 
selbst entscheiden... Ich denke für die meisten reicht der kleine DICKE.
Der Kostet 9,33 + 1,19 = ca. 11,2

Wieviel Lagen hat denn die Platine?

Wenn sie nur zwei hat, würde ich noch eine billig Version machen...
Noch mal sorry, wollte keinen Krieg anzetteln ...

von nicht billig (Gast)


Lesenswert?

Habe mir gerade mal den Shop angeschaut ....

Hier gibt es ein Board Spartan6 XC6SLX9 (der größere) mit Ram und auch 
alles auf Buchsenleisten rausgeführt.
Für 118 Euro butto
http://shop.ztex.de/product_info.php?cPath=21&products_id=60

von FAn (Gast)


Lesenswert?

Moin,

ich will euch nicht die Laune verderben, aber schaut euch dieses Board 
mal an:

AES-S6MB-LX9-G

http://www.em.avnet.com/en-us/design/drc/Pages/Xilinx-Spartan-6-FPGA-LX9-MicroBoard.aspx

Mit Speicher + Netzwerk + USB + Debug und relativ günstig ($89).


---

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

@nicht billig:
Habs auch nicht persönlich genommen ;-). Mir ist klar, dass es hier 
jeder sehr günstig haben will. Möchte ja selbst auch nichts überteuertes 
kaufen. Außerdem lebt das Mikrocontroller Forum und seine Gemeinde auch 
von dieser Einstellung.
Aber es muss auch jedem klar sein, dass keiner hier im Forum z.B. 30 
Platinen für nen warmen Händedruck auflöten wird. Ich denke, dass man 
die Zeit, die jemand darin investiert auch sehen muss (und ich glaube 
jeder hier weiß, was eine normale Technikerstunde in der Wirtschaft 
kostet) und entsprechend auch honorieren soll.

Die Platine hat nur 2 Lagen!

Wie schon gesagt, ich weiß, dass es ähnliche Boards gibt, die auch nicht 
viel mehr kosten. Aber das Hauptziel von mir war ein günstiges und 
EINFACHES Board zu bauen, das keine externe Versorgung benötigt und das 
viele I/O Pins zur Verfügung stellt.
Das ZTEX Board hat zwar die I/Os nach draußen geführt, aber benötigt 
eine externe Versorgung. Und das AVNET MicroBoard ist zwar klein und hat 
RAM und Ehternet on-board, aber dafür wieder kaum I/O Pins, die man 
verwenden kann. Und beides kostet mehr als 100 Euro (inkl. Mwst.).

von Christoph (Gast)


Lesenswert?

Andreas Auer schrieb:
> Die Platine hat nur 2 Lagen!

Dann wird die Platine selber ja auch nicht wirklich teuer. Mit selbst 
Bestuecken koennte das mit 30-40 Euro schon aufgehen!

Ich melde mal prinzipielles Interesse an 1-2 Stueck an!

Gruss

von FPGAler (Gast)


Lesenswert?

Andreas Auer schrieb:
> XC6SLX9

viel zu mickrig!

nicht billig schrieb:
> Der Spartan kostet selbst nur ein zehner, das macht die Sache attraktiv
Der Lx45 kostet 40,- macht 30 Euro Differenz und man bekommt etwas rein.

Ich würde sogar zum 75er raten, der ebenfalls noch mit der Webversion 
programmierbar ist.

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hast schon recht, aber > LX9 ist nur noch im BGA Gehäuse zu bekommen. 
D.h. du brauchst wen, der dir das bestückt, oder du hast selbst einen 
Reflow Ofen, mit dem du das machst. Ich hab leider keinen!

von Hans-Georg L. (h-g-l)


Lesenswert?

Jetzt will ich auch noch meinen Senf dazugeben ;)

Das wirklich einzigste Argument für dein Board ist das selbst löten.

Alles andere bekommt man nur unwesendlich teurer mit viel mehr Leistung
und fix und fertig.

Du hast ein schnelles Fpga und nur USB 1.0 zum PC, da ist Ram auf dem 
Board zum zwischenspeichern schon recht angenehm aber da brauchst du 
eben mehr Pins und dann bist du bei einem BGA Gehäuse.

Ich habe so als Beispiel ein Ztex-Board mit einem LX45, das überträgt 
unkomprimierte Bilder (800Kb/Bild) von einem Cmos-Sensor zum PC und das 
wäre mit deinem Board nicht möglich. Jedenfalls, wenn die Bilder sich 
bewegen sollen ;). Der LX9 würde das schon locker schaffen aber nicht 
ohne Unterstützung von externem Ram.

Auch noch interessant ist diese Board: 
http://www.xess.com/prods/prod055.php
Kann man hier kaufen:
http://shop.trenz-electronic.de/catalog/product_info.phpcPath=1_173&products_id=1249

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Alles berechtigte Argumente! Deshalb ist es auch gut, dass es solche 
Boards wie das von dir (@h-g-l) erwähnte von Xess gibt.
Und auch ein Grund warum ich eben nichts mit externem RAM usw. gebaut 
habe, weil es davon wie du richtig sagst, schon einige gibt, die sich 
alle im Bereich um die 100-200 Euro bewegen.

Aber für viele Anwendungen reicht auch ein FPGA alleine. Wenn ich ein 
RGB LED Display ansteuern will, oder einen LED Cube, oder wenns mir nur 
darum geht mal einen Bitcoin Mining Core auszutesten, dann reicht mir 
auch ein FPGA ohne RAM und Fullspeed oder gar Highspeed USB.
Und wenns unbedingt notwendig ist, kann ich auch ein USB Interface oder 
sogar ein 10/100/1000 MBit Ethernet Interface in den FPGA bauen!

von Maik M. (myco)


Angehängte Dateien:

Lesenswert?

Ich hänge mein Projekt mal hier an, nicht die feine Art, aber auch egal 
;)

Wer ein Interesse an einem kleinen LX9-Board hat, das mit einer Menge 
Peripherie zugeknallt ist, kann sich bei mir melden. Der jenige braucht 
allerdings recht viel Kohle, denn 1-Off Preis alleine für Bauteile liegt 
bei knapp 110 Euro. Die Platine ist 2-Layer in der Größe eines 
Arduino... Fertigungskosten könnt ihr euch ausrechnen. Von mir gibt's 
nur den Schaltplan und das Layout.
Zum Programmieren von dem Teil benötigt man einen Arduino oder einen 
anderen µC, der das Bitfile über SPI in den Flash schiebt. Für den 
Arduino habe ich bereits einen Downloader und zugehörige Software 
geschrieben, funktioniert bisher super. Das Board ist als Arduino-Shield 
gedacht, kann aber auch selbstständig laufen.

Zur Fertigung per Hand: mit Lötkolben braucht man ca. 2 
Nachmittage+Abende oder eben einen ganzen Tag... auf dem Board sind 150 
SMD-Bauteile, der größte Teil davon auf der Unterseite...

Ich wollte das Board wie Andreas auch in größeren Stückzahlen fertigen, 
aber wie man hier bereits sieht, macht es keinen Sinn, weil die 
Konkurrenz einfach viel zu billig ist und die Nachfrage für FPGA-Boards 
eher gering.

von Hans-Georg L. (h-g-l)


Lesenswert?

Hallo Andreas,

ich möchte dir den Spass einer Eigenentwicklung bestimmt nicht verderben 
und finde es immer lobenswert, wenn jemand Eigeninitiative zeigt.

Aber wie Maik bereits schrieb ... die Kundschaft wird wahrscheinlich 
fehlen.

Marktnische und "low cost" passt selten zusammen ;)

von Kest (Gast)


Lesenswert?

Auch ich möchte meinen Senf zu der ganzen Problematik mit FPGA-Boards 
abgeben:
Ich habe auch mit dem Gedanken gespielt auch selbiges zu machen und dann 
zu verkaufen. Und ich habe auch vieles mitverfolgt und mich absolut 
dagegen entschieden. Dir Gründe sind vielfältig, aber hier sind meine 
(zugegeben wenige) Erkenntnisse:

- wenn man hier die Boards "anbietet", dann schon nach dem Prinzip "Friß 
oder stirb". Man sollte sich weder auf die Diskussionen über 
Funktionalität einlassen, noch über den Preis groß verhandeln. Hat es 
man doch getan, hat man sich erstmal für den (hohen) Preis rechtfertigt, 
nimmt es keinen Ende. Viele hier haben (leider) wenig Ahnung vom 
Aufwand, der damit verbunden ist, ein solche Board zu produzieren, die 
sehen nur 08.15,- Euro bei Digikey und denken, damit ist es getan.
- es ist besser, ein Board mit der passenden Applikation zu "verkaufen". 
Nicht in der Art "man könnte damit Logic-Analyzer aufbauen, oder LEDs 
Ansteuern, oder ...". Es muss ein lauffähiges Beispiel vorhanden sein!
- weniger ist mehr. Gegen die preiswerten "General Purpose"-Boards kann 
man preislich nicht anstinken -- also lieber sich auf was Bestimmtes 
konzentrieren und das auch gut machen

Viel Erfolg,
Kest

von Gustl B. (-gb-)


Lesenswert?

Es gibt schon feine Boards, aber ein Bereich wird irgendwie nicht 
(vollständig) abgedeckt.

Man findet viele Boards bei eBay mit viel IO und billig, aber dann auch 
nur mit kleinem Spartan/Cyclone und SRAM. Und dann findet man welche mit 
großem Spartan, viel IO, auch noch recht günstig aber DDR-RAM.

Gerade als Anfänger will ich eigentlich keinen DDR-RAM verwenden. PS-RAM 
wie auf dem Digilent Nexys2 ist super. Aber da ist auch wieder viel 
drauf was ich nicht brauche (VGA).

Ich suche eigentlich ein Board mit
- Spartan3 500 oder größer oder dickem Cyclone
- aber noch mit Webpack programmierbar
- viel IO, einfach auf Lochraster
- SPI-Flash
- JTAG Header
- SRAM (so 1-2 MByte oder 16 MByte PS-RAM)
- guter Oscillator/Quartz
- Spannungsversorgung mit einer Spannung (z.B. 5V)
- < 100€

Also eigentlich sowas wie das 
http://papilio.cc/index.php?n=Papilio.Hardware aber ohne USB und 
dickerer FPGA und einfach beschreibbares RAM.

von tja (Gast)


Lesenswert?

Mal weg, ob günstig und brauchbar oder nicht.

Du hast gesagt, dass der Clock (8 MHz) vom Atmega kommt. Wie wird dieser 
erzeugt?
Ich würde persöhnlich davon absolut abraten! Spendier dem Board lieber 
einen Oszillator mit ca. 25 MHz. Dein 8 MHz Clock wird meiner Meinung 
nach viel zu sehr Jittern, was bei kritischen Designs zu unschönen 
Effekten führen kann, wie: Warum läuft die State Machine in den State X, 
obwohl er von State A nur zu State B wechseln kann, aber nicht von A 
nach X?

Ansonsten finde ich es gut, dass du es probierst. Viele sind von FPGAs 
einfach abgeneigt, da es schwierig ist ein vernünftiges Power Management 
auf einer möglichst einfachen Platine zu gestalten und meist mit einem 
2-Lager nicht auskommt. Aber es geht trotzdem! Und FPGA sind nunmal eine 
feine Sache

von Hans-Georg L. (h-g-l)


Lesenswert?

Platine : 5,- + Fpga (XC3S50AN) ca 20,- als Minimallösung.
Die AN Version behält die Konfiguration und benötigt kein externes 
Flash.

Platine gibts schon fertig hier:
http://gsg-elektronik.de/shop/index.php?main_page=product_info&products_id=3

@gustl

Spartan6 haben eingebaute DDR-Ram Controller und nach etwas Gefummel mit 
dem ISE-Core Generator sieht das Ram für dich wie ein statisches aus.

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

@tja:
Eigentlich wollte ich direkt den 16MHz Quarz Takt vom ATMega verwenden, 
den man über einen Portpin ausgeben lassen kann. Jedoch müsste ich dazu 
die Fusebits entsprechend programmieren und ich hab auf ein ISP 
Interface verzichtet. Deshalb wird der 8MHz Clock jetzt per Timer im CTC 
Mode erzeugt.

Wenn ich den 8MHz Clock im FPGA über einen DCM Block schicke, können 
danach auch noch so unschöne Effekte auftreten?

von tja (Gast)


Lesenswert?

ja, kann ....

Ich weiß es nicht auswendig, aber hat der Timer höchste IRQ Priorität? 
Wenn nein, dann hast erst recht ein ziemlich großes Problem!

Clock vom Timer -> wirklich nicht gut .....

von Martin M. (capiman)


Lesenswert?

Andreas Auer schrieb:
> Versorgt wird das Board bei mir komplett über USB. Es sind 2
> Spannungsregler mit jeweils 800mA Ausgangsstrom drauf (einer für 3,3V
> und einer für 1,2V).

Gibt es bei USB nicht eine 500mA Begrenzung je Anschluss?
Wäre es möglich, von deiner Platine die Schaltung zu veröffentlichen?
Oder soll Schaltung und Layout closed-source bleiben?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Angehängte Dateien:

Lesenswert?

@tja:
Die Generierung des Clocks läuft rein hardwaremäßig. Der Timer ist so 
eingestellt, dass er hardwaremäßig beim Erreichen des Schwellwerts in 
einem Register den Pin toggelt.
Es ist also keine Software beteiligt, die da Jitter hinzufügen könnte.

@Martin Maurer:
Ja, stimmt... USB hat eigentlich eine 500mA Begrenzung. Aber nachdem es 
z.B. auch dieses AVNET Microboard mit LX9 gibt, das per USB versorgt 
wird, sollte das für die meisten Designs schon ok sein.

Anbei auch der Schaltplan.

von Albert G (Gast)


Lesenswert?

Andreas Auer schrieb:
> @Martin Maurer:
> Ja, stimmt... USB hat eigentlich eine 500mA Begrenzung. Aber nachdem es
> z.B. auch dieses AVNET Microboard mit LX9 gibt, das per USB versorgt
> wird, sollte das für die meisten Designs schon ok sein.

... und da ist ja sogar noch DRAM und ein Ethernet Phy und anderes mit 
drauf...
Aber das mit dem Takt per Timer ist mir auch suspekt.
(auch ein Hardwaretimer kann Jitter da reinbringen! Nicht so heftig wie 
Software natürlich... )

von tja (Gast)


Lesenswert?

wäre Software für den Clock im Spiel wäre es sowieso in die Hose 
gegangen.

Als Vergleich: Für einen guten Jitterfreien Clock kann man im 
einstelligen unteren ps Bereich ausgehen, für wirklich guten Clock im fs 
Bereich (pk-pk). Für den Timer IRQ würde ich definitiv >100ps schätzen, 
eher so Richtung 500-1000ps.

Wenn noch andere IRQs im Spiel sind (sollte hier nicht der Fall sein), 
dann bewegt man sich schnell >100ns (bei 8 MHz).

Natürlich kann es sein, dass auch (fast) immer alles einwandfrei 
funktioniert und dann viel Spaß beim Fehlersuchen. Es gibt nichts 
schöneres als sporadische Fehler, die wenn überhaupt nur einmal am Tag 
auftauchen.

von Karlo (Gast)


Lesenswert?

Andreas Auer schrieb:
> Eigentlich wollte ich direkt den 16MHz Quarz Takt vom ATMega verwenden,
> den man über einen Portpin ausgeben lassen kann. Jedoch müsste ich dazu
> die Fusebits entsprechend programmieren und ich hab auf ein ISP
> Interface verzichtet. Deshalb wird der 8MHz Clock jetzt per Timer im CTC
> Mode erzeugt.
>
> Wenn ich den 8MHz Clock im FPGA über einen DCM Block schicke, können
> danach auch noch so unschöne Effekte auftreten?

Also dein Design ist unterste Schublade, sorry. Benutze statt der 
AVR-Baustelle lieber einen FTDI und spendiert dem Herz der Schaltung 
bitte einen Quarz. Ganz viele Baustellen um 1€ zu sparen, so lieben wir 
es!


---

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Danke für den netten Beitrag, der selbst aus der untersten Schublade 
kommt. Darauf kann ich dann auch echt verzichten.

Sorry für diejenigen, die den Beitrag interessant fanden, oder auf eine 
konstruktive Diskussion gehofft haben. Ich werde mich jetzt von dem 
Thread verabschieden.

von Gibts N. (schneeblau)


Lesenswert?

Och ich find das Thema gut, suche selbst sowas.


Du solltest dir angewöhnen, die Beiträge der unangemeldeten zu 
ignorieren. Zumindest die, die rummeckern.


Das macht das leben leichter:)


Würde es gut finden wenns hier weiter geht, wenn man so günstig an ein 
FPGA Board kommt (gerne zum Selbstbestücken).


Zum Takt sind ja genügend Hinweise gekommen, ich denke das wäre nicht 
schwer umzusetzen. Und das treibt die Kosten auch nicht extrem hoch. 
Genauso würde ich den größeren FPGA wählen, wenn der nur 8€ teurer ist.


Grüße

von oh (Gast)


Lesenswert?

Ich fände es auch schade, wenn es nicht weitergeht.

Gruß
Olaf

von Christoph (Gast)


Lesenswert?

tja schrieb:
> Wenn noch andere IRQs im Spiel sind (sollte hier nicht der Fall sein),
> dann bewegt man sich schnell >100ns (bei 8 MHz).

Er hat doch schon erklaert, dass die Takterzeugung per HW erfolgt. Egal 
wie viele ISRs da im Spiel sind, der Timer laeuft autark und der Takt im 
uC ist per Quarz generiert. Der Takt ist somit komplett 
softwareunabhaengig!

Trotzdem waer es evtl. interessant einen externen Takt einspeisen zu 
koennen - evtl. ueber Jumper...

Gibts Ne schrieb:
> Genauso würde ich den größeren FPGA wählen, wenn der nur 8€ teurer ist.

Ich dachte alle groesseren sind nicht mehr von Hand loetbar - dann ists 
egal wenn der FPGA ein paar Euros mehr kostet, das bestuecken lassen ist 
wesentlich teurer!!

Faende es auch schade, wenn das Projekt jetzt eingestellt wird....

von Kest (Gast)


Lesenswert?

@Andreas Auer:
lass den Kopf nicht hängen! Miesepeter gibt es überall. Verbale Ausfälle 
auch. Nimm' Dir die konstruktive Kritik zu Herzen und mache weiter! :-)
Kest

von Gibts N. (schneeblau)


Lesenswert?

@Christoph


ICh meinte den größeren von den kleinen;) Quasi der größter, der sich 
noch von Hand bestücken lässt...

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Weitermachen werd ich sowieso. Auch werd ich meiner nächsten Version 
dann einen eigenen 25MHz Oszillator spendieren (danke für den Hinweis 
mit dem Jitter). BTW. einen externen Oszillator sollte man jetzt auch 
schon anschließen können. Ich denke, dass irgendwo auch einen CLK Pin 
nach außen geführt habe.

Einen größeren FPGA wird es aber voerst nicht geben, weil die alle schon 
im BGA Gehäuse sind.

von M. G. (looking)


Lesenswert?

Andreas Auer schrieb:
> - ein MicroSD Slot (inspiriert durch das von Elektor vorgestellte FPGA
> Board)  vorhanden sein.

Welches Elektor Board meinst du?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Elektor hat im September oder Oktober (weiß ich nicht mehr genau) über 
ein Webinar auf Element14 ein FPGA Board vorgestellt. Und zwar haben sie 
einen Spartan-3(E) als FPGA genommen und eben auch einen SD Kartenslot.

Wird vermutlich auch bald mal in einem Heft erscheinend.

von Alexander (Gast)


Lesenswert?

Hallo,
ich will (nach 20 Jahren) gerade wieder in die Welt der Hardwarehacks 
einsteigen. Hat sich ja einiges geändert. FPGAs fertige 
Kleinstrechner....
Ich bin jetzt auch über diesen Beitrag gestolpert. Was mich irritiert 
ist dieser "Zwang" zu einem USB-Chip.
> Zum USB Interface muss ich noch sagen,
> dass ich nicht auf den meist üblichen
> doch eher schwerfälligen Cypress FX2
> Highspeed USB Controller setze,
> sondern auf einen einfachen ATMega32U2.
Wieso nicht das auch durch den FPGA erledigen lassen?
Den Ablauf stelle ich mir dann so vor:
1.) USB in Rechner einstecken oder Rechner mit eingesteckten USB 
starten.
2.) USB verhält sich neutral und zieht nur Strom.
2.a) Sollte ja machbar sein, evtl. eine kleine Schaltung
     mit hochohmigen Ausgang bis....
2.b) In der Zeit wird FPGA z.B. von SD konfiguriert.
3.) FPGA ist fertig konfiguriert und aktiviert USB. Meldet sich dabei 
als was auch immer im SD festgelegt wurde.

Mit dem FPGA kann man dann was auch immer man will anstellen.
Eine Option wäre es wenn sich das FPGA als 3 Geräte meldet. Einmal als 
Hub, einmal als SD-Kartenleser (und schreiber) am Hub und einmal als was 
auch immer. Dann muss man die SD-Karte zum umkonfigurieren nicht einmal 
entfernen. Eine andere Option wäre es einen Open-Risk Kern zu laden 
oder....
Meines Erachtens wäre das die flexibelste Lösung um ein FPGA am USB-Port 
eines Rechners zu betreiben.
Nur diese Lösung finde ich nicht im Netz und frage mich warum. Blindheit 
oder...

Bye
  Alexander

von Peter P. (Gast)


Lesenswert?

@Alexander
Hast du mit USB schon mal was gemacht?
Hast du mit FPGAs schon mal was gemacht?
Schon mal eine SD-Karte mit eigenem Programm angesprochen?
Schon mal einen USB-Hub implementiert?
Schon mal selbst einen Open-Risk Kern benutzt?
Manche Punkte hören sich nicht schlecht an,
aber ich glaube du unterschätzt die Komplexität,
so etwas umzusetzen...

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hi.

@Alexander:
USB kannst du natürlich auch in den FPGA reinprogrammieren, wenn du 
wirklich hohen Datendurchsatz bzw. direkten Zugriff auf den USB core 
brauchst.
Aber dazu brauchst einen controller, der dir den FPGA erstmal 
konfiguriert. Und für den controller musst auch zumindest einmal eine 
Firmware einspielen, damit sie z.b von SD card die Konfiguration für den 
FPGA lesen kann. Wenn sich der controller über USB programmieren lässt 
dann wäre es ja fast unnötiger Aufwand eine extra 
Programmierschnittstelle vorzusehen.
Und wenn der controller schon USB kann, warum nicht gleich auch für den 
FPGA verwenden.
Einem extra USB core im FPGA zu implementieren ist (1) nicht so easy und 
(2) verbrauchst du damit nur wertvolle LUTs.

Deshalb gibts solche Lösungen auch nicht wirklich (glaub ich).

LG
Andreas

von Alexander (Gast)


Lesenswert?

Hallo!
@ Andreas Auer (Firma: Embedded Microtec) (andi)
Erst mal danke! Das hat mir geholfen mich auf das wesentliche zu 
konzentrieren.

Also ich denke in vielen Fällen ist die flexiblere Nutzungsmöglichkeit 
einen gewissen Mehraufwand wert.
Da man ja frei wählen kann als was sich diese Lösung beim Host anmeldet 
gibt es da keine Einschränkungen.

Du willst einen Hardware-Passwort-Generator und Passwort-Tresor.
-> Dein Gerät meldet sich als Tastatur an.

Du willst am PC alte Mac-, Amiga-, oder sonst exotische Disketten lesen?
-> Du meldest dein Gerät als Block-Device an und benötigst nur noch das 
Filesystem welches Linux ja i.a. schon kann.

Du willst... ->...

Das USB Interface entwickelst du nur einmal oder kopierst es dir von 
Opencore oder...

Ansonsten, ich habe mal etwas genauer auf die Opencores.org Seite ...
Ich habe gefunden:
1.) http://opencores.org/project,spi_boot
-> Lösung für SD konfiguriert FPGA.

2.a.) http://opencores.org/project,spimaster
2.b.) http://opencores.org/project,sdcard_mass_storage_controller
Lösungen zum beschreiben von SD. Kompatibelität zu 1. ist fraglich.

3.) Diverse USB. z.B. http://opencores.org/project,usb_device_core
Hmmm: Development status: Alpha

Sieht fast so aus, als muss man nur alles "irgendwie" zusammenbringen. 
Aber ob es wirklich so einfach ist glaube ich nicht. Ausserdem wäre es 
mir recht, wenn ich für die erste Schritte etwas mehr hätte. Also etwas 
was so schon läuft und nicht erst zusammengesetzt werden muss.


@  Peter P. (Gast)
Ich bin mir nicht sicher ob du mein erstes Schreiben richtig gelesen 
hast.
>> ich will (nach 20 Jahren) gerade wieder
>> in die Welt der Hardwarehacks einsteigen.
>> Hat sich ja einiges geändert.
>> FPGAs fertige Kleinstrechner....
> Hast du mit USB schon mal was gemacht?
> Hast du mit FPGAs schon mal was gemacht?
> Schon mal eine SD-Karte mit eigenem Programm angesprochen?
> Schon mal einen USB-Hub implementiert?
> Schon mal selbst einen Open-Risk Kern benutzt?
USB kam vor ca. 20 Jahren heraus, der Rest....
Also wie man schon bei meinem ersten Schreiben erkennen kann:
NEIN!

> ich glaube du unterschätzt die Komplexität,
> so etwas umzusetzen...
Mag sein, ich sehe mich ja erst mal ein wenig um.
Zurück zu:
> Schon mal eine SD-Karte mit eigenem Programm angesprochen?
Wenn du Hardwareseitig meinst nein.
Was Laufwerke betrifft hatte ich mal eine Schaltung für Motor-Flipflops 
für 2 externe Amiga-Laufwerke entwickelt. Nicht weil ich das gebraucht 
hätte, sondern weil ich einmal eine Schaltung für ein Laufwerk gesehen 
hatte, die aehm nun ja, ich fand diese Schaltung nicht so gut und wollte 
beweisen dass es besser geht.
Also habe ich eine Schaltung entwickelt welche mit genau so vielen (oder 
eins weniger?) unterschiedlichen 74irgendwas nicht nur ein, sondern 2 
Laufwerke ansprechen konnte. Diese Schaltung hatte ich dann auch 
aufgebaut und eine Zeit lang an meinem Amiga 2000 angechlossen. War aber 
recht unsinnig, ein Rechner, 2 interne Floppy, eine interne SCSI-Platte, 
eine externe SCSI-Platte mit Stromversorgung (ich denke) vom Floppyport 
und dann noch 2 externe Floppys. Nun ja, ich wollte einfach beweisen, 
dass ich es besser kann. Zum Datenaustausch und für Daten zum mitnehmen 
hatte ich die externe Festplatte. Die hatte ich eingesetzt wie heute 
einen USB-Memory-Stick. Dank RDB konnte fast jeder Amiga mit 
SCSI-Host-Adapter diese externe Festplatte nutzen. Die ID konnte vom 
Gehäuse (Zweckentfremdetes Amiga 1010 Gehäuse) der Platte aus geändert 
werden....

Nun ja, es war ein anstrengender Tag inkl. einigen 100 km mit dem Auto 
und...

Gute Nacht!
  Alexander

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.