Forum: Projekte & Code R8751H Vintage Clock Basteltagebuch (War: [8051] XTAL1 und XTAL2)


von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Guten Morgen,

im anhängenden Bild ist die linke Seite aus einem Datenblatt as dem 
Jahre 1980 für einen R8751H. Dort kan man an XTAL2 einen Oszillator 
hängen.

Die rechte Seite ist aus einem relativ aktuellen AT89LS51. Bei dem kann 
man den Oszillator an XTAL1 hängen.

Da das neuere Derivat offensichtlich extrem um Abwärtskompatibilität 
bemüht ist (unterstützt sogar den uralt parallel Programmiermodus) frage 
ich mich, ob das ein Datenblatt-Fehler in der alten Version ist.

Das Pinning der PLCC44-Version ist 100% identisch.

Einen Quartz mit Cs würde ich nur ungerne benutzen, da die Taktfrequenz 
umschaltbar sein soll. Ich bastel gerade an einem Board, um die 
uralt-Teile zu programmieren (und das soll dann auch mit den neuen 
Derivaten gehen, weil Flash einfacher zu löschen ist als EPROM^^). Der 
alte R8751 benötigt zB 3-6MHz zum Programmieren, würde aber mit 12MHz 
laufen. Das Board soll quasi sowas wie ein Dev-Board sein, an das ich 
dann die Elektronik meiner eigentlichen Applikation dann gleich über 
Stiftleisten anstecken kann. Daher wäre es schön, wenn ich den Clock auf 
12MHz umschalten könnte.

Sicher gibt es hier jemanden, der das mit XTAL1 und XTAL2 ganz genau 
weiß :)

Viele Grüße,
Mampf

: Verschoben durch Moderator
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Aaaah, das hier noch in irgendwelchen Slides gefunden.

Da sind ja beide Varianten angegeben ... Ob die neuere Version dann die 
gleiche Beschaltungsvariante kann wie der alte R8751H?

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hmm, XTAL1 auf GND und XTAL2 das Clock-Signal würde funktionieren, wenn 
der interne Inverter ein Open-Drain Typ wäre. Weiß nicht, ist das bei 
Oszillatoren überhaupt möglich?

Also mein Verdacht ist, dass ich den alten R8751H genauso beschalten 
kann wie die neueren Derivate.

XTAL2 wäre der Inverter-Ausgang und den einfach nicht beschalten. An 
XTAL1 - dem Eingang - einfach den Oszillator dran.

Ich geh jetzt mal davon aus, dass das funktioniert :)

von hinz (Gast)


Lesenswert?

Mampf F. schrieb:
> Hmm, XTAL1 auf GND und XTAL2 das Clock-Signal würde funktionieren, wenn
> der interne Inverter ein Open-Drain Typ wäre.

Der ist kein OD, hat aber einen recht hohen Ausgangswiderstand.

von MaWin (Gast)


Lesenswert?

Mampf F. schrieb:
> Da sind ja beide Varianten angegeben

Beide funktionieren, die eine verwendet den internen Inverter mit, die 
andere umgeht ihn, Entscheidungsgründe standen dabei.

von Stefan F. (Gast)


Lesenswert?

Interessant, neulich hatten wir etwas ganz ähnliches über AVR 
Mikrocontroller diskutiert. Da hing es von der Frequenz ab, an welchem 
der beiden Pins man einspeisen soll. In meinem Experiment funktionierte 
es jedoch an beiden Pins.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Es hängt von der Technologie des Chips ab. Die HMOS Variante wird 
tatsächlich an XTAL2 extern eingespeist, man beachte den Pullup, wenn 
man einen TTL Ausgang vorliegen hat.
Die CHMOS Variante wird an XTAL 1 getaktet.
So stehts auch im Microcontroller Handbook von Intel (Punkt 7.13 in 
meiner 85er Ausgabe). HMOS ist heute so gut wie ausgestorben.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Es hängt von der Technologie des Chips ab. Die HMOS Variante wird
> tatsächlich an XTAL2 extern eingespeist, man beachte den Pullup, wenn
> man einen TTL Ausgang vorliegen hat.
> Die CHMOS Variante wird an XTAL 1 getaktet.
> So stehts auch im Microcontroller Handbook von Intel (Punkt 7.13 in
> meiner 85er Ausgabe). HMOS ist heute so gut wie ausgestorben.

Oh, sehr guter Tipp, vielen Dank!

Eine Frage, haben HMOS-ICs Schutzschaltungen an den Pins, die sie vor 
ESD schützen? Oder neigen sie, kaputt zu gehen, wenn man sie nur schief 
anschaut? Also insbesondere dieses uralt-Ding, das ich bald auf meinem 
Schreibtisch liegen hab.

von hinz (Gast)


Lesenswert?

Mampf F. schrieb:
> haben HMOS-ICs Schutzschaltungen an den Pins, die sie vor
> ESD schützen?

Ja.

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Oh, das ist ja echt interessant ... Wusste, dass es vor CMOS auch noch 
was gab(^^), aber die Unterschiede sind hochinteressant.

Schwer vorstellbar, dass so ein 8751er max 250mA geschluckt haben soll.

Da ist auch nochmal explizit der Unterschied zwischen XTAL1+2 HMOS/CHMOS 
erklärt.

Ok, dann muss ich das wohl doch umschaltbar / umjumperbar machen.

*edit*: Link, falls es jemanden interessiert.

"MCS® 51 Microcontroller Migration- HMOS TO CHMOS"
http://datasheets.chipdb.org/Intel/MCS51/TECHNOTE/2432.HTM

: Bearbeitet durch User
von Günni (Gast)


Lesenswert?

Damit der interne Inverter mit einem extern angeschlossenen Quarz 
arbeiten kann, muss der XTAL1-Eingang die Schwelle zwischen 0 und 1 (wie 
bei Standard-CMOS-Gattern üblich) in der Mitte der Versorgungsspannung 
haben. Wenn man da ein TTL-Gatter anschließt ist nicht sicher, dass der 
High-Pegel erkannt wird. Deshalb kann man dort nur ein CMOS-Signal 
einspeisen. Legt man den XTAL1 Pin auf LOW, so geht XTAL2 auf HIGH. Der 
Ausgang leifert aber nach HIGH weniger Strom und kann (und darf) extern 
durch ein TTL-Gatter nach LOW gezogen werden.

Beitrag #6485599 wurde vom Autor gelöscht.
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Vielen Dank für euren Input!

Ich denke, es sind keine Fragen mehr offen und ich konnte mein 
Dev-Board, das dann die neuen Derivate und das uralt-Teil programmieren 
kann, fertigstellen (Bild anbei) :)

Das ganze läuft auf kleiner Flamme nebenher - wahrscheinlich komme ich 
dieses Jahr nicht mehr dazu, das zu bauen und zu testen.

Als Sockel benutze ich dann einen der Yamaichi Test-Sockel, die man zum 
Glück für nicht unendlich viel Geld gebraucht in der Bucht bekommt.

Ach, falls das jemand interessiert, werfe ich später dann alles in ein 
Git-Repo.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mampf F. schrieb:
> Schwer vorstellbar, dass so ein 8751er max 250mA geschluckt haben soll.

Die wurden warm im Betrieb.
Wenn es irgendwie geht, würde ich Quarze und Jumperblock so nahe wie 
möglich an dem MC bringen. Ja, ich kann mir denken, das unten die ganzen 
Portleitungen sind, aber das sind immerhin 12MHz Takt.
Der Rest der Platine ist dein Programmer?

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Mampf F. schrieb:
>> Schwer vorstellbar, dass so ein 8751er max 250mA geschluckt haben soll.
>
> Die wurden gut warm im Betrieb.

