Forum: Mikrocontroller und Digitale Elektronik Suche einen µC / Serie


von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Hallo,
ich suche für ein Projekt einen schnellen 8-Bit µC, dessen Code sich aus 
einem (parallelen) Rom raus Ausführen lässt, ohne vorher einen 
"interpreter" schreiben zu müssen. Also ein Rom-Less-Device wäre OK. Die 
Architektur, der Hersteller, besondere Schittstellen und Eigenschaften 
sind erstmal nicht so wichtig... Ich brauche nur IO´s und suche einen 
geeigneten Typ / oder eine Serie.

Bauform wäre mir am liebsten DIP. Ich habe für solch einen Fall bisher 
nur die 80C31 / 80C32 gefunden, genau so etwas in der Art:

http://www.reichelt.de/80C-87LPC-89C51-Controller/80C32-P/3/index.html?;ACTION=3;LA=2;ARTICLE=3536;GROUPID=2941;artnr=80C32+P;SID=13UIES8n8AAAIAAB-ZE7Mc8141b63cfe352371261725dff109e23

Dieser geht bis 40 MHz, so in dem Dreh wäre es perfekt. Also um so mehr 
geht, desto besser... Kennt jemand noch andere Typen, mit ähnlichen oder 
gar besseren Eigenschaften? Schnellere habe ich bisher noch nicht 
gefunden. Eventuell hat ja jemand Erfahrung mit diversen Controllern, 
und kann mir einen Empfehlen.

Hintergrund ist, dass anstelle des ROM´s ein mäßig großer SRAM dran 
hängen wird, der bei jedem Start des Controllers vorher "dynamisch 
programmiert" wird (ASM), damit es der Controller dann ausführen kann, 
deshalb Rom-Less! Der SRAM sollte auch parallel als "normaler" RAM 
genutzt werden können - das sollte ja machbar sein, wenn man ihn z.B. 
einteilt, in dem man einen Adress-Pin als Ram-Enable-Pin verwendet, 
während der Ram dauerhaft Enable ist... Bräuchte nur ein paar 
Empfehlungen zu einer µC-Serie - da ich bisher nur AVR´s mit Rom 
verwendet habe.

Liebe Grüße... TS

von Guest (Gast)


Lesenswert?

Die klassischen 8015 brauchen 12 Takte pro Instruktion. Das macht bei 
40MHz ca so so viel Leistung wie ein AVR bei 8MHz. Viel Spaß.

von STK500-Besitzer (Gast)


Lesenswert?

Guest schrieb:
> Die klassischen 8015 brauchen 12 Takte pro Instruktion. Das macht bei
> 40MHz ca so so viel Leistung wie ein AVR bei 8MHz. Viel Spaß.

Am Thema vorbei.
Aktuelle 8051 laufen ohne den Vorteiler.

Timmey S. schrieb:
> intergrund ist, dass anstelle des ROM´s ein mäßig großer SRAM dran
> hängen wird, der bei jedem Start des Controllers vorher "dynamisch
> programmiert" wird (ASM), damit es der Controller dann ausführen kann,
> deshalb Rom-Less! Der SRAM sollte auch parallel als "normaler" RAM
> genutzt werden können - das sollte ja machbar sein, wenn man ihn z.B.
> einteilt, in dem man einen Adress-Pin als Ram-Enable-Pin verwendet,
> während der Ram dauerhaft Enable ist... Bräuchte nur ein paar
> Empfehlungen zu einer µC-Serie - da ich bisher nur AVR´s mit Rom
> verwendet habe.

Die Funktion erfüllt inzwischen ein Bootloader und Flash-Speicher.
Die ED-Edition (NXP?) hat sogar schon Bootloader für verschiedene 
Schnittstellen einprogrammiert.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Guest schrieb:
> Die klassischen 8015 brauchen 12 Takte pro Instruktion. Das macht bei
> 40MHz ca so so viel Leistung wie ein AVR bei 8MHz. Viel Spaß.

Jo, Ist mir auch gerade aufgefallen, dass die intern nicht ganz so 
schnell laufen. Gibts so etwas auch mit MIPS-Architektur / oder 
ähnlichem? Oder zumindest "etwas" effizienter? Also wie gesagt: Um so 
mehr geht, desto besser... Wenn jemand noch einen Tipp hat, wäre das 
wunderbar - ich wäre sehr Dankbar !!!

