Hallo zusammen, ich habe eine Platine mit AtXmega256A3U-AU(TQFP64) erstellt und diesen verlötet. Es ist meine erste Xmega-Platine! Allerdings bekomme ich nur eine Fehlermeldung wenn ich versuche über Atmel Studio die "Device-ID" auszulesen oder den Debugger starte: "[ERROR] PDI enable failed. Debugger command Activate physical failed., ModuleName: TCF (TCF command: Device:startSession failed.)" Als Debugger nutze ich den JTAG-Ice-3 mit folgender Anschluss-Belegung: Pin6 = RST (5kOhm Pullup to VCC, C100nF & C10nF to GND) PIN9 = PDI (Serienwiderstand 191 Ohm) PIN4 = VCC (3,2V) PIN2 = GND PDI-Clock habe ich in mehreren Stufen bis runter auf 32kHz ausprobiert..ohne Erfolg. Wie kann ich feststellen ob der Xmega in Ordnung ist bzw. das Layout passt? Der Xmega hat einen kleinen und einen großen Kreis auf der Oberseite...welcher davon ist der "Index-Corner"? Wie bekomme ich die PDI-Schnittstelle zum laufen?
Edit: VCC und GND-Pins sind ALLE angeschlossen und jedes Pärchen mit einem 100nF Kerko versehen. Versorgungsspannung sieht auf dem Oszi stabil aus und beträgt 3,26V. Eine externe Taktquelle ist NICHT angeschlossen (allerdings ein Quarz-Footprint vorhanden).
Hallo Nick Nack schrieb: > Pin6 = RST (5kOhm Pullup to VCC, C100nF & C10nF to GND) > PIN9 = PDI (Serienwiderstand 191 Ohm) Pin6 duerfte dein Problem verursachen. Im Datenblatt steht, das RST nicht mit Kondensatoren gepuffert sein sollte. (Weil ueber RST der PDITakt uebertragen wird und die Cs das Signal zu stark entarten.) Loete mal die Cs (und ggf. den Pullup gleich mit) runter und probier nochmal... Funktioniert dein Programmer? Hast du diesen schon getestet? Wenn du in Deutschland wohnst, kannst du mir auch gerne das Board zuschicken (60cent) und ich teste mal mit meinem MKII. Ich schicke es dir dann zurueck (nochmal 60cent). Bei Interesse, schicke mir einfach eine PN. MfG
:
Bearbeitet durch User
Beide Cs entfernt...gleicher Fehler PullUp entfernt...gleicher Fehler Nick Nack schrieb: > Der Xmega hat einen kleinen und einen großen Kreis auf der > Oberseite...welcher davon ist der "Index-Corner"? Könnte jemand bitte diese Frage beantworten...nicht das der Xmega falsch herum eingebaut ist.
Hallo. Hattest du den Chip bereits jemals programmieren koennen? Sind seine Fuses auf den Defaulteinstellungen? Teste bitte mal folgendes: 1) Wird der XMega merkbar warm? 2) Liegen PB4..PB7 auf High (JTAG mit internen Pullup) ? Bei den ATxmega128A3U fuer mein Baselboard hatte ich auch mal einem im Talett dabei, der einfach nur heiss wurde und ueberhaupt nichts machte. MfG
:
Bearbeitet durch User
Stephan B. schrieb: > Hattest du den Chip bereits jemals programmieren koennen? Nein. Stephan B. schrieb: > Sind seine Fuses auf den Defaulteinstellungen? Müsste der Fall sein(siehe oben) Stephan B. schrieb: > 1) Wird der XMega merkbar warm? Nein, der Stromverbrauch liegt (bei 12V-Versorgung) vor dem StepDown bei 20mA...es sind zwei Betriebs-Leds verbaut(in 5V und 3V Versorgung) die diesen Strom erklären könnten. Stephan B. schrieb: > 2) Liegen PB4..PB7 auf High (JTAG mit internen Pullup) ? Ich kann 3,17V auf allen vier Pins messen.
Okay. Wenn es nicht an deinem Programmer liegen sollte, dann bin ich ersteinmal out-of-ideas. MfG Stephan
Stephan B. schrieb: > Okay. > > Wenn es nicht an deinem Programmer liegen sollte, dann bin ich > ersteinmal out-of-ideas. > > MfG Stephan Vielen Dank für die Hilfe! Ich besitze einen Original MK2, einen original MK3 und einen MK2-Clon...alle drei streiken mit PDI an der Xmega-Platine, funktionieren aber über JTAG an einem Atmega1284-Board. Ich werde nun versuchen die Jtag-Pins des Xmegas ab-zugreifen und auf Kabeln heraus zu führen.
Ich habe nun die Jtag-Pins mit dem MK3 verbunden und darüber komme ich in das Device-Programming(siehe Bild). Muss ich hier etwas ändern damit PDI funktioniert?
Hallo, wie kommst Du zur eingangs genannten Anschlußbelegung für PDI? Die richtigen Anschlüsse für PDI am JTAGICE3 sind: PIN2 (oder 6)->GND, PIN3 (oder 1)->PDI_DATA(=PIN56 am Xmega256A3), PIN4 (oder 2) -> VDD und PIN6 (oder5) ->PDI_CLK (= PIN 57 am Xmega). Die Anschlüsse in Klammer gelten bei Verwendung des 6-poligen Adapters. Die Anschlußbelegung findest Du auf der Webseite: http://www.atmel.no/webdoc/jtagice3/jtagice3.connecting_pdi.html Bei mir hat der PDI-Anschluß mit dem 6-poligen Adapter und Taktrate bis 108kHz immer funktioniert. Der PIN-1 am Xmega ist neben dem kleinen Kreis, oder wenn Du die Aufschrift richtig lesen kannst auf der linken Seite oben. BG, Robert.
:
Bearbeitet durch User
Nick Nack schrieb: > Muss ich hier etwas ändern damit PDI funktioniert? PDI kann NICHT (in Gegensatz zu JTAG) abgeschalten werden. Warum dein PDI nicht geht kann ich mir nicht wirklich erklaeren. Entweder ist deine Verkabelung falsch, die Programmierspannung inkorrekt oder im IC sind einige Bondwire (so z.B. das am PIN 56) durch zu hohe Loetleistung weggebrannt. Pass immer gut auf das du "JTAGen" nicht deaktivierst - sonst kommst du gar nicht mehr an den IC... MfG
Robert W. schrieb: > Hallo, wie kommst Du zur eingangs genannten Anschlußbelegung für PDI? http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/JTAGICEmkII/mkII/Html/Connecting_to_target_through_the_PDI_interface.htm In diesem Beispiel wurde TDI als PDI_DATA genutzt und ich bin fälschlicher weise davon ausgegangen das es beim MK3 ebenso ist. Der MK2-Clon scheint mit der jetzigen Firmware keinen Xmega über PDI zu unterstützen. Warum der original MK2 nicht funktioniert hat werde ich noch untersuchen. Robert W. schrieb: > Die Anschlußbelegung > findest Du auf der Webseite: > http://www.atmel.no/webdoc/jtagice3/jtagice3.connecting_pdi.html Ich habe den PDI_DATA-Pin an TDO(MK3) gehängt und ES LÄUFT NUN :) matrixstorm schrieb: > Pass immer gut auf das du "JTAGen" nicht deaktivierst - sonst kommst du > gar nicht mehr an den IC... Wenn PDI funktioniert kann ich JTAG aber abschalten, oder?!?
Hi. Nick Nack schrieb: > Wenn PDI funktioniert kann ich JTAG aber abschalten, oder?!? Wenn PDI dann in mehreren Tests sich als stabil erweist, kannst du JTAG ausmachen - genau. Nachtrag: Du kannst aber auch JTAG an lassen und in deiner Firmware zur Laufzeit deaktivieren:
1 | /* disable the JTAG Port */
|
2 | CPU_CCP = CCP_IOREG_gc; |
3 | MCU.MCUCR = MCU_JTAGD_bm; |
MfG
:
Bearbeitet durch User
Stephan B. schrieb: > Wenn PDI dann in mehreren Tests sich als stabil erweist, kannst du JTAG > ausmachen - genau. Gibt es im Bezug auf die Stabilität häufig Probleme? Stephan B. schrieb: > Nachtrag: Du kannst aber auch JTAG an lassen und in deiner Firmware zur > Laufzeit deaktivieren: > /* disable the JTAG Port */ > CPU_CCP = CCP_IOREG_gc; > MCU.MCUCR = MCU_JTAGD_bm; Vielen Dank für diesen Tipp und alle Helfer in diesem Thread!
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.