Hoffe, die kann man problemlos dann im Sockel betreiben.

Mein Plan ist aber eh, dass ich erstmal nur einen AT89C51-RC benutze. 
Der hat Flash und damit ist es dann sicherlich angenehmer als mit der 
EPROM-Version. Programmierspannung 12,5V und 21V werden aber dann beide 
unterstützt.

> Wenn es irgendwie geht, würde ich Quarze und Jumperblock so nahe wie
> möglich an dem MC bringen. Ja, ich kann mir denken, das unten die ganzen
> Portleitungen sind, aber das sind immerhin 12MHz Takt.

Und leider ist der Null-Kraft-Sockel so groß. Hmm, ich könnte die 
Oszillatoren auf die Rückseite packen, aber das mit dem Jumper ist dann 
auch doof.

> Der Rest der Platine ist dein Programmer?

Ja genau. STM32F302 für USB. Hängen drei 74HCT595 dran (für Address- und 
Steuerleitungen, HCT weil die mit 3,3V angesteuert werden) und ein 
74LVX4245 (für die Daten). Im oberen Teil der linken Seite gibts noch 
einen 24V-Input für die Programmierspannung.

Hatte mich für einen TLV71 (R2R) + Transistor-Puffer entschieden und die 
Spannung für den OP gibt der STM32 dann per internen DAC vor. Der OP 
verstärkt das dann x8 - dann sollte man schön zwischen 0V und fast 24V 
Vpp einstellen können.

Der Transistor-Puffer wird sowas 1W verheizen, wenn das EPROM 
programmiert wird (30mA bei 21,5V VPP mit 24V Input), aber da hab ich 
eine größere Kühlfläche dafür.

Bei 12,5V VPP (beim AT89C51-RC) benötigt man deutlich weniger Strom, 
weshalb ich denke, dass es da auch keine Probleme geben sollte.

von Thomas Z. (usbman)


Lesenswert?

Mampf F. schrieb:
> Als Sockel benutze ich dann einen der Yamaichi Test-Sockel

Wenn ich das richtig in Erinnerung habe weicht das Footprint der 
Yamaichi (Klapp)Sockel vom PLCC Sockel deutlich ab. Die Platine sieht 
irgendwie so aus als wäre ein normaler PLCC verbaut.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Mampf F. schrieb:
> dass es da auch keine Probleme geben sollte.

Deine Schieberegister (und der 245) müssen aber 5V am Ausgang schaffen, 
mit 3,3V wird das nichts, aber da hast du sicher dran gedacht.

von Peter D. (peda)


Lesenswert?

Mampf F. schrieb:
> Mein Plan ist aber eh, dass ich erstmal nur einen AT89C51-RC benutze.

Warum nicht den AT89LP51RD2-20PU?
Der hat einen internen Bootloader über die UART.

http://ww1.microchip.com/downloads/en/devicedoc/atmel-3714-microcontroller-8051-at89lp51rd2-ed2-id2-datasheet.pdf

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Mampf F. schrieb:
>> dass es da auch keine Probleme geben sollte.
>
> Deine Schieberegister (und der 245) müssen aber 5V am Ausgang schaffen,
> mit 3,3V wird das nichts, aber da hast du sicher dran gedacht.

Jupp :) Die 74HCTs-Schieberegister kann man bei 5V Betriebsspannung 
schön mit 3,3V ansteuern.

Und der 74LVX4245 ist ein extra Transceiver, der 3,3V auf der einen und 
5V auf der anderen Seite hat.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Warum nicht den AT89LP51RD2-20PU?
> Der hat einen internen Bootloader über die UART.

Ah interessant, der kann sogar die 5V noch. Hatte bei Digikey gekuckt 
und bin über die LS gestolpert, die 5V nicht mehr konnten.

Hmm - parallel-programming muss ich sowieso für den R8751H 
programmieren. Ich dachte mir, ich nutze parallel-programming dann auch 
gleich für die neueren Derivate, dann ist das vlt "bug-free" bis ich 
wirklich an einen R8751H muss :)

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Thomas Z. schrieb:
> Wenn ich das richtig in Erinnerung habe weicht das Footprint der
> Yamaichi (Klapp)Sockel vom PLCC Sockel deutlich ab. Die Platine sieht
> irgendwie so aus als wäre ein normaler PLCC verbaut.

Oh OMG ... da muss ich gleich mal ein Datenblatt suchen.

Vielen Dank für den Hinweis!

von Mampf F. (mampf) Benutzerseite



Lesenswert?

Ohje tatsächlich ... Was haben die sich nur dabei gedacht^^

Danke nochmal für den Hinweis, das hätte ich total übersehen.

von Thomas Z. (usbman)


Lesenswert?

Mampf F. schrieb:
> Danke nochmal für den Hinweis, das hätte ich total übersehen

Nun ja ich hab das auch schon falsch gemacht, deshalb ist mir das in 
Erinnerung geblieben.
Es gibt da noch die billigeren Push Testsockel da passt glaube ich das 
Footprint.

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

So - gefixt :)

Falls es wieder was neues dazu gibt, poste ich dann in diesem Thread :)

Wird aber noch bisserl dauern^^

von Peter D. (peda)


Lesenswert?

Mampf F. schrieb:
> Schwer vorstellbar, dass so ein 8751er max 250mA geschluckt haben soll.

Ja, die wurden unangenehm heiß, Strom sparen geht da nicht.
Auch durften die nicht unter 3,5MHz betrieben werden, da intern DRAM.

Mit EPROM würde ich nichts mehr machen, interner Flash über UART ist 
viel bequemer.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Mampf F. schrieb:
>> Schwer vorstellbar, dass so ein 8751er max 250mA geschluckt haben soll.
>
> Ja, die wurden unangenehm heiß, Strom sparen geht da nicht.
> Auch durften die nicht unter 3,5MHz betrieben werden, da intern DRAM.
>
> Mit EPROM würde ich nichts mehr machen, interner Flash über UART ist
> viel bequemer.

Peter, du hast natürlich recht - aber manchmal hat man so verrückte 
Einfälle, die einen nicht mehr loslassen. Zum Beispiel hab ich mich in 
diese R8751H-Dinger verliebt, weil ich mich nicht erinnern kann, jemals 
einen 8051er in einem LCC64 in Keramik Gold gesehen zu haben mit einem 
schönen EPROM Sichtfenster.

Hab mir drei in der Bucht geschossen und möchte sie mit einer 
uralt-8051-Uhr-Firmware verheiraten. Statt einem Uhrenmodul würde ich 
eine I2C-RTC ebenfalls im Keramik-Package mit hübschem Sichtfensterchen 
auf die Gabel verbauen.

Bin mal gespannt, ob das was wird :)

von Soul E. (Gast)


Lesenswert?

LCC oder PLCC? Weil für LCC (ohne die Krallenpins) Fassungen auftreiben 
dürfte nochmal eine ganze Nummer schwieriger werden.

