Hallo Leute,
könnt ihr mir bitte helfen zu verstehen, welche Komponenten man heute
für digitale Schaltungen nimmt? Hintergrund meiner Frage ist folgendes:
Ich habe in meinem Leben schon viele Devices auseinandergeschraubt. µC
habe in in vielen Geräten gefunden, aber an den Hobby-Bauer AVRs habe
ich bisher afaik nur die ATtiny in Geräten gesehen. Sonst waren es noch
ein paar MICROCHIP µC, aber in der Regel waren es irgendwelche
unbekannten Chips.
FPGAs habe ich noch nie in irgendwelchen Geräten gesehen. Dafür aber
sehr viele Chips oder fertige Module von Herstellern und ASICs. Ab und
an in sehr billigen Geräten vom China-Mann auch in Harz eingegossene
ASICs direkt auf dem Board.
Jetzt mal angenommen, ich würde 1000 Geräte bauen, welche Komponenten
machen da Sinn? Ist es quasi besser, auf fertige Chips (irgendwas als
Basis und weitere Funktionen mit anderen Chips) zurückzugreifen anstatt
eines µC zu verbauen? Oder macht es eher Sinn, ein FPGA zu nehmen und im
FPGA dann den µC nachzubauen? Hätte natürlich den Vorteil der
Flexibilität.
Und ab was für Stückzahlen macht es Sinn, eine ASIC bauen zu lassen?
Du schraubst einfach die falschen Geräte auf :-)
Unbekannte Chips können ja auch gebrandete (lies: umetikettierte)
Standardtypen sein. Sowas bieten manche Chiphersteller in Stückzahlen
an.
Frank T. schrieb:> Oder macht es eher Sinn, ein FPGA zu nehmen und im> FPGA dann den µC nachzubauen? Hätte natürlich den Vorteil der> Flexibilität.
Welche benötigte Flexibilität nimmst du denn an, welche durch
Standard-Komponenten (µCs) nicht abgedeckt werden könnte?
Das mit der "Flexibilität" ist immer so eine Sache: Du kannst dir auch
"flexibel" maßgeschneiderte Fenster in dein Haus einbauen. Die sind dann
nicht 1600 x 940, sondern 1507 x 922 mm groß. Passen somit genau in die
Baulücke rein, welche der Rohbau-Mensch gemauert hat. Hat nur einen
kleinen Haken: Sobald du mal was erneuern mußt, stehst du schön blöd da
mit deiner "Flexibilität".
Das ist mit Elektronik-Entwicklung ähnlich: Je mehr Standard-Teile, je
mehr Hersteller dafür, desto weniger Sorgen hast du. Du brauchst dich
nicht um Timing oder Grenzwerte zu kümmern, denn das hat dir alles der
Hersteller abgenommen und in seinen Datenblättern veröffentlicht.
Darüber hinaus gibt es tausende von Anwendern (Entwicklern), welche
selbe Standard-Komponenten verwenden, mit denen man sich austauschen
kann ...
kopfkratz
Ja und was ist jetzt denn Dein Problem ?
Wenn Du eine konkrete Schaltung hast und die TTL ist und so funktioniert
wie sie soll, laß sie so.
Wenn Dein TTL Grab zuviel Platz und Strom wegnimmt und die Anwendung in
einen µC paßt, nimm den der Dir persönlich am sinnvollsten erscheint.
Wenn es auf Geschwindigkeit ankommt und trotzdem geändert werden soll,
nimm einen FPGA.
Wenn es klein, schnell und einmalig sein soll, nimm einen ASIC.
glaskugelputz
Ich denke mal Du hast eine Idee aber keine Ahnung wie sie umzusetzen ist
?
Lege die Karten auf den Tisch und man kann erkennen was am sinnvollsten
für Dein Problem ist.
kopfkratzer schrieb:> Ich denke mal Du hast eine Idee aber keine Ahnung wie sie umzusetzen ist> ?> Lege die Karten auf den Tisch und man kann erkennen was am sinnvollsten> für Dein Problem ist.
Okay, folgende Geschichte:
Vor etwa einem Jahr hat mich ein Unternehmen geholt, weil deren
Produktionsanlage ständig ausgefallen ist und der Hersteller der
aktuellen Steuerung es in zwei Wochen nicht geschafft hat, eine
Funktionierende Steuerung auszuliefern.
Ich bin zu dem Unternehmen gefahren, habe mir das Problem angeschaut,
bin ins Labor gefahren und bin anschließend mit einem Breadboard mit
einem ATmega und ein paar Mosfets, Widerständen und Kondensatoren
wiedergekommen. Ich habe um 12 Uhr angefangen zu arbeiten und war um 6
Uhr morgens fertig mit der Steuerung, der Programmierung und dem Testen
der Anlage.
Das Design des Boards habe ich mir aufgeschrieben, habe noch andere
Sachen zum schnellen Eingriff in die Steuerung hinzugefügt, habe einiges
für die Visualisierung getan, etc. Habe mir dann vom Hersteller meines
Vertrauens 10 Platinen fertigen lassen und habe eine dann bei mir im
Labor bestückt und ausgeliefert.
Im letzten Jahr bin ich alle anderen 9 Boards losgeworden, teilweise
beim gleichen Kunden, teilweise bei anderen Kunden des gleichen
Herstellers. Und nun brauche ich mehr.
Das Wichtigste überhaupt ist für mich die Flexibilität. Ich kann
theoretisch alles mit einem µC machen. Aber dann kann es sein, dass mir
auch ein ATmega zu klein wird, wenn ich alle möglichen Busse im µC
emuliere. Oder ich könnte einige Teile auch in externe Standard-Chips
auslagern, mit denen ich einfach nur spreche.
Eine andere Möglichkeit wäre, dass ich einfach einen FPGA nehme und in
ihm alles mache.
Und natürlich schiele ich auch etwas auf die anderen Hersteller von
irgendwelchen Geräten. Und z.B. einen FPGA habe ich irgendwie noch nie
in irgendwelchen Geräten gesehen.
Und ja, okay. Logitech schmirgelt die Bezeichnung einiger Chips ab.
Einige andere Hersteller lasern die weg.
FPGAs sind einfach verdammt teuer. Sowas baut man normalerweise nur aus
2 Gründen ein:
Winzige Stückzahl bei komischen schnelle Anwendungen oder verdammt hohe
nötige Geschwindigkeit bei extrem hoher flexibilität.
Ersteres erklärt sich eigentlich von selbst, zur Satellitenkommunikation
zB brauchst du besondere Hardware, da lohnt es sich aber nicht für die 3
Prototypen nen ASIC machen zu lassen.
Bei letzterem möchte ich mal die Funkmasten in erinnerung rufen. Die
sind mittlerweile so voll mit SDRs und FPGAs, dass komplett neue
Funktechnologien durch einfache Firmware Updates erschlossen werden
können.
Klingt nicht danach als ob du in eine der beiden Kategorien fallen
würdest, also schlag dir das mal aus dem Kopf. Wenn dir der AVR nicht
reicht, bau nen ARM rein. STM32 sieht man sogar häufiger mal in Consumer
Produkten.
Du schraubst einfach die falschen Sachen auf...
Wenn Du billigst-Consumer-Ware mit >6-stelligen Stückzahlen
aufschraubst, ist da natürlich kein FPGA drin. Dafür dsind die viel zu
teuer und die Flexibilität braucht auch keiner.
Für Dich kann ein FPGA oder CPLD in Kombination mit einem µC Sinn
machen, gerade irgendwelche Bussysteme lassen sich in "Hardware" besser
(schneller, ressourcensparender,...) implementeren als per Bit-Banging.
Den nötigen Aufwand darfst Du bei der Überlegung/Kalkulation aber auch
nicht übersehen.
Diese Frage kann Dir niemand sinnvoll beantworten, FPGA kann sinnvoll
sein, muss aber nicht.
Die Frage ist eher, in welcher Zeit musst Du ein Ergebnis vorweisen
können und welche Preise sind realisierbar?
Bei Neuentwicklungen mit einer neuen, Dir unbekannten Technologie musst
Du deutlich mehr Zeit einplanen als wenn Du bekannte Dinge verwendest.
Hast Du diese Zeit oder sucht sich Dein Kundenkreis einen anderen
Anbieter, der zwar nicht so flexible Lösungen anbietet, aber fertige
Produkte in der Schublade hat?
Wie hoch ist der Preis, den die Kunden bereit sind, zu zahlen?
Lässt sich damit gewinnbringend ein System mit FPGA inklusive der
geschätzten Entwicklungskosten vermarkten?
Diese Fragen musst Du Dir selber beantworten, dabie kann Dir niemand
helfen.
Frank T. schrieb:> FPGAs habe ich noch nie in irgendwelchen Geräten gesehen. Dafür aber> sehr viele Chips oder fertige Module von Herstellern und ASICs. Ab und> an in sehr billigen Geräten vom China-Mann auch in Harz eingegossene> ASICs direkt auf dem Board.
Wahrscheinlich hast du noch nie ein Gerät auseindergenommen das in 1000
-10000 STk/jahr Produziert wurde. Da sind meist FPGA's drauf. Also
bspw::
-Medizintechnik (CT)
-Automatisierungstechnik (Smart Vision)
-Messtechnik (Ultraschall-NDT)
-Kommunikationstechnik (Tactical)
> Jetzt mal angenommen, ich würde 1000 Geräte bauen, welche Komponenten> machen da Sinn? Ist es quasi besser, auf fertige Chips (irgendwas als> Basis und weitere Funktionen mit anderen Chips) zurückzugreifen anstatt> eines µC zu verbauen? Oder macht es eher Sinn, ein FPGA zu nehmen und im> FPGA dann den µC nachzubauen? Hätte natürlich den Vorteil der> Flexibilität.>> Und ab was für Stückzahlen macht es Sinn, eine ASIC bauen zu lassen?
Kommt darauf an:
Mixed Signal, HiSpeed (GHz), Radiation hardened,
So über den daumen gepeilt lohnt sich ASIC ab 100k /Jahr
Falls ein uC passt ist ein uC einem FPGA vorzuziehen unabhängig der
Stückzahl.
Emil Erlang schrieb:> So über den daumen gepeilt lohnt sich ASIC ab 100k /Jahr> Falls ein uC passt ist ein uC einem FPGA vorzuziehen unabhängig der> Stückzahl.
Darf ich mal fragen, wieso?
Ein Faktor sind natürlich die Kosten, das ist richtig. Ein FPGA ist
natürlich viel teurer, als ein µC und auch der Entwicklungsaufwand ist
größer.
Irgendwie ist es schon eine Zwickmühle. So rein vom moralischen
Standpunkt würde es mir schon besser gefallen, eine FPGA Version
rauszubringen. Auch im Preis wäre es drin. Wenn ich eine Steuerung für
1k verkaufe und sie mich im Grunde nur 25 Euro an Hardware für die µC
Version kostet bzw. 55 Euro für die FPGA Version. Aber wenn ich jetzt
mal anders herum rechne, dann sind es immerhin 30.000, die ich selbst
hätte behalten können, also rund 3/4 eines Autos.....
> Wenn ich eine Steuerung für 1k verkaufe und sie mich im Grunde nur> 25 Euro> an Hardware für die µC Version kostet bzw. 55 Euro für die FPGA> Version.
Dann baust du die Version mit Mikrocontroller. Der Kunde löhnt nicht für
ganz tolle eingebaute Teile, sondern für die Funktion.
Wenn du deine Moral ausleben willst, solltest du jegliche
Kaufmannstätigkeiten jetzt und in Zukunft unterlassen.
Klaus schrieb:> Oder nur einen FPGA und nen Softcore rein.
Was aber wiederum den FPGA größer und u.U. teurer macht...
An Stelle des TO würde ich beim µC bleiben. Allerdings das "Emulieren
von Bussen" finde ich im Industriellen Umfeld sehr mutig. Falls kein
geeigneter Controller für das jeweilige Bussystem aufzutreiben ist,
würde ich eher ein CPLD an den µC dranpappen und darin das Bus-Interface
implementieren. In Hardware sind die Timings meistens besser
hinzubekommen als in Software.
Ein FPGA macht die Sache meist deutlich aufwändiger, da dieser meist
recht viel außenherum haben will (mehrere Versorgungsspannungen,
Speicher für die Konfiguration, ...).
Mit welcher Spannung läuft deine Schaltung? Könnte sie auch mit 3.3V
laufen?
Dann könnte man einen 2.50Euro CPLD draufklatschen, der braucht nurnoch
einen 20ct extra Spannungsregler für die Core Spannung und dann ist gut.
Deine Anforderungen hast Du doch recht gut beschrieben:
Es muss schnell zu einer Lösung kommen, und soll so stabil laufen wie
möglich. Die Stückzahlen sind sehr klein.
Daraus ergibt sich für mich folgendes:
Professionelle Fertigung und Bestückung mit Automaten, nicht von Hand.
Geeignetes Gehäuse.
Grundsätzliche Überlegungen hinsichtlich Betriebssicherheit,
Störfestigkeit und Lebensdauer sind wohl auch mit am Wichtigsten. (Im uC
Watchdog aktiviert, Wärmemessungen an der Platine, ...)
Prozessor als Headerboard fertig einkaufen dürfte sich für Dich lohnen,
da Du dir für wenig Geld viel Ärger in Sachen Layout, Beschaffung und
Bestückung vom Hals schaffst.
Kleiner Prozessor mit vielen I/O & Schnittstellen.
(Atmega bis Cortex M4 je nachdem was Du kannst).
Mehr macht keinen Sinn, da Du nicht schaffst die sinnvoll mit Programm
zu füllen.
FPGA brauchst Du nicht und kannst Du nicht, macht also keinen Sinn.
Erweiterungsstecker vorsehen auf welchen Prozessorpins mit den
wesentlichen Schittstellen (UART, SPI,ADC,CAN, ... und Versorgung)
verfügbar sind.
Zu guter Letzt: Nimm ein A4 Blatt und mach eine grundsätzliche
Kalkulation für Entwicklungsaufwand und Fertignung. Versicherungen,
Steuern, Vertriebsaufwand, Aufwand für Garantiefälle u.ä. nicht
vergessen. Nimm vernünftige Stundensätze an, dann wirst Du sehen das die
Materialkosten in Deinem Fall für den Verkaufspreis nicht relevant sind.
viel Erfolg
Hauspapa
> Jetzt mal angenommen, ich würde 1000 Geräte bauen, welche Komponenten> machen da Sinn?
Die in der Summe billigsten, und dazu gehören nicht nur die
Bauteilkosten, sondern auch deine Entwicklungskosten. Kannst du also
schon einen Chip programmieren, ist es sicher billiger, einen aus
derselben Familie zu verwende, als eine neue Programmiereinrichtung zu
kaufen und den neuen Prozessor verstehen zu lernen. So einen Umstieg
macht man nur, wenn der neue Prozessor so viel besser ist, daß es nur
mit ihm geht.
Und weil 1000 nicht mal 1 Rolle sind, musst du bei Farnell, Digikey und
Co. quasi Einzelstücke kaufen.
Die meisten Geräte, die du aufschraubst, stammen wohl aus China, dort
nicht natürlich chinesische Prozessoren drin, von Holtek und anderen
Firmen. Die haben auch sehr interessante im Angebot, für LCD oder VFD
Direktansteuerung, gegen die europäische uC nicht "tamagotchi"
konkurrenzfähig sind, so daß deine Firma in dem Segment nicht
konkurrenzfähig wäre.
Dafür baut man hier mehr Automotive-Prozessoren.
Die hundeteuren FPGAs hat wohl vor allem die NSA verbaut, wenn man so
hört, was die alles entschlüsseln. Eigentlich müssten de auch schon alle
bitcoins ausgerechnet haben.