Forum: Mikrocontroller und Digitale Elektronik Low Cost µC mit Double UART und c51 core


von DoubleUart (Gast)


Lesenswert?

Hallo,

brauche für eine Application zwei UARTs.

Wir haben den 87C51U2 noch am Lager, soll aber nicht mehr verwendet 
werden.

Leider sind unsere Softies noch auf dem 80c51 Tripp, weil schon 
jahrelange Erfahrung.

Daher dachte ich zuerst an den P89LPC954 von NXP, könnte aber wegen nur 
16kB erasable flash etwas eng werden.

Im Post Beitrag "Microcontrollerwahl", war mal die Rede 
von MSP430xxx oder PIC18Fxx. Bei TI fand ich u. a. den LM3S628.

Wie gesagt alles schön und nich zu teuer (Schmerzgrenze, ca. 3Euro),
wenn nur nich die c51 Sache wäre.

Vielleicht gibt es doch noch einen µC mit c51 Core der 2UARTs Onboard 
hat und nicht zu teuer ist.
Hoffe mal es hat jemand schon mal so was in der Art eingesetzt und kann 
mir den Typ posten.

von Tauwetter (Gast)


Lesenswert?

>brauche für eine Application zwei UARTs.

Man kann auch eine 2. UART per Software realisieren. Es kommt auf die 
Datenrate und sonstige Forderungen an. 9600Bd sollten kein Problem sein.

von Hans M. (bauzi)


Lesenswert?


von DoubleUart (Gast)


Lesenswert?

@Tauwetter
ahja, hört sich interessant an, zweite ser. wäre RS485 für PELCO.
Habe noch keine gescheite Spec bzgl. Baudrate gefunden, soviel ich weiß 
9600bps, mein Kollege sprach aber mal davon dass sie dass in einer 
älteren App mit 56kbps betrieben haben

von DoubleUart (Gast)


Lesenswert?

@Hans Meier
cooler Link, muss mich jetzt mal durchquälen, sieht aber nich schlecht 
aus

von Peter D. (peda)


Lesenswert?

Viele 8051 haben ein PCA, damit kann man prima ne SW-UART proggen.
Welche Baudrate brauchst Du denn?


Peter

von Schrotty (Gast)


Lesenswert?

Und die passende Bekleidung für eure Softies gibt´s hier :-)
http://www.stylefruits.de/roecke

von Frankman (Gast)


Lesenswert?

Ich selbst hab mit 8051 angefangen( MSC1210), bin jetzt aber zu PIC für 
industrielle Designs von Microchip übergewechselt. Wenn man sich 
"Sofwerker" eh mit Programmierung auskennt, sollte es nicht das einzige 
Argument sein.
Ein Kollege von mir Programmiert seit Jahren PIC und hat innerhalb von 
drei Tagen einen 8051 Kern programmiert. Also kann es nicht so schwer 
sein, auf eine andere Prozessorfamilie umzusteigen.

( Meine Meinung ist, wenn man erst mal mit dem 8051 klar kommt, wir man 
das eine oder andere bei Microchip mit Wohlgefallen zur Kenntnis nehmen 
und schätzen lernen.)

Für ein Industriedesign würde ich immer den Prozessor einsetzen, der für 
die Anwendung am besten passt, und nicht den, den ich "schon immer" 
verwendet habe.
Die Entwicklungsumgebung von Microchip ist übrigens kostenlos ( Bis auf 
einen Programmer für 24€ oder eine ICD2 - also Debugger/Programmer - für 
200€)

von Schrotty (Gast)


Lesenswert?

@Frankman:
Der Meinung bin ich auch.
Sollte ja nicht sooo schwer sein, sich mal auf einen neuen Core 
einzuarbeiten und somit auch ein wenig mit der Zeit zu gehen.
Früher oder später sind die Controller mit den uralt-Cores dann von 
Abkündigungen betroffen oder so schweineteuer geworden, dass man sie 
nicht mehr einsetzen kann. Und dann ist das Gejammer groß.

Wenn ein Softwareentwickler nicht den geistigen Sprung von einem 8051 
auf z.B. einen Cortex schafft, dann ist er meiner Meinung nach fehl am 
Platz oder einfach nur stinkfaul!

Und da hilft meiner Meinung nach nicht, sich zu verbiegen, um es diesen 
Herrschaften so bequem wie möglich zu machen, sondern mal ein gezielter 
Tritt in den Arsch, dass sie sich bewegen :-)

von Ralf (Gast)


Lesenswert?

Von SiLabs gibts ebenfalls 8051-Derivate, manche mit zwei 
Hardware-UARTs, die meistens laufen standardmäßig mit etwa 24,5MHz 
(interner Oscillator 0,5-2%), einige Derivate können bis zu 100Mhz.
Und viel weitere Peripherie vorhanden (SPI, ADC, DAC, I2C, PCA, USB), je 
nach Derivat eben. Falls die Jungs also auf dem 8051-Kern beharren (der 
keineswegs schlecht ist), wäre das eine Anlaufstelle...

