Discussion:
LED-Dot-Matrix-Displays
(zu alt für eine Antwort)
Christof Rueß
2004-12-07 19:29:29 UTC
Permalink
Hallo NG!

Ich habe wieder einmal ein neues Opfer gefunden - selbstverständlich
wieder etwas mit Optoelektronik ;)
Dieses mal sollen es LED-Dot-Matrix-Displays von Reichelt sein (TC 07-11
rt - http://www.kingbright.com/download/pdf/Tx07(V2).pdf), die über ein
SRAM mit Daten gefüttert werden.

Laut Datenblatt braucht jede LED bis zu 160mA bei 1/10 Duty Cycle.
Direkter Betrieb an dem vorgesehenen Spaltentreiber 74HCT164 ist dann
wohl gegessen.
Mit BC548ern müsste es funktionieren - gibt es da auch etwas fertiges in
Form von ICs oder werden es wohl wieder ein paar Lötabende?

Welche Multiplex-Frequenz würdet ihr für die LED-Anzeige empfehlen? Unter
1 kHz wird es wohl stark flimmern, über 10 kHz kann ich ja wegen der LEDs
verwerfen. Vorerst werden es wohl 25 Spalten sein - wenn es dann
funktioniert noch ein paar mehr.

Zeilentreiber kann ich im Prinzip ja jeden dahergelaufenen nehmen -
wichtig wäre nur, dass er pro Ausgang max. 25mA aushält - oder sollte
doch lieber zu Transistoren greifen?

Vorerst wären das mal meine Fragen. Gibt es noch etwas, was ich beim Bau
der Anzeige beachten muss?

TIA

Chris
--
www.hobby-elektronik.de.vu
Achtung: E-Mail-Adresse im "From" ungültig!
Verwendet hobbyelektronik at gmx dot net
MaWin
2004-12-07 19:44:02 UTC
Permalink
Post by Christof Rueß
Vorerst wären das mal meine Fragen. Gibt es noch etwas, was ich beim Bau
der Anzeige beachten muss?
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Kapitel Laufschriften gelesen ? Offenbar nicht.
Post by Christof Rueß
gibt es da auch etwas fertiges in Form von ICs
TPIC6B595
Post by Christof Rueß
Welche Multiplex-Frequenz würdet ihr für die LED-Anzeige empfehlen? Unter
1 kHz
1kHz ? 50Hz meinst du wohl. 1/100 Sekunde pro Spalte reicht,
alles darueber traegt zumaechsteinmal nur zu EMV Stoerungen bei.
Post by Christof Rueß
Vorerst werden es wohl 25 Spalten sein
Maximal 8 (160mA max, 20mA nom = 8)
Post by Christof Rueß
Zeilentreiber kann ich im Prinzip ja jeden dahergelaufenen nehmen -
wichtig wäre nur, dass er pro Ausgang max. 25mA aushält
Noe, richtig rechnen.
Post by Christof Rueß
oder sollte doch lieber zu Transistoren greifen?
Dir wird nichts anderes ueberig bleiben.

Bei Matrix von 25 Spalten x 8 Zeilen: 160mA Spaltenstrom, 4A Zeilenstrom,
Gesamtstromaufnahme 4A bei vermutlich 5V, also 20 Watt.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Martin Lenz
2004-12-07 20:04:07 UTC
Permalink
Post by Christof Rueß
Hallo NG!
Ich habe wieder einmal ein neues Opfer gefunden - selbstverständlich
wieder etwas mit Optoelektronik ;)
Dieses mal sollen es LED-Dot-Matrix-Displays von Reichelt sein (TC 07-11
rt - http://www.kingbright.com/download/pdf/Tx07(V2).pdf), die über ein
SRAM mit Daten gefüttert werden.
Laut Datenblatt braucht jede LED bis zu 160mA bei 1/10 Duty Cycle.
Direkter Betrieb an dem vorgesehenen Spaltentreiber 74HCT164 ist dann
wohl gegessen.
Da wirst du wohl ULN2003/ULN2803 als Low Side Treiber verwenden müssen,
Bis zu 500mA und Basiswiderstände schon drin. Als High Side Treiber
könntest du UDN2903 oder ähnlich verwenden (da bin ich mir nicht so sicher
über die Type, aber es war erst ein Thread zu dem Thema, "Source Treiber")
Post by Christof Rueß
Mit BC548ern müsste es funktionieren - gibt es da auch etwas fertiges in
Form von ICs oder werden es wohl wieder ein paar Lötabende?
Welche Multiplex-Frequenz würdet ihr für die LED-Anzeige empfehlen? Unter
1 kHz wird es wohl stark flimmern, über 10 kHz kann ich ja wegen der LEDs
verwerfen. Vorerst werden es wohl 25 Spalten sein - wenn es dann
funktioniert noch ein paar mehr.
Falls du wegen >10kHz bedenken hast wegen der Angabe "0,1ms" beim
Spitzenstrom, dann ist das kein Problem, die 0,1ms sind das MAXIMUM. Bei
sehr hohen Frequenzen wird die Kapazität lästig, aber du mußt ja nicht bis
1MHz gehen.
Post by Christof Rueß
Zeilentreiber kann ich im Prinzip ja jeden dahergelaufenen nehmen -
wichtig wäre nur, dass er pro Ausgang max. 25mA aushält - oder sollte
doch lieber zu Transistoren greifen?
Du wolltest die LEDs ja mit bis zu 160mA peak betreiben. Da brauchst du
schon was kräftigeres. Ich würde die Zeilen über alle Stellen
durchverbinden und dann das Multiplex über die Zeilen machen. Also bei
einzeiliger Anzeige mit n Stellen: 5*n Spaltentreiber mit 160mA
Belastbarkeit, der ULN2003/ULN2803 ist da gut geeignet, hat aber ca. 1V
Spannungsverlust. Die Zeilentreiber müssen 5*n*160mA Spitze aushalten, der
mittlere Strom ist maximal 5/7*n*160mA, da kommen eh nur ordentliche
MOSFETs (logic Level PMOS) infrage.
Post by Christof Rueß
Vorerst wären das mal meine Fragen. Gibt es noch etwas, was ich beim Bau
der Anzeige beachten muss?
Ordentliches Netzteil, es kommt ganz schön Saft zusammen. Je nach
Stellenzahl könnte es sich schon lohnen, auch für die Spaltentreiber
niederohmige MOSFETs zu nehmen und die Betriebsspannung mittels
Schaltregler aufs nötige Minimum abzusenken, um die Verluste in den
Strombegrenzungswiderständen zu minimieren. Wenn alle Spaltentreiber
MOSFETs aus einer Charge sind, könnte man sie ev. sogar mit passendem
R_DS_on auswählen und auf zusätzliche Widerstände verzichten, die Spannung
für die LEDs wird dann halt nur 2,9..3,x Volt betragen.
Multiplexfrequenz (Zeilenfrequenz) im 1/7 Multiplex müsste mindestens
500Hz betragen, gibt dann gut 70Hz Bildwiederholfrequenz.
--
Martin
Uwe Hercksen
2004-12-08 08:31:50 UTC
Permalink
Post by Christof Rueß
Welche Multiplex-Frequenz würdet ihr für die LED-Anzeige empfehlen? Unter
1 kHz wird es wohl stark flimmern, über 10 kHz kann ich ja wegen der LEDs
verwerfen. Vorerst werden es wohl 25 Spalten sein - wenn es dann
funktioniert noch ein paar mehr.
Hallo,

wie kommst Du denn darauf das LEDs mit über 10 kHz Probleme hätten?
Die LEDs selbst machen auch 100 kHz oder auch 1 MHz und darüber mit.
Datenblatt lesen hilft, was steht denn dazu drin?

Bye
Christof Rueß
2004-12-11 12:24:15 UTC
Permalink
Hallo MaWin, Martin und Uwe!

"Christof Rueß" <***@privacy.net> schrieb
[LED-Panel]

An das, was da auf mich zukommen würde, habe ich noch gar nicht gedacht.
Ich dachte, dass sich der Stromverbrauch wegen Multiplexing etwas mehr in
Grenzen hält - gut, ein geeignetes Netzteil hätte ich da, 4A für 20
Spalten ist IMO doch ein wenig hoch, zumal die meisten Leuchtreklamen
meist mit einem recht kleinen Trafo auskommen.
Das Projekt werde ich dann wohl noch etwas schieben ;)

