Hallo!
Ich habe mir 2Samples des DS80C390 von Dallas/Maxim bestellt. Da steht
das er 8051 kompatibel ist. Weiß jemand ob sich
das auch auf das nötige Programmiergerät bezieht, bzw. wo finde ich eine
passende Bauanleitung (kostengünstig <15 ohne
Platine, sollte jedoch den PC schützen)? Außerdem habe ich noch keine
Erfahrungen mit 8051er Chips gemacht. Ich würde
ganz gerne in C programmieren und einen kostenlosen Compiler dafür
verwenden. Wo bekomme ich Infos dazu?
Zu diesem Chip noch eine Frage:
Gibt es irgendwelche Adapter um die QFP oder PLCC-Chips auf
Lochrasterplatinen einzusetzten? Meine bisherige Methode
(jeden 2ten Pin hochbiegen und kabel anlöten) ist auch nicht unbedingt
gut. Oder wie kann man die Chips ansonsten sinnvoll
in eigenen Projekten verwenden, ohne Platinen herzustellen?
Hermann
Schon mal was von PLCC-Sockeln gehört. Desweiteren brauchst du einen
externen Programmspeicher sprich Eprom Flash oder ähnliches, weil der
80C390 hat nur ein int. RAM von 4kb. Aber nen Daten und Adreßbus per
Drähtchen und dann am besten bei max 33MHz, naja. Da würde ich doch ne
Platine entwerfen. Kostet ja nich viel
Mfg Sascha
Am besten nimmst Du einen Adapter PLCC44->DIP40, wenn Du es bequem haben
willst. Die sind nicht ganz billig, wenn Du sie fertig kaufst. Pass aber
auf, dass Du nicht so einen professionellen nimmst, die sind nämlich für
Programmiergeräte und schweineteuer (ab 80 Euro aufwärts). Zum Basteln
reicht ein einfacher, z.B. bei
http://www.eprom-shop.com/versand/adapter/index.shtml . Der kostet dann
"nur" 20 Euro.
1. Gibt's diese Sockel nicht irgendwo billiger? Ich hatte schon mal
davon gehört, aber zu diesen Preisen kann sich das ein Schüler doch fast
nicht leisten. Die Platinen sind im übrigen auch zu teuer.
2. Zum Programmspeicher: Ich habe hier zwei 256kb non-volatile ram
bausteine. Gehen die? Und warum soll ich nicht den internen Ram nehmen?
Mehr als 4kb flash hat der avr 4433 auch nicht.
3. auf der maxim hp steht, das der Chip einen Taktvervielfacher hat.
D.h. langsammerer Quarz, oder?
4. Wie bekomme ich jetzt mein Prog. in Chip oder ext. Ram? Ich hab, den
Programmieradapter für den avr 4433 nachgebaut, geht der? An welche pin
gehört der?
5. Welche Compiler für C gibt es?
Viele Dank für euere Hilfe,
Hermann
Noch einmal paar Anmerkungen:
1. Ich habe auf http://home.t-online.de/home/holger.klabunde/projects/8051.htm einen Schaltplan für ein 8051-Board
gefunden. Leider ist er ziemlich aufwendig, mit vielen ICs. Ich suche
lieber etwas das eine ähnliche Minimalbestückung wie im
Tutorial auf dieser Seite braucht. Da ich -wie bereits gesagt- aus
Kostengründen auf Streifenrasterplatinen arbeitenen müss
sollte es eben sehr einfach sein.
2. Ist es sinnvoller einen schnellen Quarz zu nehmen, oder den
Taktvervielfacher zu aktivieren?
3. Besteht auch bei anderen Leuten hier Interesse an PLCC->DIL Adaptern?
Dann könnte man sich ja zusammen tun und
eine Platine fertigen lassen. Auf 1qdm müssten doch mind. 10 St. passen.
Dann kann man bei Reichelt für ca. 50ct eine
PLCC-Fassung und für ein paar Ct. die Stiftleisten kaufen, so das eine
Fassung auf max. 6 kommen dürfte.
Hermann
Hallo Hermann,
der 80cC390 ist auf keinen Fall der low-cost-Einstieg.
Es gibt EPROMs mit Latch (78C256), das wäre die Lösung mit dem
geringsten Verdrahtungsaufwand (ALE->/CE).
Übliche EPROMs sind aber nicht die schnellsten, d.h. 8MHz und kein
Taktvervielfacher dürfte das Maximum sein.
Ich habe ihn eingesetzt, aber da ist ein Coolrunner-CPLD
(TQFP-100-Gehäuse) mit drauf, der liest aus einem 24C512 in einen
schnellen SRAM aus und startet dann vom SRAM. Die Cache-SRAMs (15ns)
sind dann schnell genug für den 80C390.
Ist aber auch eine 4-Ebenen-Platine.
Der richtige Einsteiger-8051 ist der AT89S8252, da Du dafür kein
Programmiergerät brauchst. Auch must Du da keine Samples schnorren, die
Preise bei Reichelt oder Segor sind o.k.
Als C-Compiler wird der SDCC verwendet. Hab ich aber nicht ausprobiert,
da ich auf Arbeit den Keil benutze. Der ist super, macht den kleinsten
Code auch im Vergleich mit den AVR-Kontrollern. Ist aber dementsprechend
teuer.
Peter
Hi!
Ich möchte diesen Chip nicht als Einstieg in die µC-Welt nutzen. Dafür
habe ich schon den avr4433. Ich wollte jetzt einfach mal die 8051-Serie
testen. Und da ich diese Chips jetzt schon mal habe, warum soll ich sie
da nicht verwenden. Die Geschwindigkeit ist mir nicht so wichtig, ich
verfolge ja kein konkretes Ziel. Und wenn ich später mal mehr Speed
brauche, kauf' ich mir einfach schnelleren RAM. Meine RAM-Bausteine
haben 150ns Access Speed. Reicht das? Oder kann ich für den Anfang das
4kb interne RAM einfach immer per PC mit meinem Prog. auffüllen?
>Der richtige Einsteiger-8051 ist der AT89S8252, da Du dafür kein>Programmiergerät brauchst.
Wie kommen die Daten dann in den Chip? Irgend ein Programmiergerät
brauche ich doch immer. Das für die NVRAMs könnte ich mit dem 4433
bauen.
Zu den Samples: Warum sollte ich sie mir nicht bestellen, wo sie doch
gratis sind? Ich habe auch so in den letzten 2Monaten für Elektrozeug
über 140 ausgegeben. Auf Dauer kann ich mir das nicht leisten.
>Es gibt EPROMs mit Latch (78C256)
Braucht man die Latch unbedingt? Geht es mit den RAM nicht auch ohne?
Zum Compiler: Kleinen Code brauch ich nicht unbedingt. Bis 256kb voll
sind dauert's etwas.
Es geht mir hier in erster Linie nicht um ein vollständiges System,
sondern erst mal darum wie ich das Ding überhaupt anspreche.
Hermann
Die DS80C390 ist keine Einsteiger CPU und erfordert für ein lauffähiges
System noch einige Hardware drumherum die mit Sicherheit erheblich
teurer ausfallen wird als ein AT89S8252. Zum Einstieg ist dieses Modell
auch denkbar ungünstig gewählt zumal sie wohl kaum von einem kostenlos
erhältlichen C Compiler direkt unterstützt werden wird.
Hallo,
1. Der 80C390 hat keinen internen Programmspeicher!
Das heißt das du ein ext. Eprom oder Flash brauchst.
2. Der AT89S8952 ist ISP-Programmierbar. Da brauchst du nur
einen Adapter. Oder du nimmst einen T89C51RD2 oder so.
Die programmierst du über die RS232 Schnittstelle.
3. beim 8051 mit ext. Programmspeicher brauchst du ein Latch.
Der Datenbus und die unteren 8 Adressleitungen sind
gemultiplext.
4. Der 80C390 ist sauschnell. Bei einem Takt von 33MHz, sollte
das Eprom 70ns haben oder weniger. Dazu gibts bei Maxim auch
Aplikationen.
Zum guten Schluß: Du brauchst im prinzip ein vollständiges System
Mfg Sascha
>Zum Compiler: Kleinen Code brauch ich nicht unbedingt. Bis 256kb voll sind
dauert's etwas.
kBit nicht kByte - Wie sascha schon gesagt hat.
Wer kein Geld hat kann sich eben kein teueres Hobby leisten, so einfach
ist das. Elektor macht in letzter Zeit ne Menge mit den 89er'n, z.B.:
9/2002. Vor einiger Zeit war nen richtiger Einsteigerkurs für den 8252
drinne, mehrere Hefte, inkl. Board, ASM-Programmierung, C-Programmierung
und sogar irgend nen BASIC-Schweinkram. Genau das richtigen für den
Einstieg.
Wenn du allerdings nur nen bisschen experimentieren und lernen willst
empfehle ich dir das STK300, da ist nen ATMEGA103 drauf, der hat
128kByte Programm-Flash intern, ist optional mit externen SRAM
ausstattbar und besitzt alles was man sich denken kann. Analog-Eingänge,
RTC, PWM, ..., schau dir einfach mal das Datasheet auf
http://www.avrfreaks.net/ an. Zudem er wie fast alle AVRs mit dem
GNU-C-Compiler AVR-GCC programmierbar ist. Assembler gibts sowieso wie
Sand am Meer.
Das Board kostet inkl. MwSt etwa 100,00EUR - Also auch für Schüler
bezahlbar: http://www.sander-electronic.de/es0002.html
Ich habs mir vor einiger Zeit auch bestellt, zum testen von exotischen
Sensoren oder erstellen von Beta-Software überaus geeignet, einfach
immer dann wenn die Software vor der Hardware vorhanden sein muss.
P.S.: Ich hab auch noch kein eigenes Einkommen, kann aber behaupten dass
Elektronik als Hobby mit 100 pro Monat mehr als gut bezahlbar ist,
lange sparen hab ich nie müssen. Zu sagen ist aber noch dass man auch
als Schüler sein eigenes Geld verdienen kann/muss/tut.
Hallo!
Vielen Dank für euere Infos. Ich glaub ich heb mir diese Chips erst mal
etwas auf. Ich hab einfach gedacht, der würde passen. Jetzt suche ich
allerdings nach einen anderen 8051-IC von dem ich gratis Samples
bekommen kann. Ich hab einfach fast kein Geld mehr :(
Ach ja, beim DS80C390 steht bei Internal Program Memory "Up to 4kB SRAM"
auf
http://para.maxim-ic.com/compare.asp?Fam=HSuC&Tree=uController&HP=Microcontrollers.cfm
Geht es nun mit dem RAM, oder nicht?
Ich hab jetzt mal folgende Vorschläge, bitte äußert euch dazu:
- DS89C420 hat 16kB flash, ISP
- DS83C520 16kb ROM
- DS5000 8kb NVRAM
Ich bin auch für andere Vorschläge offen. Auch von anderen Herstellern
die Samples verschicken.
Hermann
Hab das neue Posting von Sascha erst jetzt gesehen.
OK, nur 32kb. Reichen auch.
Das STK300 kenn ich, ich will aber was mit den 8051ern machen. Die AVRs
kenn ich schon.
Ich werd mir auch bald einen Ferienjob suchen, aber das geht bestenfalls
erst nächstes Jahr. Also muss ich noch ne Zeit von 15 Taschengeld/Monat
leben.
Hermann
Wenn ich von Atmel Samples anfordere(ich wollte schon mal 'nen ATMega103
haben) bekomm ich nur eine Automatische Antwort, die mir sagt ich soll
mich an die Distris wenden und die Antworten nicht. Was soll ich da
machen? Beim Country-Feld reinschreiben, dass ich in den USA wohne und
dann in ne extra Adresszeile "Germany" tippen?
Wo ist außer dem AD-Wandler der Vorteil des T89C51? Ich hab mir dafür
extra MAX195 Chips bestellt. Die haben gleich 16Bit und sind auch noch
sehr schnell.
Kann ich den Programmieradapter für den AVR weiterverwenden, oder muss
ich mir da einen neuen bauen? Und wenn er nicht geht, wo gibt's eine
Bauanleitung?
Jaja 16bit. Viel Spaß damit. Nimm doch gleich nen 24Bit'er von Linear.
Für den Anfang nutze lieber mal kleiner wie 8Bit oder 10Bit, die in
manchen Controllern vorhanden ist. Denn solche Wandler wie der MAX195
sind nicht für Experiemente auf Lochraster geeignet, steht sogar im
Datenblatt "Wire-wrap boards are not recommended". Für Flash-Serie von
Atmel und Philips brauchst du keinen Programmier-Adapter. Verbinde die
seriellen Schnittstellen von dem 51'er und dem PC mit nem MAX232 oder so
und Progge los......
Wegen Sampels schreibe einfach mal direkt Atmel in Heilbronn an (mal ein
Brief anstatt einer Mail).
Mfg sascha
Es geht mir ja nicht unbedingt um die vollen 16bit. Etwas Reserve kann
ja nicht schaden. Mir ist wichtiger, dass ich immer dann wenn ich die
Daten abrufen will(egal wie oft das ist) immer ein möglichst genauer
Messwert da ist. Mit dem AD vom 4433er hab ich schon etwas rumgespielt.
Jetzt wollte ich halt nen anderen Chip testen und da der keinen AD hatte
hab ich mir die gleich mit bestellt.
Das mit ATMEL anschreiben probiere ich mal. Muss man da nen Firmennamen
angeben?
>Für Flash-Serie von Atmel und Philips brauchst du keinen>Programmier- Adapter.
Und was ist mit den Dallas-Chips? Und mit welchem Programm kommt der
Code dann in den µC?
Danke für die Hilfe!
Hermann
Hallo Hermann,
Du kannst die DS89C420, DS5000, T89C51xxx, P89C51xxx alle über die
serielle programmieren, d.h. ein MAX232 wird noch benötigt.
Der AT89S8252 wird genau so wie die AVRs über die parallele
programmiert, da gibt es haufenweise Programme im Netz, z.B. Ponyprog.
Der AT89S8252 ist der preisgünstigste von all den genannten für den Fall
das Du Projekte fertig hast und nicht einen extra Programmer bauen
willst.
Ansonsten findest Du hier eine Programmerbauanletung für die AT89C2051
und AT89C52 Serie:
http://www.specs.de/~danni/tools/proflash/index.htm
Der Maxim-Sampledienst über Internet ist wirklich super.
Für Atmels ruf mal bei MSC oder Ineltek an.
Peter
Den MAX232 hab ich da. An welche PINs der kommt müsste ja im Datenblatt
stehen, oder kann mir das gleich einer sagen, damit ich nix falsch mach?
Muss ich dann einfach die Daten an die Serielle Schnittstelle ausgeben?
Aber muss dem µC nicht irgendwie mitgeteilt werden, dass er jetzt
programmiert werden soll. Der kann ja nicht alles was an der
Schnittstelle kommt einfach in Flash schreiben.
Mit Ponyprog hab ich schon gearbeitet und den Adapter aus dem Tut auf
dieser Page hab ich auch.
Ob ich jetzt noch nen billigen Programmer brauche, oder nicht ist mir
eigentlich egal. Hauptsache ich bekomme die ICs dazu kostenlos.
>Der Maxim-Sampledienst über Internet ist wirklich super.
Kann ich nur bestätigen. Und dann bekommt man auch noch alles in so
schönen Plastikboxen für die Aufbewahrung. Aber auch bei National gibts
keine Probleme.
>Für Atmels ruf mal bei MSC oder Ineltek an.
Auf Emails habe beide nicht geantwortet. Meinst du die geben dann einem
Schüler, der nicht mal ein bestimmtes Projekt vorweisen kann - einfach
so zu basteln - die doch nicht ganz billigen µCs?
Hermann
OK, ich hab mir jetzt mal den DS89C420 bestellt und bei Atmel bzw.
Distris werde ich auch mal nach Chips fragen. Jetzt würde es mich noch
interessieren, wie ich den MAX232 genau anschließen müsste. Am liebsten
wären mir die Pinbezeichnungen, damit ich das ganze problemlos auf
andere Pinbelegungen an anderen Chips übertragen kann.
Hermann
Das Datenblatt hab ich schon, aber da war mir noch nicht alles klar:
Ich muss also nur Pin 11(232) mit Pin 11(TDX0) und Pin 12(232) mit Pin
10(RDX0) verbinden?
Dann noch VCC+Pin31(EA) mit +5V und VSS u. RST mit GND verbinden, an
XTAL1 den OSZI hängen und fertig?
Und zum Programmieren einfach RST an +5V und EA und PSEN an GND? Der
Strich über EA und PSEN heißt doch dass die invertierend sind. Und im
Datenblatt steht:
>When the DS89C420 is powered up and has entered its user operating >mode, the ROM
loader mode can be invoked at any time by forcing
>RST = 1, EA = 0, and PSEN = 0.
Bedeutet sowas dann das ich da am Eingang eine logische Null hintun
muss, oder ist das nach dem Invertieren gemeint, so das in Echt eine
1(5V) anliegen muss?
Ansonsten glaube ich habe jetzt alles verstanden. Nochmal Danke für die
vielen hilfreichen Antworten.
Hermann
/EA = +5V
RESET mit einem 1µF Kondensator an +5V und mir 10k an GND. Am besten
noch ein Taster.
/PSEN ist normalerweise nur ein Ausgang. Der Strich ist unrelevant.
Einfach an GND zum Programmieren anschließen.
Mit RS232 guck doch einfach mal ins Tutorial, hilft vielleicht.
Das ist eine schließlich eine Standartbeschaltung
Mfg Sascha
Das mit dem MAX232 ist mir schon klar, wie ich den schalten muss. Nur es
gibt 2 serielle Ports und ich wusste nicht genau ob an den ersten oder
an den 2ten. Hab's jetzt doch noch im Datenblatt gefunden, dass es der
1te ist.
Ich hab gemeint, im Datenblatt gelesen zu haben, dass man keinen
Kondensator für den Resetport braucht. Ich finde die Stelle aber im
Moment nicht. Kann es sonst zu Problemen kommen?
>/EA = +5V
Immer oder nur beim Programmieren?
Hermann
Den Widerstand kannst du dir sparen. Der ist intern. Den Kondensator
brauchst du noch.
/EA ist für die Auswahl internen oder externen Speicher. Da du den
internen Speicher nutzt (Flash) also /EA=+5V
Mfg Sascha
Hallo...
habe inzwischen einige Erfahrungen mit dem 80C390 gemacht.
Ich habe jetzt das Problem, dass ich noch einige mehr haben sollte...
Könnt ihr mir vielleicht einen Versand nennen, der die ICs verkauft
(Reichelt, Simons, bürklin, Conrad... schon probiert)
Vielleicht solltest Dir erst mal überlegen, was du mit dem Controller
machen willst, der 80C390 ist speziell für CAN-Appikationen/
Kommunikationsaufgaben konzipiert. Ich selbst habe den uC mit der
Entwicklungsumgebung von Tasking in ANSI-C programmiert. Die
DEMO-Version ist aber auf 2kB Code begrenzt.
Man sollte sich auch immer vor Augen halten, wie viel 4kB RAM in der
Embedded Welt sind ! Einen externen RAM kann man vorsehen, muss aber
nicht sofort eingebaut werden. Einen guten Einstieg bieten die Bücher
von Elektor zum Thema 8051. Die Schaltungen können mit wenigen
Änderungen übernommen werden.
Abschließend wollte ich noch sagen, dass der 80C390 schon so ein paar
Tücken hat und deshalb nicht für den Einstieg geeignet ist. Ich würde
auf keinen Fall "blind" irgend ein Controller auswählen um dann
verwundert Features zu suchen, die der willkrlich ausgewählte
Controller nicht hat. Deshalb:
Kaufe doch einen normalen 8051, spiel damit rum
(dafür gibts auch Freeware C-Compiller (sdcc zum Beipiel))
Einen EEPROMER gibts günstig bei www.Batronix.de und
dann wenn die Aufgabe klar ist, kannst du auf die zahlreichen 8051
Derivate zurückgreifen...
MfG Thorsten
PS:
Ab 18 St. bei Segor. Allerdings geben die ne Lieferzeit von 10 Wochen
an. Kannst ja mal bei der deutschen MAXIM-Distribution nachfragen, ob
die dir auch kleinere Mengen rausschicken.
hallo
ich arbeite auch mit dem 89c420. als c-compiler benutze ich den von
wickenhäuser ist bis 8kb freeware oder so.
den downloader kannst du ja auch von maxim oder dallas downloaden.
im anhang mal ein schema meiner prozessorplatine.
vieleicht hilft dir das ja weiter.
ist auf jeden fall ein guter prozessor (finde ich) und wenn nötig auch
schnell bis 33Mips RISC struktur.
gruss tobias