Hallo zusammen ich hätte eine blöde frage und zwar geht es um meinen Praktikumsversuch ,ich habe viel im Internet recherchiert aber nix gefunden . also wie kann man die Zeit an einem angeschlossenen Mikrocontroller Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? gibt es eine bistimmte Formel dafür Danke im Voraus
NichtWichtig schrieb: > Klarer Fall von RTFM Klarer Fall von zu fauler Schüler. Rechtschreibung, Plenken ....
Samo Z. schrieb: > gibt es eine bistimmte Formel dafür Nein, aber Tabellen - Befehle brauchen unterschiedlich viele Taktzyklen, und sowieso ist das bei jedem Prozessor anders. M.a.W. Ja, es gibt Formeln, mindestens 1 Million davon. Georg
... und wenn man seine eigenen Fragen schon als blöd hinstellt ....
NichtWichtig schrieb: > Klarer Fall von RTFM ;) Klarer Fall von Selbstbeweihräucherung! Sag ihm doch zumindest worauf er schauen soll. Nicht alle sind so schlau wie Du. Lehrer schrieb: > Klarer Fall von zu fauler Schüler. > Rechtschreibung, Plenken .... Ich verstehe wirklich nicht, was ihr immer mit dem Plenken für ein Problem habt. Klar ist das nicht so schön. Aber wenn man bei iOS die Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das abzuschalten. Für den TO: Schau Dir mal die Befehlstabellen der Prozessoren an. Da ist für die einzelnen Befehle auch die Zahl der Taktzyklen angegeben. Zusammen mir dem Takt ist der Rest leicht zu rechnen. Aber Achtung: Quartz-Takt ist nicht unbedingt der CPU-Takt.
Samo Z. schrieb: > also wie kann man die Zeit an einem angeschlossenen Mikrocontroller > Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? Kannst du das bitte noch mal als vollständigen und verständlichen Satz formulieren?
Horst V. schrieb: > Aber wenn man bei iOS die > Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / > Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht > mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das > abzuschalten. Dann muss man eben händisch die Leerzeichen entfernen.
Samo Z. schrieb: > also wie kann man die Zeit an einem angeschlossenen Mikrocontroller > Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? > gibt es eine bistimmte Formel dafür > Danke im Voraus Wenn der Eingangstakt nicht weiter runtergeteilt wird, dauert eben ein Takt = 1/10MHz = 100ns. Der Rest ist Fleißarbeit. Du brauchst vom Programm das Assemblerlistung. Darin siehst du alle verwendeten Befehle. Jetzt musste im Datenblatt/Manual nachschauen welcher Befehl wieviel Takte benötigt, alles addieren und mit 100ns multiplizieren. Mehr Zauber ist das nicht. Bei AVR unter 'Instruction Set' zu finden. Neuerdings ist das ein separates .pdf.
> Der Rest ist Fleißarbeit. Du brauchst vom Programm das Assemblerlistung. > Darin siehst du alle verwendeten Befehle. Jetzt musste im > Datenblatt/Manual nachschauen welcher Befehl wieviel Takte benötigt, > alles addieren und mit 100ns multiplizieren. Mehr Zauber ist das nicht. > Bei AVR unter 'Instruction Set' zu finden. Neuerdings ist das ein > separates .pdf. ich bin neu hier und in dem 3 semester und das ist mein erster Praktiumsversuch deswegen habe ich gar keine Vorkenntnisse dafür aber deine Antwort Passt sehr gut zu meinen Recherchen ,da ich für zwei Takte 200ns berechnet habe Vielen Dank und wünsche dir ein schönes Wochenende MfG
Horst V. schrieb: > Ich verstehe wirklich nicht, was ihr immer mit dem Plenken für ein > Problem habt. Klar ist das nicht so schön. Aber wenn man bei iOS die > Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / > Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht > mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das > abzuschalten. Dabei wäre das doch SOOO einfach: Kein iOS benutzen... Problem->Lösung.
Beitrag #6451501 wurde von einem Moderator gelöscht.
Beitrag #6451512 wurde von einem Moderator gelöscht.
Samo Z. schrieb: > also wie kann man die Zeit an einem angeschlossenen Mikrocontroller > Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? Das kann man nicht pauschal sagen. Da muß man immer im Datenblatt des expliziten MC nachschauen. Ein MC kann mit der Quarzfrequenz laufen. Manche MCs haben aber auch einen festen oder aktivierbaren Vorteiler. Es gibt aber auch MCs mit Frequenzvervielfacher. Und dann muß man halt schauen, wie viele Takte die einzelnen Befehle benötigen.
>also wie kann man die Zeit an einem angeschlossenen Mikrocontroller >Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? Hallo, um das Geschriebene zu verstehen, schlage ich vor, dem ersten Teil ein Verb zu spendieren, z.B. messen oder bestimmen. Im nachfolgenden Teil, der vermutlich als Relativsatz gedacht sein sollte und den man im dritten Semester aus Zeitgründen am besten verkürzt, füge ich ein "er" ein, da mir weibliche Mikrocontroller erfahrungsgemäß noch nicht begegnet sind. Aber mit der Zeit wird auch das noch kommen... Die sehen dann schicker aus. Man braucht aber heutzutage seine im Internet veröffentlichten Schriebe nicht mehr nachlesen, um sie zu korrigierren, da dies andere gerne übernehmen. mfG
:
Bearbeitet durch User
Horst V. schrieb: > Aber wenn man bei iOS die > Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / > Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht > mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das > abzuschalten. Android machts wieder weg, wenn man dann ein Satzzeichen drückt. ;) Ich dachte, ein OS das den Usern das Denken immer mehr abnimmt, sollte es besser können? Wäre doch eine Innovation für die Eifon13's: Endlich eine Autokorrektur die funktioniert. So wie alles vom Android ein paar Generationen vorher geklaut, aber die Schafe werden es fressen. @Samo Du musst dich in ein Datenblatt für den Prozessor einlesen, den du benutzen willst. Da steht zum einen drin, wie der Oszillator im System benutzt wird, zum anderen, wie viele Systemtakte ein bestimmter Befehl braucht. Damit kann man sich dann zusammenreimen, wie schnell das Programm läuft.
Samo Z. schrieb: > also wie kann man die Zeit an einem angeschlossenen Mikrocontroller > Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? Das hängt von Controller ab. Z.B. bei dem 8751 dauert ein Befehl mit 10 MHz-Quarz 1,2, 2,4 oder 4,8 us, je nach Befehl.
:
Bearbeitet durch User
Christian S. schrieb: > Man braucht aber heutzutage seine im Internet veröffentlichten Schriebe > nicht mehr nachlesen, um sie zu korrigierren, ... ... nachzulesen ... ;-)
Jens M. schrieb: > Horst V. schrieb: > Aber wenn man bei iOS die > Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / > Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht > mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das > abzuschalten. > > Android machts wieder weg, wenn man dann ein Satzzeichen drückt. ;) By the way, iOS sollte das natürlich auch so machen. Bezüglich solcher Features nehmen die sich Beide nicht viel. Evtl. kann Horst das nochmal testen?
Nun regt euch nicht auf wegen des Plenkens. Bei manchen Typen in der Schreibmaschinenzeit ergab das Plenken ein schöneres Schriftbild. Meiner Meinung nach ist das einfach Geschmackssache, da es ja das Textverständnis in keiner Weise beeinflusst. hat das in irgendeiner Weise etwas mit der Frage des TO zu tun? hat das in irgendeiner Weise etwas mit der Frage des TO zu tun ? Hier sind die Leerzeichen äußerst üppig, da fällt das Plenken ja auf. Wenn das Leerzeichen nur die Breite eines Einzelbuchstabens hat, ist die Wirkung ganz anders; noch schlimmer siehts bei Schreibmaschine aus: da sitzt dann das Fragezeichen in möglichen Fällen direkt am vorangehenden Buchstaben, ohne Abstand drangequetscht. Außerdem gewinnt man durch das geplenkte ? etwas Zeitabstand zum Denken.
:
Bearbeitet durch User
Alles in allem ist das ein durchaus erfolgreicher Trollversuch. Sogar der Wochentag paßt. Einen Einmal-Account hat er auch angelegt. Chapeau!
Samo Z. schrieb: > und in dem 3 semester > aber deine Antwort Passt sehr gut zu meinen Recherchen ,da ich für zwei > Takte 200ns berechnet habe Das ist doch eigenständiges arbeiten, Informationsbeschaffung und korrekte Verarbeitung. Ok, Grundschulniveau, aber Lernwille und Grundverständnis ist offensichtlich vorhanden :-)
Christian S. schrieb: > füge ich ein "er" > ein, da mir weibliche Mikrocontroller erfahrungsgemäß noch nicht > begegnet sind. Sitzen zwei Emanzen am Frühstückstisch. Da sagt die eine zu der anderen: "Gib mir mal bitte die Salzstreuerin."
my2ct schrieb: > Christian S. schrieb: >> Man braucht aber heutzutage seine im Internet veröffentlichten Schriebe >> nicht mehr nachlesen, um sie zu korrigierren, ... > > ... nachzulesen ... > ;-) hast mich erwischt!
>Klarer Fall von RTFM ;)
Find ich zwar etwas hart, ist aber in diesem besonderen Fall zutreffend.
Manchmal wird der Takt intern geteilt; manchmal wird der Takt
vervielfacht.
Schon mit diesen einfachen Möglichkeiten sollte wohl klar werden, dass
es vor allem darauf ankommt, über welchen Mikrocontroller hier
gesprochen wird.
Diese Fragen werden aber nur im zugehörigen Manual erläutert. Hinzu
kommen noch Informationen, die wiederum auch Prozessorspezifisch sind,
wie viele Taktzyklen für den jeweiligen Befehl benötigt werden. Letztere
sind aber noch nicht mal über alle Befehle konstant.
Hat das Teil auch noch eine Pipeline wird es sogar richtig kompliziert.
Die richtige Antwort auf diese Frage lautet also: Kommt darauf an. Bzw.
(R)ead (T)he (M)anual.
Jens M. schrieb: > Horst V. schrieb: >> Aber wenn man bei iOS die >> Auto-Korrektur an hat, macht die SW nach jeder Ersetzung / >> Auto-Vervollständigung automatisch ein Leerzeichen hinter das Wort. Geht >> mir auch auf den Keks, habe aber noch keine Möglichkeit gefunden, das >> abzuschalten. > > Android machts wieder weg, wenn man dann ein Satzzeichen drückt. Bei iOS werden die Leerzeichen, die bei der Ersetzung/Auto-Vervollständigung hinzugefügt werden automatisch entfernt, wenn man direkt danach ein Satzzeichen eingibt. Um zu Plenken muss man schon aktiv ein Leerzeichen gefolgt von einem Satzzeichen eingeben.
Samo Z. schrieb: > gibt es eine bistimmte Formel dafür Nein. Das hängt sehr von Deinem Mikroprozessor ab, wie es selbstverständlich auch in den Datenblättern dieser MCUs steht. Der ganz olle 8051 hat z.B. den Takt durch 4 geteilt, weil er die intern benötigte. Schon beim STM8, einem extrem billigen kleinem Ding, kann man das nicht mehr so genau sagen, weil der versucht durch Tricks seine Hardwareeinheiten besser auszulasten. Die Frage ist aber obsolet. Niemand würde heute noch von vornherein ein Timing über das Zählen von Taktzyklen machen, wenn es einen anderen Weg gibt. Größer 100Mhz bekommst Du für lachhaftes Geld. Exaktes Timing macht man über Harwaretimer und IRQs und vermeidet möglichst Delay Konstrukte weil die alles blockieren. Also erkläre Dein Problem, was Du tun willst und Du bekommst bessere Antworten.
M. K. schrieb: > Exaktes Timing macht man über Harwaretimer und IRQs und vermeidet > möglichst Delay Konstrukte weil die alles blockieren. Wenn es um wenige us und unter 1 us geht, kann Harwaretimer wenig helfen. Als Beispiel: gestern habe ich mit ATMega und F_CPU=16MHz für das Lesen von externen Gerät experimentiert, was besser ankommt:
1 | asm volatile("lpm"); |
2 | asm volatile("nop"); |
1 | asm volatile("lpm"); |
2 | asm volatile("rjmp .+0"); |
oder
1 | asm volatile("lpm"); |
2 | asm volatile("lpm"); |
Solche Verzögerungen mit Hardwaretimer zu machen - wie geht das? Kann man mit dem Hardwaretimer eine Verzögerung zwischen 62,5 ns und 375 ns machen?
:
Bearbeitet durch User
Maxim B. schrieb: > Wenn es um wenige us und unter 1 us geht, kann Harwaretimer wenig > helfen. M. K. schrieb: > vermeidet > möglichst Delay Konstrukte Deswegen 'möglichts' und nicht 'immer' ;-)
>Quarz mit 10 Mhz ,die für Ausführungs eines Befehls benötigt ? >gibt es eine bistimmte Formel dafür Natürlich. Diese Zeitspanne beträgt bei 10 MHz Quarzfrequenz
Darin ist n = 1, 2, 3,... die Anzahl der Takte zur Ausführung der betreffenden Instruktion durch den Controller. Die entsprechenden Werte sind üblicherweise in einer Tabelle im Datenblatt aufgelistet. Bei komplexen Controllern, die mit Tricks arbeiten, kann man für n sicher noch einen (dann wahrscheinlich nicht mehr ganzzahligen) Mittelwert angeben, berechnen oder in einem konkreten Anwendungsfall durch Messung bestimmen und die Formel bliebe in diesem Sinne dann immer noch richtig. Dabei sollte man selbstverständlich "mathematisch korrekt" und "ökonomisch sinnvoll" auseinanderhalten (es sind zwei völlig verschiedene Kategorien). Die Größe m berücksichtigt den Fall, dass der Controller gar nicht mit 10 MHz läuft, obwohl der Quarz mit 10 MHz schwingt, weil intern ein Frequenzteiler oder -vervielfacher aktiv ist. Dann muss m auf den entsprechenden Teil- bzw- Vervielfachungswert gesetzt werden (sonst m = 1). Beispiel: Bei enableter CLKDIV8-Fuse eines AVRs ist m = 1/8 zu setzen. Die Einheit µs stimmt, weil 1 µs der Kehrwert von 1 MHz ist.
Christian S. schrieb: > da mir weibliche Mikrocontroller erfahrungsgemäß noch nicht > begegnet sind. Es gibt sie aber! Ich habe irgendwo Z8-Controller verbaut, die haben Huckepack ein EPROM drauf. Die Löcher für deren PINs sind definitiv weiblich!
Christian S. schrieb: > da mir weibliche Mikrocontroller erfahrungsgemäß noch nicht > begegnet sind Kommandiert werden sie aber alle von einer das Zeitverhalten entscheidend prägenden CPU. Und die ist weiblich.
Feministisches OT: Der Führerin entgegen! - Belles Lettres https://www.belleslettres.eu/pdf/genus-gendersprech.pdf Warum logischer Verstand und Sprachzentrum nich dasselbe sind.
@ LostInMusic >Die entsprechenden Werte >sind üblicherweise in einer Tabelle im Datenblatt aufgelistet. Da würde es aber meine Unterschrift nicht geben. Manche Leute benutzen bedingte Verzweigungen, und da weiß - außer Dir - niemand, wie lange das Teil für den Befehl braucht. Natürlich steht im Datenblatt irgendwo z.B. 1 oder 2 Takte. Was aber nun zutrifft... Anders ausgedrückt: Dein Ton liegt etwas daneben, wenn Du Dich, in der Musik, auf so etwas verlässt.
>Anders ausgedrückt: Dein Ton liegt etwas daneben, wenn Du Dich, in der >Musik, auf so etwas verlässt. Ruckzuck wird aus C ein C#
>Manche Leute benutzen bedingte Verzweigungen, und da weiß - außer Dir - >niemand, wie lange das Teil für den Befehl braucht. So ein Fall ist natürlich absolut denkbar. Vielen Dank für diese berechtigte Kritik. Da wäre ich jetzt nie drauf gekommen.
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.