Forum: Mikrocontroller und Digitale Elektronik DS80C390


von Hermann Kraus (Gast)


Lesenswert?

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

von sascha (Gast)


Lesenswert?

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

von George Bush (Gast)


Lesenswert?

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.

von Hermann Kraus (Gast)


Lesenswert?

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

von Hermann Kraus (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Dass der Keil kleineren Code als ein AVR-Compiler produziert liegt wohl 
weniger am Compiler als an der Prozessorarchitektur.

Andreas

von sascha (Gast)


Lesenswert?

Der 80C390 hat 4kb Ram und das ist kein! Programmspeicher. Den mußt du 
extern beschalten. z.b Eprom oder Flash.

von Hermann Kraus (Gast)


Lesenswert?

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

von mikki merten (Gast)


Lesenswert?

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.

von sascha (Gast)


Lesenswert?

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

von sascha (Gast)


Lesenswert?

Ach so, ganz vergessen

78C256 = 32kb, nicht 265kb

Mfg sascha

von Sascha Weitkunat (Gast)


Lesenswert?

>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.

von Hermann Kraus (Gast)


Lesenswert?

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

von Hermann Kraus (Gast)


Lesenswert?

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

von sascha (Gast)


Lesenswert?

DS89C420 hat 16kB flash, ISP is schon ok

Nimm lieber nen T89C51 AC2 von Atmel ist auch ISP hat aber nen A/D. 
Kriegste auch als Samples

von Hermann Kraus (Gast)


Lesenswert?

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?

von sascha (Gast)


Lesenswert?

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

von Hermann Kraus (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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

von Hermann Kraus (Gast)


Lesenswert?

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

von sascha (Gast)


Lesenswert?

Atmel und Philips haben eine Programiersoftware für ihre Controller. Bei 
Atmel glaube ich heißt es Fips und bei Philips Winisp.

Mfg Sascha

von Hermann Kraus (Gast)


Lesenswert?

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

von Sascha Weitkunat (Gast)


Lesenswert?

Na mal bitte etwas das Hirn anstrengen...

Pinbelegung:
http://www.maxim.com/ und das Datenblatt suchen.

Anschluss:
http://www.mikrocontroller.net/tutorial6.htm bzw: 
http://images.google.de/images?hl=de&lr=&ie=UTF-8&oe=UTF-8&q=MAX232

Wenn man in England bekannte hat, bekommt man übrigens auch Samples von 
Atmel.

von Hermann Kraus (Gast)


Lesenswert?

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

von Hermann Kraus (Gast)


Lesenswert?

Könnte mir jetzt bitte mal einer sagen, ob das aus meinem letzten 
Posting jetzt stimmt, oder nicht?

Hermann

von sascha (Gast)


Lesenswert?

/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

von Hermann Kraus (Gast)


Lesenswert?

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

von sascha (Gast)


Lesenswert?

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

von Thorsten Weiss (Gast)


Lesenswert?

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:

von ERDI - Soft (Gast)


Lesenswert?

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.

von tobias hofer (Gast)


Angehängte Dateien:

Lesenswert?

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

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.