Verzeihen Sie mir, wenn dies eine Noob-Frage ist, dies ist mein erstes MCU-Projekt.
Nachdem ich hier und da ein paar Tutorials gelesen hatte, habe ich meine MCU-Schaltung aufgebaut und ein einfaches Programm in Keil μVision 4 programmiert und zu HEX-80 kompiliert. Ich habe jedoch Probleme beim Versuch, das Programm auf die MCU zu flashen.
Grundsätzlich weiß ich nicht, wie ich die Geräte (PC-> MCU) anschließen soll. Ich hatte den Eindruck, dass ein einfacher USB-> TTL (Serial)-> MCU-UART-Eingang dies tun würde, aber anscheinend nicht.
Nach 5 Stunden Suche habe ich nur Artikel gefunden, die sich auf AVR oder PIC beziehen, ohne dass irgendetwas entfernt mit 8051 zu tun hat. Ich verstehe, dass der AT89S2051 über ISP-Funktionalität verfügt, sodass ich keinen dedizierten Chip-Flash-Programmierer benötige. Ich habe auch festgestellt, dass die MCU über serielle Flash-Funktionen verfügt.
Kann mich hier jemand in die richtige Richtung weisen?
Weitere Details:
MCU: Atmel AT89S2051 (auf Steckplatine)
PC: Win 7 x64 (Sollte egal sein, aber hier ist es sowieso)
USB->TTL: PL2303HX (On-Board-Chipsatz)
Verdrahtung:
Der RXD (TTL-Ausgang) ist mit dem TXD (Pin 3.1) des UART verdrahtet.
Der TXD (TTL-Ausgang) ist mit dem RXD (Pin 3.0) des UART verdrahtet. Der GND (TTL-Ausgang) ist mit der
Schaltungsmasse verbunden
5V (TTL-Ausgang) ist mit der Schaltung +5V verdrahtet.
Die +3,3V (TTL-Ausgang) sind nicht verbunden.
Programme, die ich ausprobiert (und nicht verwendet) habe:
AtmelISP
PonyProg
IspPgm
Wo Sie in Verwirrung geraten, ist, dass ISP zwar für In-System-Programmierung steht, aber häufig noch einen dedizierten Hardware-Programmierer benötigt, um die erforderlichen Spannungen und / oder das Protokoll zum Programmieren des FLASH bereitzustellen. Für dieses Gerät benötigen Sie etwas wie einen Atmel AT89ISP .
Ich habe die AT89-Serie noch nie verwendet, aber auf Seite 32 des AT89S2051-Datenblatts sehen Sie, dass es sich um eine SPI-Schnittstelle handelt, die eine Uhr und Daten-Ein- und -Ausgangsleitungen erfordert. Einige FTDI-Geräte können SPI-Kommunikation unterstützen, aber ich bin mir ziemlich sicher, dass der PL2303HX dies nicht kann, und nach einer kurzen Überprüfung des Datenblatts scheint er nur den asynchronen Modus zu erwähnen.
Im Allgemeinen wäre der einfachste Weg, den AT89ISP-Programmierer zu kaufen, oder ich glaube, es gibt ein paar DIY-Projekte und Klone. Obwohl das Budget nicht knapp ist, ist es wahrscheinlich immer am einfachsten, mit einem offiziell unterstützten Programmierer zu beginnen.
Ignacio Vazquez-Abrams
initramfs