Archiv verlassen und diese Seite im Standarddesign anzeigen : Machinentaktfrequnz Berechnen
Import-Script
25.09.2003, 18:36
Hallo <BR>Eine kleine Frage die mich verwirrt: <BR>In der Prog Studio Hilfe steht folgendes zur Berechnung der Machinen Takt Frequenz: <BR>Ein Machinentakt ist im allgemeinen so lang wie acht Takte des Oszillators d.h wenn wir z.B einen Oszillator von 12 MHz verwenden beträgt die Machinentaktfrequenz 1Mhz. <BR> <BR>Nun kann ich nicht verstehen wie die bei einen Quarz von 12Mhz auf eine Machinentaktfrequenz von 1Mhz kommen. Ich komme auf 1,5 Mhz!! <BR> <BR>Vieleicht kann mir da einer weiterhelfen. Würde mich freuen. <BR> <BR> <BR>
Import-Script
25.09.2003, 19:23
hi, <BR> <BR>ich vermute du beschaeftigst dich mit '51 MC. <BR> <BR>die teilen nicht durch 8 sondern durch 12.... <BR>und somit ist deine welt wieder heil. <BR>viel spass mit '51 <BR> <BR>ed
Import-Script
26.09.2003, 14:29
Hi <BR>Alles klar Danke! <BR>Dann hat Andre wohl ein Fehler in seiner Einführung bei der Prog Studio Software denn da steht das es 8 Takte braucht....Na ja <BR> <BR>DK
Import-Script
27.09.2003, 12:17
Es gibt allerdings auch Derivate der MCS-51 die weniger als 12 Takte brauchen. <BR> <BR>Gruß Winnie
Import-Script
30.09.2003, 15:19
Hallo! <BR> <BR>Bitte entschuldige die verwirrende, falsche Angabe! Mit dem kommenden Update wird die Angabe korrigiert... Zwölf ist für die meisten standard MCS-51 Mikrocontrollern der passende Teilerfaktor... <BR> <BR>Grüße <BR>André <BR>
Import-Script
05.10.2003, 18:28
Hi, <BR> <BR>um ein Brauchbares Rechtecksignal zu erzeugen wird der Takt eines Quarzes immer durch 2 geteilt. Bei 12MHz läuft der MC also mit 6MHz. Damit die Befehle alle schön einheitlich laufen, werden bei den 51ern immer 6 Takte zusammengefasst. Jeder Befehl muss ja in den Speicher geholt werden (1Takt) verarbeitet werden (noch ein paar Takte) und gegebenenfalls noch weitere Daten (MOV A,#30) nachholen oder speichern (1 weiterer Takt). Durch diese Aufteilung in 6er Gruppen (Maschinentakt) scheinen die befehle fast alle immer gleich schnell zu sein. Der MC wartet halt auf das nächste Maschinentaktpaket, bevor der nächste Befehl ausgeführt wird. <BR> <BR>So kommt die Teilung durch 12 zustande. Addiert man fälschlicherweise die 2 (Quarztaktgewinnung) und die 6 (Maschinentakte) kommt man halt auf 8. Passiert sehr schnell. <BR> <BR>Bei Pics (Harward-Architektur) müssen keine Daten nachgeladen werden. Da wird nur zur Taktgewinnung geteilt. Ein Pic mit 4MHz läuft also mit 2MHz. Dafür haben die Befehle fast immer zwei Takte oder mehr an Zeit. Ist schwieriger zu rechnen, deshalb sind mir die 51er sympatischer. <BR> <BR>Gruß <BR>Elmar
Import-Script
05.10.2003, 19:38
Jetzt verstehe ich garnichts mehr... <img src="http://progshop.com/elektronik/diskussion/clipart/crazy.gif" border=0> <BR> <BR>Also ein normaler 89Cx051 läuft mit 24Mhz. Der interne Teiler ist 1:12. Das bedeutet, der Maschinentakt läuft mit 2Mhz. <BR> <BR>Nun braucht aber nicht jeder Befehl gleich lang. Viele brauchen 2 oder auch 3 Maschinentakte zur Ausführung. <BR> <BR>Damit schränkt sich aber die Ausgabefrequenz schon ein: <BR>(kurzes Beispiel, mal schnell aus den Fingern gesogen) <BR> <BR>Start: <BR>MOV P1.1,1 (2 Takte) <BR>NOP (1 Takt) <BR>NOP (1 Takt) <BR>MOV P1.1,0 (2 Takte) <BR>JMP Start (2 Takte) <BR> <BR>-ein- 2Takte Pause -aus- 2Takte Pause -ein- usw. <BR>Ein kompletter Zyklus währe hier 8 Maschinentakte. Das währen knapp 250kHz. <BR>Also relativ langsam... <img src="http://progshop.com/elektronik/diskussion/clipart/wink.gif" border=0> <BR> <BR> <BR>So, jetzt bin ich zum veriss freigegeben! <img src="http://progshop.com/elektronik/diskussion/clipart/uhoh.gif" border=0> <BR> <BR>Mirko
Import-Script
05.10.2003, 20:07
Hi, <BR> <BR>der Takt wird zunächst durch 2 geteilt. Also die hälfte. Dann nochmal durch 6 geteilt. Die meisten befehle brauchen immer einen Takt (Siehe Liste der Befehle). <BR>12 MHz /2 = 6Mhz <BR>Geteilt durch 6 = 1MHz = 1µs <BR>ein Befehl braucht 1µs außer Sprungbefehle und sonstige Besondere befehle. Sprungbefehle brauchen 2µs <BR>Bei 24Mhz braucht ein normaler Befehl 0,5µs - Sprungbefehle 1µs <BR> <BR>Gruß <BR>Elmar
Import-Script
05.10.2003, 20:27
Wie funzen denn dann die AVR haben die intern nen Taktverdoppler? <BR>Zur Erinnerung , wenn ich da nen 16MHz Quartz anlege kann ich 16 Mio. Befehle in der sekunde ausführen. <BR>MFG
Import-Script
05.10.2003, 20:41
Schönen Gruß von Münchhausen oder Eulenspiegels Till, und 50Hz Netzfreqeunz teilt man dann durch zwei und erhält 25Hz?!?!?! Der Brückengleichrichter macht auch nicht 100Hz?!?!?! <BR> <BR>Dazu sage ich nur scheiss Inflation, oder ist das nur in Euro umgerechnet? <BR> <BR>Alle Befehle benötigen zwischen 1 und 2 Maschinenzyklen, nur die verträumten beiden MUL AB und DIV AB benötigen 4, aber nicht weitersagen. <BR> <BR>Gruß Winnie <BR> <BR>
Import-Script
06.10.2003, 17:29
Hi, <BR> <BR>ein Gleichrichter soll auch nicht teilen. Der "verunstaltet" den Sinus ja auch so, dass die Periodendauer halbiert wird und nicht die Frequenz! Also periodendauer halbiern = verdoppeln der Frequenz. <BR>In vielen MCs wird der Quarztakt, der ja sinusförmig ist (Scope nachmessen, wer's nicht glaubt) halbiert, um genaue 50:50 taktverhältnisse zu erhalten. Wenn auf dem Sinus am Quarz nämlich ein DC-Offsett drauf ist, wird das Taktverhältnis schnell krumm. Das kann man auch auf andere Weise beheben, die Klassiche Variante ist eben das Teilen durch 2. <BR> <BR>Wie sonnst ist zu erklären, dass die 51er immer 6 Taktpulse zu einem Maschinentakt zusammenfassen und bei 12Mhz 1µs erreicht wird? Und warum ist im Blockschaltbild der 51er ein Teiler im Taktgenerator? <BR> <BR>Gruß <BR>Elmar
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.