Hallo uC.net, ich hätte da mal so eine Frage zu den Tutorials bzgl. der 74HCT595 und *165 Schieberegister. In den Anleitungen (hier und anderswo) wird der Schiebetakt ja erzeugt, indem man den SCK Pin mit zwei direkt aufeinanderfolgenden Anweisungen einmal LOW und dann sofort wieder HIGH setzt. Funktioniert ja auch prima... Aber wenn man das so macht, dann ist doch die Pulsdauer des Schiebetaktes abhängig von der Geschwindigkeit des Controllers, oder nicht? Müsste man nicht optimalerweise sicherstellen, dass der Puls nicht zu kurz ist? In diesem Datenblatt: https://assets.nexperia.com/documents/data-sheet/74HC_HCT595.pdf ... gibt es auf Seite 9 ganz unten ja eine Angabe zur Pulse-Width. Bei 5V VCC liegt diese, abhängig von der Temparatur, zwischen 15 und 22ns. Bei 2V immerhin schon zwischen 75 und 110ns. Gehe ich recht in der Annahme, dass die Pulsdauer des Taktsignals an SHCP/SCK also die dort angegebene Zeit nicht unterschreiten darf? Geht mir nur um's Verständnis... bei meinen Anwendungen werde ich solche Zeiten wohl ohnehin nicht erreichen ;) Merci, milo
Die Pulszeit darf natürlich nicht unter tmin kommen, und so oder so ist das von der Taktfrequenz des Controllers abhängig. Je nach Controller sollte man nicht direkt ein- und ausschalten, denn das kann u.U. zu kurz werden. Anstatt Daten/Takt anlegen/Takt ausmachen/von vorn könnte man Takt anlegen/Daten/Takt aus/von vorn, dann sind beide Zeiten maximal lang und gleichzeitig minimal kurz. Allerdings muss man hier wieder aufpassen, das es genug Überlappung gibt, denn die Daten müssen ja lang genug anliegen wenn das LAtch scharfgeschaltet wird und noch lang genug anliegen wenn es speichern soll. Zur not müssen noch ein paar NOPs rein...
Milo schrieb: > Aber wenn man das so macht, dann ist doch die Pulsdauer des > Schiebetaktes abhängig von der Geschwindigkeit des Controllers, oder > nicht? Ja > Müsste man nicht optimalerweise sicherstellen, dass der Puls > nicht zu kurz ist? Ja, es sei denn, der Mikrocontroller kann gar nicht zu schnell sein. > Zur not müssen noch ein paar NOPs rein... genau
Meist reicht es grob zu sagen: 20MHz Befehlstakt, dann hab ich max. 10MHz Clock. Es kann aber prinzipiell sein, dass low-high schneller geht als high-low oder umgekehrt. Von daher ggf. Blick ins Datenblatt. Aber mal ehrlich, wenn der Controller schnell genug ist, dann nimmt man doch hardware SPI. (Falls es nicht allgemeinwissen ist: SPI ist dafür gedacht, ein Schieberegister ein- und auszulesen, die intelligenten Slaves kamen später)
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.