ok, dann stimmt der Takt usw schon mal.
Ist der Fehler eingrenzbar, d.h. ist immer das gleiche Byte kaputt?
Hast Du einen Logicanalyzer zum Messen?
Welcher 644 isses denn? Der 644 ohne was dahinter, der 644P oder der
644PA? Speziell zwischen 644 und 644P gibts größere Unterschiede, der
644 ohne P hat nämlich z.B. nur einen UART, der P und der PA haben zwei.
Demzufolge gibts dann nämlich auch unterschiedliche Includes.
Mit welcher Geschwindigkeit werden die Controller getacktet?
Über welche Leitungen überträgst du das Signal? Wie lang sind diese?
Womöglich sind die Flanken, die der mega644 generiert, zu steil. Dann
würde Terminierung helfen. Einfach einen kleinen Kondensator (unter
100p) gegen GND an die SCK-Leitung löten.
Gruß, Yaro
Das SPI Signal taktet mit 115200 Hz, Die Leitungen sind sehr kurz,
sprich alles auf einer Platine.
Einen 100pF Kondensator habe ich nicht da, aber mit einem 100nF könnte
ich es probieren.
Überprüfung mit dem LogicAnalyzer werde ich noch machen, ich nehme aber
an dass mal dieses mal jenes Byte korrupiert sein wird, da die Fehler
auch sehr unregelmäßig kommen.
AU bezeichnet nur das Gehäuse (TQFP), gehört also nicht zur
Typenkennung.
Schau sicherheitshalber nochmal auf den Chip, nicht dass man Dir
stillschweigend einen 644P-au geliefert hat. Réichelt würde ich das
glatt zutrauen.
fchk
100n sind zu viel. Es muss schon im unteren pico-Bereich liegen.
Verwendest du die MISO-Leitung? Wenn nicht, versuch mal, diese (wenn es
geht) nicht zu verbinden. Bei mir hat dies die Störungen mal behoben
(auch wenn ich nicht wirklich sagen kann, wieso...)
Gruß, Yaro
der Kondensator hat die Kommunikationsprobleme noch verschlimmert.
Die Bezeichnung auf dem µC ist die gleiche wie bei Reichelt, also ein
644 ohne etwas dahinter. Den es so auf der Übersichtsseite von Atmel gar
nicht gibt
http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC
im Gegensatz dazu kann ich im AVR Studio unter Projekt-Einstellungen nur
zwischen 644 und 644P wählen, aber einen 644A wird nicht angeboten.
Wie groß war denn der Kondensator?
Er sollte unter 100pF sein.
Ich weiß nicht, in welcher Umgebung du arbeitest, aber eine Abschirmung
könnte helfen. Oder du nimmst einfach noch einen GND-Layer.
Du sagst, deine Leitungen sind direkt auf der Platine. Sind in den
Leitungen starke Knicke drin? sind sie sehr lang? Spiralenförmig?
Gruß, Yaro
das war ein 100pF C.
Die Leitungen sind alle abgerundet und auch nicht spiralförmig (wer
würde denn auf so eine Idee kommen?). GND Layer ist vorhanden. Die
Platine wurde auch durch einen PCB Hersteller überprüft und einer
Prüfstelle EMV getestet. Allerdings noch mit einem ATMega32.
Daher kann es fast nicht sein dass es ein Layout-Problem ist.
Das einzige was für mich Sinn macht, ist dass die I/O's vom ATMega644
andere elektrische Eigenschaften haben als die vom ATMega32.
Warum hattest du gerade bei SCK den Entstörkondensator vorgeschlagen?
Bei MOSI könnte doch das gleiche Problem entstehen.
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.