PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMega128 programmierinterface !Falle!



Alex20q90
20.08.2006, 14:06
Hallo,

sagt mal haben andere ATMegas ähnliche Fallen wie der ATMega128 in bezug auf Datenblatt/ISP?

Im Datenblatt (vorne) steht MISO,MOSI,SCK. Schön blöd nur wenn man ihn per ISP programmieren will. Da muss RXD TXD UND SCK genommen werden.

Was wird dann mit RXD und TXD? Sind die noch für RS232 gedacht oder muss ich womöglich daführ einen Port des ADC nehmen^^ :-)

Kenn jemand noch mehr solche Fallen?

Grüße
Alex

linux_80
20.08.2006, 15:57
Halo,

deswegen sollte man das Datenblatt immer vorher anschauen, denn die Pins bei den AVRs heissen nicht MOSI usw. weil sie für den ISP sind, sondern weil dieses die Bezeichnungen für SPI sind ! O:)

Was soll dann mit den RXD und TXD sein, nach dem Programmieren kann man die doch ganz normal verwenden, ausserdem hat der 128er 2 UARTs, deshalb heissen die RxD0 und RxD1 ! :-b

Und da wir grad dabei sind, die AD-Wandler-Pins liegen an PortF (ADCx) nicht an PortA (ADx), wird wohl auch gern mal verwechselt !

Dann gibts noch die M103 Falle, und die JTAG-Falle usw.
8-[

Alex20q90
20.08.2006, 18:15
deswegen sollte man das Datenblatt immer vorher anschauen

Das ist zwar ein ganz guter Tipp, aber bei einem über 380Seitigen Datenblatt so nicht anwendbar! Selbst wenn ein Benutzer das komplette Datenblatt anschaut kann es passieren einige Punkte zu übersehen!

Dass der ADC an Port F hängt is mir auch klar!

Die M103 und JTAG-Falle zwar auch, aber anderen eventuell nicht. Deswegen hab ich diesen Thread geöffnet ;-)



Also beim ATMega128 ist die Programmierschnittstelle bei PE.0 (MOSI) PE.1 (MISO) und PB.1 (SCK)

Welche Fallen gibt es noch? Sowas könnten wir doch ins Wiki einschreiben!

Grüße
Alex

uwegw
20.08.2006, 18:48
Wie man gleichzeitig den ISP und RS232 beim M128 betreiben kann, wird hier erklärt:
http://www.elektronik-projekt.de/include.php?path=content/articles.php&contentid=76&PHPKITSID=692513d9b6d83873d165e935766a7be7

chr-mt
21.08.2006, 08:02
Hi,
ja, ist schon eine gemeine Falle.
Ich hab's damals durch Zufall in einem Forum gelesen, gerade noch rechtzeitig.
Meine Kollegen hatten schon eine Platine layoutet und wollten sie gerade herstellen lassen. Fast wär's zu spät gewesen ;)
Daß Atmel so was Elementares auf Seite 330 (glaube ich) versteckt ist schon blöd.

Gruß
Christopher

m_herr
28.01.2007, 16:39
@uwegw link geht leider nicht...

Foooob
28.01.2007, 16:55
Du kannst die Pins RXD0 und TXD0 für die RS232 ohne Probleme nutzen. Naja fast ohne Probleme ;-)

Nachdem du zum ersten Mal in den Mega128 Code geladen hast, der die diese UART anspricht kann es bei einem erneuten Flashversuch zu Indentifizierungsproblemen kommen. So ist es zumindest bei mir (nutze die neueste BASCOM Version). BASCOM kann damit den Chip so nicht mehr flashen.

Du umgehst das ganze wie folgt: Baue zwischen den Mega und deinen MAX eine Jumperbrücke für RxD0 und TxD0.
Wenn du nun den Mega128 flashen willst entfernst du die Jumper UND hälst VOR dem Flashvorgang den Resetbutton permanent bis zum Ende des Flashvorganges gedrückt.

Hat folgenden Sinn: Bascom hat ein Problem damit wenn die Daten nicht nur zum Mega sondern auch zum MAX gehen (darum die Jumperbank). Außerdem kann Bascom das Ding nicht flashen während der Mega an den Pins die Daten für den MAX raushaut, deswegen den Reset drücken.

Ich weis nicht ob man das eleganter umschiffen kann aber ich fand keine andere Möglichkeit. Das mit dem Jumper rein, Jumper raus ist nicht schön, aber es geht.

uwegw
28.01.2007, 17:32
Ja das Forum wo der Link hingeht wurde gerade neu gemacht. Daher ist der verlinkte Artikel nicht mehr vorhanden. Die dort beschriebene Lösung beruhte auf einem MAX3222. Der funktioniert wie ein normaler MAX232, er hat nur nen zusätzlichen Pin (EN) , über den man ihn deaktivieren und die Signalpins hochohmig schalten kann. Wenn man diesen Pin nun mit dem Reset des M128 verbindet, wird der MAX automatisch abgeschaltet, wenn der ISP den Reset auf low zieht. Man muss allerdings noch ne Invertierung einbauen, da EN auf gezogen werden muss.

Der Google Cache hat noch was:
http://209.85.129.104/search?q=cache:EaWfEoA8irIJ:embedit.de/phpkit/include.php%3Fpath%3Dcomment/comment.php%26comcat%3Dcont%26subid%3D76+Mega128+I SP+elektronik+projekt&hl=de&gl=de&ct=clnk&cd=5
Leider ohne Schaltpläne. Frag einfach mal bei Markus, dem Admin von http://www.elektronik-projekt.de/ an, ob er dir die Pläne gibt.

Foooob
28.01.2007, 19:48
Man hätte ich das bloß früher gewusst ;-)