mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Baustein mit 8-Bit Register gesucht


Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es einen Baustein (5 V, TTL-Pegel) mit den folgenden Eigenschaften:

8 Eingänge
8 Register
8 Ausgänge
1 Takteingang
1 Reseteingang

Nach einem Takt wird der 8-Bit Eingangswert zum Registerinhalt addiert 
und auf dem Ausgang ausgegeben. Der Reseteingang setzt das Register auf 
Null.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATMega8 :)

Der hat sogar ein paar Pins mehr kann mehr und hat sogar 32
Register auch wenn nicht alle für alle Dinge benutzt werden können
und besitzt auch viel mehr Funktionen als einfache I/O Dinge.
Wie schnell soll das ganze denn von statten gehen?
Je nach dem Fällt dann ein µC raus.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Nach einem Takt wird der 8-Bit Eingangswert zum Registerinhalt addiert
>und auf dem Ausgang ausgegeben. Der Reseteingang setzt das Register auf
>Null.

Als TTL/CMOS mit Sicherheit nicht.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In TTL/CMOS Logik läuft das auf 3 Bausteine raus. 2x 4-Bit Adder und 1x 
Register.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups:

>zum Registerinhalt addiert

habe ich überlesen. sorry

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gast

Der ATMega8 ist ein guter Vorschlag. Leider aber zu langsam.

@Z8

Der Eingangswert soll mehrfach addiert werden.

---

Es würde mit zwei 4-Bit Addierern 74HCT83 und einem 8-Bit Latch 74HCT573 
gehen. Aber ab drei Bausteinen beginnt ja schon ein "TTL-Grab".

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin H.
Wie schnell muss es denn sein?

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all

Da haben sich ein paar Beiträge gekreuzt.

Vielen Dank für eure Antworten und Informationen.

Wäre ja auch zu schön gewesen, dies in einem Baustein zusammengefaßt zu 
bekommen.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

2,4 MHz Taktfrequenz

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin H.
> 2,4 MHz Taktfrequenz

Warum ist dir dann ein Mega8 zu langsam?

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

20 MHz / 2,4 MHz = 8 1/3 Takte


Mit deiner Frage deutest du schon an, daß du weißt wie es mit den paar 
Takten geht. Nur raus damit!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein fertiges IC mit diesen Funktionen ist mir nicht bekannt. Ein GAL
würde die funktionellen und zeitlichen Anforderungen aber erfüllen.
Ein 16V8 könnte schon ausreichen.

Mit einem Mega8 geht das natürlich auch. Allerdings braucht er nach
meinen Überlegungen 6 Zyklen pro Schleifendurchlauf, so dass er für
2,5MHz Signalfrequenz mindestens mit 14,4MHz getaktet werden muss, was
wiederum einen externen Quarz oder Oszillator erfordert, der zusätzlich
Platz braucht.

Autor: Bernd G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmier dir doch einen CPLD: z.B. XC 9536 oder -XL (bei 3,3 V).
Klein, preiswert und sparsam.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schrieb:

> Allerdings braucht er nach meinen Überlegungen 6 Zyklen pro
> Schleifendurchlauf,

Hoppla, da hatte ich den Takteingang vergessen (der Reset war
berücksichtigt). Dann werden's wohl ein paar Zyklen mehr. Aber besonders
elegant ist die AVR-Lösung in meinen Augen sowieso nicht ;-)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ist noch wann der Eregniss am Ausgang vorhanden sein soll. Es 
würde ja auf jeden Fall mit einem µC verzögert erscheinen. Gibt es auch 
einen Ausgangstakt?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yalu wrote:

> Ein fertiges IC mit diesen Funktionen ist mir nicht bekannt. Ein GAL
> würde die funktionellen und zeitlichen Anforderungen aber erfüllen.
> Ein 16V8 könnte schon ausreichen.

