Ganz einfach, wie würde eure Wunsch MCU aussehen wenn ihr eine bauen könntet? (Sollte halbwegs realistisch bleiben) Hier mal meine: 6502 Kern 64 KByte Flash in 8x8 KByte Bänke an zwei stellen einblendbar. 68 KByte SRAM in 4x16 KByte Bänken an zwei stellen einblendbar und die letzten 4 KByte als Zeropage, Stack und Füllmaterial bis $1000. Mindestens 32 IO Leitungen, je nach IC Bauform halt mehr. Eine UART mit eingebautem Pegelwandler (kein MAX232 nötig) den man auch abschalten kann bei bedarf. Vier Timer die einen IRQ auslösen können, aber auch einfach eine IO Leitung triggern. ADC und DAC dürfen nicht fehlen, genauso wie SPI. Optional: Unterstützung für RGB Videoausgabe (Sync Generator...), CAN, Ethernet und SDHC. Speicherraum: RAM0 $0000-$0fff Nicht verschiebbar, da sich hier unter anderem der Stack aufhält, da sind auch die ominösen 4 KByte hin. RAM1 $1000-$4fff Austauschbare RAM-Bank 1 RAM2 $5000-$8fff Austauschbare RAM-Bank 2 IO $9000-$bfff Der IO Bereich eben, kann sich alle x Bytes spiegeln um Dekodierlogik zu sparen. ROM1 $c000-$dfff Austauschbare ROM-Bank 1 ROM2 $e000-$ffff Austauschbare ROM-Bank 2 (Reset legt diese auf Page 0) Alle möglichen Bauformen, vom DIL bis zum PGA/BGA. Preisvorstellung: Bei der Apotheke C. an der Theke für 10 Euro (DIL-40), bei $GROSSHÄNDLER im 1000er Pack für 1,50 das Stück (BGA).
Vergessen, Taktung von 1 Hertz bis 40 Mhz, wenn möglich halbwegs stufenlos. (1 Hertz = Energiesparmodus)
Und wo bleibt da der Spass des Code pröckelns? ;) So Marke LCARS währ schon geil, dann aber als Compiler.
Die 32Prozessorregister+SREG sollten nicht mehr gepusht werden brauchen, sondern einfach per (intern mehrfach vorhandener) Bänke umgeschaltet werden. - SMD, am Besten TQFP - 3V3 für vollen Takt - 5V tolerante Eingänge - SPI mit FIFO Buffer (viell 16Bytes) - Hardware MUL, DIV ;-) - ...
Komm schon...das geht besser... Da muss wenn schon noch das Ethernet-Interface drinne sein, am besten direkt an zwei Portpins wackeln. Dann natürlich noch die üblichen Verdächtigen, wie OGG und MP3 De- und Enkoder. Am liebsten auch noch on-board Funk mit mindestens 10km Reichweite. Und damit man sich Trafos sparen kann, hätt ich auch gerne noch ne Serie mit 230V-Betriebsspannung und Ports, die mindestens 5 Ampere treiben können^^
aber auch mit integrierten Entstörfiltern und dimmbaren Ausgängen, die auch induktive Lasten dimmen!!!
Naja auf seinen beinchen sollte er dann bitte auch laufen können ;) und nen kleiner eingebauter Fusionsreaktor wär auch was feines ;) Also ich finde die XMegas relativ vielversprechend, mehr interner RAM wär zwar schön, hab aber auch kein Problem damit welchen extern dranzuhängen, wenn ich den wirklich brauche.
Na logo, die Drosseln für 5 Ampere giessen wir direkt ins Silizium!
Najo...die XMEGA ham zwar viele schöne Sachen an Bord, aber das wird für 8 Bit einfach zu viel. Da hättense wenigstens 16 Bit draus machen sollen, so ist das doch alles rumgemurkse... schreibste hier noch zwei Bit von der Adresse rein, da noch eins und so, ne, schön is das nichmehr.
@Sven: Und wie dick wird das Kühlaggregat bei 230v? ;) Wenn man ganz kleine Brötchen backen will, nen AVR der teile des RAMs ins Flash einblenden kann.
Ich sehs schon... Schwarzer Käfer mit zwei 10mm-Schraubanschlüssen oben drauf...
Um mal ernsthaft zu werden: uC-Core mit den üblichen Annehmlichkeiten gegenüber FPGAs und Co (also ADC integriert, interner Taktgenerator, interne Pullups), dazu einigen CPLD-Makrozellen on-chip, die sich auf Wunsch an die IOs schalten lassen (um digitale Daten vorverarbeiten zu können und beim Ausgeben flexibler bezüglich der Timings zu sein. Evtl. Totem-Pole-Ausgänge, um das Teil in einer 5V-3,3V-Mischschaltung einsetzen zu können. Dann würde so manche Platine nämlich beinahe eine Ein-Chip-Lösung.
Ich fänds toll, wenn man Spannungsregler irgendwie mitintegrieren könnte, damit man die 1.3 und 3.3V Konsorten auch direkt an 5V betreiben kann. Wär richtig praktisch, klar, die I/O müssten denn auch wenigstens umschaltbar sein.
@stefan: Von Fujitsu gibts einige Microcontroller (besser gesagt mindestens eine Familie, die mir bekannt ist), die integrierte Spannungsregler haben. Intern laufen sie mit 5V. Da ein Linearregler verbaut ist heizen sie natrlich entsprechend, wenn man etwas mehr Spannung einspeist.
Die Silabs haben oft Spannungsreger mit 5V zu 3.3V mit bis zu 100mA.
Hallo, am besten sollte er noch mit negativen Taktraten arbeiten. Da hätte man mal ein paar gute Interrupt-latenzen. ;)
- Schnell: Wenn eine MCU kein externes Speicherinterface hat und braucht, könnte man die core-clock prinzipiell aufdrehen, ohne daß das design für den Anwender komplizierter würde. Abgesehen vom Energieverbrauch natürlich, bin ich der Meinung, daß ein AVR8 heutzutage auch 400 MIPS können sollte. - Hardware-Mikrothreads. Keine Interrupts. Ein Satz von WAIT Instruktionen um flexibel eine Fortsetzungsbedingung formulieren zu können. - Nach aussen hin sollte das Ding flexibel konfigurierbar sein. Ich würde gerne die elektrischen Eigenschaften meiner IO relativ frei programmieren können, also open-drain/push-pull/line-driver, 5, 3.3, 1.8V. Flankentiming usw. Das Aussentiming kann dabei für günstigere Modelle durchaus gemütlicher sein. - In der Folge sollte z.B. ADC in Software implementierbar sein. Beispielsweise so: Da jeder Ausgang eine konfigurierbare Ausgangspannung erzeugen können muss, könnte man in einer Eingangsbeschaltung den Ausgangswert an einen zum Eingang gehörenden internen Komperator führen und dann würde ein Mikrothread diesen Ausgangswert modifizieren, bis es funkt. Da kann sich dann jeder selbst überlegen wie schnell er wieviele bits braucht. Mit anderen Worten: Einen cleveren Analogteil, ein Digitalteil auf Speed und keine vorgegebene Funktionalität. Das klingt momentan nur begrenzt realistisch, allerdings kann ich mit gut vorstellen, daß irgendwann so jemand wie Intel oder AMD auch noch in den MCU Markt geht und dann 80 Mal kleinere Pupsläden wie ATMEL mit überlegener Technik einfach wegzuhauen versucht.
Was mich ja mal interessiert, (wobei ich nicht genau weiß, ob das überhaupt hier rein gehört) wären optische Prozessoren. Die sind zwar noch mitten in der Entwicklung, es gibt aber schon funktionstüchtige Varianten in Din-A5 Größe. Das besondere ist, dass man nicht mehr mit langsamen Elektronen, sondern mit Photonen via Gitter,... rechnet. Das führt zu extremst schnellen Rechenzeichen!!! Ach ja, bevor ich's vergesse: Die Einbindung von neuronal-ähnlichen Netzen wäre auch nicht schlecht;-)
Der freundliche Bastler von Nebenan wrote: > 6502 Kern > 64 KByte Flash in 8x8 KByte Bänke an zwei stellen einblendbar. > 68 KByte SRAM in 4x16 KByte Bänken an zwei stellen einblendbar Urgs... Naja, jeder soll so träumen wie es ihm gefällt. Für mich klingt das eher nach Albtraum. Banking bis zum Erbrechen, von der 6502 ganz abgesehen.
Ich hätte gerne einen MSP430 mit der MSP430X Architektur, mit externem Speicher-Interface oder wenigstens mit mindestens 64kByte internem RAM. Ein gescheiter 16Bit ADC mit min 85dB SNR sollte mit drauf sein und die Taktfrequenz sollte bis 32MHz gehn. Ansonsten sind die schon sehr gut. Naja, Stromverbrauch könnte noch weniger sein, obwohl das dann schon schwierig wird. Achja, ein paar mehr als 3 DMA Kanäle wären nicht schlecht. So, genug geträumt.
@Andreas Kaiser: Wenn man halt mit dem C64 aufgewachsen ist... Überdies ist die 6502 die CPU mit der einfachsten Maschinensprache, zumindest IMHO.
>Wenn man halt mit dem C64 aufgewachsen ist... >Überdies ist die 6502 die CPU mit der einfachsten Maschinensprache, >zumindest IMHO. Hmmm, dann kennst Du offenbar ausschließlich die 6502-Maschinensprache. Orthogonalität? Fremdwort...
Warum könnte man in einen Microcontroller nicht gleich 4G DRAM integrieren? Dann bräuchte es extern nur noch einen Flash oder ein Eprom. Am besten mit einem dynamischen Datenbus, der sich auf 8, 16 oder 32 Bit einstellen lässt. Im MC wäre dann der DRAM-Controller integriert. Eine FPU wäre auch nicht schlecht. Im grossen und ganzen müsste das doch gehen? Okay es müssten nicht gleich 4G DRAM sein, aber sicher ziemlich viel. RAM hat man ja nie genug ;) Mit den heutigen Technologien passt das sicher in eines der gängigen QFPs.
Aha, wenn genuegend Saft da ist kann man sich ja die Wunsch CPU in einem FPGA basteln. Und dann noch ein paar Monate fuer einen ASM verbraten. Mir ist lieber fuer eine bereits erhaeltliche CPU vernuenftige Tools zu bekommen. Dass ein Projekt in vernuenftiger Zeit machbar ist.
Aber halt auch nur wenn man einen ausreichend grossen FPGA hat. Mit einem, der nur 8k Gatter hat, wird man nicht allzu weit kommen denke ich. Aber du hast recht, man kauft besser Prozessoren und Controller, die es schon gibt. Eine selbergebaute CPU wäre zwar ziemlich cool, aber ich könnte mich mit der Idee doch nicht so recht anfreunden. Ausserdem ist es doch schade, den guten FPGA für sowas zu verwenden. Besser man platziert auf einer Leiterplatte gleich beides: Controller und FPGA, die über Daten- Steuer- und Adressleitungen verbunden sind. So hat man einen flexiblen Peripheriebaustein, der diverse Dinge selbständig tun kann - man kann dann dort Register drin basteln, in die der Controller reinschreiben oder Werte rauslesen kann.
Tobias Plüss wrote: > Warum könnte man in einen Microcontroller nicht gleich 4G DRAM > integrieren? Dann bräuchte es extern nur noch einen Flash oder ein > Eprom. Am besten mit einem dynamischen Datenbus, der sich auf 8, 16 oder > 32 Bit einstellen lässt. Hei Tobi ;p Also wenn wir schon 4G RAM auf dem Chip haben, koennen wir gleich noch 16G Flash daneben integrieren, mit 10E20 Schreibzyklen.
Eine CPU im FPGA ist heute Standard. Da gibt's einen Haufen freie cores dazu. Siehe www.opencores.org. Viele CPUs sind als Core fur einen FPGA erhaeltlich.
6640 wrote: > Eine CPU im FPGA ist heute Standard. Da gibt's einen Haufen freie cores > dazu. Siehe www.opencores.org. Viele CPUs sind als Core fur einen FPGA > erhaeltlich. Jups, sogar nen Atmega103-Kern ;)
Obwohl ich mir besseres vorstellen kann als wie wieder nen Havard zu verbauen. Das ist nämlich das was mir am AVR nicht gefällt, man kann keinen Code ausm Speicher ausführen. Keine Chance den AVR in einem billigen Eigenbaucomputer zu verbauen ausser mit ner VM (siehe AVR-ChipBasic, etc...). Ok, der 6502 ist auch nicht perfekt, aber dafür gibt es modifizierbare Tools wie Sand am Meer, man hat Communitysupport (CSDB ;) ) und wenn man das Teil in einen FPGA packt kann man ihn noch schick erweitern. Wenn du mir verraten kannst welcher Mikro freie(BSD oder GPL!) Tools(C-Compiler und Flasher) hat die unter Linux laufen, Von Neumann ist und Schweinebillig ist werde ich mir den sofort besorgen. @Mike: Nein, ich kenn noch ein wenig x86, aber diese CPU ist sowas von Gruselig, da vertrau ich lieber auf den Output des Compilers.
@Michael G: Nein, das mit dem DRAM war ernst gemeint. 4G meine ich darum, weil es natürlich eine 32 Bit CPU sein soll. Aber es müssen nicht 4G sein, aber ich denke ein paar MB sollten machbar sein, vielleicht sogar im 100 MB-Bereich.
Der freundliche Bastler von Nebenan wrote: > Wenn man halt mit dem C64 aufgewachsen ist... 6502 stand auch bei mir am Anfang. Ist aber kein Grund, da ewig stehen zu bleiben. Viele Jungs haben mit Mopeds angefangen, den meisten davon wird das dann aber bald zu klein. > Überdies ist die 6502 die CPU mit der einfachsten Maschinensprache Was die Maschinensprache angeht, also Hex-Ebene ohne symbolische Adressen (z.B. http://oldcomputers.net/kim1.html): Da tut man sich weitaus einfacher wenn man keine relativen Adressen rechnen muss. Muss man bei 1802 nicht, mit 6502 schon. Einfacher ist dann nur noch MAXQ2000: 1 Befehl mit 2 Adressierungsarten. Du meinst möglicherweise Assemblersprache. Einfacher und eleganter als MSP430 geht's dann m.E. kaum. Solange man unter 64KB bleibt, darüber ergibt das weniger Sinn, auch nicht wirklich in Form von MSP430X.
Mein Wunsch-µC: - Bauform QFP64 mit 0.8mm Raster - ARM Kern + FPU - integrierter DRAM Controller - Anschlussmöglichkeit für ext. Flash, der sich über JTAG programmieren lässt. - Geschwindigkeit sollte man während des Betriebs ändern können (1MHz - 100MHz) - UART, I²C, SPI, USB 2.0 (master+slave), Ethernet, 16Bit ADC, 16Bit DAC - DMA für alles - 3.3V Betriebsspannung - 5V Kompatibilität
Dieser Punkt ist interessant: > - Anschlussmöglichkeit für ext. Flash, > der sich über JTAG programmieren lässt. MCUs, bei denen man externen Flash-Speicher per JTAG programmieren kann habe ich noch nie gesehen. Gibt es so etwas überhaupt?
Ja gibts, allerdings kenn' ich nur einen. Den MC68360 von Motorola / Freescale. Sehr schöner Prozessor... im allgemeinen finde ich die 68k-Architektur und die davon abgeleiteten Derivate ziemlich genial. Die ganze Registerstruktur etc. gefällt mir besonders... immerhin hat man da 16 Akkus zu je 32 Bit, in denen man jede Operation durchführen kann. Ich, der ich an 8051 gewohnt bin, finde das natürlich toll ;)
Die Freescale Dinger haben aber ein großes Problem was sie nur für Firmen interessant macht: Keine freien Tools, vorallem kein Flasher. Für mich als Linuxer sind die dann eh nichts, CodeWarrior kostet ein Schweinegeld und ein, von mir aus auch closedsource, Flashertool sucht man vergebens.
Wie wahr, leider ist das so. Mir ist auch nur eine Hand voll freien Tools bekannt, und die ist nicht wirklich toll. Aber ich darf die Software aus der Firma benutzen (hab mal nachgefragt). Eine wirklich gute Toolchain, allerdings halt für Windows (was sie für dich als Linuxer wohl nicht wirklich attraktiver macht). Wir verbauen bei uns noch häufig CPU32 dinger.
Na warum net :-P - 1,5 V bis 9 V Versorgungsspannung - 3,3 V & 5 V I/O Pegel pro Pin einstellbar - dynamischer Takt 0-100 MHz (interner Quarzoszillator) - 32 bittig RISC (1 Takt pro Befehl) - 32 multipurpose Register - Multiplikator - Divisor - Trigonometrische Einheit (Sin, Cos, Tan) - Gleitkomma Einheit - Tokenizer - 256 kB lineares SRAM - 256 kB FLASH - 256 kB EEPROM - dynamisch priorisierbare IRQs - 32 I/Os (jeder mit IRQ) - Hardware USB - Hardware I²C - Hardware OneWire - Hardware SPI - Hardware CAN - 8 32bit Timer mit jeweils 4 OCR Register & ICP (PWM, DDS usw.) - 8 32bit ADC Kanäle - 44 Pin TQFP - 40 Pin DIP TRÄUM
Dumm nur, daß eierlegende Wollmilchsäue auch entsprechend kompliziert zu parametrisieren sind und einen Hang dazu haben, genau das zu tun, was man gerade nicht will...
Ich hätte gerne eine mcu, die analoge Funktionsblöcke enthält. Also z.B. man möchte ein Signal Filtern/Verstärken/Verändern und hinterher wieder Analog ausgeben. Hierbei aber nicht auf digitale Verarbeitungswege zurückgreifen. Am besten, man hat mehrere Verstellbare Filterbänke, mehrere Verstärker und mehrere Analog-Rechenschaltungen (mul, add) und kann diese beliebig miteinander verschalten - zur Laufzeit veränderbar. Das wär mal was!
@..-: Genau, ein analoger FPGA! Mach mal Altera den Vorschlag. Das wäre wohl eine echte Marktlücke ;)
Also meine Wunsch CPU hat ne Radeon 3870 integriert und Counter Strike vorinstalliert und kostet 2 Euro.
Was habt ihr alle nur für ein Problem mit den 3,3 Volt? Das ist doch einem Spannungsregler piep-egal, ob er nun 5 Volt oder 3,3 Volt macht. Ist mir völlig unverständlich...
Gegen 3.3V hat je keiner was, solange die I/O-Pins 5V kompatibel sind. Es sind halt noch nicht alle Bauteile als 3.3V Version erhältlich.
Jetzt wirds aber mal Zeit, dass sich Jörg (http://www.mikrocontroller.net/user/show/15) dazu äußert und aufklärt, wie die Wunsch-MCU denn tatsächlich aussieht! SCNR
> Es sind halt noch nicht alle Bauteile als 3.3V Version erhältlich.
Stimmt. Röhren sind auch nicht 3,3V kompatibel...
ich will eine in pink ;) immer nur schwarz i so trist duckundwech
>ich will eine in pink ;) immer nur schwarz i so trist
Die ersten 8051er von Intel waren in einem weißen(!!!)
Keramik-Gehäuse;-)
Lila, Weiß und Gold sind hier zu sehen: http://refurbs.de/dip.htm @WunschCPU: 32Bit Speicherzugriffe, Bis ca 40MHz, üppig Ram, DMA und alles Abschaltbar, was man nicht braucht und Strom zu sparen. Gerne auch Teile des Rams. Ansonsten wurde schon viele Genannt, was ich jetzt nicht nochmal abpinseln will. Sebastian
Die Features sind total egal, wichtig ist doch RoHs-Konformität!
Tamme D. wrote: > ich will eine in pink ;) immer nur schwarz i so trist > > *duckundwech* Nimmst halt nen schwarzen und malst ihn tuelli an ;) Musst nur Deinen rosa Nagellack dazu verwenden hehe :D
Eine Mischung aus FPGA (für CPU nach Geschmack und Digitalteile) und Cypress PSOC (Analogteil) wäre optimal.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.