Für PLCC gibt es neben den normalen Fassungen welche mit 
Kugelschreibermechanik. Wenn man auf den Käfer draufdrückt kommt der 
nach oben raus. Die passen auf das normale Pinraster (im Gegensatz zu 
Yamaichi IC41).

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Soul E. schrieb:
> LCC oder PLCC? Weil für LCC (ohne die Krallenpins) Fassungen
> auftreiben
> dürfte nochmal eine ganze Nummer schwieriger werden.
>
> Für PLCC gibt es neben den normalen Fassungen welche mit
> Kugelschreibermechanik. Wenn man auf den Käfer draufdrückt kommt der
> nach oben raus. Die passen auf das normale Pinraster (im Gegensatz zu
> Yamaichi IC41).

Das ist ein LCC44 :)

Hmm, dieser Yamaichi IC51 (PDF ist weiter oben verlinkt) sollte 
eigentlich passen, weil der IC51 die Pads des ICs von unten her 
kontaktiert und PLCC44 und LCC44 ansonsten von den Maßen her ziemlich 
gut übereinstimmen.

Ich hoffe zumindest, dass mir da kein Fehler unterlaufen ist :)

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Soweit ich micht erinnere, waren bei den EPROM-Typen die Lockbits nicht 
UV-empfindlich. Will man die also wieder löschen können, darf man die 
Lockbits nicht setzen! Ansonsten wird zwar der EPROM gelöscht, aber das 
Programmieren nicht wieder erlaubt.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Soweit ich micht erinnere, waren bei den EPROM-Typen die Lockbits
> nicht
> UV-empfindlich. Will man die also wieder löschen können, darf man die
> Lockbits nicht setzen! Ansonsten wird zwar der EPROM gelöscht, aber das
> Programmieren nicht wieder erlaubt.

Uuuh, danke für die Info!

Der Verkäufer aus der Bucht meinte, sie wären quasi new-old-stock. Sonst 
wäre das echt blöd gewesen, wenn man vlt welche mit Lockbits bekommen 
hätte und man die nicht löschen könnte.

Ich hatte auch schon darüber nachgedacht und nahm an, man würde die per 
UV auch einfach löschen können.

Danke!

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Im Produktkatalog von Yamaichi gab es auch noch einen Sockel aus der 
IC53-Reihe, der speziell für LCCs ist.

Ich hab jetzt mal nachgefragt, ob die IC51-Version für PLCC und LCC 
funktioniert. Die IC53-Version geht vermutlich wirklich nur für LCC.

Bin mal gespannt :)

@Mod: Könnte man diesen Thread umbenennen in "R8751H Vintage Clock 
Basteltagebuch" und ihn in das richtig Forum (Projekt & Code?) 
verschieben?

Ich werde hier wohl einfach weiter-spammen, was mit meinem Projekt zu 
tun hat.

Da dürfte noch viel kommen^^

Danke!

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Passend zum R8751H in Gold-Keramik und dem RTC-IC in Keramik mit 
Sichtfensterchen hab ich hübsche Anzeigen gefunden, die da gut dazu 
passen würden (siehe Bild).

Ich glaub ich geh beim meinem Vintage-Uhren-Projekt so in die Richtung 
Keramkik-Gold ... Mal schauen, was ich noch so hübsches zum Verbauen 
finde.

von Peter D. (peda)


Lesenswert?

Ohne eine rote Kontrastfolie darüber, wirst Du an den Anzeigen nicht 
viel Freude haben.

Hast Du dazu ein Datenblatt?
Ich vermute mal, da sind 4 7Bit-Latches mit drauf, d.h. man muß ein 
5-Spalten Multiplex machen.

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Ohne eine rote Kontrastfolie darüber, wirst Du an den Anzeigen
> nicht
> viel Freude haben.

Die bezahlbaren Varianten sind leider alle gelb xD

> Hast Du dazu ein Datenblatt?

Hab ich angehängt :)

> Ich vermute mal, da sind 4 7Bit-Latches mit drauf, d.h. man muß ein
> 5-Spalten Multiplex machen.

Hmm ja, schon - also man schiebt die 28 bits für jeweile eine Spalte 
jeder der drei Ziffern in ein Schieberegister und multiplext über 5 
Column-Pins auf die jeweiligen Spalten.

Interessant :)

von Mampf F. (mampf) Benutzerseite



Lesenswert?

Kleines Update - hab jetzt doch ein bisserl Gehirnschmalz investiert und 
eine sauberere Clock-Lösung ohne Jumper gebaut.

Herzstück ist der I2C Clock-Generator Si5351A, der man programmieren 
kann.

Am Ausgang ein single NOR-Gate und ein single Tri-State Buffer.

Der Clock-Generator kann nur bis 3,3V - aber die AHCT (advanced HCT; 
CMOS mit TTL-Eingängen) funktionieren mit 5V und haben keine Probleme 
mit 3,3V Pegel an den Eingängen.

Wenn mich nicht alles täuscht, müsste die Schaltung zur Wahrheitstabelle 
passen^^
1
+===+===+====+====+====+
2
| NMOS | CLK | X1 | X2 |
3
+======+=====+====+====+======
4
| 0    | 0   | 1  | Z  |
5
+======+=====+====+====+ CMOS
6
| 0    | 1   | 0  | Z  |
7
+======+=====+====+====+======
8
| 1    | 0   | 0  | 0  |
9
+======+=====+====+====+ NMOS
10
| 1    | 1   | 0  | 1  |
11
+======+=====+====+====+======

In Prosa:

Wenn NMOS ist '0', dann liegt der Takt invertiert auf XTAL1. XTAL2 ist 
hochohmig (Konfiguration für CMOS).

Wenn NMOS ist '1', dann ist XTAL1 auf '0' und der Takt auf XTAL2.

Mal schauen^^