Bist du sicher, dass ein 16V8 einen 8-Bit Accumulator hinkriegt? Könnten 
die Terme eng werden.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Ausgangstakt gibt es nicht.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lLoop:
 in    reg,        datenport        ; 1T
 sbis  statusport, takt             ; 2T
 add   reg,        reg              ; 1T
 sbis  status,     reset            ; 2T
 clr   reg,        reg              ; 1T
 out   datenport,  reg              ; 2T
 rjump lLoop                        ; 2T

maximale Laufzeit 11 : Takte 20MHz / 11 -> 1,8 MHz

schade !!!

Ein ATmega geht nicht aber ein LPC2000 oder ARM7?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:

> Bist du sicher, dass ein 16V8 einen 8-Bit Adder hinkriegt?

Nein, sonst hätte ich nicht " könnte ausreichen" geschrieben ;-)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnelle I/O ist nicht die starke Seite der ARMs. Die PIC24H/dsPIC33 
sind da besser aufgestellt. 40MHz Takt, und das müsste eigentlich mit in 
einem einzigen Befehl plus Schleife funktionieren. Wenn das Reset Signal 
nicht genause schnell sein muss => Hardware-Reset, spart Code und damit 
Zeit.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit:

>out   datenport,  reg              ; 1T

jetzt sind schon 2MHz mit einem ATmega 88

evtl habe ich noch was übersehen? Schaut mal bitte drüber!

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bist du sicher, dass ein 16V8 einen 8-Bit Accumulator hinkriegt? Könnten
>die Terme eng werden.

Das geht in einem 16V8 nicht rein. Habe ich vor Jahren schon mal 
versucht.




Gruss helmi

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Beim PIC hatte ich den Takt vergessen. Also doch ein paar Befehle 
mehr. Beim Takt entsteht das Problem, auch im oben gezeigten AVR Code, 
dass man besser auf die Flanke und nicht auf den Zustand gehen sollte, 
sonst addiert er gern auch mehrfach. 2,4MHz schafft der aber in jedem 
Fall.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Z8 schrieb:

> maximale Laufzeit 11 : Takte 20MHz / 11 -> 1,8 MHz

> jetzt sind schon 2MHz mit einem ATmega 88

sbis und der jeweils nachfolgende Befehl brauchen zusammen jeweils 2
Zyklen, unabhängig davon, was das Ergebnis der Prüfung ist), damit wären
wir schon bei 8 Zyklen, d.h. es geht :)

Aber: Martin hätte wahrscheinlich gerne Flankentriggerung für den
Takteingang, da sonst bei länger anliegendem aktiven Taktpegel der Wert
unkontrolliert hochgezählt wird. Dann klappt es mit den 8 Zyklen doch
nicht :(

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Z8

Im Programm ist der Wurm drin. Ein 8-Bit Port des ATMega8 soll als 
Eingangsport dienen, ein zweiter 8-Bit Port als Ausgangsport.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut Lenzen schrieb:

>> Bist du sicher, dass ein 16V8 einen 8-Bit Accumulator hinkriegt?
>> Könnten die Terme eng werden.
>
> Das geht in einem 16V8 nicht rein. Habe ich vor Jahren schon mal
> versucht.

Schade. Ja, dann wird's wohl doch eher ein CPLD ala XC9536 werden, das
aber eigentlich schon wieder etwas oversized ist.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin H. wrote:

> Es würde mit zwei 4-Bit Addierern 74HCT83 und einem 8-Bit Latch 74HCT573
> gehen. Aber ab drei Bausteinen beginnt ja schon ein "TTL-Grab".

Den 74HC83 wirst du schlecht kriegen, eher schon den 74HC283. Und den 
74HC273 als Register. Der '573 hat erstens kein Reset und ist zweitens 
ein transparentes Latch was hier nicht sehr hilfreich ist.

Und ein CPLD tut das zwar auch, aber in diesem Fall ist das "CMOS Grab" 
wohl doch einfacher.

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A. K.

Danke für den Tipp mit dem 74HC283 und dem 74HC283.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.include "m32def.inc"
.def akku = r17
.def reg  = r16
#define data PORTD
#define output PORTC

.org 0x0 
  rjmp init
.org INT0addr
  rjmp reset
.org INT1addr     ; 4 - 5 Takte Interupt
 in reg, data     ; 1
 add reg, akku    ; 1
 out output, akku ; 1
;--------------------------
          ; max     8 Takte

loop:
sei
rjmp loop


init:
// Init Interupts
// Enable Interupts

reset:      ;4-5 Takte Interrupt + 2 rjmp
clr akku    ;1 Takt
;----------------------
       ; max 8 Takte
out output, akku ; 1
sei
nop         
rjmp loop
Braucht nen AVR mit 2 vollständigen 8 bit Ports und die Bereitschaft so 
ein wirres Programmkonstrukt einzusetzen... Takt liegt dabei auf INT1 
und reset auf INT0, der Mega32 sollte 20MHz noch schaffen ;)

