gibt es atmega 128 grundschaltung für jedes projekt?

Dies ist mein erstes Atmega-Projekt, daher habe ich folgende Fragen:

  1. Muss ich all diese gnds und vccs verbinden?
  2. Beim Programmieren habe ich Vcc Reset Gnd Tx Rx SClk von USART0 verwendet, ist das in Ordnung?
  3. Ich habe keinen externen Taktgenerator (Quarks) verwendet, weil ich vorhabe, die interne Uhr zu verwenden?
  4. Gibt es grundlegende Schaltungen oder Pins, die angeschlossen werden müssen, um einfachen Code zu funktionieren? (Ich habe nur Vccs und Gnds verbunden)
  5. Gibt es eine einfache Schaltung, die testet, ob der Atmega 128 funktioniert oder nicht, ohne ihn zu programmieren?

Antworten (3)

  1. Ja.

  2. Nur wenn Sie es bereits mit einem seriellen Bootloader programmiert haben. Andernfalls verwenden Sie ISP oder HVPP wie gewohnt.

  3. Okay? Das ist keine Frage.

  4. AVCC muss angeschlossen sein. Wahrscheinlich möchten Sie den nPEN auch an einen Switch anschließen.

  5. Nein. Sie werden ab Werk unprogrammiert geliefert, mit Ausnahme der ATmega103-Kompatibilitätssicherung. Vergessen Sie nicht, diese Sicherung vor der Verwendung zu deprogrammieren.

Ich habe das Datenblatt gelesen, aber es besagt, dass PEN Programmfreigabe ist, was mich bei der Programmierung von Pins zweideutig macht. Internet sagt, dass es nur 6 Pins verwendet. Welchen Zweck hat es also, den PEN mit dem Switch zu verbinden? Und für Eure Hilfe sehr verbunden
Lesen Sie den Abschnitt „Speicherprogrammierung“ des Datenblatts.
Seien Sie sehr vorsichtig beim Programmieren von Sicherungen @BekuCh, Sie können das Gerät beschädigen, wenn Sie falsche Sicherungseinstellungen verwenden.
Ich würde auch eine Taste als Teil der "grundlegenden" Schaltung an den /reset- Pin anschließen . Es ist immer praktisch, einen Reset-Knopf zu haben.
  1. Ja. Es wird auch empfohlen, einen 100-nF-Kondensator möglichst nahe an VCC und GND jedes Paares zu platzieren. Auf den meisten modernen Geräten sehen Sie VCC/GND nebeneinander, um dies zu vereinfachen.

  2. Normalerweise wird ein Mikrocontroller schaltungsintern über einen bestimmten Port programmiert. Bei Atmega ist dies normalerweise eine Art SPI-Port (genannt ISP) zusammen mit RESET. Bei moderneren Geräten ist es ein "TWI-Port". Es ist oft ziemlich gut im Datenblatt beschrieben. Über diesen Port können Sie die Gerätespeicher schreiben und löschen sowie Fuses setzen. Sie benötigen jedoch auch ein bestimmtes Hardware-Tool (oft auch vom Hersteller hergestellt; manchmal können Sie eines von Drittanbietern erhalten - aber achten Sie auf den Software-Support!).

Aufgrund dieser Einschränkungen (ungewöhnliche Hardwareverbindung, Hardwaretools usw.) schreiben Leute Bootloader. Auf der Arduino-Plattform kann der ATMEGA zB über eine serielle Schnittstelle teilweise umprogrammiert werden. Dazu muss der ATMEGA jedoch mit dieser Bootloader-Software vorprogrammiert werden. Die Vorprogrammierung muss über ISP erfolgen.

  1. Dies ist in den meisten Fällen in Ordnung. Möchte nur auf ein paar Dinge hinweisen:

    • Stellen Sie die Kommunikationsgeschwindigkeit des AVR ISP nicht zu hoch ein. Ich bin mir des genauen Oszillator-Takt-Verhältnisses nicht sicher, aber eine zu hohe Geschwindigkeit beschädigt Daten und Sicherungen.
    • Beschädigte Sicherungen können den ISP-Port abschalten (keine Neuprogrammierung über ISP mehr!), den Chip anweisen, einen externen Oszillator zu verwenden (ihn zu mauern, wenn er nicht vorhanden ist!) usw.
  2. Ziehen Sie RESET über einen Pull-up-Widerstand hoch, um den Chip zum Laufen zu bringen. Verbinden Sie alle VCC/GND-Paare, einschließlich AVCC/AGND. Wenn es einen AREF-Pin gibt, müssen Sie manchmal auch einen 100-nF-Kondensator auf GND legen.

  3. Nein, nicht automatisch. Dies wird jedoch oft als Blinky-Test bezeichnet. Wenn Sie einen Blinky-Test hochladen können, haben Sie bestätigt, dass Sie Folgendes können:

    • Zugriff auf den Chip
    • Erinnerungen schreiben
    • Chip bootet Ihr Programm
    • Oszillator läuft

Dann müssen Sie herausfinden, ob die Oszillatorgeschwindigkeit korrekt ist, und dann können Sie mit dem Schreiben von echtem Code beginnen.

Ich bin sehr dankbar für Ihre Freundlichkeit und Mühe. Schöne Weihnachten

@1: Ja, Sie müssen alle VCC- und GND-Pins verbinden. Dazu gehören AVCC und AGND.

@2: Führt das Gerät Ihr Programm aus? Hat der Programmierer einen Fehlercode zurückgegeben?

@4: Schließen Sie für jeden einzelnen VCC-Pin einen Entkopplungskondensator an. Faustregel 100nF Keramik.

@5: Einige Geräte unterstützen möglicherweise JTAG-Tests oder eine ähnliche Debug-Schnittstelle (debugWIRE), aber ich bezweifle, dass dies als "einfach" gilt.