Gast
#5988875
Hallöchen! Weiss vielleicht jemand wieviele Zyklen so ein alter 8051 benötigt, bis der erste Befehl in der Interrupt-Routine beginnt (nach dem Interrupt-Auslösen) ? Ich finde mit google nichts passendes.
|
Anzeige
|
8051 Interrupt Verzögerung bis erster Befehl ?
Gast
#5988875
Hallöchen! Weiss vielleicht jemand wieviele Zyklen so ein alter 8051 benötigt, bis der erste Befehl in der Interrupt-Routine beginnt (nach dem Interrupt-Auslösen) ? Ich finde mit google nichts passendes. Das hängt von der verwendeten Programmiersprache ab. Ingo L. schrieb: > Das hängt von der verwendeten Programmiersprache ab. Bestimmt nicht! http://eia.udg.es/~gomis/all8051.pdf Seite 3-25 steht etwas ueber die Reponse Time.
Gast
#5988891
Hallo Dummchen, miete dir etwas Hirn und lese das Datenblatt deines 8051-Derivats durch. Boris.
Gast
#5988892
Kommt auf den gerade laufenden Befehl an. Der braucht X Zyklen. Bei 12 Takten pro Zyklus...also x mal 12 Takte sofern kein andrer Int. läuft der das verbietet. Die Anzahl der Zyklen/ Befehl steht im DB.
Gast
#5988895
Dumme Frage schrieb: > Ich finde mit google nichts passendes. Falsch gesucht? http://public.beuth-hochschule.de/~rozek/pdf/MC65-Teil6.pdf
Gast
#5988899
für die bestenfalls erreichbaren Werte siehe z.B. Abschnitt 2.16.3 von http://ww1.microchip.com/downloads/en/DeviceDoc/doc4316.pdf
Gast
#5988918
Eher von der verwendeten CPU. Der 8051 braucht 3-9 Maschinenzyklen, jeder Maschinenzyklus ist 12 Taktzyklen. Moderne Versionen sind meist schneller. Stichworte zum Suchen "interrupt latency" oder "interrupt response time" Beim Silabs ist das Stichwort im Manual "Interrupt Latency" und es beträgt im Minimum 5 Taktzyklen (das 12-Takte-pro-Zyklus-Ding gehört der Vergangenheit an), kann aber je nachdem was der Prozessor gerade macht im schlimmsten Fall auch mal bis zu 18 Takte dauern.
Gast
#5988959
Bernd K. schrieb: > (das 12-Takte-pro-Zyklus-Ding gehört der > Vergangenheit an), ja ja lesen. Er sprach von dem ALTEN 8051. Das es mit Silabs schneller geht wissen wir. mul braucht im Original 4 Zyklen bei einem 12 Cocker sind das 48 Quarz Takte dazu kommt die Zeit um die Return Addresse auf den Stack zu schreiben das sind (aus der Erinnerung) noch mal 24 Takte. Das sind bei 12MHz 6us bis der Interrupt aktiv wird. Dazu kommt ein delay aus einem bereits laufenden Interrupt falls der neue Interrupt eine geringere Priorität hat. Thomas
Gast
#5988998
Stephan schrieb: > Bernd K. schrieb: >> (das 12-Takte-pro-Zyklus-Ding gehört der >> Vergangenheit an), > > ja ja lesen. Er sprach von dem ALTEN 8051. Das es mit Silabs schneller > geht wissen wir. Nicht nur Silabs, auch olle Temic (später Atmel) sind schneller, wies bei den Winbond mit 40Mhz aussieht weiß ich nicht... Gruß, Holm
Gast
#5989274
Stephan schrieb: > Kommt auf den gerade laufenden Befehl an. Der braucht X Zyklen. > Bei 12 Takten pro Zyklus...also x mal 12 Takte sofern kein andrer Int. > läuft der das verbietet. Die Anzahl der Zyklen/ Befehl steht im DB. Richtig. http://www.cast-inc.com/blog/8051-interrupt-latency-designing-with-modern-8-bit-mcus
Gast
#5989345
Hängt vom Befehl und der CPU ab! Die aktuellen 8051er brauchen keine 12 Takte mehr! (der echte MaWin) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|