Allerdings hätte ich zu einem anderen "Mini"-Projekt eine Frage:

Ich arbeite momentan (wieder einmal) an der Ansteuerung eines
LC-Displays, genauer ein Display vom Nokia 3510i mit 4096 Farben. Die
Ansteuerung funktioniert soweit ganz gut, allerdings bin ich mit der
Übertragungsgeschwindigkeit und -art noch nicht so ganz zufrieden. Das
Display will für SDA/SCL/CS/RES relativ genau 3V, die parallele
Schnittstelelle gibt (in etwa) 5V von sich. Momentan habe ich es noch
durch einen Spannungsteiler + Transistoren gelöst und bin nicht besonders
glücklich darüber, da bei maximaler Geschwindigkeit die Signale matschig
werden und der Controller des Displays den Dienst quittiert. Wenn ich die
Geschwindigkeit softwareseitig drossel, bekommt der Controller zwar alle
Daten, einen Displayinhalt zu übertragen dauert allerdings eine kleine
Ewigkeit.
Da ich das LCD sowieso schon an der parallelen Schnittstelle betreibe,
würde ich es auch gerne parallel ansteuern. Wenn ein Command/Parameter 8
bit lang wäre, wäre das auch kein Problem (74xxx165) - Leider kommt vor
jedem Command noch ein Steuerbit: D/C (Daten/Befehl). Einen passenden IC
habe ich noch nicht gefunden, habe mir aber schon ein paar Gedanken für
eine "Bordmittellösung" gemacht:
An AND-Gatter mit offenen Kollektoren kommen D/C und D0 bis D7. Die
Ausgänge werden miteinander verbunden und mit SDA verbunden. Die ersten 8
Ausgänge eines CD4017 werden mit den zweiten Eingängen der ANDs
verbunden, der 9 Ausgang geht an den Reset eines RS-FF und resettet
gleichzeitig den 4017. Das Set des RS-FFs kommt (über ein Monoflop) vom
PC. Der Ausgang des RS-FFs geht an einen Eingang eines weiteren
AND-Gatters. An dem zweiten Eingang des Gatters hängt ein Taktgenerator.
Der Ausgang des Gatters gibt dem CD4017 den Takt zum durchzählen und ist
gleichzeitig Takteingang für den Controller.
Falls meine Beschreibung unverständlich ist, kann ich gerne eine
Handskizze liefern ;)

Ein weiteres, allerdings kleineres Problem wäre die Spannungsabsenkung
von 5V auf 3V. Spannungsteiler möchte ich nicht nehmen, einfache Treiber
CDxyz mögen ja meist auch nur Vdd+0,5V. Was nehme ich da am besten?

Vielen Dank für die guten Antworten der vorherigen Frage und schon vielen
Dank für die Beantwortung dieser Frage ;)


Chris
Martin
2004-12-11 13:03:13 UTC
Permalink
Post by Christof Rueß
Ich arbeite momentan (wieder einmal) an der Ansteuerung eines
LC-Displays, genauer ein Display vom Nokia 3510i mit 4096 Farben. Die
Ansteuerung funktioniert soweit ganz gut, allerdings bin ich mit der
Übertragungsgeschwindigkeit und -art noch nicht so ganz zufrieden. Das
Display will für SDA/SCL/CS/RES relativ genau 3V, die parallele
Schnittstelelle gibt (in etwa) 5V von sich. Momentan habe ich es noch
Du kannst CD4050 Treiberbausteine dazwischenschalten, wenn du keinen
bidirektionalen Betrieb brauchst. SDA / SCL klingt nach I2C, das kann
bidirektional betrieben werden, allerdings mit Open Drain Treiber
+ PullUp, da reicht es, den Pull up auf 3V zu hängen.
Post by Christof Rueß
durch einen Spannungsteiler + Transistoren gelöst und bin nicht besonders
glücklich darüber, da bei maximaler Geschwindigkeit die Signale matschig
werden und der Controller des Displays den Dienst quittiert. Wenn ich die
Geschwindigkeit softwareseitig drossel, bekommt der Controller zwar alle
Daten, einen Displayinhalt zu übertragen dauert allerdings eine kleine
Ewigkeit.
Dann sind deine Spannungsteiler zu hochohmig, oder der Controller ist
sowieso nicht schneller. I2C geht üblicherwiese bis 100 od 400kHz, ev.
gibt es auch schon schneller. Handydisplays sollen auch stromsparend sein,
sind ev. nicht extrem flott.
Post by Christof Rueß
Da ich das LCD sowieso schon an der parallelen Schnittstelle betreibe,
würde ich es auch gerne parallel ansteuern. Wenn ein Command/Parameter 8
bit lang wäre, wäre das auch kein Problem (74xxx165) - Leider kommt vor
Dann kaskadiere doch 2 74HC165, so teuer sind die ja nicht.
Post by Christof Rueß
jedem Command noch ein Steuerbit: D/C (Daten/Befehl). Einen passenden IC
habe ich noch nicht gefunden, habe mir aber schon ein paar Gedanken für
An AND-Gatter mit offenen Kollektoren kommen D/C und D0 bis D7. Die
Ausgänge werden miteinander verbunden und mit SDA verbunden. Die ersten 8
Ausgänge eines CD4017 werden mit den zweiten Eingängen der ANDs
verbunden, der 9 Ausgang geht an den Reset eines RS-FF und resettet
gleichzeitig den 4017. Das Set des RS-FFs kommt (über ein Monoflop) vom
PC. Der Ausgang des RS-FFs geht an einen Eingang eines weiteren
AND-Gatters. An dem zweiten Eingang des Gatters hängt ein Taktgenerator.
Der Ausgang des Gatters gibt dem CD4017 den Takt zum durchzählen und ist
gleichzeitig Takteingang für den Controller.
Falls meine Beschreibung unverständlich ist, kann ich gerne eine
Handskizze liefern ;)
Und all das nur um 2Schieberegister zu ersetzen????? Es gibt übrigens auch
echte Multiplexer, die OC-AND Sache würde ich lassen, da hast du wieder
schlappe Flanken. Schieberegister, Clock und ein Bitzähler + FlipFlop oder
Zeitglied. Ev. auch ein GAL oder ein kleiner µC, zB At89C2051 (20pin
8051er), dessen UART kann auch 9bit und synchron (also mit Clock)
Post by Christof Rueß
Ein weiteres, allerdings kleineres Problem wäre die Spannungsabsenkung
von 5V auf 3V. Spannungsteiler möchte ich nicht nehmen, einfache Treiber
CDxyz mögen ja meist auch nur Vdd+0,5V. Was nehme ich da am besten?
CD4049 (inv.) und CD4050 (ninv.) sind da speziell toleranter. Bei den
diversen 74LVX/LVC/LCX Serien gibt es auch Low Voltage mit 5V Toleranten
Eingängen, da mußt du aber die Datenblätter ansehen, ich habe bei der
Vielfalt nicht im Kopf bei welchem Hersteller die wie heißen.
--
Martin
Christof Rueß
2004-12-11 14:09:56 UTC
Permalink
Post by Martin
Du kannst CD4050 Treiberbausteine dazwischenschalten, wenn du keinen
bidirektionalen Betrieb brauchst. SDA / SCL klingt nach I2C, das kann
Noch einmal nachgelesen: MPU - SDA und SCL ist eine dumme Angewohnheit
von mir, da es sich für mich am plausibelsten für das ganze serielle
"Zeugs" anhört.
Post by Martin
bidirektional betrieben werden, allerdings mit Open Drain Treiber
+ PullUp, da reicht es, den Pull up auf 3V zu hängen.
Ist nur unidirektional.
Post by Martin
Dann sind deine Spannungsteiler zu hochohmig, oder der Controller ist
Das wird es vermutlich sein - hatte noch keine Lust, an ihm
herumzufrickeln, weil sowieso noch etwas anderes kommt...
Post by Martin
sowieso nicht schneller. I2C geht üblicherwiese bis 100 od 400kHz, ev.
gibt es auch schon schneller. Handydisplays sollen auch stromsparend sein,
sind ev. nicht extrem flott.
Lt. Bastelkollegen soll der Controller bis 4MHz arbeiten können. Sinn hat
das IMO bei Handies keinen - außer bei dem
UMTS-Videokonferenzenquatsch...
Post by Martin
Post by Christof Rueß
Da ich das LCD sowieso schon an der parallelen Schnittstelle
betreibe,
Post by Martin
Post by Christof Rueß
würde ich es auch gerne parallel ansteuern. Wenn ein
Command/Parameter 8
Post by Martin
Post by Christof Rueß
bit lang wäre, wäre das auch kein Problem (74xxx165) - Leider kommt vor
Dann kaskadiere doch 2 74HC165, so teuer sind die ja nicht.
Ich habe mir gerade das Datenblatt vom 74HC165 (zwei von TI, allerdings
mit unterschiedlichem Inhalt) und dieses Beispiel hier angeschaut:
http://www.kronosrobotics.com/an140/DAN140.shtml, werde aber noch nicht
so ganz schlau daraus.