So nebenbei - die hübschen Displays von weiter oben hat mir jemand vor 
der Nase weggeschnappt :(

Hab jetzt andere gefunden, die auch nett aussehen.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Mampf F. schrieb:
> So nebenbei - die hübschen Displays von weiter oben hat mir jemand vor
> der Nase weggeschnappt :(

Ich hab mal mit den VQC10 gebastelt, die sind ähnlich, aber mit 
Kontrastfolie.
Die Ablesbarkeit ist nicht so dolle, da die LEDs punktförmig sind. Auch 
sind die Anzeigen recht stromhungrig, da TTL.
Man kann sie auch leicht zeschießen, wenn der Multiplextakt ausfällt.

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Mampf F. schrieb:
>> So nebenbei - die hübschen Displays von weiter oben hat mir jemand vor
>> der Nase weggeschnappt :(
>
> Ich hab mal mit den VQC10 gebastelt, die sind ähnlich, aber mit
> Kontrastfolie.
> Die Ablesbarkeit ist nicht so dolle, da die LEDs punktförmig sind. Auch
> sind die Anzeigen recht stromhungrig, da TTL.
> Man kann sie auch leicht zeschießen, wenn der Multiplextakt ausfällt.

Ui, hübsch - ich hätte auch gerne Dot-Matrix anzeugen **heul**^^

Hab mich dann für die HDSP 0960 entschieden - hmm 10 Stück davon.

Da wird man inkl Versand und Zoll sowas 100eur los :/

Was mir aufgefallen ist, Mouser und Digikey haben von den HDSP-Anzeigen 
in Keramik noch viele lieferbar. Die werden für Militäranwendungen wohl 
noch hergestellt.

Allerdings sind Mouser und Digikey Preise für die Anzeigen schon viel zu 
hoch.

Bei mir gibts jetzt also wieder nur 7-Segment ... Aber hübsch sind die 
schon im Keramik-look - und die haben einen internen Dekoder. Spart man 
sich das Multiplexing  ¯\_(ツ)_/¯

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Auch
> sind die Anzeigen recht stromhungrig, da TTL.

Ohje, die HDSP-0960 Dinger auch ... 700mW bis 1W pro Anzeige.

Wenn ich da 8 verbauen möchte, dann kann ich das schon kaum noch mit 
meinem Gewissen vereinbaren, da eine Uhr darauf laufen zu lassen ;-)

Hmm, sind immerhin 20 LEDs ... Wenn jede mit 8mA betrieben wird, sind 
das im Worst-Case 160mA.

Wahrscheinlich wäre es ganz gut, wenn ich die dann per Software dimmen 
würde - bis dahin dauert es aber noch ne Zeit^^

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hatte schon Bedenken, der der 8051er im LCC44 Package würde nicht gut 
herauskommen lach ...

Sieht verglichen zu den Anzeigen fast schon monströs aus. xD

Die LEDs zwischen den Zweiergruppen sollen so ein Minuten / 
Stundentrenner sein.

Jeweils 3mm-LEDs in der "Dominanten Wellenlänge" von 573nm.

Kommen mir etwas arg groß vor ... Aber das wird eh nur mal zum Spielen 
und das richtige Design folgt dann (viel) später.

: Bearbeitet durch User
von Bernd (Gast)


Lesenswert?

Mampf F. schrieb:
> zu den Anzeigen
Mit solchen LED-Anzeigen bin ich auch schon auf die Nase gefallen: Wenn 
man die zu dicht setzt (Wert aus Datenblatt), bekommt man die u.U. nur 
noch mit einer Wölbung nach oben montiert.
Also: Entweder erst die Anzeigen besorgen und gaaanz genau messen (wird 
genauer wenn man mehrere nebeneinander legt)
Oder: einfach ein paar Zehntel Luft lassen...

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Bernd schrieb:
> Mampf F. schrieb:
>> zu den Anzeigen
> Mit solchen LED-Anzeigen bin ich auch schon auf die Nase gefallen: Wenn
> man die zu dicht setzt (Wert aus Datenblatt), bekommt man die u.U. nur
> noch mit einer Wölbung nach oben montiert.
> Also: Entweder erst die Anzeigen besorgen und gaaanz genau messen (wird
> genauer wenn man mehrere nebeneinander legt)
> Oder: einfach ein paar Zehntel Luft lassen...

Oh, guter Tipp! Danke!

Hätte ich nicht dran gedacht :/

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Kleines Update ..

Was dazu gekommen ist:

- MC34063 als 5V -> 24V Boost (irre, was das uralt Ding für riesige 
Induktivitäten benötigt! Hätte ich vlt was schnuckeliges mit 1MHz+ 
Schaltfrequenz verwenden sollen - naja egal^^)

- Jumperbar auf 5V USB oder externe 5V Versorgung

- Bus-Trenner (siehe Thread [1]). Man kann alle 4 Ports und die 
8051er-typischen Steuersignale während des parallelprogrammierens vom 
Application-Board trennen. Das ist dann quasi wie ein 
in-circuit-programming Mode, bei dem man den µC in der Schaltung 
programmieren kann. Nur mit dem damaligen 21V parallel-Programmiermodus.

- IC51 Yamaichi-Sockel auf 44Pin Steckerleisten geändert. In China hab 
ich mir so einen Programmiersockel bestellt, der unten DIP44 ist und 
oben den IC51 Null-Kraft-Sockel drauf hat.

Leider sind meine 8751er noch nicht da und ich konnte noch nicht testen, 
ob die problemlos vom IC51-Sockel kontaktiert werden (ich denke, das es 
gehen sollte).

Die sind aus Kalifornien nach Frankreich und dann nach Wien per UPS 
geschickt worden - erscheint mir spanisch, meine Lieferadresse ist 
München^^

Mal schauen ... Ist noch allerhand anderer Kram unterwegs. Das aber dann 
für nächste Posts :)


[1]: Beitrag "Modernerer CD4066 für digitale Busse?"

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite



Lesenswert?

So jetzt mal die Digikey-Liste fertig gemacht ... Materialpreis im 
Einzelstück bei 46eur zzgl Zoll. Mehr als eins wird es auch nie geben xD

Nebenbei hab ich am "Application-Test-Board" designed.

Gibt dann zwei Bestückungsvarianten - eine mit Bar-Graph-Anzeigen, mit 
denen ich die Ansteuerung auf dem Programmierboard testen kann und für 
die Firmware-Entwicklung des STM32s.

Und dann noch die andere Bestückung mit gesockelten HDSP-0960 Anzeigen 
(8 stück, evtl noch eine 6 Stück-Variante mit LEDs als Trenner), RTC, 
EEPROM, IR-Empfänger.

Vielleicht setz ich noch ein PLCC44-Sockel drauf und verwende einen 
STC8051, der einen seriellen Bootloader hat.

Dann glaub ich ist das alles möglichst flexibel und man kann auch alles 
testen.

Wenn es dann an das "real thing" geht, kommt noch hübsches Design ins 
Spiel - anbei ein Bild, das ich in einer JLCPCB-Gruppe auf Facebook 
gesehen hab.

Gefällt mir ganz gut - Leiterbahnen komplett im ENIG-Look zusammen mit 
den Vintage-Komponenten in Gold-Keramik könnte zum Schluss dann recht 
gut aussehen.

Bis dahin dauert es aber noch^^

*edit*: hmm gibt wohl noch keine Funktion, mit der man Bilder löschen 
und anschließend neu hinzufügen kann. Sorry, war keine Absicht, ein 1MB 
Bild hochzuladen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mampf F. schrieb:
> Nebenbei hab ich am "Application-Test-Board" designed.

Welchem Zweck dienen die nicht angeschlossenen Lötaugen innerhalb der 
weißen quadratischen Rahmen?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> Mampf F. schrieb:
>> Nebenbei hab ich am "Application-Test-Board" designed.
>
> Welchem Zweck dienen die nicht angeschlossenen Lötaugen innerhalb der
> weißen quadratischen Rahmen?

Das ist nur ein Bild, das ich auf Facebook gefunden habe und von 
irgendjemandem designed wurde. Der hatte Platinen echt nur als 
Design-Element genutzt, aber ohne Funktion oder so.

Mir gefiel die Idee, dass man die Leiterbahnen komplett frei von 
Lötstopplack lassen könnte.

Eventuell hat er oben auch gar keinen Lötstopplack und auf der Rückseite 
komplett flächig ... Da bin ich mir nicht so ganz sicher.

von Armin K. (-donald-) Benutzerseite


Lesenswert?

Mampf F. schrieb:
> Mir gefiel die Idee, dass man die Leiterbahnen komplett frei von
> Lötstopplack lassen könnte.
>
> Eventuell hat er oben auch gar keinen Lötstopplack und auf der Rückseite
> komplett flächig ... Da bin ich mir nicht so ganz sicher.

Das Kupfer wird wohl mit der Zeit anlaufen und dunkel werden...
Aber was macht man nicht alles...

Noch ein Tipp: Genau so große Vias wie auf dem Bild, und die füllen 
lassen. Wäre ein eyecatcher.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Armin K. schrieb:
> Mampf F. schrieb:
>> Mir gefiel die Idee, dass man die Leiterbahnen komplett frei von
>> Lötstopplack lassen könnte.
>>
>> Eventuell hat er oben auch gar keinen Lötstopplack und auf der Rückseite
>> komplett flächig ... Da bin ich mir nicht so ganz sicher.
>
> Das Kupfer wird wohl mit der Zeit anlaufen und dunkel werden...
> Aber was macht man nicht alles...

Mit ENIG-Beschichtung auch? :)

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