Martin H. wrote:
> 20 MHz / 2,4 MHz = 8 1/3 Takte
Bleiben noch 1/3 Takte über :)

Wen man ICP oder PCINT nuzt kann man das clear noch da mit reinquetschen 
falls einem die verzögerung der ausgabe um maximal einen Takt zu lange 
ist beim Reset...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Martin H. (Gast)

>Nach einem Takt wird der 8-Bit Eingangswert zum Registerinhalt addiert
>und auf dem Ausgang ausgegeben. Der Reseteingang setzt das Register auf
>Null.

Sag mal lieber was du im Grossen und Ganzen machen willst. Dann kann man 
nämlich auch viel bessere Tips geben.

MfG
Falk

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Läubi: Bischen ungünstig daran ist, dass der Stack munter im ganzen 
Datenadressraum reihum reinschreibt. Alles wird ohne Rücksicht auf 
Verluste platt gebügelt, egal ob RAM, Register oder I/O. Einen weiterer 
Befehl für die Re-Inititialisierung von SP sollte schon sein.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 wrote:

> Als TTL/CMOS mit Sicherheit nicht.

Gegeben hat das mal, 4bittig allerdings. '482 und '681 beispielsweise. 
Sind aber heute allenfalls noch in irgendeinem Museum zu finden. Der 
SN74S482 dürfte in manchen Minicomputern der 70er gesteckt haben.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Läubi:

Die Idee mit dem nicht zurückkehrenden Interrupthandler finde ich
etwas hackish, aber cool :)

Der Einwand von A. K. ist aber nicht ganz unbegründet, da im
Adressraum des RAMs eben auch die I/O- und Datenregister liegen.

Von der Zeitdauer bin ich mir auch nicht ganz sicher, ob das klappt:
Der Interrupthandler braucht für IN, ADD, OUT und SEI 4 Zyklen. Im
Datenblatt steht:

  "The instruction following SEI will be executed before any pending
  interrupts."

Also wird auch der RJMP (2 Zyklen) noch vor dem nächsten Interrupt
ausgeführt. Erst jetzt kommt der eigentliche Interrupthandler-Aufruf,
der noch einmal 4 Zyklen dauert.

Das macht zusammen 10 Zyklen, oder habe ich mich vertan?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das macht zusammen 10 Zyklen, oder habe ich mich vertan?

Edit: Du kannst natürlich den SEI vor den OUT schreiben, dann sollte
zumindest dieses Problem behoben sein :)

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Edit 2: Bei 8 Zyklen für die vollständige Ausführung eines Interrupts
hat man ja noch 0,33 Zyklen übrig. Diese könnte man dazu nutzen, in
einem periodischen Timerinterrupt mit relativ großer Periodendauer den
Stackpointer (zumindest dessen H-Byte) zurückzusetzen. Dann ist zwar die
Verzögerungszeit nicht mehr konstant, aber im Mittel können die 8,33
Zyklen eingehalten werden.

