Forum: Mikrocontroller und Digitale Elektronik Pic32 ext. Interrupt : jitter in der ISR


von Martin (Gast)


Lesenswert?

Hallo zusammen,

in einem Projekt benutzen wir den pic32mx440.
in Zwei Steuerungen läuft die gleiche Firmware (sysclk=80MHz)  und mit 
dem gleichen externen Signal verbunden (INT0) und in der ISR wird ein 
Pulse ausgegeben.

Der externe Interrupt kommt an den beiden Kontroller gleichzeitig, 
leider gibt es bei den Pulsen  einen Jitter von etwa 250ns.

Hat jemand Ahnung an was das liegen kann?

von Martin (Gast)


Lesenswert?

noch was: der INT0 Interrupt hat die höchste Priorität.

von Stefan F. (Gast)


Lesenswert?

> Hat jemand Ahnung an was das liegen kann?

Weil die Interrupt Routine nicht "sofort" ausgeführt wird, sondern erst 
einen oder mehrere Takte später. Im Datenblatt des Controller sollt drin 
stehen, wieviele Takte es maximal sind.

von Martin (Gast)


Lesenswert?

Stefan us schrieb:
> Weil die Interrupt Routine nicht "sofort" ausgeführt wird, sondern erst
> einen oder mehrere Takte später. Im Datenblatt des Controller sollt drin
> stehen, wieviele Takte es maximal sind

das sind bis 5 sysclk (also 5x12,50=62,5ns) und worst case 125ns

von Ch. K. (Gast)


Lesenswert?

Ich kenn zwar die innere architektur vom pic nicht aber

- werden die beiden uCs von unterschiedlichen quarzen betrieben?
- wie ist die ausgabe des pulses realisiert? hat die cpu direkten 
zugriff auf den ausgang oder sitzen da noch verzögerungen von einem bus 
bzw. eine eigene taktung der gpios dazwischen?
- was genau meinst du mit jitter... die pulse sind unterschiedlich breit 
oder meinst du damit dass die pulse von den controllern nicht 
gleichzeitig kommen?

von Martin (Gast)


Lesenswert?

Ch. Kim schrieb:
> Ich kenn zwar die innere architektur vom pic nicht aberp
>
> - werden die beiden uCs von unterschiedlichen quarzen betrieben?

Ja, es zwei unterschiedliche Steuerungen

> - wie ist die ausgabe des pulses realisiert? hat die cpu direkten
> zugriff auf den ausgang oder sitzen da noch verzögerungen von einem bus
> bzw. eine eigene taktung der gpios dazwischen?

Mit LATASET = 1 wir der Ausgang gesetzt, also der Port direkt gesetzt..

> - was genau meinst du mit jitter... die pulse sind unterschiedlich breit
> oder meinst du damit dass die pulse von den controllern nicht
> gleichzeitig kommen?
Nur die steigende Flanke der pulse zählt, und sie jittert.

Der pbclk läuft mit 40mhz (sysclk=80mhz), hat das mit dem jitter zu tun?

von Martin (Gast)


Lesenswert?

Weiß keiner an was das liegen kann?

von Chris B. (dekatz)


Lesenswert?

Wie wird den SYSCLK erzeugt?? FRC mit PLL, Quarz mit PLL oder 
gemiensamer Quarzoscillator?

von Martin (Gast)


Lesenswert?

Chris B. schrieb:
> Wie wird den SYSCLK erzeugt?? FRC mit PLL, Quarz mit PLL oder
> gemiensamer Quarzoscillator?

Je Steuerung mit einem externen Quarz + die interne PLL

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.