Ich versuche, eine Einheit herzustellen, in der 4 Ziffern in kurzer Zeit von einem Einzelzyklus-Mikrocontroller aktualisiert werden können (vorzugsweise alle Ziffern werden innerhalb von 5 uS aktualisiert).
Meine Schaltung ist wie folgt aufgebaut (ich habe der Einfachheit halber 7-Segment-Anzeigen und Widerstände ausgeschlossen). Die Schieberegister sind 74HC595 und der Multivibrator links ist der CD4538, aber ich denke, ich muss das auf 74HC4538 aktualisieren (bestätigt das jemand?)
Ich habe einen Multivibrator, weil die Schieberegister den Registertakt umschalten müssen, um die neuen Daten anzuzeigen, die hineingeschoben werden. Indem ich also einen hinzufügte, eliminierte ich die Notwendigkeit eines dritten Drahtes vom Mikro, der nur den Wert aktualisiert.
Der Widerstand beträgt 10K und der Kondensator 1nF.
Wenn ich ein langsameres Mikro wie das AT89S52 verwende, das GPIO-Pins bestenfalls 1/2 Mikrosekunde aktualisieren kann (mit 22-MHz-Quarz), dann hat diese Schaltung kein Problem. Aber wenn ich anfange, den Hochgeschwindigkeits-Single-Cycle-Mikrocontroller zu verwenden, könnten GPIO-Pins so schnell wie 20 nS aktualisiert werden.
Was kann ich tun, um diese Schaltung zu verbessern, ohne Teile neu anzuordnen? Soll ich einfach den Multivibrator aufrüsten und den Kondensatorwert senken?
Beachten Sie, dass der auf diese Weise verwendete 595 ein Problem hat: Der Daisy-Chain-Ausgang ändert sich mit derselben Taktflanke wie der Eingang der nächsten Chip-Samples. Ein Chip, der wirklich für diese Art von Verwendung ausgelegt ist (IIRC gibt es in der CD-Serie), hat einen verzögerten Daisy-Chain-Ausgang.
Sie können dieses Problem mindern, indem Sie:
Ich verstehe nicht, warum Sie diesen 4538 verwenden. Wenn Sie nur immer die letzten (sich verschiebenden!) Daten an den Ausgängen haben möchten, können Sie SCK und SLK einfach miteinander verbinden. Abhängig von Ihrem Aktualisierungs-/Leerlaufverhältnis treten Geisterbilder auf.
Elliot Alderson
Phil g
Kreuzung
Kreuzung