Edit: @STK500-Besitzer: Hättest du einen Link für diesen NXP-ED, oder 
eine Übersicht / Blockschaltbild des IC´s - Einen Bootloader für 
Schnittstellen - das klingt interessant. Die Serie kenne ich noch nicht. 
Die gibts bestimmt nicht als DIP, oder? ^^

Gruß

von Frank K. (fchk)


Lesenswert?

Es gibt seit neuestem MSP430 mit FRAM. FRAM ist nichtflüchtig wie EEPROM 
aber beschreibbar wie SRAM, also schnell und ohne wirkliche 
Schreibzyklenbegrenzung. Du kannst es wie SRAM verwenden, und Du kannst 
es für Code und Daten verwenden.

http://www.ti.com/mcu/docs/mcuproductcontentnp.tsp?familyId=1751&sectionId=95&tabId=2840&family=mcu

fchk

von B. S. (bestucki)


Lesenswert?

Einige PIC18 Typen von Microchip können ein Programm aus einem externen 
Speicher ausführen, haben aber trotzdem alle ein internes Flash. Die 
haben jedoch einen maximalen internen Takt von 16MHz. Wies bei den PIC24 
oder PIC32 aussieht, weiss ich nicht.

von Guest (Gast)


Lesenswert?

Timmey S. schrieb:
> Also wie gesagt: Um so
> mehr geht, desto besser... Wenn jemand noch einen Tipp hat, wäre das
> wunderbar - ich wäre sehr Dankbar !!!

Nimm dir einen ARM mit externem Memory Interface und nutze nur die 8Bit 
Instruktionen von Thumb2? Da kannst du dann auch Geschütze wie den 
Cortex A15 auffahren, wenn du so viel Leistung brauchst.

Aber ehrlich, es wäre vernünftig wenn du mal schreibst WOFÜR das ganze 
gut sein soll.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

MSP430 wäre totales Neuland für mich - FRAM klingt laut deiner 
Beschreibung ziemlich vielversprechend und universell für diese 
Anwendung, aber wahrscheinlich lässt der sich nicht so "mal eben" von 
extern beschreiben...

An diverse PIC´s hatte ich auch schon gedacht. Die wären ja auch recht 
Flott unterwegs. Ob die PIC24/32 das unterstützen wäre gut zu wissen... 
Da hab ich irgendwo noch einen Programmer rum liegen...

Jedenfalls Danke für die Hinweise - Werde nun ein paar Datenblätter 
durchwälzen. Bin weiterhin offen für alles.

Gruß, TS

von Olaf (Gast)


Lesenswert?

> Also um so mehr geht, desto besser... Kennt jemand noch andere Typen,
> mit ähnlichen oder gar besseren Eigenschaften?

Die R32 von Renesas koennen das. (vermutlich die RX auch?) Das sind zwar 
keine 8bitter, aber die koennen externes Ram notfalls auch 8Bittig 
ansprechen.
Allerdings ist das eigentlich Quatsch. Sobald du 40-50Mhz 
ueberschreitest gibt es zwei Probleme. Zum einen wird es schwierig so 
schnellen Speicher als SRAM zu finden, zum anderen wird der Aufwand in 
der Ansteuerung, Timing, EMV erheblich.

Es waere eigentlich klueger einen fetten Controller mit grossen internem 
Ram zu verwenden und deine Programme da laufen zu lassen wenn du das 
unbedingt so haben willst.

> Hintergrund ist, dass anstelle des ROM´s ein mäßig großer SRAM dran
> hängen wird,

Wie definierst du maessig? Es gibt Microcontroller mit 1Mbyte internem 
Ram. Da will man sich kein externes Ram antun.

Aber erzaehl doch erstmal was du machen willst und wir sagen dir dann 
wie es alle anderen machen. :-)

Olaf

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Guest schrieb:
> Nimm dir einen ARM mit externem Memory Interface und nutze nur die 8Bit
> Instruktionen von Thumb2? Da kannst du dann auch Geschütze wie den
> Cortex A15 auffahren, wenn du so viel Leistung brauchst.
>
> Aber ehrlich, es wäre vernünftig wenn du mal schreibst WOFÜR das ganze
> gut sein soll.

Das ganze ist für einen "8-Bit Lochraster-Hobby-Computer", dessen 
"Grafikkarte" einen Co-Prozessor für 3D-Matrizen und Transformierungen 
bekommen soll. Da dachte ich mir, dass ein "komplett von extern" 
Programmierbarer Controller, wie z.B. der 80C32 sehr praktisch wäre. Das 
ganze ist ein recht umfangreiches Lern-Projekt - ARM wäre mir etwas zu 
over-sized.