Ralf

von Peter D. (peda)


Lesenswert?

Frankman schrieb:
> Ein Kollege von mir Programmiert seit Jahren PIC und hat innerhalb von
> drei Tagen einen 8051 Kern programmiert. Also kann es nicht so schwer
> sein, auf eine andere Prozessorfamilie umzusteigen.

Kann ich mir gut vorstellen. Wer sogar mit dem umständlichen PIC 
klarkommt, schafft spielend auch andere MCs.

Ich hatte mal den umgekehrten Weg versucht, vom 8051 zum PIC12, hab aber 
schnell aufgeben müssen. Wenn man erstmal 8051 gewohnt ist, ist einem 
der PIC viel zu kompliziert.

Heutzutage kann man die PICs aber auch in C programmieren, da nimmt 
einem dann der Compiler viele Schrecklichkeiten (Banking, RETLW, ..) ab.

Aber manchmal möchte man doch mal im Assemblerlisting nachsehen, was der 
Compiler so macht. Bei AVR und 8051 gelingt das recht gut, PIC ist 
dagegen starker Tobak. Deshalb nehme ich auch unter C keine PICs.


Peter

von Peter D. (peda)


Lesenswert?

Schrotty schrieb:
> Wenn ein Softwareentwickler nicht den geistigen Sprung von einem 8051
> auf z.B. einen Cortex schafft, dann ist er meiner Meinung nach fehl am
> Platz oder einfach nur stinkfaul!

Um z.B. ein paar Relais zu schalten, muß man nicht gleich nen Cortex 
nehmen, nur weil der hip ist.
Man braucht für jede CPU+Toolchain erstmal Einarbeitungszeit, aber das 
Produkt sollte möglichst schon gestern fertig sein.
Auch laufen Steuerungen oft noch in 5V-Technik, weil die auf lange 
Produktzyklen ausgelegt sind und daher noch mit alten Komponenten 
zusammenarbeiten müssen.

Beim 8051 muß man sich auch keine Sorgen wegen Abkündigungen machen, da 
kommen jedes Jahr neue Typen raus.


Peter

von Schrotty (Gast)


Lesenswert?

>Um z.B. ein paar Relais zu schalten, muß man nicht gleich nen Cortex
>nehmen, nur weil der hip ist.
Richtig, aber dafür braucht man auch selten zwei UARTs

Ausserdem schrieb ich ja bewusst "z.B."
es kann natürlich auch jeder andere Core sein.

Aber wenn der Cortex 1,50 kostet und der 8051 doppelt so viel, dann kann 
man schonmal drüber nachdenken.

Und wenn die Funktion so simpel ist, dann sollte es auch kein Ding sein, 
es auf jedem Core laufen zu lassen, OHNE sich vorher großartig mit dem 
Core auseinandergesetzt zu haben. Das "richtet" dann schon der Compiler. 
Okay, man muss in´s Datenblatt schauen, um zu wissen, wie man einen 
IO-Port setzt. Aber das muss ich auch, wenn ich unterschiedliche 8051 
Derivate verschiedener Hersteller verwende.
Ausserdem gibt es für jeden "modernen" Prozessor mittlerweile 
supersimple Toolchains mit ausführlichen Beispielen, wo man innerhalb 
einer Stunde imstande sein sollte, eine LED blinken zu lassen.

Was lange Produktlebeszyklen angeht, da kann ich auch ein Lied von 
singen, aber gerade DARUM rate ich, bei einer Neuentwicklung auf moderne 
Technologien zu setzen, da diese erst am Beginn ihrer "Lebensdauer" sind 
und nicht schon zum dritten mal reanimiert wurden. <-bissle übertrieben, 
ich weiss :-)

von Schrotty (Gast)


Lesenswert?

Nachtrag:

Die Zeit, in der DoubleUart verweifelt nach einem 8051-Derivat sucht, 
welches seinem SW-Entwickler "genehm" ist, könnte sinnvoll dazu 
verwendet werden, die Toolchain für einen anderen Prozessor in Betrieb 
zu nehmen und schonmal den einen oder anderen Blick in´s DB zu werfen.

von doubleuart (Gast)


Lesenswert?

Hallo,

um die Diskussion nochmal auf zugreifen:

Ich habe mir noch zwei Optionen überlegt, da die Stückzahl nun als eher 
gering eingeschätzt wird:
1.) Verwendung des 87C51U2 und Speichererweiterung, habt ihr mir dazu 
einen Link?

2.) einen µC als Master einsetzen, der die Hauptkommunikation über die 
erste RS485-Schnittstelle bewätigt und am System hängt, der zweite µC 
arbeitet als Slave und bedient lediglich die PELCO-Schnittstelle

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.