Normalerweise müsste doch bei dem Beispiel D7 von U3 zuerst ausgelesen
werden, oder?
Für was ist der Pin Load am 74HC165?
Für meine Anwendung müsste ich die ICs, bzw. den Zähler darin resetten
können, wie funktioniert das?
Clk müsste ich ja wieder über irgendeinen Zähler bis 9 zählen lassen und
danach die Verbindung vom Taktgeber zu den ICs unterbrechen oder geht das
einfacher? (Den Takt über die parallele Schnittstelle zu geben wäre
sinnlos, da wäre ich danach auch nicht schneller).

Ich weiß - es gibt keine blöden Fragen, obwohl ich gerade wohl das
gegenteil Beweise...

TIA

Chris
Martin
2004-12-11 14:52:22 UTC
Permalink
Post by Christof Rueß
Post by Martin
Du kannst CD4050 Treiberbausteine dazwischenschalten, wenn du keinen
bidirektionalen Betrieb brauchst. SDA / SCL klingt nach I2C, das kann
Noch einmal nachgelesen: MPU - SDA und SCL ist eine dumme Angewohnheit
von mir, da es sich für mich am plausibelsten für das ganze serielle
"Zeugs" anhört.
MPU sagt mir jetzt auch nix, aber es sei seriell.
Post by Christof Rueß
Post by Martin
bidirektional betrieben werden, allerdings mit Open Drain Treiber
+ PullUp, da reicht es, den Pull up auf 3V zu hängen.
Ist nur unidirektional.
gut
Post by Christof Rueß
Post by Martin
Dann sind deine Spannungsteiler zu hochohmig, oder der Controller ist
Das wird es vermutlich sein - hatte noch keine Lust, an ihm
herumzufrickeln, weil sowieso noch etwas anderes kommt...
Post by Martin
sowieso nicht schneller. I2C geht üblicherwiese bis 100 od 400kHz, ev.
gibt es auch schon schneller. Handydisplays sollen auch stromsparend
sein,
Post by Martin
sind ev. nicht extrem flott.
Lt. Bastelkollegen soll der Controller bis 4MHz arbeiten können. Sinn hat
das IMO bei Handies keinen - außer bei dem
UMTS-Videokonferenzenquatsch...
wenn es nicht I2C ist dann kann es leicht flotter sein. Ist Ok
Post by Christof Rueß
Post by Martin
Post by Christof Rueß
Da ich das LCD sowieso schon an der parallelen Schnittstelle
betreibe,
Post by Martin
Post by Christof Rueß
würde ich es auch gerne parallel ansteuern. Wenn ein
Command/Parameter 8
Post by Martin
Post by Christof Rueß
bit lang wäre, wäre das auch kein Problem (74xxx165) - Leider kommt
vor
Post by Martin
Dann kaskadiere doch 2 74HC165, so teuer sind die ja nicht.
Ich habe mir gerade das Datenblatt vom 74HC165 (zwei von TI, allerdings
http://www.kronosrobotics.com/an140/DAN140.shtml, werde aber noch nicht
so ganz schlau daraus.
Normalerweise müsste doch bei dem Beispiel D7 von U3 zuerst ausgelesen
werden, oder?
Ja, MSB first sozusagen. Das ganze wird einfach durchgeschoben.
Post by Christof Rueß
Für was ist der Pin Load am 74HC165?
Für meine Anwendung müsste ich die ICs, bzw. den Zähler darin resetten
können, wie funktioniert das?
Da ist kein Zähler drin. sobald du von "parallel load" auf "shift"
schaltest, sind die Eingangssignale egal und mit jedem Taktimpuls werden
alle Bits eins weitergeschoben.
Post by Christof Rueß
Clk müsste ich ja wieder über irgendeinen Zähler bis 9 zählen lassen und
danach die Verbindung vom Taktgeber zu den ICs unterbrechen oder geht das
einfacher? (Den Takt über die parallele Schnittstelle zu geben wäre
sinnlos, da wäre ich danach auch nicht schneller).
Du wärst etwas schneller, weil du die Daten nicht bitweise ausgeben mußt.
Wenn dir das nicht reicht, dann brauchst du noch einen Pulszähler,
Oszillator und Start/Stop-FF. Das ganze dann als synchrones Design
aufbauen, sonst können dich die Glitches jagen - wirklich wichtig wird das
dann bei einem FPGA Design. So wie du das beschreibst willst du ja schon
einen kleinen USART (universal synchronous/asynchronous receiver
transmitter)aufbauen, zumindest den synchronen Sendeteil.
--
Martin
MaWin
2004-12-11 15:00:20 UTC
Permalink
Post by Christof Rueß
An AND-Gatter mit offenen Kollektoren kommen D/C und D0 bis D7. Die
Ausgänge werden miteinander verbunden und mit SDA verbunden. Die ersten 8
Ausgänge eines CD4017 werden mit den zweiten Eingängen der ANDs
verbunden, der 9 Ausgang geht an den Reset eines RS-FF und resettet
gleichzeitig den 4017. Das Set des RS-FFs kommt (über ein Monoflop) vom
PC. Der Ausgang des RS-FFs geht an einen Eingang eines weiteren
AND-Gatters. An dem zweiten Eingang des Gatters hängt ein Taktgenerator.
Der Ausgang des Gatters gibt dem CD4017 den Takt zum durchzählen und ist
gleichzeitig Takteingang für den Controller.
Eine Loesung mit nur 1 IC wird schwer (muesste uC oder GAL sein).
Du brauchst ein parallel input serial output Schieberegister,
das mit 4MHz (aus einem fertigen Quartzoszillator) getaktet wird.
Dein Parallelport liefert mehr als 8 bit, denn er hat neben D0-D7
auch noch Steuerleitungen, also ist Command/Data kein Problem.
Interessanter ist die Frage, wie man genau 9 Taktimpulse erzeugt,
denn der Displaycontroller wird sonst durcheinanderkommen.
Mein Tip: Kein Zaehler, sondern neben dem eigentlichen 9 bit
Schieberegister noch ein 10 bit Schieberegister, bei dem die
ersten 9 bit konstant auf HI liegen, das 10te (bzw. der serielle
Eingang) konstant auf LO, und dieses Schieberegsiter steuert,
welche Taktimpulse zum Dispalycontroller durchgelassen werden.

+------------------------|AND|
+--9bitSchieberegister1--| |-- SCK -- Pegelwandler--
| | ||||||||| |
4MHz --+ LO +++++++++- HI +--+
+--9bitSchieberegister2-)------- SDA -- Pegelwandler--
||||||||| | |
Daten +--+-- /load = STB vom Parallelport

