Hallo zusammen,
ich suche einen modernen Ersatz für einen 80535. Einzige Anforderungen
sind
- Interner Flash (>= 32kB)
- 8 ADC Kanäle
- 32 digitale I/O
- Compare/Capture
- 5V Ausgangspegel
Keine großartigen Anforderungen, sollte man meinen. Tatsächlich finde
ich aber nur bei Atmel etwas geeignetes (AT89C51CC03, AT89C51AC3) -
leider blockieren dort ausgerechnet die Compare/Capture Pins die
ADC-Kanäle! Infineon hat noch den XC878 im Angebot. Schaut prima aus,
nur leider ist er nirgends verfügbar!
Hat jemand von Euch einen Tipp?
Grüße
Steffen
schau mal bei Atmel vorbei. 89CXXX
Da sollte sich was finden.
Außerdem bei Silabs. Bis 100 MHZ interner Oszillator !!!!!!!!!
Allerdings nicht ganz Easy. Weil alle Pins als GPIO fungieren.
Soll heißen die Pinbelegung legst Du fest. Ist nicht ohne.
Frank K. schrieb:> Schau mal bei den Microchip dsPIC30F*, ob da was passendes für Dich> dabei ist.>> fchk
was hat Microchip mit 8051 zu tun ????????
Kopfschüttel ???
LESEN BILDET !!
Danke für die Tipps!
- Atmel: Die AT89Cxxx passen alle nicht, da die Pinbelegung die
Ressourcen gegenseitig blockiert. Die AT89LPxxx würden passen, laufen
aber nur mit 3V3 I/O Spannung.
- STC: Kannte ich auch noch nicht. Leider brauche ich 4x Compare/Capture
(sorry, habe ich in meinem Ausgangsposting nicht geschrieben). Die ICs
haben nur 2x.
- Silabs: Tolle Teile! Da ich aber 32 DIO plus 8 ADC-Kanäle brauche,
kommen leider nur die "Automotive" und die "Analog intensive" in Frage.
Letztere laufen wieder nur mit 3V3. Erstere passen, wenn denn nicht...
ja wenn nur nicht ausgerechnet Port 4 nicht bit-adressierbar wäre :-(
Fällt Euch noch ein anderer Chip ein? Ansonsten werde ich wohl auf
push-pull am Ausgang verzichten und das Signal mit Widerständen auf 5V
ziehen müssen. Oder habt ihr eine andere Idee?
Deinen eigenen Wunsch-IC wirst Du schwerlich gestrickt bekommen.
Du brauchst bestimmt nicht alle 32 IOs in High-Speed. Dann kann man
bequem mit 47HC165/74HC595 die IOs beliebig erweitern.
Oder wenn nur ein analog Eingang frei ist, einfach nen 74HC4051 davor
setzen.
Peter
Stephan Henning schrieb:> Frank K. schrieb:>> Schau mal bei den Microchip dsPIC30F*, ob da was passendes für Dich>> dabei ist.>>>> fchk>> was hat Microchip mit 8051 zu tun ????????>> Kopfschüttel ???>> LESEN BILDET !!
JA, Kopfschüttel!
Aber über DICH!
Du hast NIRGENDWO definiert das du (nur) 8051er suchst! Klar, das könnte
man aus deinen schon ausgeschlossenen Alternativen vermuten. Aber es
blieb bis zu dieser Antwort trotzdem nur eine vermutung das definitv gar
nichts anderes in Betracht kommt.
Also Ehrlich, Hier es selbst gebacken bekommen vernünftige Fragen zu
formulieren, aber leute die Helfen wollen anmachen, Obwohl der Fehler
einzig vor deinem Monitor sitzt.
Naja, eigentlich wollte ich ja was anderes, eventuell hilfreiches, zum
Thema schreiben. Aber für jemanden mit dieser Einstellung. Neee!
Gruß
Carsten
Lieber Carsten!
Bevor du hier herum posaunst würde ich sagen geh den thread nochmal
durch. Nicht der Fragesteller hat diese antwort geschrieben sondern ein
andere forenmitglied!
In diesem sinne, nicht immer gleich soviel dampf ablassen, etwas
abkühlen (cool bleiben) und nützliche beiträge schreiben.
cheers.
Nimm doch gleich was modernes, wie Cortex M3, zB. STM32. Für 5V wird es
immer schwerer. Preislich sind die STM32 sehr günstig und die
Verfügbarkeit passte bisher auch immer.
Die Sache ist, dass der 80535 in einem abgeschlossenen, käuflich
erwerbbaren Design eingesetzt wird. Ich möchte den Umfang erweitern und
brauche daher weitere Ressourcen, also einen neuen Controller. Der soll
aber möglichst weit kompatibel zum originalen 80535 sein, damit ich
nicht alles umschreiben muss.
Ich bleib beim Silabs hängen. Port 4 ist zwar nicht bit-adressierbar,
aber ich werde einfach meine Hardware-Ressourcen über die Crossbar auf
diesen Port legen. Da ich ausserdem dank internem Datenspeicher auf /RD
und /WR verzichten kann, komme ich mit den verbleibenden Ports 0-3 aus.
Vielen Dank für Eure Tipps!
Steffen
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=90;72;103
Hallo,
vielleicht haben die etwas. Ist jedenfalls 8051 kompatibel.
Die ganzen Anforderungen habe ich jetzt aber nicht abgeklopft.
(Hab hier ein Gerät, in dem der AX11005 verbaut ist.)
Viele Grüße + 1 schönes Wochenende wünscht
Herbert
> Ich bleib beim Silabs hängen. Port 4 ist zwar nicht bit-adressierbar,> aber ich werde einfach meine Hardware-Ressourcen über die Crossbar auf> diesen Port legen.
Vorsicht: Du kannst a) nicht wild die Hardware-Ressourcen auf beliebige
Pins setzen, sondern nur immer in einer bestimmten Reihenfolge, aber
innerhalb der Reihenfolge kannst du "schieben", also Pins auslassen und
b) sind nicht bei allen SiLabs Controllern die Hardware-Ressourcen auf
ALLE Ports verteilbar!!!
Ralf
Steffen Hausinger schrieb:> Port 4 ist zwar nicht bit-adressierbar,> aber ich werde einfach meine Hardware-Ressourcen über die Crossbar auf> diesen Port legen.
Also dieses Crossbar ist der größte Blödsinn.
Man muß vor dem Platinenlayout ganz genau wissen, welche Peripherie man
nutzen will. Ein späteres Einfügen oder Weglassen ist nicht möglich, da
sich dann alle anderen Funktionen verschieben.
Hat man sich entschieden, bestimmte Peripherie zu reservieren, muß man
sie enablen. Diese Pins alternativ als Portpins zu benutzen, ist dann
nicht mehr möglich.
Andere MC-Hersteller erlauben entweder ein wirkliches Routen oder
eine/mehrere Alternativbelegungen pro Peripherie.
Peter
Es gibt den 8051 als IP-core für diverse FPGAs. Da kannst du dann deine
Peripherie dazubauen, so wie du sie magst! Allerdings wirds mit
Analogteilen schwierig, aber die lassen sich dann extern dazustricken.
@PeDa:
> Hat man sich entschieden, bestimmte Peripherie zu reservieren, muß man> sie enablen. Diese Pins alternativ als Portpins zu benutzen, ist dann> nicht mehr möglich.
Jein. Man muss sich zwar auf die Pins festlegen, solange die
Peripherie-Einheit aber nicht genutzt wird, kann man die entsprechenden
Portpins skippen und weiterhin als GPIO verwenden. Das funktioniert
soweit ich weiss bei allen Derivaten ab F3xx.
Ralf
kopfschüttel-gast schrieb:> Lieber Carsten!>> Bevor du hier herum posaunst würde ich sagen geh den thread nochmal> durch. Nicht der Fragesteller hat diese antwort geschrieben sondern ein> andere forenmitglied!
Au F**K,
Wie heißt es so schön: "Errare humanum est".
Da bin ich dann beim schnellen Hochscrollen über die "optische"
"NAmensähnlichkeit" gestolpert die beim Überfliegen schon etwas arg ist.
Wenn man genauer hinsieht -> Klar.
Dann muss ich mich definitiv beim TE entschuldigen, frage mich aber
gleichzeitig was der andere S.H. geraucht hat das er andere alleine
aufgrund seiner VErmutungen so anblafft.
Eagl, zum Thema:
Helmut -dc3yc schrieb:> Es gibt den 8051 als IP-core für diverse FPGAs. Da kannst du dann deine> Peripherie dazubauen, so wie du sie magst! Allerdings wirds mit> Analogteilen schwierig, aber die lassen sich dann extern dazustricken.
Ein FPGA einzusetzen nur um einen 8051 als IP Core darauf laufen zu
lassen, das halte ich schon für etwas, naja, Unangebracht!
DAs würde ich nur in Betracht ziehen wenn es die letzte mögliche Lösung
ist. µC IP Cores in FPGA machen meiner Meinung nur Sinn wenn man eh
einen FPGA zwingend braucht und entweder noch Platz hat, oder aber der
nächstgrößere FPGA weniger Mehrkosten verursacht als ein zusätzlicher µC
+ Handling (Bestückung, LAgerungs usw) und Platzmehrbedarf.
Man muss sich ja nur einmal die PReise anschauen. Sebst für sehr
einfache FPGA zahlt man deutlich mehr als für leistungsfähige CPU von
der Stange.
Dann brauchst du noch den externen Programmspeicher, meist ein
aufwendigeres Layout, musst ggf. externe Peripherie dazuschalten die der
µC intern hat usw.
Zudem frage ich mich gerade ob aktuell überhaut irgendein FPGA verfügbar
ist der mit 5V IO arbeitet. (Aber ich bin kein FPGA experte, da haben
wir hier andere)
Steffen Hausinger schrieb:> Die Sache ist, dass der 80535 in einem abgeschlossenen, käuflich> erwerbbaren Design eingesetzt wird. Ich möchte den Umfang erweitern und> brauche daher weitere Ressourcen, also einen neuen Controller. Der soll> aber möglichst weit kompatibel zum originalen 80535 sein, damit ich> nicht alles umschreiben muss.
ICh würde hier jetzt mal behaupten da gibt es vom Aufwand her keinen
wirklich großen Unterschied beim WEchsel vom Siemens 535 zu einem
anderen µC einer anderen Serie, egal ob der jetzt ein SiLabs mit 8051
Kern oder aber ein PIC oder AVR ist.
ODer ist dein Programm noch in ASM geschrieben? Dann natürlich schon.
Dann sparst du dir eine MEnge Arbeit. Müsstest ja beim Familienwechsel
im prinzip ALLES neu schreiben.
Wenn du aber ein C Programm hast, dann dürfte das recht egal sein, denn:
C ist zuerst einmal C. Der Allgemeine Programmablauf ist universell. Den
teil der nur Standart C umfasst (Befehle und Libs), den kannst du 1-1
Übernehmen.
Was du ändern musst, das ist alles was mit dem direkten Hardwarezugriff
zu tun hat. Also die stellen wo du Funktionen aufrufst die für diesen
einen Prozessor in den jeweiligen spezifischen Libs stehen! Und
natürlich ggf. die Header Dateinen mit den Defines.
Aber diese Stellen musst du in beiden Fällen ändern, also sowohl wenn
der neue Prozessor ein Silabs 8051er ist als auch wenn jetzt ein PIC zur
Anwendung kommen würde.
Daher würde ich, wenn der Aufwand der einzige Grund ist um auf 8051 zu
bleiben, auch mal schauen ob nicht vielleicht doch eine andere 8Bit
Familie eine Lösung hat die dir mehr arbeit abnimmt.
Gruß
Carsten
Ralf schrieb:> Man muss sich zwar auf die Pins festlegen, solange die> Peripherie-Einheit aber nicht genutzt wird, kann man die entsprechenden> Portpins skippen und weiterhin als GPIO verwenden.
Wenn das geht, dann könnte man ja wieder wie beim klassichen 8051 ein
festes Layout der Spezialfunktionen definieren. Das würde die Anwendung
deutlich vereinfachen.
Ralf schrieb:> Das funktioniert> soweit ich weiss bei allen Derivaten ab F3xx.
Aha, also erst die können es.
Sind die Vielpinner aber nicht die F0xx, d.h. die können es also nicht?
Diese Crossbar ist der Hauptgrund, warum ich mit den Silabs nichts
gemacht habe.
Peter
-ax11005-- schrieb:> http://www.asix.com.tw/products.php?op=pItemdetail...
Die Verfügbarkeit ist leider nicht viel besser als bei den XC800.
Farnell, RS, Digikey kennen den Hersteller "ASIX" nicht einmal.
Carsten Sch. schrieb:> Dann muss ich mich definitiv beim TE entschuldigen [...]
Schon vergessen...
Carsten Sch. schrieb:> ODer ist dein Programm noch in ASM geschrieben?
Exakt so ist es. Der Controller läuft auf einem fremden, kommerziellen
Produkt und ich habe die HLL-Sourcen leider nicht.
Ich habe mich nun für den C8051F580 von SiLabs entschieden. Von der
Crossbar hatte ich mir anfangs tatsächlich versprochen, jede Ressource
auf jeden Pin verteilen zu können. Aber das klappt, wie bereits
angesprochen, leider nicht. Aber immerhin ist es besser als gar keinen
Einfluss zu haben wie bei den anderen Herstellern. Denn da blockieren
sich die Ressourcen in meinem Fall bei jedem.
Über einen Soft-Core habe ich auch kurz nachgedacht. Dann fiel mir aber
wieder ein, wie rudimentär meine VHDL Kenntnisse sind und dass sich,
wenn man kein Verilog kann, die Auswahl möglicher Kerne mindestens
nochmal halbiert ;-)
Nochmals vielen Dank für Eure Tipps!!
Steffen
Peter Dannegger schrieb:>> Man muss sich zwar auf die Pins festlegen, solange die>> Peripherie-Einheit aber nicht genutzt wird, kann man die entsprechenden>> Portpins skippen und weiterhin als GPIO verwenden.> Wenn das geht, dann könnte man ja wieder wie beim klassichen 8051 ein> festes Layout der Spezialfunktionen definieren. Das würde die Anwendung> deutlich vereinfachen.
Ich finde es recht praktisch, da man sich das Layout halt doch ein wenig
vereinfachen kann. Ausserdem kann man auch mal das PCA an die Stelle von
ner Schnittstelle schieben, um die Geschwindigkeit zu messen oder so.
Wenn das schieben etc. zu 100% flexibel wäre, also jeder Pin könnte jede
Funktion in beliebiger Reihenfolge, wär das schon schnucklig, aber
lt.SiLabs Aussage nähme allein diese Funktion zusätzlich ca.80% der
Siliziumfläche eines der größeren Derivate ein.
Ralf schrieb:
>> Das funktioniert soweit ich weiss bei allen Derivaten ab F3xx.> Aha, also erst die können es.> Sind die Vielpinner aber nicht die F0xx, d.h. die können es also nicht?
Ja, das sind die Vielpinner, die haben zwar die Crossbar, aber den
Skipper noch nicht. SiLabs hat das damals von Cygnal übernommen, als sie
die Jungs aufgekauft haben und dann eben um den Skipper erweitert.
Ralf