PCINT und PWM Wechselwirkung ATMega1284P

OP #4752002
Lesenswert?
• ▲
▼
Hallo zusammen,

ich stelle ein sehr merkwürdige Wechselwirkung beim einem ATMega1284P 
fest.

Ich benutze den PCINT16, um ein PPM-Signal auszuwerten. Dazu wird der 
PinChange-Interrupt benutz und die entsprechende Maske in PCMSK2 
gesetzt.
In der ISR wird dann nur geschaut, ob es eine steigende oder fallende 
Flanke ist und dann der Wert des frei laufenden Timers 2 ausgelesen und 
die Differenz zum vorigen Wert bestimmt. Funktioniert problemlos.

Wenn ich nun zusätzlich(!) Timer3 verwende, um ein PWM-Signal an OC3A 
und OC3B auszugeben, funktioniert die PPM-Erkennung sporadisch nicht 
mehr korrekt. Verwende ich nur OC3A oder OC3B scheint es keine Probleme 
zu geben.

Das ganze findet derzeit nur auf einem Breadboard statt, d.h. an den 
PWM-Ausgängen ist noch nichts angeschlossen.

Das ganze ist ohne Probleme reproduzierbar, ich brauche nur das 
OutputCompare zu aktivieren ...

Irgendwelche Hinweise?

VG
 Wilhelm
#4752833
Lesenswert?
• ▲
▼
Wilhelm M. schrieb:
> Also im Datenblatt Stand 08/2016 finde ich zwar 7x das Wort ICP3, aber
> nicht an einem Pin, sondern nur im Text ...

Kann ich jetzt nur bestätigen. Diese Version war mir noch nicht bekannt. 
In meiner Version von 01/2015 steht die Bezeichnung am Pin. Kann ja 
keiner ahnen, daß die da irgendwann einen Idioten ransetzten, der das 
wieder wegnimmt. Aber Hauptsache schön bunt.
Gast #4752836
Lesenswert?
• ▲
▼
Wilhelm M. schrieb:

> Also im Datenblatt Stand 08/2016 finde ich zwar 7x das Wort ICP3, aber
> nicht an einem Pin, sondern nur im Text ...

Wetten, dass du da das DB hast, was die Mega164..1284 beschreibt (und 
vorgibt, auch den 1284P zu beschreiben)?

Nada, das ist das "falsche". Es gibt ein extra dem Mega1284 P 
gewidmetes DB. Das findest du auch auf den Servern von Atmel (mit 
Googles Hilfe), es ist aber offensichtlich bei Atmel selber leider nicht 
verlinkt.

Oder anders ausgedrückt: Atmel hatte mal den Plan, die DBs 
zusammenzuführen, es aber bis heute nicht geschafft, dies fehlerfrei zu 
tun (3 oder 4 Jahre?).

Böderweise wird das alte DB (also das explizit für den 1284P) schon seit 
langem nicht mehr gepflegt, obwohl es viel mehr Wahrheit über diesen µC 
enthält, als das, was lt. Atmel derzeit wirklich zuständig ist...

Tatsächlich ist es also aktuell so, dass man beide DBs lesen und 
gegeneinander abgleichen muss, um zu einer halbwegs korrekten 
Beschreibung des 1284P zu kommen. Das nervt. Aber die Typen von Atmel 
hatten scheinbar kein Geld, um auch nur einen Praktikanten zu bezahlen, 
der die Aufgabe löst. Muss man es halt selber machen...
Gast #4752847
Lesenswert?
• ▲
▼
> Wetten, dass du da das DB hast, was die Mega164..1284
> beschreibt (und vorgibt, auch den 1284P zu beschreiben)?
> Nada, das ist das "falsche". Es gibt ein extra dem Mega1284 P
> gewidmetes DB.

Also diesen Einwand, c-hater, verstehe ich nun nicht, hatte ich mir 
jetzt doch extra das neueste von Atmel heruntergeladen.
Angehängte Dateien:
#4752856
Lesenswert?
• ▲
▼
c-hater schrieb:
> Wetten, dass du da das DB hast, was die Mega164..1284 beschreibt (und
> vorgibt, auch den 1284P zu beschreiben)?

> Es gibt ein extra dem Mega1284 P
> gewidmetes DB.


http://www.atmel.com/Images/Atmel-42719-ATmega1284P_Datasheet.pdf

Das ist das aktuelle DB vom 1284. Das Datenblatt, in dem der Pin in der 
Pin-Out Grafik bezeichnet ist, ist das "Universal"-DB.
Gast #4752872
Lesenswert?
• ▲
▼
S. Landolt schrieb:

> Also diesen Einwand, c-hater, verstehe ich nun nicht, hatte ich mir
> jetzt doch extra das neueste von Atmel heruntergeladen.

Hmm...

Linkadresse? Adresse der Seite, auf der du diesen Link gefunden hast?

Wäre ja schick, wenn Atmel wenigstens dieses Problem nach all den vielen 
Jahren endlich mal gelöst hätte...
Gast #4752881
Lesenswert?
• ▲
▼
> Linkadresse?
Siehe den von Thomas Eckmann angegebenen Link, ganz normal per Google 
mit "ATmega1284P" gefunden, erster Eintrag.
  Übrigens hatte das alte von 2015-01, also das für 164A..1284P, noch 
rund 31 MB, das neue von 2016-08 für den 1284P allein nur knapp 6 MB.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren