Hallo liebe Leute, habe danach im netz fleissig gesucht, aber leider nicht gefunden. Ich verbinde 8x CD4028BMS BDC-zu-dez decoder, wie im Datenblatt um 55 Ausgaenge zu bekommen. (angesteurt mit insg. 6 GPIOs). Gibts sowas eigentlich als fertiges IC mit den CMOS-Invertern? Im Datenblatt gibts die Tabelle fuer 16 Pins (2x BCDs). Hat jemand die Tabelle fuer 64 Ausgaenge, oder ewtl. sogar schon implementiert im Code? Vielen Dank im Voraus Gruesse - Michael
Lies mal deinen Post so durch, wie wenn du nichts von deinem Problem wissen würdest. Und: ergibt da irgendwas einen Sinn? Ich könnte mir vorstellen, dass du mit einem 6 Bit Wort (also 64 Möglichkeiten) jeweils 1 aus 55 Ausgängen aktivieren willst. Ist das soweit korrekt? Warum nimmst du dann diesen Decoder, und nicht einen 1 aus 8 (oder 1 aus 16) Decoder wie z.B. den http://www.cl.cam.ac.uk/teaching/2003/Hardware/datasheets/74hc154.pdf Dann wäre die Zusammenschaltung der insgesamt 4 Decoder wesentlich einfacher... EDIT: > Im Datenblatt gibts die Tabelle fuer 16 Pins (2x BCDs). Wie kommst du auf (2x BCDs)? Eine (in Zahlen 1) BCD-Stelle hat mit ihren 4 Bits schon 16 Möglichkeiten. Alledings sind 6 davon ungültig...
Michael Gromov schrieb: > Hallo liebe Leute, > > habe danach im netz fleissig gesucht, aber leider nicht gefunden. > Ich verbinde 8x CD4028BMS BDC-zu-dez decoder, wie im Datenblatt um 55 > Ausgaenge zu bekommen. (angesteurt mit insg. 6 GPIOs). Hä? Dir ist aber schon klar, dass du nicht 55 voneinander unabhängige Ausgangsleitungen hast, sondern logisch gesehen 8 "Ausgängs-ports", wobei an jedem Port immer genau 1 von 8 Leitungen aktiv (oder 1 von 10) aktiv sein kann und die anderen nicht. > Im Datenblatt gibts die Tabelle fuer 16 Pins (2x BCDs). Hä? Der Baustein hat doch gar keine 16 Ausgänge. Schau dir die Tabelle noch einmal an, die unteren 6 BCD Werte münden alle darin, dass keine einzige Ausgangsleitung aktiv ist. Deine ganze Beschreibung klingt für mich nach: Eigentlich willst du ganz etwas anderes, nur hast du anstelle der richtigen Frage gleich mal die Antwort vorweggenommen, von der du glaubst, dass sie dein Problem löst. Gibt es einene elektrischen Grund, warum du ausgerechnet diesen Baustein nimmst (Spannung, Strom)? Denn: Was spricht gegen eine Schieberegisterkette? Damit kann man tatsächlich 55 Ausgänge realisieren, die alle voneinander unabhängig sind. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
@lkmiller - ja hast recht, etwas ungluecklich ausgedrueckt. Mein ziel ist es mit 6 Pins (also ein Port auf dem uC) 55 Leitungen zu steuern. >Warum nimmst du dann diesen Decoder, und nicht einen 1 aus 8 (oder 1 aus >16) Decoder wie z.B. den >http://www.cl.cam.ac.uk/teaching/2003/Hardware/dat... SUPER! ich wusste nicht, dass ein 4-to-16 line dec. existiert, das macht es viiiiel einfacher! ich muss nur, wie du gesagt hast 4 davon verbinden. Dazu brauche ich auch Inverter. Gibt es auch 5-to-32 Decoder? >Wie kommst du auf (2x BCDs)? Im Datenblatt auf der Seite 8 (typical appl.) gibt es ein BEispiel, wie man 2 BCDs mit 4 Pins steuern kann - das habe ich gemeint :) Meine Frage war - gibts du fuer diese Verbindung ewtl. auch eine solche Tabelle? (ich hoffe das war verstaendlich :) ) @kbuchegg: >Dir ist aber schon klar, dass du nicht 55 voneinander unabhängige >Ausgangsleitungen hast, sondern logisch gesehen 8 "Ausgängs-ports", >wobei an jedem Port immer genau 1 von 8 Leitungen aktiv (oder 1 von 10) >aktiv sein kann und die anderen nicht. Das ist mir klar, das will ich auch, denn es wird nie mehr als 1x Leitung in einem Moment aktiv sein. >Der Baustein hat doch gar keine 16 Ausgänge. Schau dir die Tabelle noch >einmal an, die unteren 6 BCD Werte münden alle darin, dass keine einzige >Ausgangsleitung aktiv ist. Im Datenblatt auf der Seite 8 (typical appl.) gibt es ein Beispiel, wie man 2 BCDs mit 4 Pins steuern kann und dabei 16 Leitungen als Ausgaenge hat (wie du richtig geschriebn hast - 2x Ports je 8 Leitungen) - das habe ich gemeint :) wie gesagt, mein ziel ist es mit 6 Pins (also ein Port auf dem uC) 7xPorts (55 Leitungen) zu steuern. Dabei wird max an einer Leitung in einem Moment Spannung anliegen, daher spricht natuerlich gegen Schieberegister nichts, aber soweit ich das verstehe laesst es sich auch mit den BCDs realiesieren.
Also, wenn ich es recht verstehe, möchtest du mit 6 Eingangsleitungen 55 verschiedene Ausgangsleitungen ansteuern, wobei jeweils nur eine aktiv sein soll (oder kann). Das ist genau der Einsatzzweck für die Decoder des Typs 74HC138 (Ausgänge sind aktiv "0") oder 74HC238 (Ausgänge aktiv "1"). http://www.mikrocontroller.net/part/74HC138 http://www.mikrocontroller.net/part/74HC238 Von diesen Bauteilen brauchst du jetzt 9 Stück, die in zwei Ebenen verschaltet werden. Der vordere decodiert die obenen 3 Eingangsleitungen, seine 8 Ausgänge steuern somit jeweils einen weiteren dieser Decoder an, über deren "enable" Eingang (dabei auf korrekte Auswahl der "enable" Polarität achten). Die zweite Ebene mit den 8 weiteren Bauteilen bekommt die unteren 3 Eingangsleitungen verpasst, parallel an jeweils alle Eingänge der Decoder zu führen. Hinten stehen somit 64 Ausgänge zur Verfügung (Nr. 0 - 63), wobei in dieser Konstellation (6 Eingangspins) eine vollständige Dekodierung vorliegt, d.h. immer ein Ausgang aktiv ist, alle anderen passiv. Wenn du nur 55 brauchst, bleiben eben 9 Ausgangspins übrig (offen); deren Wertenummern aktivieren somit keinen der benutzen 55 Ausgänge.
danke Erich, so in etwa ist es ja auch mit dem CD4028BMS. http://www.datasheetcatalog.org/datasheet/intersil/fn3303.pdf auf der 9.ten Seite ist die Schaltung sogar schon realisiert (mit zusaetzlichen invertern). Aber Lothar hat es noch einfacher vorgeschlagen und zwar mit 4-to-16 dec. Dabei brauchte ich sogar nur 4 decoder. Was ich aber immer noch gerne wissen moechte ist, ob jemand die Pin-Ansteurungs-Tabelle fur eine solche Anwendung hat. Also im Klartext suche ich nach einer Tabelle wie sowas: um ausgang.1 auf 1 zu setzen -> A=1,B=1,C=0....F=0 um ausgang.20 auf 1 zu setzen -> A=0,B=0,C=1....F=1 um ausgang.55 auf 1 zu setzen -> A=1,B=0,C=1....F=1 usw. ewtl. hat es jemand schon in C implementiert, das waere noch besser EDIT: Mit A,B,C...F meine ich die Pins des uC
Erich schrieb: > Also, wenn ich es recht verstehe, möchtest du mit 6 Eingangsleitungen 55 > verschiedene Ausgangsleitungen ansteuern, wobei jeweils nur eine aktiv > sein soll (oder kann). > Das ist genau der Einsatzzweck für die Decoder des Typs 74HC138 > (Ausgänge sind aktiv "0") oder 74HC238 (Ausgänge aktiv "1"). > > http://www.mikrocontroller.net/part/74HC138 > http://www.mikrocontroller.net/part/74HC238 > > Von diesen Bauteilen brauchst du jetzt 9 Stück, die in zwei Ebenen > verschaltet werden. ...oder man nimmt gleich eine 8 x 7 Matrix. Gruss Harald
Harald Wilhelms schrieb: > ...oder man nimmt gleich eine 8 x 7 Matrix. Dann brauchst Du zwar nur 2 BCD Decoder, aber 55 AND/NAND Gates.
Michael Gromov schrieb: > um ausgang.1 auf 1 zu setzen -> A=1,B=1,C=0....F=0 > um ausgang.20 auf 1 zu setzen -> A=0,B=0,C=1....F=1 > um ausgang.55 auf 1 zu setzen -> A=1,B=0,C=1....F=1 Wesentlich einfacher wäre es, wenn du tatsächlich eine binäre Beziehung der Ausgänge realisieren könntest: 000000 = kein Ausgang 000001 = 1. Ausgang 000010 = 2. Ausgang 000011 = 3. Ausgang 000100 = 4. Ausgang usw... BTW: Dir ist schon klar, dass bei dieser 6 zu 55 Decoder Lösung immer nur 1 Ausgang aktiv sein kann? Mit 9 Stück 74238 könntest du auch den Multiplexer aufbauen:
1 | 74238 |
2 | .-----. .-----. |
3 | D5..D3 ---| |-----------------|E3 |--- |
4 | | |- | | : |
5 | | |- | | : |
6 | | |- .---| |--- |
7 | | |- ... | '-----' |
8 | | |- o--- ... 8x 74238 |
9 | | |- | .-----. |
10 | | |-------------+---|E3 |--- |
11 | '-----' | | | : |
12 | | | | : |
13 | D2..0 -----------------------o---| |--- |
14 | '-----' |
[
ja klar, das will ich auch, das immer nur 1Ausgang aktiv ist... Das waere natuerlich am besten, wenn ich das so realisieren koennte (binäre Beziehung). Bei deiner schaltung brauechte man aber auch inverter glaub ich. Dann koennte man das in einem Array speichern. Weisst du zufaellig ob es bereits realisiert wurde und irgendwo vorliegt? Das wuerde aber auch mit einem 4-to-16 so funktionieren gel?
Klaus 2m5 schrieb: > Harald Wilhelms schrieb: >> ...oder man nimmt gleich eine 8 x 7 Matrix. > > Dann brauchst Du zwar nur 2 BCD Decoder, aber 55 AND/NAND Gates. Geht es denn nichT um LEDs? Das Startposting ist da leider nicht ganz eindeutig... Gruss Harald
Hallo, http://www.edaboard.com/thread178735.html >currently I'm using one 74AHC139 (2-to-4 decoder) and four 74HC154 4-to-16 decoder) to build my 6-to-64 decoder Also sind das 5 Bausteine.
@Horst - ja habe den post gesehen, trotzdem gehofft, dass der typ nicht alles weiss :) @Harald - es geht um LEDs aber die 55 Ausgaenge wuerden ledeglich die MOSFET-SWITCHEs steuern
> Das ist mir klar, das will ich auch, denn es wird nie mehr als 1x > Leitung in einem Moment aktiv sein. Ah. ok. Das ist etwas ungewöhnlich. Aber ok. > Aber Lothar hat es noch einfacher vorgeschlagen und zwar mit 4-to-16 > dec. Dabei brauchte ich sogar nur 4 decoder. Dann brauchst du 8 Ausgangspins oder aber du nimmst 5 Stück von den 4:16 Decodern und lässt den 5. die Selektion machen. Dann kommst du mit 6 Ausgangspins durch > Was ich aber immer noch gerne wissen moechte ist, ob jemand die > Pin-Ansteurungs-Tabelle fur eine solche Anwendung hat. > Also im Klartext suche ich nach einer Tabelle wie sowas: Wo liegt denn das Problem? Die unteren 4 Bits (deiner 6-Bit Daten) gibst du direkt auf die 4 4:16 Dekoder. Und zwar auf alle gleichzeitig. Und mit den restlichen 2 Bits entscheidest du, welcher der 4 Decoder aktiv werden soll. Das kann man entweder in Software machen (die 2 Bits bestimmen welcher von 4 µC Ausgängen den jeweiligen Decoder aktiviert) oder in Hardware (mit einem weiteren Decoder, der die restlichen 2 Bits über 2µC wieder auf einen Decoder weitergibt, der sie dann in 4 Leitungen aufpfriemelt). Auf jeden Fall braucht man da keine Tabelle für.
Die obige Zeichnung von Lothar Miller ist prinzipiell korrekt. Falsch ist jedoch: >000000 = kein Ausgang >000001 = 1. Ausgang Wie ich 10.11.2011 09:19 schon schrieb, handelt es sich bei Verwendung von insgesamt 9 Bauteilen um eine vollständige Decodierung, die alle binäre Kombinationen von 0 - 63 erfasst (64 Stück). Somit ist bei Einangswert 0 (Null), in binärer Schreibweise der Bits 000000, somit der niedrigeste Ausgang des untersten Decoders aktiv. Es gibt keinen Eingangswert der "alles inaktiv" hält. Nur wenn man eine Teilmenge der 64 möglichen in der Verwendung ausläßt, hat man quasi inaktive Werte. Nutzt man 55 der 64 möglichen, bleiben 9 Ausgänge unverwendet, deren Wertenummern sind dann quasi inaktiv. @Michael Gromov Nein, weitere Inverter braucht man nicht. Es bringt keinen Vorteil, 4-zu-16 Decoder zu verwenden, denn diese haben keine passenden "enable" Eingänge. Ausserdem sind 4-16 Decoder unverhältnismäßig teuer.
Erich schrieb: > Es bringt keinen Vorteil, 4-zu-16 Decoder zu verwenden, denn diese haben > keine passenden "enable" Eingänge. Na ja. Die 154 haben sie schon, sind aber active Low an den Ausgängen > Ausserdem sind 4-16 Decoder unverhältnismäßig teuer. Das stimmt allerdings.
Michael Gromov schrieb: > @Harald - es geht um LEDs aber die 55 Ausgaenge wuerden ledeglich die > MOSFET-SWITCHEs steuern Lass Dir doch nicht alles aus der Nase ziehen... Wenn das der Spaltentreiber für eine LED-Matrix ist, ein Duty-cycle von 1/55 wird nicht funktionieren. Wenn Du tatsächlich einzelne LEDs ansteuern willst, hat Harald mit seiner Matrix recht.
Karl Heinz Buchegger schrieb: > Wo liegt denn das Problem? naja ich habe das wohl zu kompliziert gesehen. Was spricht denn gegen die Realisierung auf die ich schon hingewiesen habe: http://www.datasheetcatalog.org/datasheet/intersil... auf der 9.ten Seite ? Von prinzip sollte es doch das gleiche sein, und ich verwende dann nur 8x decoder. Erich schrieb: > Ausserdem sind 4-16 Decoder unverhältnismäßig teuer. oh, das war mir nicht bewusst
Klaus 2m5 schrieb: > Lass Dir doch nicht alles aus der Nase ziehen... > Wenn das der Spaltentreiber für eine LED-Matrix ist, ein Duty-cycle von > 1/55 wird nicht funktionieren. wieso sollte es einen Unterschied machen, ob es am Ende LEDs oder Transistoren sind die bestromt werden? Ich will immer noch max 1x aktiven Ausganng im selben moment aktiv haben...
Die Schieberegister haben den Vorteil, Du brauchst immer nur 3 Pins vom Micro, egal ob 8 Ausgänge oder 800. Auch brauchst Du keine zusätzliche Dekodierung, also immer nur ein SRG je 8 Ausgänge. Die Dekoder sind nur dann sinnvoll, wenn man aus Sicherheitsgründen die Verriegelung braucht, also keine 2 gleichzeitig aktiv sein dürfen. Es gibt die SRG auch gleich mit Leistungsausgang (500mA), z.B. TPIC6B595. Peter
Erich schrieb: > Falsch ist jedoch: >>000000 = kein Ausgang >>000001 = 1. Ausgang Nein, es ist nicht falsch, es ist eine Definitionssache: ich lasse einfach den untersten Ausgang offen und definiere den 2. Ausgang zur Nummer 1... ;-) > Somit ist bei Einangswert 0 (Null), in binärer Schreibweise der Bits > 000000, somit der niedrigeste Ausgang des untersten Decoders aktiv. Ob ich die oberen 9 Ausgänge unbeschaltet lasse, oder den untersten und die oberen 8, bleibt sich in der Summe gleich. Praktisch wäre bei meiner Definition aber, dass in der Software eine 0 bedeutet, dass kein (verwendeter) Ausgang aktiv ist. Das kann alles undefiniert sein und darf es bleiben, solange nicht bekannt ist, WOFÜR das Ganze überhaupt gut sein soll...
Michael Gromov schrieb: > wieso sollte es einen Unterschied machen, ob es am Ende LEDs oder > Transistoren sind die bestromt werden? Ich will immer noch max 1x > aktiven Ausganng im selben moment aktiv haben... Ich weiß leider immer noch nicht, was Du damit machst, aber der Unterschied ist doch klar. Wenn tatsächlich nur eine LED zu einer gegebenen Zeit leuchten soll, dann kannst Du die LEDs in einer Matrix ansteuen, also einen Decoder für die Anode, einen für die Kathode. Bei Transistoren geht das so nicht.
>Ich weiß leider immer noch nicht, was Du damit machst, aber der >Unterschied ist doch klar. Wenn tatsächlich nur eine LED zu einer >gegebenen Zeit leuchten soll, dann kannst Du die LEDs in einer Matrix >ansteuen, also einen Decoder für die Anode, einen für die Kathode. Bei >Transistoren geht das so nicht. :D ok das ist klar :D
@Lothar Miller >eine Definitionssache ... naja ... Es ist die die Grundlagen-Leser hier besser, gleich dir korrekte Zählweise beginnend ab Null einzuführen; auch Null ist eine gültige Zahl. @Lothar Miller >Die Schieberegister... Hierzu meine ich, der Fragesteller sollte erstmal die von ihm geplante statische Decodierung aufbauen und dabei lernen. Um Schieberegister mit einen uC getaktet anzusteuern, soweit ist er aufgrund seiner momentanen Fragen noch nicht. @Michael Gromov Die im Betreff genannte Abkürzung "BCD" ist in diesen Zusammenhänge irrelevant bzw. unzutreffend. Wir haben hier eine binäre Decodierung, sonst nix. Mit 6 Eingangsleitungen ist es auch gar nicht möglich, als BCD Codierung 55 Zustände darzustellen (denn die untere 4-er Gruppe würde nur "0" bis "9" erlauben, somit nur insgesamt 40 Werte).
@Erich okkkay, den Ausdruck BCD habe ich vom datenblatt entnommen, aber wenn man den Ausdruck "uebersetzt", dann hast du recht - hier wird es nicht eingesetzt. Du meinst, ich waere noch nicht soweit, um mit schieberegistern zu arbeiten - wuerdest du diese Aufgabe mit diesen oder mit den 8x 4-to-10 BCD-to-dig. dec loesen? nochmal: 55x Ausgeange gesteuert mit 6x Pins, dabei 1x Ausgang aktiv pro Zeitpunkt
@Michael Gromov Ich würde das so machen wie bereits beschrieben Autor: Erich (Gast) Datum: 10.11.2011 09:19
Michael Gromov schrieb: > Du meinst, ich waere noch nicht soweit, um mit schieberegistern zu > arbeiten - So wild ist das auch wieder nicht. Ein bischen geordnetes Pinwackeln mit 3 Pins und gut ists. > wuerdest du diese Aufgabe mit diesen oder mit den 8x 4-to-10 > BCD-to-dig. dec loesen? > nochmal: 55x Ausgeange gesteuert mit 6x Pins, dabei 1x Ausgang aktiv pro > Zeitpunkt Und was hängt jetzt dann wirklich hinten an den Ausgängen. Led, Relais, was? Wozu wird das alles benutzt? 55 aus 6 ist reichlich ungewöhnlich. Vom Wissen was da hinten dran hängt, hängt aber auch ab, welche Lösung sinnvoll ist.
dahinter sitzen mosfets (als switches verwendet), wobei Id=300mA ist. Vor den D sitzt jeweils eine powerLED. Ich habe keine BCDs gefunden der etwas 300mA halten wuerden...
Michael Gromov schrieb: > wieso sollte es einen Unterschied machen, ob es am Ende LEDs oder > Transistoren sind die bestromt werden? Ich will immer noch max 1x > aktiven Ausganng im selben moment aktiv haben... LEDs, auch die in OKs sind üblicherweise potentialfrei. Dadurch kann man die Ansteuerung Bei Benutzung einer Matrix stark vereinfachen. Man braucht dann nur zwei 8 aus 3 Dekoder. Gruss Harald
Michael Gromov schrieb: > wie soll das gehen? hast du dann nicht max 16 ausgaenge? Indem man sie als Matrix anordnet. Mit dem einen Decoder wählt man 1 Zeile aus 8 möglichen aus. Mit dem anderen Decoder wählt man dann aus dieser Zeile 1 von 8 Spalten aus. Über den Zeilentreiber wird quasi 1 von 8 Zeilen an + gelegt. Mit dem Spaltentreiber wird 1 von 8 Spalten an - gelegt. Die LED, die im Schnittpunkt der Zeile und Spalte sitzt, leuchtet. Allen andern fehlt was. Entweder sie sind nicht an + geschaltet oder sie sind nicht an - geschaltet.
Karl Heinz Buchegger schrieb: > Michael Gromov schrieb: >> wie soll das gehen? hast du dann nicht max 16 ausgaenge? > > Indem man sie als Matrix anordnet. Tja, zwechs Weiterbildung hätte man eben gestern abend den Film auf Kabel 1 ansehen müssen. Nächsten Mittwoch geht die Weiterbildung dann in den zweiten Teil. :-) Gruss Harald
:D ja hab ich verpasst. würde das auch mit einem Strom vom 300mA klappen? denn dabei würde der strom über die decoder fließen
vergiss es. Dazu musst du den Verbraucher potentialfrei schalten können. Und das kannst du mit deinen Mosfet nicht.
Am Anfang stand noch die Frage ob es das mit Invertern gibt. Schau mal die beiden 4-zu-16-Decoder 74HC4514 und 4515 an, die unterscheiden sich genau darin http://www.alldatasheet.com/datasheet-pdf/pdf/15626/PHILIPS/74HC4514.html http://www.alldatasheet.com/datasheet-pdf/pdf/15629/PHILIPS/74HC4515D.html
Michael Gromov schrieb: > würde das auch mit einem Strom vom 300mA klappen? denn dabei würde der > strom über die decoder fließen Du kannst natürlich Transistoren am Ausgang der Decoder haben. Die Decoder sind ja selbst auch nicht potientialfrei. Danach können die LEDs sehr wohl in einer Matrix angeordnet sein, denn die LEDs sind ja potentialfrei. Ist das wirklich so schwer zu verstehen?
Machs so wie hier Beitrag "Re: 8x BCD-2-dec fuer 55 Outputs - Tabelle" beschrieben und schalte Transistoren hinter die Decoderausgänge, dann wird alles gut. Nur die LEDs gehören in die Matrix.
Prinzipschaltbild - nur ein Teil der Matrix. jeweils 3 Bit steuern Spalte und Reihe.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.