So, Inbetriebnahme- und Test-Board ist nun auch fertig designed.

Kommt mit 2 Layern aus :)

Diese Bestückungsvarianten gibt es:

- Bar-Graph Bestückung für die Inbetriebnahme des Dev-Boards
- Bestückung mit 6 Anzeigen und LED-Trennern
- Bestückung mit 8 Anzeigen
- Bestückung Standalone ohne Dev-Board mit Null-Kraft-Sockel (6 oder 8 
Anzeigen - je nachdem, was mir dann besser gefallen hat)

Wenn die letzte Bestückungsvariante mit dem R8751H funktioniert, dann 
werde ich mich auf Design konzentrieren :)

Irgendwann nächstes Jahr dann - denke ich hab an alles gedacht und kann 
jetzt mal langsam die PCBs machen lassen.

Ach - irgendwelche Taster wären wohl nicht falsch ... Bau ich noch 
drauf^^

: Bearbeitet durch User
von Armin K. (-donald-) Benutzerseite


Lesenswert?

Dein Prozessor taugt nix. Nimm einen anderen. Deiner kann nicht richtig 
die Uhrzeit anzeigen. 65 Sekunden. tststs... ;-)

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Armin K. schrieb:
> Dein Prozessor taugt nix. Nimm einen anderen. Deiner kann nicht
> richtig
> die Uhrzeit anzeigen. 65 Sekunden. tststs... ;-)

Ups ... 🙈

von Mampf F. (mampf) Benutzerseite



Lesenswert?

Kleiner Zwischenstand ...

Platinen sind geordert.

Ist noch einiger anderer Kram geordert, der aber noch nicht da ist. So 
wie die R8751H - die sind seit über einer Woche in Wien verschollen - 
laut Tracking.

Was aber gekommen ist, ist das Schmuckstück auf dem Bild.

Wow, wie billig kann man irgendetwas bauen - EPROM-Löschgerät für 15EUR. 
Das ist aber schon echt grenzwertig^^ Die Uhr zum Einstellen hat 
übrigens keinen Einfluss darauf ob die Lampe leuchtet oder nicht und 
diese miniwindige Schublade unten hat nicht mal einen Griff zum 
Aufmachen 😂

Intensität und Wellenlänge scheint aber (laut Angaben) zu passen und ich 
habe nicht vor, das Ding besonders oft zu benutzen - dann wäre etwas in 
meinem Entwicklungsflow schiefgelaufen^^

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mampf F. schrieb:
> Die Uhr zum Einstellen hat
> übrigens keinen Einfluss darauf ob die Lampe leuchtet oder nicht

Hä? Was macht die dann? Klingelt sie wie ein Küchen-Timer?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> Mampf F. schrieb:
>> Die Uhr zum Einstellen hat
>> übrigens keinen Einfluss darauf ob die Lampe leuchtet oder nicht
>
> Hä? Was macht die dann? Klingelt sie wie ein Küchen-Timer?

hmm, ich hab mal reingeschaut - sollte eigentlich schon eine Funktion 
haben, weil da Kabel weggehen und in dem Drehding ein Schalter verbaut 
ist.

Kann leider nicht kucken, ob das Ding die Lampe ausschalten würde, wenn 
die Uhr abläuft - die ist einfach bei 20min stehen geblieben.

Und auf 0 drehen per Drehding kann man nicht - man kann die Zeit nur 
größer machen.

Vermutlich war das Ding schon nicht auf 0, wie ich es bekommen habe und 
die Uhr schon stehengeblieben.

Sonderbares Ding ... Und der Gestank ist übel xD

*edit*: ah wenn man es einmal ganz aufzieht, kann man das Ding wieder 
auf 0 stellen und der Schalter schaltet sich ab - aber jetzt tickt 
nichts mehr. Vmtl ganz kaputt - egal^^

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Heute ist ein Mini-Board mit STC89C52RC gekommen*.

Ich hatte das Ding für erste Tests - wie IRMP und SDCC - schon in die 
Entwicklung eingeplant.

Aufpassen musste man besonders bei den Port-Pins. Das Ding ist nicht 
Pin-kompatibel zu allen anderen (könnte man sagen), nicht jeder Port hat 
jeden Pin am Package und dafür gibt es einen P4, bei dem 4 Pins noch 
weitere Interrupts können oder so.

Beim Layout des Test-Boards hatte ich da schon aufgepasst, nur Pins zu 
verwenden, die es dann auch bei dem STC89C52RC-Mini-Board gibt. Wäre 
zwar nicht tragisch, wenn man ein paar Port-Pins ändern müsste, wenn man 
die Software auf das Test-Board migriert aber so kann man sich das 
gleich ganz sparen.

Der STC89C52RC läuft auch auf 12 Taktzyklen pro Maschinenzyklus lässt 
sich per Software aber wohl auf 6 umstellen. Natürlich wird der auf 12 
gelassen, weil das Ziel ja ein R8751H ist.

Ein UART-tauglicher Quarz mit 11.0952MHz ist auch drauf.

Zu guter letzt sind die STCs nicht so edgy, dass es nicht bereits 
reverse engineered und Linux-taugliche Tools zum flashen geben würde.

Als erstes werde ich IRMP versuchen, aber mal schauen - aber ich geh 
fast davon aus, dass IRMP zu viele Instruktionen haben wird und man da 
noch etwas einfacheres braucht.

Die standard Sampling-Rate von 15kHz ist sicherlich too much und IRMP 
funktioniert ni

*: Es ist mittlerweile gar nicht so einfach noch Boards für 
8051er-Derivate in der Bucht zu finden. Entweder es gibt keine, sie sind 
zu teuer oder kommen aus China. Letzteres wollte ich mir sparen, da ich 
eigentlich die Wartezeit auf Platinen, Bauteile und andere Komponenten 
nutzen wollte, um schonmal mit einem 8051er zu starten.

: Bearbeitet durch User
von 2aggressive (Gast)


Lesenswert?

Mampf F. schrieb:
> Und auf 0 drehen per Drehding kann man nicht - man kann die Zeit nur
> größer machen.
Probiers mal mit etwas mehr sanfter Gewalt, bei einem meiner 
Standventilatoren musste ich deren Schaltuhr auf diese Weise mehrfach 
aufziehen, damit die endlich bis null runtergetickert haben... wirklich 
auf die Abschaltung verlassen (in dem Fall deines Quarzbrenners) 
solltest du dich aber besser nicht.

Mal sehen wie lange es dauert bis das edle Plastikgehäuse vom UV-Licht 
zerbröselt wird :D

von Mampf F. (mampf) Benutzerseite


Lesenswert?

2aggressive schrieb:
> musste ich deren Schaltuhr auf diese Weise mehrfach
> aufziehen, damit die endlich bis null runtergetickert haben...

probier ich aus xD

2aggressive schrieb:
> Mal sehen wie lange es dauert bis das edle Plastikgehäuse vom UV-Licht
> zerbröselt wird :D

loool - man beachte die Uhr, die man bis 60 Minuten einstellen kann und 
der Aufkleber auf dem Gerät, der davor warnt, das Ding länger als 15 
Minuten am Stück laufen zu lassen 😂

von Bernhard K. (bkom)


Lesenswert?