Ich gebe aber keine Garantieo darauf, dass das wirklich funktioniert ;-)

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Edit 3: Das Rücksetzen des Stackpointers muss nicht in einem
Timerinterrupt, sondern kann auch einfach zwischen dem OUT und der
Endlosschleife im INT1-Handler geschehen. Dort vergrößert das Rücksetzen
die Verzögerungszeit überhaupt nicht.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> .org INT1addr     ; 4 - 5 Takte Interupt
Es Dauert zwar 4-5 Takte bis man dort ist, aber wenn man in der ISR kann 
ja schon der nächste Takt kommen, damit sollte auch noch seit für ein 
RETI sein.

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
prx schrieb:

>Gegeben hat das mal, 4bittig allerdings. '482 und '681 beispielsweise.
>Sind aber heute allenfalls noch in irgendeinem Museum zu finden. Der
>SN74S482 dürfte in manchen Minicomputern der 70er gesteckt haben.

74LS181 gibt es bei Angelika (0,87 EUR)

MfG    Rainer

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, aber das bringt nichts, dem '181 fehlt das Register.
Im '482 ist es drin.

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Autor: Martin H. (Gast)
>Datum: 27.04.2009 16:50

>@Z8

>Im Programm ist der Wurm drin. Ein 8-Bit Port des ATMega8 soll als
>Eingangsport dienen, ein zweiter 8-Bit Port als Ausgangsport.

kleingeist. :)

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja okay das mit dem SP stimmt... aber man kann halt im Main oder so da 
noch was reinbauen könne, war mehr ein proof of concept ;)
nach dem sei könnte auch noch ein oder mehrer nops stehen ich frag mich 
eher wozu man so ein akku register nutzen will...
reti könnte man auch nutzen kostet anstelle des sei...

Alternativ könnte man auch den reset an reset vom AVR anschließen und 
den AVR mit dem X-fachen Takt takten wenn man eh taktsyncron zu einem 
System arbeiten will macht eine Flankenerkennung ja nicht unbedingt sinn

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Läubi ..,
hab ich nicht verstanden. !

Ich kommentiere mal alle Befehle, die normal
nicht ausgefüht werden aus.

lLoop:
 in    reg,          datenINport      ; 1T
 sbis  statusport,   takt             ; 2T
 add   reg,          reg              ; 1T
 sbis  status,       reset            ; 2T
; clr   reg,          reg              ; 1T
 out   datenOUTport, reg              ; 1T
 rjmp lLoop                           ; 2T

20 MHz / 9 Takte -> 2,23 MHz

Das normale Aufsummieren geht mit 2,2MHz.

Schade, reicht immer noch nicht ! :(

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lLoop:
 in    reg,          datenINport      ; 1T
 sbis  statusport,   takt             ; 2T
 add   reg,          reg              ; 0T (bereits in sbis "drin")
 out   datenOUTport, reg              ; 1T
rjmp lLoop                            ; 2T
;-----------------------------------------
;                                       6 Takte
sbis braucht 2(resp 3 bei 2 Word Befehlen) Takte wenn die Bedingung gilt 
(skip wird ausgeführt) sonst einen Takt. d.h. ein Takt ist doppelt 
gezählt!

Ohne das rjmp sind es zudem nur 8 Words, wenn du also einen Proz nimmst 
der ein vielfaches von 8 Words hast, kannst du einfach den ganzen Flasch 
vollschreiben, am ende gehts automatisch wieder vorne los. macht dann 
nurnoch 4 Takte (Register sind nach dem Reset Defaultmäßig 0, einziges 
problem: Konfiguration in/out)

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Läubi .. (laeubi),

dann haben wir es doch :) -> M48/88
Herzlichen Dank Z8

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso und wegen dem X-fachen Takt...
loop:
in    reg,          datenINport      ; 1T
add   reg,          reg              ; 1T
out   datenOUTport, reg              ; 1T
rjmp loop                            ; 2T
Wenn du jezt den AVR an eine Taktquelle anschließt die den 5 fachen Takt 
deines Systems hat, dann läuft der AVR Syncron zu deinem Systemtakt und 
du kannst in jedem Takt eine akkumulation machen, dann natürlich auch 
keine Pause machen (außer du spendierst noch nen Clockenable in 
irgeneiner weise ;) )

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage blieb noch unbeantwortet: Ob die Reaktion auf Reset sich in 
den 2,4MHz Takt synchron einfügen muss, oder ob das eher eine 
Initialisierung mit reduzierter Zeitbedingung ist. In letzterem Fall 
kann man das aus der Schleife rausnehmen und direkt den Reset-Anschluss 
des Controllers verwenden.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Z8 wrote:
> Hi Läubi .. (laeubi),
>
> dann haben wir es doch :) -> M48/88
> Herzlichen Dank Z8