Danke für die Tipps.

Olaf schrieb:
> Wie definierst du maessig? Es gibt Microcontroller mit 1Mbyte internem
> Ram. Da will man sich kein externes Ram antun.

1 Mbyte habe ich mir auch vorgestellt, da ich davon einige rumliegen 
habe.

von Arc N. (arc)


Lesenswert?

Timmey S. schrieb:
> MSP430 wäre totales Neuland für mich - FRAM klingt laut deiner
> Beschreibung ziemlich vielversprechend und universell für diese
> Anwendung, aber wahrscheinlich lässt der sich nicht so "mal eben" von
> extern beschreiben...
>
> An diverse PIC´s hatte ich auch schon gedacht. Die wären ja auch recht
> Flott unterwegs. Ob die PIC24/32 das unterstützen wäre gut zu wissen...

Nein. Die haben zwar u.U. einen PMP (Parallel Master Port), der ist aber 
nicht dazu geeignet. Die PIC32 können aber Code aus dem internen RAM 
ausführen (bis zu 128 kiB z.B. PIC32MX795F512L)

Da es (nur?) bei jedem Start neu programmiert werden soll: Wie häufig 
sind die Starts? Das interne Flash einiger Controller lässt sich bis zu 
100000 mal programmieren (u.a. Fujitsu FM3) bzw. könnte man je nach 
Speicherbedarf zusätzlich wear-leveling einsetzen.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Arc Net schrieb:
> Da es (nur?) bei jedem Start neu programmiert werden soll: Wie häufig
> sind die Starts?

Kann ich wirklich nicht genau sagen....

von Juergen (Gast)


Lesenswert?

Wieviel RAM brauchst du denn?

Timmey S. schrieb:
>
> Jo, Ist mir auch gerade aufgefallen, dass die intern nicht ganz so
> schnell laufen. Gibts so etwas auch mit MIPS-Architektur

MIPS ist zu groß, wird eher für Netzwerksachen verwendet.

> oder ähnlichem? Oder zumindest "etwas" effizienter?

ARM Cortex M.

Externes RAM würde ich lassen, solange du nicht Megabytes davon 
brauchst.
Die LPC-Serie von NXP haben alle einen Bootlader eingebaut,
mit dem man u.a. auch Kode in das RAM laden und ausführen kann.

In DIP28 gibt es momentan nur den LPC1114FN28 mit 4KB RAM
(Cortex M0 mit maximal 50 MHz).

Der LPC4350 am anderen Ende der Skala hat 264KB RAM
(Cortex M4 mit Fließkommaeinheit + Cortex M0 mit maximal 204 MHz).
Der hat auch ein externes Speicherinterface, wie auch LPC178x und 
LPC18xx.

von kukuk (Gast)


Lesenswert?

schnelle 8051 findest du bei Silabs  ... bis 100MHz

von Sam P. (Gast)


Lesenswert?

Es gibt ja einige flash-less Cortexe, aber ARM ist nunmal nicht 8-Bit. 
Wenns um der Retroliebe willen unbedingt 8 Bit sein soll, warum kein 
moderner Z80-Nachfahre o.ä.? Von den klassischen CPUs gibt einige noch, 
und die haben oft auch ein externes Speicherinterface.

Allerdings widersprechen sich dein Wunsch nach Geschwindigkeit und der 
Wunsch nach klassischer 8-Bit-Technik. Rechenleistung kriegst du eher 
über topaktuelle ARM oder MIPS (PIC32) MCUs.

von Sam P. (Gast)


Lesenswert?

Ach so, falls DIP wichtig ist, wird ja bei Lochraster vermutlich 
gewünscht sein: Z80-Nachfolger gibts noch als DIP, irgendwo haben wir 
hier noch so ein Retro-Projekt rumfliegen, das war ein kompletter 
Z80-Single-Board-Computer komplett ohne SMD, und alles mit derzeit 
verfügbaren Bauteilen.

Bei ARM grenzt DIP die Auswahl arg ein. Ich glaub es gibt nen DIP-LPC, 
ansonsten muss man Breakout-Boards verwenden, z.B. ein LPCXpresso oder 
STM Discovery, oder halt ein Chinaimitat, die sind nicht teuer.

von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Timmey S. schrieb:
> dessen "Grafikkarte" einen Co-Prozessor für 3D-Matrizen und
> Transformierungen bekommen soll.

@Juergen: Danke - den LPC1114FN28 in DIP28 hatte ich schon wieder ganz 
vergessen...