Mampf F. schrieb:
> *: Es ist mittlerweile gar nicht so einfach noch Boards für
> 8051er-Derivate in der Bucht zu finden. Entweder es gibt keine, sie sind
> zu teuer oder kommen aus China. Letzteres wollte ich mir sparen, da ich
> eigentlich die Wartezeit auf Platinen, Bauteile und andere Komponenten
> nutzen wollte, um schonmal mit einem 8051er zu starten.

Der Pollin hat grade ein 80C552 Board als Bastelware im Angebot:
https://www.pollin.de/p/platine-rehonik-mm03-rev-d1-bastelware-101360
Auf dem Bild ist alles "wichtige" gesockelt, und anscheinend ein 
externes (e?)eprom..

Laut Datenblatt ist das ein "80C51 derivative".
https://www.nxp.com/docs/en/data-sheet/80C552_83C552.pdf?

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Das ist ja erfreulich:
1
thomas@ryzen():~$ stcgal -p /dev/ttyUSB0 blinky.ihx 
2
Waiting for MCU, please cycle power: done
3
Protocol detected: stc89
4
Target model:
5
  Name: STC89C52RC/LE52R
6
  Magic: F002
7
  Code flash: 8.0 KB
8
  EEPROM flash: 6.0 KB
9
Target frequency: 11.030 MHz
10
Target BSL version: 6.6C
11
Target options:
12
  cpu_6t_enabled=False
13
  bsl_pindetect_enabled=False
14
  eeprom_erase_enabled=False
15
  clock_gain=high
16
  ale_enabled=True
17
  xram_enabled=True
18
  watchdog_por_enabled=False
19
Loading flash: 132 bytes (Intel HEX)
20
Switching to 19200 baud: checking setting testing done
21
Erasing 2 blocks: done
22
Writing flash: 640 Bytes [00:00, 2336.32 Bytes/s]                                                                                                                                                                                         
23
Setting options: done
24
Disconnected!

Und schon blinkt die LED ... ^^

Kleines blinky.c und mit dem sdcc kompiliert :)

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Aaaaalso zu IRMP gibt es eine Erkenntnis ... Das läuft im 10kHz 
Sampling-Modus schon nicht mehr.

SDCC generiert einen recht langen Epilog und Prolog für den Timer ISR 
und zusammen mit der IRMP-Funktion schafft man die 10kHz nicht mehr 
(9kHz geht noch, aber 10 sind glaub ich Minimum, damit IR-Codes gut 
erkannt werden).

Wenn man Epilog und Prolog weitestgehend auskommentiert, bekommt man die 
10kHz - aber dann würde man nahe 100% nur im ISR verbringen.

Glaub ich mach irgendwas cleveres über den /INT1 Interrupt.

Hatte ganz vergessen, wie langsam die 8051er sind ... 12 Taktzyklen pro 
Maschinenzyklus hatten 6502, Z80 usw nicht - 8051er kam 1980 auf dem 
Markt, Z80 schon 1976 ... Wieso hat Intel die mcs51 so verpfuscht? :)

von Peter D. (peda)


Lesenswert?

Mampf F. schrieb:
> Aaaaalso zu IRMP gibt es eine Erkenntnis ... Das läuft im 10kHz
> Sampling-Modus schon nicht mehr.

Hast Du mal nen Link zu dem Code, der zu langsam ist.

Mampf F. schrieb:
> Hatte ganz vergessen, wie langsam die 8051er sind

Hatte ich nicht schon den AT89LP51RD2 empfohlen?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Mampf F. schrieb:
>> Aaaaalso zu IRMP gibt es eine Erkenntnis ... Das läuft im 10kHz
>> Sampling-Modus schon nicht mehr.
>
> Hast Du mal nen Link zu dem Code, der zu langsam ist.

Hmm, ich befürchte, da kann man nicht viel machen - zumindest nicht mit 
IRMP. Wenn man 11,0952MHz Takt hat, hat man eine Zyklus-Zeit von knapp 
0,9246µs und damit sind es nur noch maximal 92 Befehle, die man in der 
ISR verwenden kann. Da einige Befehle auch mehr als einen Zyklus 
brauchen, sind es eigentlich noch weniger.

Das mit IRMP war auch nur ein Test - wäre convenient gewesen, aber es 
gibt sicherlich für 8051er dutzende andere Libraries, die RC5-Codes 
empfangen können und das cleverer über den Interrupt-Pin machen :)

*edit*: Ah da fällt mir doch was ein ... Man könnte über den externen 
Interrupt eine ISR aufrufen, die dann in einer Dauerschleife den 
IRMP-ISR im richtigen Takt aufruft, bis das Empfangene komplett ist. So 
käme man in den Genuss von IRMP und hätte kein Dauer-Sampling!

> Mampf F. schrieb:
>> Hatte ganz vergessen, wie langsam die 8051er sind
>
> Hatte ich nicht schon den AT89LP51RD2 empfohlen?

Ja schon, das Ziel ist aber ein Ur-8051er (R8751H), weshalb ich quasi 
auf 12 Taktzyklen pro Maschinenzyklus und maximal 12MHz (besser 
11,0592MHz wegen RS232) festgenagelt bin :)

Macht Spaß, mit solchen technischen Einschränkungen zurechtkommen zu 
müssen ... Gleich mal die Debugging-LED wieder ausgepackt xD

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Mampf F. schrieb:
> es
> gibt sicherlich für 8051er dutzende andere Libraries, die RC5-Codes
> empfangen können und das cleverer über den Interrupt-Pin machen :)

Hatte ich kürzlich gepostet. Ich mache es über den Timerinterrupt alle 
256 Zyklen.

Beitrag "Re: RC5-Code-Empfangsprogramm für 8051er in Assembler"

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Mampf F. schrieb:
>> es
>> gibt sicherlich für 8051er dutzende andere Libraries, die RC5-Codes
>> empfangen können und das cleverer über den Interrupt-Pin machen :)
>
> Hatte ich kürzlich gepostet. Ich mache es über den Timerinterrupt alle
> 256 Zyklen.
>
> Beitrag "Re: RC5-Code-Empfangsprogramm für 8051er in Assembler"

Ui, vielen Dank dafür! Dein ISR sieht schön kompakt aus :)

Das probiere ich gerne aus :)

Was hältst du von der Idee, nicht Dauer-zu-samplen sondern das Sampling 
erst zu starten, wenn man über einen externen Interrupt das Startsignal 
(erste negative Flanke) vom IR-Sensor bekommen hat und es dann wieder zu 
stoppen, wenn der empfangene code komplett ist?

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hmm, wahrscheinlich baue ich dann auch eine passende Vintage RC5 
Remote-Control für meine Vintage Uhr.

Die SAA3010 gibt es noch massig in der Bucht. Evtl besorge ich mir eine 
alte Fernbedienung, baue neue Elektronik (im 80er Jahre Stil - FR2 
einseitig ... Könnte ich spaßeshalber selbst ätzen^^ - müsste ich vmtl 
sogar, niemand macht wohl mehr FR2 🤔) rein und mach mit dem 
Frontplattendesigner eine passende Blende in Messing oder so.

Mal kucken ;-)

Ansonsten gibt's nicht viele News ... Teile sind immer noch zwischen USA 
/ China und Deutschland verschwunden. Die letzten Trackinginformationen 
zu den R8751H sind 3 Wochen alt ... Bestimmt liegen die bei irgendeinem 
Zoll.

Die beiden Platinen (den Programmer und das Testboard) sind unterwegs. 
Stencil und Teile sind geordert.

