Warum wurde der Atmega16U2 auf dem Arduino UNO als USB-zu-Seriell-Konverter verwendet?

Dies ist das erste Mal, dass mir klar wurde, dass ein zusätzlicher SMD-IC in der Nähe des USB-Anschlusses des Arduino UNO tatsächlich ein vollwertiger Mikrocontroller ist nur ein USB zu Seriell Konverter. Weitere Forschungen zu diesem Chip ließen mich mehr Fragen als Antworten.

Zunächst einmal, warum hat Arduino beschlossen, den Atmega16U2 als USB-Seriell-Konverter zu verwenden? Könnten sie nicht stattdessen mit einem FTDI-Chip arbeiten? Ich bin auf diesen Satz bei Quora gestoßen. „Das Beste daran ist, dass Sie auch Ihre eigenen Anwendungen auf dem 16u2 programmieren und erstellen können, wenn Sie einen seriellen In-Circuit-Programmierer haben.“ Wie genau funktioniert das?

Was ist mit den beiden anderen Anschlüssen auf der Platine? (außer den beiden Hauptreihen der Header) Die mit ICSP und JP2 bezeichneten? Ist der JP2 für den 16U2? Ich habe das gelesen Diese können zum Brennen des Codes auf den Atmega328P verwendet werden, damit er geändert, aber nicht überschrieben werden kann. Welche anderen Verwendungszwecke hat der 16U2 in der Arduino UNO-Klasse?

Kommentare

  • FTDI ist teurer als das 16U2 AFAIK. Beispiele für die Neuprogrammierung sind: Verwendung als USB-MIDI-Gerät oder HID.
  • @Wesley Lee Wie programmieren Sie es tatsächlich neu? obwohl?
  • Es gibt einen separaten ISP / ICSP-Header dafür. Verwenden Sie dann so etwas wie ein Arduino als ISP, Atmel ICE usw. (Ich habe jetzt keine Zeit, aber ich kann möglicherweise eine Antwort schreiben und post p hotos soon)

Antwort

Der erste Grund, den ich vermuten würde, ist der Preis:

Sie können wahrscheinlich viel bessere Angebote bekommen, wenn man bedenkt, dass der Atmega328 auch von Atmel (jetzt Microchip) stammt.

Über die Programmierung:

Es gibt einige Projekte, die den Atmega16U2 über USB oder HID zu einem MIDI-Gerät machen, zum Beispiel einige Repos: 1 , 2 , 3 . Ich habe den zweiten verwendet, den ich denke, und er funktioniert einwandfrei.

Sie können ihn mit einem ISP / ICSP-Programmierer wie Atmel ICE (unten) oder Arduino ISP .

Geben Sie hier die Bildbeschreibung ein

Verwenden Sie die ISP-Pins des Atmega16U2:

Geben Sie hier die Bildbeschreibung ein

Kommentare

  • " Sie können wahrscheinlich viel bessere Angebote erhalten " – Ich wäre nicht ' nicht überrascht, wenn ein Teil dieser Entscheidung darin bestand, dass Atmel dem Arduino-Team einen Schatz-Deal in diesem Bereich anbot.
  • @duskwuff – Stimmt, es hätte auch umgekehrt sein können!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.