Hallo ich habe ein Problem: Mein Prozessor hat Datentabellen gespeichert (immer 8 Bits....) ich möchte aber immer nur 24 Bit zusammen ausgeben, d.h. zum Beispiel: - Enable IC1 8 Bit übertragen / einschreiben (soll nicht an den "Äußeren" 24 bit zu sehen sein) Enable IC2 8 Bit .... und IC3 - jetzt Enable Ausgabe alle 24 Bit ausgeben. Ich denke wenn man '273 als 8 Bit D Register (Eingeben und SPeichern) und dann '541 zur AUsgabe nimmt würde das gehen. Hat jemand eine Einfachere Idee? Gibt es ein IC der die Ausbage konstant läßt und dem ich aber schon am Eingang neue Daten bekannt machen kann? Vielen Dank schon mal!
Ja, nimm ein "8 bit serial shift register with latch". Unter dem Begriff solltest Du fündig werden.
Ja ich glaub ich weiss was Du meinnst, die kann man seriell hinter einande bauen und dann würde man auf einer Leitung alle 24 Bit reinschieben können und danach das ganze aktivieren ABER Ich hatte was vergessen, das soll schnell gehen. 3 x 8 Bit anlegen 3 x Enable vielleicht 6 x und dann 2 Mal ausgeben sind 11 Ausgaben und alles ist durch. Bei der seriellen Ausgabe muss man (denke ich wenigstens 26 oder mehr Ausgaben machen)
Wenn's nicht seriell geschehen soll... hast du 24 parallele Datenleitungen ausm Controller ?'Oder zumindest 8 parallele? Um welchen Controller geht es denn ?
Harry Haller schrieb: > Ja ich glaub ich weiss was Du meinnst, die kann man seriell hinter > einande bauen und dann würde man auf einer Leitung alle 24 Bit > reinschieben können und danach das ganze aktivieren ABER Ich hatte was > vergessen, das soll schnell gehen. 3 x 8 Bit anlegen 3 x Enable > vielleicht 6 x > und dann 2 Mal ausgeben sind 11 Ausgaben und alles ist durch. > Bei der seriellen Ausgabe muss man (denke ich wenigstens 26 oder mehr > Ausgaben machen) Alles schön und gut. Aber: in welcher Zeit! Das ist der entscheidende Punkt: In welchen Zeitabständen musst du die 24 Bit updaten können? Erst dann, wenn man das weiß, kann man abschätzen, ob es mit den dazu notwendigen Operationen am µC eng wird oder nicht.
:
Bearbeitet durch User
Harry Haller schrieb: > 3 x 8 Bit anlegen 3 x Enable in der Regel kannst du die hintereinanderhängen, sodass du in den ersten Chip alle 24 bit schiebst, und was der nicht aufnehmen kann wird an den folgenden weitergegeben (daisychain). Dann reicht auch ein gemeinsamer latch-anschluss. ansonsten könntest du mal die nötige Updaterate verraten...
Oder drei 8-Bit Shift Register "parallel" mit 3 Datenleitungen und einem Takt füttern. Dann sind es weniger I/O-Operationen, aber Du brauchst mehr Ports. Aber 8 hast Du offenbar!?
erst mal zum Prozessor R8C13 da hat 3 mal 8 Bit Ports und Takt bis 20 MHz Aus der Vergangenheit weiß ich das mechanicht Teile (Motor) gerne sehr genau angesteuert werden möchten. Die Grenzfrequenz weiß nich nocht nicht, warum sollte ich Sie durch serielles gerödel unnütz senken? Der RC8/13 kann an einem Port 8 Bit parallel ausgeben (ohne Probleme) darum will ich das so nutzen. Ich wollte doch nur wissen ob es eine Latch (Eingeben und Speichern) und Ausgeben bzw. Zustand halten IC gibt was beides kann. Ohne 2 8 Bit ICs zu verwenden. Das ist das Entscheidene.
Es geht um Motoren, da kann von "schnell" nicht die Rede sein. Der Mikrocontroller serialisiert die 24 Bits in wenigen Mikrosekunden. Motoren reagieren alleine schon aufgrund ihrer Masse mindestens 1000 mal träger.
> Ich wollte doch nur wissen ob es eine Latch (Eingeben und Speichern) > und Ausgeben bzw. Zustand halten IC gibt was beides kann. Na klar gibts das. Zum Beispiel das 74HCT595. Es hat einen Takteingang für serielle Eingabe, und einen weiteren Takteingang für parallele Ausgabe. Die Speicherung findet also zweistufig statt.
> Die Grenzfrequenz weiß nich nocht nicht, warum sollte ich Sie durch > serielles gerödel unnütz senken? Weil es einfach ist und wenige Leitungen erfordert. Frage Dich anders herum: Warum soll ich etwas auf eine Geschwindigkeit optimieren, die ich nicht brauche? Warum akzeptierst Du, dass Dein Blueray Player einige Sekunden zum Einschalten braucht? Warum bist Du mit einem Auto zufrieden, dass keine 300km/h fahren kann? Warum fliegst Du nicht mit dem Helikopter zur Arbeit, da er ja schneller ist. Warum schmierst Du Dir deine Butterbrote selbst? Man muss nicht alles machen, nur weil es machbar ist. Anders herum kann es durchaus valide sein, eine Schaltung unnötig kompliziert zu machen, wenn das dazu führt, dass anstatt neue "einfache" Bauteile auf gut bekannte und bewährte Teile setzen kannst. Nicht immer spielen Kosten und Größe eine wichtige Rolle.
Harry Haller schrieb: > Die Grenzfrequenz weiß nich nocht > nicht Dann solltest Du das mal feststellen. Man ermittelt immer erst die Anforderungen und danach baut man die Schaltung entsprechend auf. Nicht umgekehrt! Harry Haller schrieb: > ich möchte aber immer nur 24 Bit zusammen ausgeben Woher kommt diese Anforderung? Ist in der Praxis zumindest seltsam. Vielleicht mal 4 gleichzeitig, aber 24?
Harry Haller schrieb: > genau angesteuert werden möchten. Die Grenzfrequenz weiß nich nocht > nicht, warum sollte ich Sie durch serielles gerödel unnütz senken? Weil das serielle 'Gerödel' in Wirklichkeit kein Problem ist und du mit 595 und einem mit 20Mhz getaktetem Prozessor locker in Bereiche von 100kHz und darüber ohne besondere Anstrengung vordringen kannst. > Der RC8/13 kann an einem Port 8 Bit parallel ausgeben (ohne Probleme) > darum will ich das so nutzen. Aber um alle 24 Leitungen gemeinsam und gleichzeitig umzuschalten musst du ebenfalls Aufwand treiben. Aus Sicht eines µC stellt sich damit die Alternative * Aufwand UND 12 (8+3+1) Leitungen am µC blockiert * Aufwand UND lediglich 3 Leitungen am µC blockiert Die beiden Alternativen unterscheiden sich noch im Zeitverhalten, das in der ersten Version ein wenig schneller ist. D.h. man muss sich fragen: Ist das eine relevante Größe oder nicht. Wenn es nicht relevant ist, dann nehm ich die Version mit den 3 blockierten Leitungen. Denn die hat einen weiteren Vorteil. Brauch ich nicht 24 Leitungen sondern irgendwann mal deren 32, dann ist das trivial durchzuführen.
:
Bearbeitet durch User
Peter Dannegger schrieb: > Woher kommt diese Anforderung? Bitte nicht fragen. Würmer sind glitschig und wenn man ihn zu schnell aus der Nase ziehen will, rutscht man ab und fängt bei 0 an :)
Selbst Würmer kann man aber nur ziehen, wenn welche da sind. In dem Fall gibt es aber nicht mal Würmer, sondern nur ein trotziges "ich will aber schnell, und zwar sofort" ohne jede Vorstellung, was schnell eigentlich ist. Oliver
>Ich denke wenn man '273 als >8 Bit D Register (Eingeben und SPeichern) und dann '541 zur AUsgabe >nimmt würde das gehen. (ganz schön seltsame Formulierungen...) Nö. '541 bringt da nichts, der schaltet die Daten nur durch. Das kann auch beim '573 oder '574 gemacht werden. Wenn man tolerieren kann (*), dass sich von den 24 Bits jeweils 8 Bits einzeln ändern, reicht es 3x '573 oder '574 zu benutzen. (*) evtl bei der End-App ein Enable-Signal für die 24 Bits verwenden. Andere Möglichkeit, wie schon erwähnt, Seriell.
Also zum Umschalten: Mal als Beispiel: Ich nehme ein 1 aus 8 Dekoder, '138 der macht select von je einem 8 bit Latch 8 x select mit 3 Leitungen (+ 1 mal enable) und 8 x Daten und dann habe ich 64 Bit eingespeichert und die liegen an dem Speicherausgang an und dann -> ein mal Übernahme zum folgenden 8 ICs und schon wandern 64 Bit Daten weiter Also ob 24 oder 64 oder 128 BIt braucht nur vielfaches von 8 als Hardware und ab und zu ein Bit für den Dekoder.
MCUA schrieb: > Das kann auch beim '573 oder '574 gemacht werden. mein ich auch, der 573 hört sich doch an wie gemacht dafür...8 Eingänge, 8 Ausgänge, 1 Pin zum Latchen der Daten, 1 Pin zum aktivieren der Ausgänge
Harry Haller schrieb: > Ich nehme ein 1 aus 8 Dekoder, '138 der macht select von je einem 8 bit > Latch Na das geht doch noch viel viel umständlicher. Ich würde einen Cyclone II nehmen.
> Selbst Würmer kann man aber nur ziehen, wenn welche da sind. Deshalb ja CPLD, da kann er sich dann später irgendwas ausdenken. Das passt schon!
> Ich nehme ein 1 aus 8 Dekoder, '138 der macht select von je einem 8 bit > Latch Naja, für 24bit (3 x 8bit-Latch) braucht man auch nur 3 Leitungen zum selektieren. Da kann man den '138 weglassen, bringt nur ein unnötiges Delay. Soll ja "schnell" sein. Blackbird
>Naja, für 24bit (3 x 8bit-Latch) braucht man auch nur 3 Leitungen zum >selektieren. Da kann man den '138 weglassen, bringt nur ein unnötiges >Delay. '138 ist doch gut, hat dann mehr Möglicheiten (falls ers benutzten kann). Das zus. Delay wird im konkr Fall nicht ins Gewicht fallen.
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.