Bald kann der Spaß beginnen 🙈

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hmpf - mein IC51-LCC44-Adapter auf 44pol Stiftleiste wurde angeblich 
letzten Mittwoch geliefert. Laut Tracking ... Hab ich nichts gesehen 
davon.

Nochmal bestellen und wieder 3 Wochen warte? 🤔

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Tjo, die R8751H haben es nicht zu mir geschafft ...

> Arrived at USPS Regional Facility
> CHICAGO IL INTERNATIONAL DISTRIBUTION CENTER
> Your item arrived at our USPS facility in CHICAGO IL INTERNATIONAL DISTRIBUTION 
> CENTER on December 21, 2020 at 12:25 am. The item is currently in transit to
> the destination.

Aus was für einen Grund auch immer, sind sie zurück geschickt worden, 
nachdem der letzte Tracking-Status seit 1.Dez war, dass es in Wien 
liegt.

Hab ich schon ein unglaubliches Glück bisher ;-)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Vom Verkäufer der 8051er:
1
Because of the Chinese Communist Party Wuhan Virus - PlannedDemic (COVID-19) the entire US Postal System is messed up.
2
The US Postal System is experiencing major problems because of the CCP Virus, Presidential election, Holiday Mail Deliveries because everybody is shopping online, Weather delays, Lock downs, Curfews, Protests,Political corruption...etc.
3
- snip -
4
Thank you for your patience and understanding with this issue, every December especially during this particular Presidential election year is chaotic due to
5
Political Corruption and the Fake News Media that is unprecedented.
6
7
Best Regards.

Hmm, der hat ja auch interessante (politische) Ansichten 🤔

von X2 (Gast)


Lesenswert?

Ganz schön krass, sowas an einen Kunden zu schicken...

von O. R. (oscherischery)


Lesenswert?

Er hat's ein bisschen zynisch formuliert, aber im wesentlichen sind das 
die Gründe für die Verzögerungen. Die USA lassen private Sendungen 
derzeit nur noch auf dem Seeweg ins Land. Ein Luftpostbrief von mit mit 
einer Leiterplatte schippert nun seit dem 30.11. in Richtung 
Pennsylvania. Früher war sowas in einer Woche da.

von mampf (unterwegs) (Gast)


Angehängte Dateien:

Lesenswert?

Heute ist JLCPCB gekommen - erfreulicherweise passt der null-kraft 
Sockel auf das Testboard.

Digikey ist auch schon da, Solder paste stencils sind hoffentlich heute 
noch verschickt worden, ansonsten kommen sie erst in 2 Wochen

Mal schauen, wann die nächsten Komponenten wie LED Anzeigen ankommen.

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich war etwas fleißig und hab die erste Platine zusammengebaut.

Viel Funktion konnte ich noch nicht testen, aber der STM32 hat sich 
zumindest per USB schonmal gemeldet :)

Morgen mach ich bisserl Software^^

Ich weiß leider immer noch nicht, ob der China-Adapter DIP44 auf 
(P)LCC44 auf meine Stiftleisten und ob der R8751H im LCC44 in den 
Yamaichi IC51 passt.

Aber ich bin zuversichtlich ;-)

PS: Ich bin jetzt Fan der Single-(A)HCT-Logic-Gate-ICs im SOT23-5^^

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Merket... ein STM32F302C8 unterscheidet sich vom STM32F302CB nicht nur 
von der Größe des Flashs und des RAMs. Beispielsweise ist die 
USB-Peripherie völlig woanders im Address-Space weshalb es gleich nach 
der USB-Initialisierung mysteriöserweise Hard-Faultet, wenn man ein 
falsches #define gesetzt hat 😝😝😝

Ach ein bisserl Off-Topic: Manchmal benutzte ich noch AVRs, aber das 
DebugWire ist nachwievor eine Unzumutbarkeit sondersgleichen. Da ich 
etwas bei Digikey vergessen hatte und nochmal bestellen musste, hab ich 
meinen Warenkorb bis 50€ - für den kostenlosen Versand - mit Zeugs 
aufgefüllt. Da ist auch ein STM8-Discovery-Dingsi dabei. Ich hab 
gelesen, SDCC soll recht gut sein und über das SWIM-Interface soll 
debuggen mit openocd und gdb wunderbar funktionieren.

Damit werde ich in irgendeinem kommenden Projekt dann mal spielen :)

Ein kleines RISC-V-Board mit einem Mini-OLEDchen für ein paar wenige 
Euro hab ich mir auch noch besorgt. Vermutlich werde ich damit aber so 
schnell nichts machen. Normalerweise kaufe ich lieber projektbezogen 
ein und da sind dann eigentlich nie so Dev-Boards dabei, weil ich die 
noch nie gebraucht hab und/oder die dann eh nicht zur Applikation 
passen.

Aber ein echter RISC-V ist auch nicht schlecht - hab bisher nur RISC-V 
soft-cpu Erfahrung.

Zuguterletzt: 24V Boost funktioniert. Für die 
CMOS/NMOS-Oszillator-Umschaltung hab ich den ersten Fädeldraht 
gebraucht. Ist ziemlich dümmlich, das Signal an die 595er zu hängen, 
wenn im normalen Betrieb vorgesehen ist, dass deren Ausgänge auf 
Tristate geschaltet werden - dann hinge das Signal in der Luft. Zwei 
Port-Pins des STM32s hatte ich noch, einen hab ich jetzt dafür benutzt.

*edit*: VPP Erzeugung per DAC + Boost + OPV funktioniert und ist 
kalibriert - VPP kann zwischen 0.4V und 23V mit 12Bit Auflösung 
eingestellt werden 😍 Die 0.4V passen noch gut in die LS TTL 
Input-Voltage-Range von 0,8V. Müsste funktionieren :)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Belastungstest ist auch gut verlaufen - 40mA @ 21.5V ist überhaupt kein 
Problem und nichts wird warm.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

So genug für heute ... Alles, was ich testen konnte funktioniert.

Die Clock-Umschaltung zwischen NMOS/CMOS ebenfalls. Alle Buffer, 
Schieberegister, si5351-Clock-Generator, VPP-Erzeugung, STM32 usw 
getestet und funktioniert wunderbar.

Jetzt heißt es warten auf den Adapter DIL44->(P)LCC44 und dann wird 
Program und Verify in die Firmware eingebaut :)

Als API benutze ich - wie immer - JSON über USBCDC. Das dürfte dann 
nicht länger als ein paar wenige Stunden an einem Vormittag benötigen.

Vielleicht erhöhe ich den Schwierigkeitgrad etwas und benutze Rust für 
die PC-App.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

... Details details details ...

Flash-Erase des AT89C51RC geht nur, wenn man VCC auf 6,5V erhöht ... Wer 
soll denn mit soetwas rechnen?

Dafür war mein Programmer-Board nicht ausgelegt 🤔 Muss ich mir 
überlegen, wie ich das hinbekommen soll 🤔

Hab ich mehrere Möglichkeiten ... ein anderes 8051er Derivat, das keine 
6,5V braucht oder ein anderer (als der parallele) Modus zum Löschen des 
Flashs. Beides wäre mir lieber als ein Hardware-Fix ...

Mal das Datenblatt studieren und andere Hersteller ankucken.

*edit*: Sonderbar - der AT89C51 braucht die 6,5V nicht ... Gibt wohl 
echt erhebliche Unterschiede zwischen AT89C51, AT89C51RC1 und 
AT89C51RC2.