Als 9 bit Register tun es kaskadierte 2 * 4 bit Teile, dann
braucht man nur 3 ICs, aber nicht aus der CD4xxx Serie, sondern
ich wuerde sie aus die 74HCT Serie nehmen. Als Pegelwandler
nix mit open collector oder gar Einzeltransistoren, man glaubt
naemlich nicht wie klangsam so was schaltet, sondern ordentliche
Pegelwandler aus der 74-Serie.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Martin
2004-12-11 15:49:00 UTC
Permalink
Post by MaWin
Eine Loesung mit nur 1 IC wird schwer (muesste uC oder GAL sein).
Du brauchst ein parallel input serial output Schieberegister,
das mit 4MHz (aus einem fertigen Quartzoszillator) getaktet wird.
Muß kein Quarz sein, RC geht doch auch.
Post by MaWin
Dein Parallelport liefert mehr als 8 bit, denn er hat neben D0-D7
auch noch Steuerleitungen, also ist Command/Data kein Problem.
Interessanter ist die Frage, wie man genau 9 Taktimpulse erzeugt,
denn der Displaycontroller wird sonst durcheinanderkommen.
Mein Tip: Kein Zaehler, sondern neben dem eigentlichen 9 bit
Schieberegister noch ein 10 bit Schieberegister, bei dem die
ersten 9 bit konstant auf HI liegen, das 10te (bzw. der serielle
Eingang) konstant auf LO, und dieses Schieberegsiter steuert,
welche Taktimpulse zum Dispalycontroller durchgelassen werden.
+------------------------|AND|
+--9bitSchieberegister1--| |-- SCK -- Pegelwandler--
| | ||||||||| |
4MHz --+ LO +++++++++- HI +--+
+--9bitSchieberegister2-)------- SDA -- Pegelwandler--
||||||||| | |
Daten +--+-- /load = STB vom Parallelport
Das sieht ähnlich aus wie der 8051 UART, in älteren INTEL Datenblättern
ist der relativ genau beschrieben. Er kommt aber mit dem original
Sendeschieberegister aus, nur 1bit verlängert. Dort wird beim parallelen
Laden eine 1 hineingeschrieben, beim Schieben kommen nur mehr 0en nach.
Sobald das register leer ist (wird mit einem 10fach OR geprüft) stopt das
ganze. MaWins Schiebergister bildet mMn nur einen CD4017 nach, ev. mit
invertiertem Ausgang.
Post by MaWin
Als 9 bit Register tun es kaskadierte 2 * 4 bit Teile, dann
braucht man nur 3 ICs, aber nicht aus der CD4xxx Serie, sondern
ich wuerde sie aus die 74HCT Serie nehmen. Als Pegelwandler
nix mit open collector oder gar Einzeltransistoren, man glaubt
naemlich nicht wie klangsam so was schaltet, sondern ordentliche
Pegelwandler aus der 74-Serie.
Bei 4MHz könnte der CD4050 (3V Betrieb) zu langsam sein, ich weis nicht,
ob es 74HC4050 gibt.
--
Martin
Christof Rueß
2004-12-11 17:32:55 UTC
Permalink
"MaWin" <***@private.net> schrieb:

