Hallo zusammen habe mal ein Foto angehangen...wie komme ich von den Cyclewerten auf Zeitwerte?Ich habe in der Simulator-einstellung auf 1MHz Instruktionfrequenz gestellt, bzw war es voreingestellt und entspricht auch der realen Rate des PIC. Doch der Rechner arbeitet viel schneller und im Simulator springen die Werte von Porta hier auch ungefähr doppelt so schnell wie im realem PIC. Also die voreingestellten 1Mhz können hier nicht stimmen,sonst hätte ich diese Unterschiede nicht. Welche Frequenz nehme ich denn nun für die Zeitberechnung??
Bei 1MHz Cycle Frq. dauert ein Cyle 1us. Also die Anzahl Cycles genau der Zeit in us. Vergiss die Arbeitsgeschwindigkeit deines PCs und die daraus resultierende Aktualisierungsrate im Simulator. Das steht damit in keinerlei Verbindung.
Volker S. schrieb: > Bei 1MHz Cycle Frq. dauert ein Cyle 1us. > Also die Anzahl Cycles genau der Zeit in us. > > Vergiss die Arbeitsgeschwindigkeit deines PCs und > die daraus resultierende Aktualisierungsrate im Simulator. > Das steht damit in keinerlei Verbindung. Ich hatte den PIC aber schon dran und danach habe ich mal die Simulation ausprobiert!Da ist aber der Programmablauf ca.doppelt so schnell.Wenn ich jetz PWMs simulieren will oder irgendwelche anderen Sachen, muss das doch mit der Realität abstimmbar sein!?
Mit der Realität abstimmbar im Sinne von "die Simulator läuft genauso schnell wie der reale PIC" ist nicht ;-) Bei relativ niedrigen Instruction Clocks könnte das Simulationsprogramm auf dem PC das evtl noch schaffen genau so schnell zu arbeiten, wie der reale Controller. Bei höheren Takfrequenzen hätte die Simulation aber wohl keine Chance.
Volker S. schrieb: > Mit der Realität abstimmbar im Sinne von "die Simulator läuft genauso > schnell wie der reale PIC" ist nicht ;-) > > Bei relativ niedrigen Instruction Clocks könnte das Simulationsprogramm > auf dem PC das evtl noch schaffen genau so schnell zu arbeiten, wie der > reale Controller. Bei höheren Takfrequenzen hätte die Simulation aber > wohl keine Chance. Aktuell ist aber der PC wie gesagt schneller. Habe in der Hilfe zum Simulator in Mplab gerade diese Bemerkung gefunden, damit hat der Rechner selbst doch einen Einfluss!? Doch dann bräuchte ich ja diesen Frequenzreiter in der Option nicht, der die Instruktionfrequenz einstellen lässt? Execution Speed When MPLAB X Simulator is simulating running in real time, instructions are executing as quickly as the PC's CPU will allow. This is usually slower than the actual device would run at its rated clock speed. The speed at which the simulator runs depends on the speed of your computer and how many other tasks you have running in the background. The software simulator must update all of the simulated registers and RAM, as well as monitor I/O, set and clear flags, check for break and trace points in software and simulate the instruction with instructions being executed on your computer's CPU. The execution speed of a discrete-event software simulator is orders of magnitude less than a hardware oriented solution. Slower execution speed may be viewed as a handicap or as a tool. The simulator attempts to provide the fastest possible simulation cycle, and depending upon the mode of operation, can operate on the order of milliseconds per instruction. Note: Often loops will be used in your code to generate timing delays. When using the simulator, you might wish to decrease these time delays or conditionally remove those sections of your code with “IFDEF” statements to increase simulation speed. Turning off simulator trace will increase simulation speed by up to 50%. Therefore, use the tracing function only as needed. See “Using Simulator Trace”. In general, when this discussion says “real time” and you are in the simulator mode, the software simulation is executing simulated code as fast as your PC can simulate the instructions.
:
Bearbeitet durch User
Wie schon versucht zu sagen, die Simualtion läuft auf unterschiedlichen Rechenern unterschiedlich schnell und hat rein gar nichts mit der realen Geschwindigkeit auf dem realen Controller zu tun. Lies einfach die Zeiten ab!
:
Bearbeitet durch User
Volker S. schrieb: > Wie schon versucht zu sagen, die Simualtion läuft auf unterschiedlichen > Rechenern unterschiedlich schnell und hat rein gar nichts mit der realen > Geschwindigkeit auf dem realen Controller zu tun. > > Lies einfach die Zeiten ab! Die Zeit wäre nur über die PIN RA0-Abfrage möglich, da blinkt dann eine virtuelle LED auf, das ist alles was ich Zeitlich sehen kann, leider!?Gibts da keine bessere Möglichkeit einen Umrechnungsfaktor zu finden, der vielleicht auch genauer wäre als eine blinkende Virtual-LED zu messen?
Rudi R. schrieb: > Ich habe in der Simulator-einstellung auf 1MHz > Instruktionfrequenz gestellt, bzw war es voreingestellt und entspricht > auch der realen Rate des PIC. Was bittesehr verstehst du den darunter? Wenn ich mich recht erinnere, dann benötigt zumindest die PIC16 Familie 4 Clocks pro Befehl. Also ein mit 20 MHz betriebener PIC16Fxxx verarbeitet 5 Millionen Befehle pro Sekunde. Vielleicht liegt da ein Mißverständnis vor. W.S.
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.