Hallo, ich bin Anfänger und verwende einen ATtiny84A. http://www.atmel.com/Images/doc8183.pdf Für das Programmieren verwende ich AVRStudio5 mit JTAGICE mkII. Der µC unterstützt ISP. Auf der Platine will ich nun eine Möglichkeit schaffen, um den Programmer mit der Platine zu verbinden, den µC also in der Schaltung zu programmieren. Das Anschlusskabel des JTAGICE hat 10 Pins, wieviel Pins des µC benötige ich dafür? Im Datenblatt unter 19.5 "Serial Programming" sind 6 Pins angeführt: VCC,MOSI,MISO,SCK,RESET,GND. Muss ich nun einfach diese 6 Pins des µC an eine 10-Pin-Stiftleiste auf der Platine führen? Was passiert dann mit den anderen 4 Pins? Muss ich da sonst noch irgendwas beachten (zusätzlichen Widerstände etc..)? Danke!
Ich glaube du verwechselt die drei Begriffe SPI, ISP und JTAG - SPI ist eine serielle Schnittstelle, die nicht zur Programmierung des µC verwendet wird - ISP steht für In-System-Programmer, über diese Schnittstelle kannst du dein Programm auf den Mikrocontroller übertragen - JTAG ist ebenfalls eine Programmierschnittstell, über die mal ein Programm auf dem µC auch wärend der Laufzeit Debuggen kann. Meines wissens ist der ATtiny84A nicht über JTAG prgrammierbar und der Programmer JTAGICE mkII scheint laut Datenblatt keine SPI zu unterstützen. Die Belegung der SPI-Connenctoren findest zu hier: http://www.incunabulum.de/projects/poelcontrol/notizen/con-isp.png
Die 6 Pins sind korrekt und reichen aus. Die 10 Pin Stecker sind veraltet. Meist sind die übrigen Pins auf Masse gelegt. Ich würde nur noch 6 Pin ISP-Stecker verbauen (Wannenstecker). ISP kann direkt mit dem Controller verbunden werden. 100nF Ablockkondensatoren an VCC und GND schadet nicht. Im übrigen verwechselst du SPI und ISP. Bitte korrekte Terminologie sonst gibts Konfusion. ISP kann mittels SPI gemacht werden, ist trotzdem was anderes. gruß cyblord
Ok, das hab ich wirklich verwechselt, ich meinte ISP für programmieren in der fertigen Schaltung. Heißt das, ich kann mit dem JTAG ICE mk2 meinen ATtiny84A nicht programmieren??? Danke
Werner Weinwurm schrieb: > Heißt das, ich kann mit dem JTAG ICE mk2 meinen ATtiny84A nicht > programmieren??? Doch das sollte gehen. Es gibt mehrere Möglichkeiten zu programmieren. Eine davon ist ISP über die SPI-Schnittstelle mit den 4 Signalen (MOSI, MISO, SCK, RESET) + 2 Versorgung = deine 6 Anschlüsse. Es gibt aber noch HV, JTAG, DebugWire usw. Davon kann nicht jeder Controller alles. http://www.atmel.com/tools/AVRJTAGICEMKII.aspx?tab=devices gruß cyblord
Dann werde ich die 6 Pins einfach an einer Stiftleiste(10Polig) herausführen, sodass ich den Stecker vom JTAG ICE mk2 verbinden kann. Vielen Dank!!
cyblord ---- schrieb: > Es gibt mehrere Möglichkeiten zu programmieren. > Eine davon ist ISP über die SPI-Schnittstelle mit den 4 Signalen (MOSI, > MISO, SCK, RESET) + 2 Versorgung = deine 6 Anschlüsse. okay, wenn dem so ist, dann muss du die Anschlüsse wie auf dem oben geposten Bild (Link) verbinden. Mich wundert nur, dass hier http://www.atmel.com/tools/AVRJTAGICEMKII.aspx nichts von SPI-Unterstützung steht, oder ist SP = SPI?
Hallo... Noch eine Frage dazu: Kann ich die Pins für die Programmierung (MOSI, MISO,...) direkt an den µC anschließen oder sind da dazwischen noch Vorwiderstände notwendig? Der MOSI-Pin wird während des Betriebes zur Ansteuerung einer LED verwendet. Während der Programmierung wird der µC ja resettet, oder? Kann es durch die Programmierung dazu kommen, dass die LEDs in diesem Fall leuchten? LG
@ Werner Weinwurm (bj20) >Noch eine Frage dazu: Kann ich die Pins für die Programmierung (MOSI, >MISO,...) direkt an den µC anschließen Das MUSST du sogar. >oder sind da dazwischen noch >Vorwiderstände notwendig? Nein. Wenn es Probleme gibt, dann muss die Peripherie entkoppelt werden. >Der MOSI-Pin wird während des Betriebes zur Ansteuerung einer LED >verwendet. Während der Programmierung wird der µC ja resettet, oder? JA. >Kann es durch die Programmierung dazu kommen, dass die LEDs in diesem >Fall leuchten? JA.
Werner Weinwurm schrieb: > Hallo... > > Noch eine Frage dazu: Kann ich die Pins für die Programmierung (MOSI, > MISO,...) direkt an den µC anschließen oder sind da dazwischen noch > Vorwiderstände notwendig? LESEN! Ich schrieb bereits: > ISP kann direkt mit dem Controller verbunden werden.
Hallo, bin gerade dabei, die Schnittstelle zu verbinden. Auf der Platine habe ich einen 10-Poligen Header, der zum Stecker vom JTAGICE mk2 passt. Ich würde die Pins nun wie im linken oberen Bild von folgendem Link mit dem µC verbinden: http://www.incunabulum.de/projects/poelcontrol/notizen/con-isp.png Richtig? Was muss ich dann im AVRStudio einstellen? Würde ich die JTAG Schnittstelle verwenden, dann ist am Pin 2 +5V, das würde dann mit Gnd verbunden werden und zu einem Kurzschluss führen. Ich muss also vor dem Programmieren ISP für die Programmierschnittstelle einstellen, oder? Hab ich das richtig verstanden, dass ich dann mit dieser Programmiermethode nicht debuggen kann? Danke, lG
Hi >Ich würde die Pins nun wie im linken oberen Bild von folgendem Link mit >dem µC verbinden: >http://www.incunabulum.de/projects/poelcontrol/not... >Richtig? Nein. Das ist die Belegung des 10pol. ISP Steckers. Sieh in der Hilfe des AVR-Studios zum JTAGICE nach welche Pins des Steckers den ISP-Leitungen entsprechen. In der Hilfe zum 4er Studio ist das unter JTAGICE mkII User Guide->Connecting the JTAGICE mkII->Connecting to an SPI target zu finden. Beim JTAGICE MKII sollte eigentlich ein ISP-Adapterkabel, allerdings für den sechspoligen ISP-Anschluss, dabei sein. MfG Spess
spess53 schrieb: > Beim JTAGICE MKII sollte eigentlich ein ISP-Adapterkabel, allerdings für > den sechspoligen ISP-Anschluss, dabei sein. Das ist das Teil mit dem bunten 5cm langen Flachbandkabel. Das wird auf die Platine am Ende des FPC-Kabels vom JTAGICE gesteckt. Die schwarze Buchse ist dann die Isp- und Debugwire-Schnittstelle. Ohne Adapter ist das die Jtag-Schnittstelle. Wenn du den Adapter verbummelt hast, musst du dir den selbst bauen oder eine 10-polige Stiftleiste auf dein Board setzen und das entsprechend verkabeln. Dabei handelt es sich dann aber nicht um die alte 10-polige Isp-Schnittstelle! mfg.
Hab das AVR STudio noch nicht installiert, kann ich dann die Pinbelegung in diesem Beitrag verwenden: Beitrag "AVR JTAG zu ISP Adapter" Danke, lG
Hi
>Warum kann ich denn keinen 10-poligen verwenden??
Kannst du schon. Aber der 6-polige ist seit vielen Jahren
ATMEL-Standard.
MfG Spess
Kann ich dann die Pins des 6-poligen Steckers auf der platine wie folgt mit dem µC verbinden: 1 -> MISO 2 -> Vcc 3 -> SCK 4 -> MOSI 5 -> RESET 6 -> Ground ?
Werner Weinwurm schrieb: > Kann ich dann die Pins des 6-poligen Steckers auf der platine wie folgt > mit dem µC verbinden: > 1 -> MISO > 2 -> Vcc > 3 -> SCK > 4 -> MOSI > 5 -> RESET > 6 -> Ground > > ? Ja. mfg.
Super danke! Ein kleine Frage noch zum SCK: Im Datenblatt des µC http://www.atmel.com/Images/8183S.pdf finde ich nur einen PIN mit der Bezeichnung USCK bzw SCL (PIN 9). Ist das der richtige für SCK? DANKE!
ja. Übrigens: Ist dir der Begriff "Selbststudium" bekannt? Es scheint, als ob du hier eine Unterrichtsstunde erwartest
Hallo... tut mir leid, ist mein erstes Projekt... Eine kleine Frage hätte ich trotzdem noch: Wie ist das nun mit dem Debuggen während der Laufzeit, wenn ich mit dieser Methode programmiere? THX
Hi >Eine kleine Frage hätte ich trotzdem noch: Wie ist das nun mit dem >Debuggen während der Laufzeit, wenn ich mit dieser Methode programmiere? Der ATTiny84A hat DebugWire. Das läuft über den gleichen Steckverbinder. MfG Spess
Hallo... Ich habe noch ein Problem: Verwende jetzt doch AVR STudio 4 mit dem alten JTAGICE (grau) mit serieller Schnittstelle... Die 6 Pins hab ich wie oben besprochen herausgeführt. Dabie ist SCK, MOSI, MISO und RESET direkt herausgeführt, für VCC und GND hab ich nicht direkt das Signal vom µC genommen, sondern allgemeine VCC und GND punkte auf der Platine. Ist das ein PRoblem, dass die beiden Pins VCC und GND nicht DIREKT mit der Schnittstelle verbunden sind?? Ich bekomm nämlich beim Verbindungsversuch immer eine Fehlermeldung (siehe Anhang) Hat jemand eine Idee, woran das liegt?
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.