Forum: Mikrocontroller und Digitale Elektronik Welchen PIC Simulator verwendet ihr?


von Martin Borer (Gast)


Lesenswert?

Da ich mit meinem letzten Thread keinen Erfolg hatte, versuche ich es
nocheinmal mit einem anderen Titel ;)

Für ein Projekt benötige ich einen (real-time) PIC Simulator mit
LCD-Support (Emulation).

Ich bin da auf 2 verschiedene Simulatoren gestossen:
1. miSim (unterstützt sehr viel... ist sehr schnell > real-time und
kann sogar TV und Schrittmotoren Emulieren). Ist leider
Kostenpflichtig, und deshalb ausgeschieden :(

2. gpsim (GNU PIC Simulator) auch sehr schnell läuft unter Linux und
Windows. Habe den LCD-Support unter Windows jedoch nicht hinbekommen!
Weiss jemand wie das geht? Oder ob es überhaupt geht?

Was könnt ihr mir empfehlen? gibt es noch weiter PIC Simulatoren,
welche schnell genug sind? Und hat es jemand geschafft den LCD-Support
beim gpsim zum laufen zu bringen?

Grüsse aus Basel

von Steffen (Gast)


Lesenswert?

Simulator und Real-Time passt schon mal nicht so recht zusammen. Wenn,
dann bräuchstest Du einen Emulator (ICE2000/3000 oder ICD), der läuft
dann wirklich Real-Time.

Was verstehst Du unter LCD-Support?

von Gerhard Gunzelmann (Gast)


Lesenswert?

@Steffen
Wiese passt Simulator und Real-Time nicht zusammen ? Im Gegenteil, das
ist doch viel einfacher zu realisieren. Hier steht doch nicht die reale
Hardware im Hintergrund sondern der Takt des Microcontrollers, der
ebenfalls simuliert wird. Im Emulator läuft die Sache dann mit dem
realen Oscillator, um hier Echtzeitfägigkeit zu erreichen, brauchts ein
ansprichsvolles System

Gerhard

von Martin Borer (Gast)


Lesenswert?

@Steffen
Die beiden erwähnten Simulatoren sind sehr schnell und es wird auch
keine Hardware benötigt. Ohne Begrenzung können diese sogar bis zu 10
mal schneller sein als real-time.

Die beiden Simulatoren haben je einen LCD-Screen zur Verfügung, diese
können mit den entsprechenden Ports des PIC's konfiguriert(verbunden)
werden.
gpsim Screenshot: http://www.dattalo.com/gnupic/desktop2.0.18.1.gif

Ich habe 2 Ports reserviert für die Menuführung (Menu- und
Enter-Button). Ich kann zur Zeit nur sehr begrenzt im Schul-Labor
arbeiten. Deshalb möchte ich diese Dinge auch ohne Hardware austesten
können.

gpsim ist eine tolle Opensource Software, doch bekomme ich unter
Windows leider den LCD-Screen nicht zum laufen... :(

von Steffen (Gast)


Lesenswert?

OK, man lernt ja nie aus.
Obwohl ich unter Real-Time vor allem die Reaktion auf externe
Ereignisse verstehe. Das wird sich mit einem Simulator nur schwer
realisieren lassen, da er die externe Hardware nicht nachbilden kann.

GPSIM sieht auf jeden Fall recht gut aus. Muss ich demnächst auch mal
testen.

MfG
Steffen

von Jordan (Gast)


Lesenswert?

Ich kenne noch diesen Simulator
http://www.oshonsoft.com/pic.html
der ist auch nicht schlecht und hat glaube ich auch
nen LCD Modul.
Leider ist er nicht umsonst

Jordan

von Martin Borer (Gast)


Lesenswert?

@Jordan

Joup den kenn ich auch. Habe die "eMule" Version davon... *reusper

Ist jedoch etwas zu langsam. Eine Sekunde Realtime bedeutet 3 Minuten
Simulation (ohne GUI) :(. Der Simulator hätte sonst eigentlich alles
was ich brauche. Aber eben....

heute ist noch ein neuer Snapshot von gpsim rausgekommen. Doch dieser
läfut bei mir jetzt überhaupt nicht mehr... Kann ja nur noch besser
werden. ;)

gpsim Win32 Snapshots: http://gpsim.sourceforge.net/snap.php

von dds5 (Gast)


Lesenswert?

Die Simulationsgeschwindigkeit klingt ja wirklich atemberaubend.
Ich stelle mir gerade vor wie z.B. der PIC18 Befehl
add POSTINC0,w
simuliert wird (In Echtzeit bei 40MHz dauert das 100 ns).
1. Wert aus fsr0 lesen (als Adresse)
2. Daten aus dem RAM lesen und zu Inhalt von WREG addieren
3. Alle betroffenen Flags neu setzen
4. Inhalt von FSR0 incrementieren

Bei 10facher Geschwindigkeit gegenüber Echtzeit müsste das in 10 ns
passieren. Welche CPU schafft das ??

Dieter

von A.K. (Gast)


Lesenswert?

Die CPU zu simulieren ist trivial und mit PC-Prozessoren mühelos ein
Vielfaches schneller zu kriegen als die echte Hardware. Aber das ist
nicht der Punkt.

Beim Gesamtverhalten liegt der Hase im Pfeffer. Es will ja jeder Timer,
jede Schnittstelle, jedes Inputregister usw. auch noch simuliert sein.
Und nicht irgendwie über'n Daumen gepeilt, sondern so wie das
Original. Beispielsweise um das Sampling-Verhalten eines UART
nachzubilden. Oder irgendwelche Glitch-Blocker von I2C Schnittstellen
und dergleichen. Da geht die Zeit bei drauf.

von Martin Borer (Gast)


Lesenswert?

@Dieter

Ja das klingt schon sehr schnell... Habe diese Aussage mit 10x
schneller von dieser Seite aufgeschnappt:
http://www.gnupic.org/i_simulate.html

.... On a modern PC, gpsim can simulate a PIC 10 times faster than real
time while at the same time maintaining a full trace buffer and
supporting all of the debugging features. ....

Für einen PIC welcher mit 40MHz getacktet ist, muss der PC doch
ziemlich "modern" sein... ;)

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
Noch kein Account? Hier anmelden.