Hallo Leute, bevor ich hier einen dummen Fehler begehe, frage ich doch einfach einmal nach. Ich habe vor, 32 bit aus einem (8 bit)-Flash-Baustein mittels 74HCT165 seriell rauszuschieben. Ich würde einen Zähler nehmen, der die Adresse vom Flash hochzählt und diesen mit dem gleichen Takt wie den 74HCT165 takten wollen. Es stellt sich nun die Frage nach den Timings. Wenn ich die Zählerausgänge 3-4 an die Adressleitungen des Flashs hänge und das Laden des Schieberegisters dann triggere, wenn die Adressleitungen 0-2 alle low sind, frage ich mich, ob mir danach der erste Schiebepuls nicht verloren geht, denn es würde ja quasi gleichzeitig der Taktpuls und die PL-Leitung ansteigen (bzw. die PL-Leitung aufgrund der Laufzeit des notwendigen Gatters (vermutlich zwei Gatter des 74HCT10 verschachtelt) sogar später ansteigen). Das wird doch vermutlich nicht gut gehen. Eine Idee könnte doch sein, die Zählerausgänge quasi um 1 zu verschieben, d.h. 4-5 an Flash, so dass man den 'halben' Takt an Ausgang 0 noch für den Trigger nehmen könnte. Gibt es vielleicht von Eurer Seite aus pfiffige Ideen dazu? Gruß, Florian
Zum Einen wuerde ich den 165 durch den 595 ersetzen, zum Anderen koennte man sich ueberlegen 1)auf einen Simulator damit 2)in ein CPLD damit Als Zaehler den 592 verwenden. Ein Controller ist nicht beim Projekt dabei ?
Bei diskreter Logik : Wenn die Schieberegister auf steigend schieben, koennte man auf fallend zaehlen.
wieso seriell rausschieben??? im prinzip hast du doch 4x8(32bit).. da könntest du 4 latches nehmen, welche du mit ein bisschen diskreter logik ansteuerst. adresse 000 001 010 011 100 101 110 111 die bits 0 und 1 sind entscheiden latch 0 wenn 00 latch 1 wenn 01 latch 2 wenn 10 latch 3 wenn 11 so kannst du das durch den gesamten speicher des flashs machen...
@Jaq: 595 hat einen seriellen Eingang, ich brauche aber einen parallelen. Ein Controller ist für die Anwendung leider zu langsam (es sei denn, man investiert genug dafür). @Sebastian: Das wichtigste ist in der Tat das serielle Rausschieben. Es geht um eine Art PWM --- nur eben mit 32 bit. Ein CPLD könnte die Lösung sein, dennoch wäre ich auch an einer diskreten Lösung interessiert. Das Grundproblem mit dem Schieberegister ist in meinen Augen, dass beim Laden schon das entspr. Bit anliegt und daher das Laden quasi gleichzeitig mit dem Umschalten der Adresse laufen muss. Vermutlich muss ich einen zweiten Zähler für die Flash-Adresse verwenden, der quasi einen halben Takt voreilt.
welche frequenz schwebt dir denn vor? müsstest ja quasi takt1 high incr zähler (daten1 liegen an) low lädt /PL (daten1 sind im ersten register) takt2 high incr zähler (daten2 liegen an) & Erster takt deiner pwm low lädt /PL (daten2 sind im ersten register) takt3 high incr zähler (daten3 liegen an) & zweiter takt deiner pwm low lädt /PL (daten3 sind im ersten register) nun folgen 29 takte shiften takt1 high incr zähler (daten1 liegen an) & Letzter takt deiner pwm low lädt /PL (daten1 sind im ersten register) viel spass mit ttl!!
ist machbar. mit 2 binärzählern und ein paar logischen verknüpfungen. der eine zählt den flash/eeprom. und der andere zählt bis 32.. dann kommst du mit einem takt ganz gut hin, glaube ich
Wenn ich mal von 20.000 Wiederholungen pro Sekunde ausgehe, wäre das ein Bit-Takt von 640 kHz. Ein PIC mit 12 MHz getaktet war leider deutlich zu langsam. Ich habe in der Zwischenzeit Datenblätter gewälzt und wenn ich mich nicht vertue, sollte ein ATmega16 mit 16 MHz eigentlich genug Dampf haben, da die Befehle wohl teilweise in einen Taktzyklus abgefertigt werden. Beim PIC hatte m.W. jeder Befehl 12 Takte, so dass man dann auf 1 MIPS kam. Das war ein wenig zu knapp für 640 kHz. Mit fast 16 MIPS vom ATmega16 sollte das dann aber reichen. Habe hier noch einen rumliegen und werde mal ein Layout basteln . Vielleicht habe ich ja Glück.
könnte man nicht vor dem schiebetakteingang eine kleine genau kalkulierte Zeitverzögerung einbauen. 74122 mit sehr kleinem c ? oder ein paar gatter hintereinander? Gruß Andi
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.