kukuk schrieb:
> schnelle 8051 findest du bei Silabs  ... bis 100MHz

Da werde ich wahrscheinlich landen - und gleich eine neue "GPU" damit 
aufbauen - Ne Adapter-Platine dazu - Sonnst macht es recht wenig Sinn, 
wenn als "MainCore" ein 20Mhz AVR werkelt - Dann lieber gleich 
"anständig". Es muss hald unbedingt von extern programmierbar sein...

Nochmals danke für die Tipps und Infos. Super ^^

von Chris (Gast)


Lesenswert?

Pic Romless, max 6.25Mips, die Bauform ist SMD, aber dank PLCC84 Socket
problemlos auf Rasterplatine machbar. 18f801 müsste es sein.

von Chris (Gast)


Lesenswert?

[OT] Frage: Haben die Silabs Chips einen externen Bus für den Speicher ?

von B. S. (bestucki)


Lesenswert?

Arc Net schrieb:
> Nein. Die haben zwar u.U. einen PMP (Parallel Master Port), der ist aber
> nicht dazu geeignet.

Doch das können die, hab ich selbst schon verwendet. Siehe hier:
http://ww1.microchip.com/downloads/en/AppNotes/00869b.pdf

von bingo (Gast)


Lesenswert?

vom Z80 gibt es auch Varianten mit eingebauten IO und Timer, sozusagen 
Z80-µC ...

TMPZ84C015 und Z84C15

von Peter D. (peda)


Lesenswert?

Die ROMless 8051 gibt es schneller von Maxim als DS80C320, der teilt /4 
statt /12.
Oder noch schneller (/1) als DS89C450. Da brauchst Du aber schon nen 
sauschnellen Flash, um das auszunutzen.



Peter

von ask me (Gast)


Lesenswert?

Timmey S. schrieb:
> Das ganze ist für einen "8-Bit Lochraster-Hobby-Computer", dessen
> "Grafikkarte" einen Co-Prozessor für 3D-Matrizen und Transformierungen
> bekommen soll. Da dachte ich mir, dass ein "komplett von extern"
> Programmierbarer Controller, wie z.B. der 80C32 sehr praktisch wäre. Das
> ganze ist ein recht umfangreiches Lern-Projekt - ARM wäre mir etwas zu
> over-sized.

Da nimmt man irgendein Ding, auch 8051, mit internen Flash. Der lädt 
sein Programm aus einem EEPROM oder von einer Speicherkarte und führt es 
im RAM, auch als ROM Ersatz, aus. Das geht natürlich bei einem von 
Neumann einfacher als bei einem Harvard.

von amateur (Gast)


Lesenswert?

Was spricht eigentlich gegen die XMega-Serie?
Die haben ein Speicherinterface, lassen sich via Bootstap seriell 
bequatschen nur auf dip stehen die nicht - mehr.
Ist aber auch nicht ganz leicht, wenn Du neben dem Interface noch ein 
paar Portpins über haben willst.
Wie groß ist eigentlich Dein Speicherhunger. Die AVR32-er haben etliche 
RAM KByte drinnen und lassen sich auch nachträglich via USB befummeln.

von Karlheinz (Gast)


Lesenswert?

Hallo,

Timmey S. schrieb:
> Das ganze ist für einen "8-Bit Lochraster-Hobby-Computer", dessen
> "Grafikkarte" einen Co-Prozessor für 3D-Matrizen und Transformierungen
> bekommen soll.

in diesem Zusammenhang ("Grafikkarte" und "Co-Prozessor") fällt mir der
"Propeller"-Chip von Parallax mit 8 Kernen ein der sich das Programm 
beim Start selbst hineinsaugt.
Er ist sauschnell (160 MIPS) und ideal für Graphikanwendungen bzw. die 
genannten Transformierungen!

von Karlheinz (Gast)


Lesenswert?


von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Habe irgendwo mal gelesen, dass der Propeller nicht mehr hergestellt 
wird. Hmmm... Aber sogar auf parallax.com ist dieser noch zu bekommen. 
An diesen Chip hatte ich auch schon gar nicht mehr gedacht... Stimmt, 
der wäre wirklich Ideal dafür, diesen kenne ich auch schon. - Er kann ja 
sogar per RS232 "booten" ... Schade dass es insgesamt nur so wenige 
interessante DIP-ICs gibt. Danke für den Hinweis / und den Shop, der ihn 
recht günstig vertreibt...

Gruß

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.