*edit2*: ich brauche wohl den AT89S51. Der AT89C51 ist obsolete, der S51 
kann parallel Programming und Chip-Erase mit 5V!

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

So kurze News - Rust-PC-App mit JSON-API und die STM32 Firmware ist 
fertig 🥳 (muss aber noch mit echten µCs getestet werden).

Laut Hermes wird mein Ersatz DIP44 -> (P)LCC44 Adapter heute geliefert. 
Vlt kann ich den (falschen) AT89C51RC zumindest einmal flashen und 
wieder auslesen, wenn der Erase dann schon nicht funktionieren wird. Die 
(richtigen) AT89S51 sind bestellt - aber wer weiß, wann die kommen.

Die R8751H sind immer noch in CA - vlt werden die ja von dort aus wieder 
nach Deutschland geschickt.

So dann heißt es mal warten ...^^

von Mampf F. (mampf) Benutzerseite



Lesenswert?

*edit*: Bevor jemand weiterliest - ich hab den Fehler ... Port 1 und 
Port 0 ist vertauscht :/ Hab die unteren 8Bit Addressen an P0 und die 
Daten an P1 ... So geht das natürlich nicht ... :facepalm:

D.h. ich muss mir einen eigenen DIP44->PLCC44 Adapter basteln, der das 
wieder enttauscht ... Naja, was solls - blöder Fehler, aber weder Hals 
noch Beinbruch :)


Ursprünglicher Text:

Der Teufel steckt wohl mal wieder im Detail ...

anhängend ein Teil der Tabelle für den parallelen Programmier-Modus.

Leider geht das auslesen der IDs schon nicht, obwohl ich hundertmal 
alles nachgemessen habe und mir absolut sicher bin, dass alles stimmt.

Liest hier zufällig jemand mit, der vielleicht den einen oder anderen 
Fallstrick kennt?

Müsste die ID aus dem at89s51 purzeln, sobald man statisch die Signale, 
einen Clock und Betriebsspannung angelegt hat?

Die Pegel in der Tabelle + einem Clock an XTAL1 mit 5MHz hab ich. 
Betriebsspannung natürlich auch.

Das ist eigentlich der einzige Unterschied - der µC bekommt von mir 5MHz 
an XTAL1 (entsprechend der Beschaltung für ein externes Taktsignal nach 
Datenblatt). In den Diagrammen, wie man den µC für den parallelen 
Programmiermodus verschalten muss, ist ein Quarz + 2 Cs eingezeichnet. 
Aber daran kann es ja unmöglich liegen.

Kann doch eigentlich nicht viel fehlen - aber trotzdem funktioniert es 
nicht.

An Port 1 gibt es die obligatorischen 10kOhm Pull-Ups und da wird vom 
Controller nie irgendetwas auf GND gezogen. Meine bidirektionalen 
Treiber sind richtig konfiguriert (0,5mA Strom, wenn ich selbst einen 
Pin auf GND ziehe und das wird auch korrekt eingelesen).

Alle anderen Pins sind exakt so, wie sie sein sollen - hab auch schon 
den DIP44->PLCC44 Adapter durchgemessen und dort passt auch das Pinout. 
Seltsam.

*edit*: Gerade aufgefallen, dass der Tabellen-Header fehlt. Daher 
nochmal die ganze Tabelle.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Mini-Update ... Design für zwei Programmier-Adapter mit dem richtigen 
Pinning sind fertig. Bei eB*y hatte ich noch einen echten LCC44-Sockel 
ergattern können, weshalb ich diese Gelegenheit gleich nutze und einen 
Adapter dafür mitfertigen lasse. Dann brauch ich mir auch keine Gedanken 
mehr machen, ob der R8751H im LCC44 in den Yamaichi IC51 passt :)

Maße des Sockels musste ich schätzen, d.h. versuchen aus einem 
Produktfoto herauszumessen. Der Footprint scheint aber mit dem Yamaichi 
IC120 übereinzustimmen und dafür kriegt man noch PDFs :) Hoffentlich 
passt es^^

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Es gibt neues von den R8751Hs :)

> I will ship out a replacement order Monday morning. The other 3 pieces are
> probably lost in the postal system and may turn up later in the year.
>
> With all the storms we had, China Virus, Holiday Mail, Presidential election...
> The postal system has been backed up.
>
> I want to get your order out before January 6th, We are expecting major civil
> unrest due to the Presidential election votes being counted on this day.

Netter Verkäufer - schickt mir Ersatz :)

Puh, krasse Zustände in den USA.

Aber jetzt ist eh erstmal Zwangspause angesagt, bis JLC meine 
Adapter-Platinen liefert. Da tut sich zur Zeit auch nicht viel (haben 
vlt noch Weihnachtsurlaub und bald ist Chinese New-Year).

Aber nicht wild, hab genügend andere Dinge zu tun - dann teilt der 
Round-Robin mal wieder einem anderen Projekt einen Zeitslot zu ;-)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite



Lesenswert?

Yay, die Ersatz-R8751H sind da 🥳

Das ging jetzt superschnell - die wurden erst letzten Montag verschickt.

Die anderen, die ich am 22.Nov bestellt hab, geistern immer noch 
irgendwo rum.

Btw, sie passen mechanisch in den IC51-Yamaichi-Sockel, kontaktieren die 
Pins aber nicht. Das Keramik-Package liegt auf dem Sockel im Inneren 
auf, aber die Pins sind quasi zu flach und somit gibt es einen Luftspalt 
zwischen Package und den Kontaktierpins.

Ist aber nicht weiter wild - ich hab ja einen echten LCC44-Sockel in der 
Bucht gefunden und Platinen für einen Adapter auf DIP44 kommen kommende 
Woche :)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Heute ist der LCC44-Sockel gekommen.

Passt wunderbar!

Hat mich ein paar Minuten gekostet, herauszufinden, wie man ihn benutzt.

Controllerchen oben reindrücken, bis es schnackelt und wenn man ihn 
wieder rausbekommen möchte. muss man den gefederten oberen Teil auf den 
Sockel drücken und wenn man den Sockel umdreht fällt das Controllerchen 
wieder aus dem Sockel.

Sehr hübsch :)

Adapter-Platinen kommen diese Woche noch, dann kann ich 
Port1-und-Port0-entdrehende Adapter für PLCC44 und LCC44 
zusammenbasteln.

von 2aggressive (Gast)


Lesenswert?

Mampf F. schrieb:
> Controllerchen oben reindrücken, bis es schnackelt und wenn man ihn
> wieder rausbekommen möchte. muss man den gefederten oberen Teil auf den
> Sockel drücken und wenn man den Sockel umdreht
Ich glaub es schnackelt... -Mike Krüger - Der Nippel 1980-
https://www.youtube.com/watch?v=uPsvNOuR-Ho
scnr

von Mampf F. (mampf) Benutzerseite



Lesenswert?

Die Anzeigen sind nun auch endlich da - bestellt am 1.12. gekommen heute 
🙈

Ich hatte, als ich das Layout für die Platine mit den Anzeigen gemacht 
hatte, keinen besonderen Abstand zwischen den Anzeigen vorgesehen.

Glück gehabt - einen Ticken schmaler als 400mil!

Der Date-Code ist KW37 1992 :) doch ganze 12 Jahre neuer als die R8751H.

Jetzt ist quasi alles da, was ich brauche.

Der ursprünglich bestellte Satz R8751H hat es mittlerweile auch zu mir 
geschafft.

:)

: Bearbeitet durch User
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.