Ich habe versucht, ein paar verschiedene Mikrocontroller mit nichts anderem als einem FTDI 5V TTL-Kabel und selbst geschriebener Software zu programmieren, um die benötigten Pins auf den Chips zu bitbangen. Bisher hatte ich nur mit meinen AT89S52-Chips Erfolg, aber mit den anderen habe ich ein ähnliches Problem. Der Rest ist ein ATmega8, ATtiny13 und sogar ein PIC16F84A.
Keiner dieser Chips scheint während der Programmierung auf die entsprechenden Pins (MISO, SDO usw.) zu reagieren. Diese Pins scheinen sich immer in einem hochohmigen Zustand zu befinden und werden weder auf HIGH noch auf LOW gezogen.
Ich habe dies mit einer einfachen LED-"Logiksonde" überprüft, meinem Arduino als Logikanalysator, Oszilloskop. Es gibt einfach keine Antwort von diesen Chips. Ich habe sogar versucht, vom Arduino mit einfachen Skizzen (SPI oder Bitbang) mit genau dem gleichen Effekt zu programmieren.
Gibt es etwas, das ich übersehe oder offensichtlich falsch mache? Bei allen Mikrocontrollern habe ich die Pins direkt mit den Drähten des FTDI-Kabels (oder den Pins von Arduino) verbunden, und falls eine HV-Programmierung erforderlich ist, habe ich die folgende Schaltung verwendet (die anscheinend gut funktioniert, wenn ich mit meinem Multimeter messe) :
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Eine Möglichkeit ist, dass die Chips, die Sie programmieren möchten, einen externen Oszillator erwarten, anstatt ihre internen RC-Oszillatoren zu verwenden. Ich weiß, als ich zum ersten Mal einen AVR programmierte, hatte ich die Sicherungen falsch eingestellt, also musste ich einen externen Oszillator hinzufügen, um ihn erneut programmieren zu können.
Erfolg nur mit meinen AT89S52 Chips [...]
Dieser alte Chip hat Reset aktiv hoch, was ansonsten ungewöhnlich ist.
ATmega8, ATtiny13 und sogar ein PIC16F84A
Diese haben Reset active low und benötigen wahrscheinlich eine andere Reset-Schaltung.
Sadrok