Hallo MaWin!

[9 Bit-Schieberegister]

Wow, danke für deine Idee!
Ich habe jetzt einmal die Eagle-Lib nach 4-Bit Parallel Load
Shiftregister durchsucht.
Es gibt zwar schon ein paar, allerdings gibt es die dann entweder nicht
als *HCT* oder nicht bei Reichelt.

Ich hab mir das Ganze nocheinmal durch den Kopf gehen lassen...

Wenn ich den seriellen Eingang der Schieberegister nutze, kann ich ihn im
Prinzip ja auch als 9. Eingang missbrauchen, beim Ausgabe-Register und
auch beim Zählregister.

Ich werde mir mal einen kleinen Schaltplan zeichnen - kannst du ihn dann
evtl. absegnen? :)

MfG und Danke!

Chris
Christof Rueß
2004-12-11 17:55:03 UTC
Permalink
Post by Christof Rueß
Ich werde mir mal einen kleinen Schaltplan zeichnen - kannst du ihn dann
evtl. absegnen? :)
Hier liegt er:
Loading Image...
bzw.
http://hobbyelektronik.s3.cybton.com/dse/par2ser.sch

MfG

Chris
MaWin
2004-12-12 19:38:43 UTC
Permalink
Post by Christof Rueß
http://hobbyelektronik.s3.cybton.com/dse/par2ser.gif
Fuer 8 bit geht das, fuer 9 muss noch ein Bit dazu, denn SERIN
muss gerade auf ANDERE Polaritaet als die Schieberegister-Load-Eingaenge.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Loading...