Der M88 hat aber nicht zwei "volle" 8-bit Ports! Ohne die Anwendung für 
das ganze zu kennen ist es aber eh etwas müßig ;)

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups keine Abfrage des Reset-Pins!?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Macht der Controller doch schon selber. Ist nur nicht ganz so schnell.

Autor: Holger T. (holgert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin H. wrote:
> Gibt es einen Baustein (5 V, TTL-Pegel) mit den folgenden Eigenschaften:
>
> 8 Eingänge
> 8 Register
> 8 Ausgänge
> 1 Takteingang
> 1 Reseteingang
>
> Nach einem Takt wird der 8-Bit Eingangswert zum Registerinhalt
> addiert und auf dem Ausgang ausgegeben. Der Reseteingang
> setzt das Register auf Null.


möglicherweise tun es ja auch 2 Stück LS385 (mit der richtigen 
Verdrahtung):

8 Eingänge: Input A
8 Register: SUM FlipFlop
8 Ausgänge: naja, die Ausgänge der SUM FFs eben
1 Takteingang: CLK
1 Reseteingang: CLR
S/_A auf Low
Eingang B0 auf Low
Eingänge B1..B7 mit jeweiligem Ausgang A des niederwertigeren Bits 
verbinden (A0..A6)

Autor: Martin H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Holger T.

Du hast recht, zwei LS385 erfüllen die Funktion. Es sieht aber so aus, 
daß der Baustein nicht an jeder Ecke zu haben ist.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viel Spass mit dem '385. Das gibt ein sehr interessantes Resultat. 
Ähnelt etwas einem Schieberegister. Da passiert nämlich auch dann etwas, 
wenn a=0 aber q!=0.

Das ist sind 4 einzelne serielle Addierer mit internem Übertrag aus 
dem Vortakt, keine Volladdierer plus Register.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Es gibt noch eine andere Möglichkeit: 64k- EPROM und Register. Acht 
Adressleitungen werden mit den Registerausgängen und die anderen acht 
mit den EPROM-Ausgängen verbunden. Die entsprechenden Speicherstellen 
enthalten die zugehörigen Summen. Ein Reset liesse sich über das 
Register und OE und Pull-Down-Widerstände realisieren. Vielleicht noch 
nicht
100%-ig ausgegoren. Aber so in der Richtung.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar. Nur ist ein EPROM auch nicht kleiner als 2 Adder.

Für Reset nimmst du das Clear vom 273 Register (asynchron) oder ein 
128KB EPROM (synchron). Das Ergebnis gibt's in beiden Fällen am 
Register, nicht am EPROM.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Nur ist ein EPROM auch nicht kleiner als 2 Adder.

Welche Adder? Soll er jetzt nun doch ein Museum ausrauben? Zumindest 
lässt sich mein Vorschlag mit BEs realisieren, die in jeder besseren 
Bastlerkiste rumliegen. Und Schnell genug ist es auch.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den 74HC283 gibt es auch ohne Raubzug, ganz banal bei Reichelt. Und ein 
paralleles (E)EPROM hat man heute eigentlich nur dann rumliegen, wenn 
man schon länger dabei ist, oder alten Kram ausschlachtet. Aber klar, 
wenn man das hat, und den nötigen Programmer, warum nicht.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein paar 27C512 könnte ich bei Bedarf beisteuern.

...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Den 74HC283 gibt es auch ohne Raubzug, ganz banal bei Reichelt.

Ok. Aber für die Aufgabenstellung langt das nicht ganz. Das ist dann 
auch noch etwas Logik notwendwendig.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Register 74HC273 dahinter, wie ich oben schon erwähnte. Aber sonst?

Autor: Holger T. (holgert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das ist sind 4 einzelne serielle Addierer mit internem Übertrag aus
> dem Vortakt, keine Volladdierer plus Register.

@A.K.
Du hast recht. Auch mein Beschaltungsvorschlag ist unsinnig - habe 
nochmal darüber nachgedacht. Also vergesst meinen Beitrag ganz schnell.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8 Bit getaktetes Register : 74364
2 * 4 Bit Volladierer: 74283

Das hier mit einm µC zu lösen ist vergleichbar emit die 200m bis zum 
Bäcker mit dem Auto zu fahren.
Es geht aber ........

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dem '364 fehlt die Clear/Reset-Funktion. Das '273 hat sie.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralph wrote:

> Das hier mit einm µC zu lösen ist vergleichbar emit die 200m bis zum
> Bäcker mit dem Auto zu fahren.

Ist ähnlich wie Kreuzworträtsel lösen. Meistens ziemlich sinnfrei, kann 
aber Spass machen. Manchen macht es auch Spass, 12 Leute in einen 
Kleinwagen zu quetschen. So darfst du das betrachten.

Autor: Bernd G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Schade. Ja, dann wird's wohl doch eher ein CPLD ala XC9536 werden, das
> aber eigentlich schon wieder etwas oversized ist.

Ich fasse es nicht!
Das Ding kostet mich bei Abnahme von 160 Stück (1 Tray) 70 ct, was schon 
teuer sein dürfte. Im Einzelhandel wird er vielleicht das dreifache 
kosten.
Dafür spart er Leiterplattenfläche, Verdrahtung und die Beschaffung von 
Uralt-Logikgattern. Das Ding addiert in Windeseile und nicht so 
lahmarschig wie ein Prozessor. Außerdem macht die Implementierung des 
Entwurfs in den Stein wesentlich mehr Freude als das Leiterplattenmalen.
Fehler werden durch Überprogrammieren behoben.



 Oh GOTT!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd G. schrieb:

>> Schade. Ja, dann wird's wohl doch eher ein CPLD ala XC9536 werden, das
>> aber eigentlich schon wieder etwas oversized ist.
>
> Ich fasse es nicht!
> ...
> Oh GOTT!

Jetzt aber :)
Warum denn so fassungslos?

Lies noch einmal meinen Beitrag von oben durch. Ich hatte den XC9536
weder mit Uralt-Logikgattern noch mit lahmarschigen Prozessoren
verglichen. Das "schade" bezog sich vielmehr darauf, dass man die
Aufgabe nicht mit einem 16V8-GAL lösen kann, das von der Anzahl der Ein-
und Ausgänge exakt passen würde und bzgl. Kosten, Leiterplattenfläche
und -layout eindeutig Vorteile gegenüber dem XC9536 hätte.

Von den Fähigkeiten des XC9536 wird hier nur ein Bruchteil genutzt,
deswegen schrieb ich "etwas oversized", womit ich aber nicht ausdrücken
wollte, dass es keine sinnvolle Lösung ist. Ob letztendlich das CPLD
oder die drei Logik-ICs das Optimum darstellen, hängt davon ab, ob man
dem Platzbedarf oder den Kosten den Vorrang gibt (beim XC9536 sind auch
die Kosten für die Programmierung zu berücksichtigen).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.