Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK Paralleler Programmierer für AT89. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller Die MSC-51-kompatiblen Mikrocontroller der AT89C-Serie von Atmel mit paralleler Programmierschnittstelle ziehen mit ihren umfangreichen Möglichkeiten und vergleichsweise geringen Kosten die Aufmerksamkeit von Funkamateuren auf sich. Leider sind viele heute gängige Programmierer dafür nicht geeignet. Brauche einen Spezialisten. Dem Autor dieses Artikels ist es gelungen, eines gemäß den Empfehlungen von Atmel zu erstellen, jedoch auf einer Elementbasis, die von GUS-Unternehmen hergestellt wurde. Das Hauptproblem bei der Entwicklung eines selbstgebauten Programmiergeräts besteht darin, die Programmieralgorithmen des Mikrocontrollers zu kennen und genau zu befolgen. Viele Überraschungen können durch die Verwendung von Schaltplänen und Software vermieden werden, die von Chipdesign-Unternehmen veröffentlicht werden. Um Programmcodes in die Mikrocontroller AT89S51, AT89S52, AT89S1051, AT89S2051, AT89S8252 zu laden, empfiehlt Atmel das in [1] beschriebene Gerät. Seine relative Komplexität (sieben digitale und zwei analoge Chips) und die bescheidene Software, die unter DOS läuft, werden durch die Zuverlässigkeit der Programmierung unter Einhaltung aller proprietären Algorithmen mehr als ausgeglichen. In Abb. Abbildung 1 zeigt ein Diagramm eines Programmierers, der sich vom „proprietären“ vor allem in seiner elementaren Basis unterscheidet. Informationen, die vom Computer über die Leitungen DATA2 DATA5 empfangen werden, werden auf Grundlage der Abfälle negativer Polaritätsimpulse an den C-Eingängen, die vom DD1-Decoder kommen, in die DD8-DD1-Register geschrieben. Das DD3-Register und ein Teil des DD4-Registers speichern die 13 Bit Adresse der internen Speicherzelle des Mikrocontrollers, in DD5 - Datenbyte, das zum Schreiben in diese Zelle bestimmt ist, in DD2 und adressfreie Bits DD4 - Steuercodes. Wenn der Strom eingeschaltet wird, setzt die R13C1-Schaltung das Register DD2 in seinen Ausgangszustand zurück und verhindert so eine versehentliche Verzerrung des Inhalts des Speichers des programmierbaren Mikrocontrollers. Der DD6-Bustreiber wird verwendet, um Daten von den Mikrocontroller-Ausgängen auf die Leitung DATA1-DATA8 zu übertragen. Die Ausgänge des DD6-Chips sollten nicht aktiv sein, wenn der LPT-Port ausgegeben wird. Dies wird im Programm berücksichtigt, das Freigabesignale an den Steuereingängen der Mikroschaltungen generiert. Die Widerstände R1-R12 reduzieren das „Klingeln“, das mit Signalabfällen auf den Leitungen des LPT-Ports einhergeht, und schützen ihn vor Überlastungen. Wenn sich die Ausgänge von Computerelementen, die mit den Portleitungen verbunden sind, und die Ausgänge einiger Programmierelemente, einschließlich der programmierbaren Mikroschaltung selbst, in einem hochohmigen Zustand befinden, halten die Widerstände der DR1-DR3-Sätze in den entsprechenden Schaltkreisen einen hohen logischen Pegel aufrecht . Programmierbare Mikroschaltungen sind in einem von zwei Panels installiert: AT89S1051, AT89S2051, AT89S4051 in einem DIP-20-Gehäuse – in XS1; AT89C51 und andere im DIP-40-Gehäuse – in XS2. Damit der interne Taktgenerator des im XS1-Panel verbauten Mikrocontrollers beim Programmieren funktioniert, ist ein Quarzresonator ZQ6 mit einer Frequenz von 4 MHz mit den Kondensatoren C5 und C2 notwendig. Für die im XS1-Panel installierten Geräte ist kein Resonator erforderlich. Pin 5 dieses Panels empfängt von der Software generierte Taktimpulse. Die Versorgungsspannung am Anschluss X1 des Programmiergeräts wird von einer externen Quelle geliefert. Es könnte sich beispielsweise um den Netzwerkadapter der SEGA Mega Drive-M-Videokonsole handeln. Obwohl seine Ausgangsspannung bei einer Nennlast (1 A) 11 V nicht überschreitet, steigt sie bei einem vom Programmiergerät verbrauchten Strom von 70...90 mA auf 14...15 V. Die 5-V-Spannung zur Versorgung der Mikroschaltungen (einschließlich programmierbarer) wird über den integrierten Stabilisator DA1 gewonnen. Die Spannung am Ausgang des Stabilisators DA2 beträgt bei niedrigem Logikpegel an Pin 18 des Bustreibers DD7 12 V. Der genaue Wert wird mit dem Trimmwiderstand R21 eingestellt. Bei einem hohen logischen Pegel an Pin 18 schaltet der geöffnete Transistor VT2 einen weiteren Trimmwiderstand R21 parallel zu R19, wodurch die Ausgangsspannung des DA2-Stabilisators auf 5 V reduziert wird. Die Spannungsanstiegsgeschwindigkeit am Ausgang des Stabilisators nach der Änderung des hohen Pegels an Pin 18 von DD7 auf niedrig hängt von der Kapazität und dem Kondensator C14 ab. Wenn seine Kapazität zu groß ist und die Betriebsgeschwindigkeit des Steuercomputers hoch ist, sind es mehrere niedrigere Zellen des FLASH-Speichers des Mikrocontrollers können fehlerhaft programmiert sein. Die Ausgangsspannung des DA2-Stabilisators wird direkt an Pin 31 (EA/VPP) des XS2-Panels und über einen Schalter am Transistor VT1 an Pin 1 des XS1-Panels (RST/VPP) angelegt. Bei einer Spannung von 12 V ist der Schlüssel unabhängig vom logischen Pegel an Pin 16 des DD2-Registers geöffnet, bei 5 V nur, wenn dieser Pegel niedrig ist. Die verringerte Helligkeit der HL2-LED zeigt eine Spannung von 5 V am DA2-Ausgang an und dass sich die programmierbare Mikroschaltung im Modus zum Lesen von Codes aus ihrem Speicher befindet. Im Lösch- und Speichermodus steigt die Spannung auf 12 V und die Helligkeit der LED nimmt spürbar zu. Dies gilt für alle Mikrocontroller mit Ausnahme derjenigen, die keine 12 V benötigen. Bei der Programmierung von 1-Pin-Mikrocontrollern wird auch die HLXNUMX-LED eingeschaltet. Der X2-Stecker des Programmiergeräts wird mit einem bis zu 2 m langen Kabel mit der Buchse des LPT-Ports eines IBM-kompatiblen Computers verbunden. Am Computer muss der erweiterte Betriebsmodus des LPT-Ports (ECP/EPP) aktiviert sein. In modernen Systemeinheiten funktioniert es standardmäßig. Ist dies nicht der Fall, kann der Port-Modus durch Ausführen des BIOS-SETUP-Programms beim Hochfahren des Computers geändert werden (Menüpunkte „Integrated Peripherals“ – „Parallel Port Mode“). DETAILS UND KONSTRUKTION Der Programmierer ist auf einer doppelseitigen Leiterplatte mit den Maßen 140x140 mm montiert. Der DA1-Stabilisator wird auf einem Kühlkörper mit einer Fläche von mindestens 20 cm2 installiert. Sie können den Programmierer auch mittels Aufputzmontage auf einem Steckbrett montieren. Bitte beachten Sie, dass sich die Kondensatoren C4, C5 und der Quarzresonator ZQ1 möglichst nahe an den Pins 18, 19 des XS2-Panels befinden sollten. Freie Eingänge der Mikroschaltungen DD1 (Pins 13-15), DD2 (Pin 8) und DD7 (Pins 15, 17) müssen mit ihrem gemeinsamen Pin oder Power-Pin verbunden werden. Dadurch wird die Störfestigkeit des Geräts erhöht. Alle digitalen Mikroschaltungen können durch ihre funktionalen Analoga der Serien K555, KR1533 oder importierte ersetzt werden, beispielsweise unter Verwendung der Empfehlungen [2]. Transistoren VT1, VT2 – jede entsprechende Struktur mit geringer Leistung, vorzugsweise mit einem minimalen Spannungsabfall im Kollektor-Emitter-Abschnitt des offenen Transistors. Trimmerwiderstände R19, R21 - SPZ-19A. Die Widerstandssätze DR1-DR3 - HP1-4-9M können durch HP1-4-8M, durch ausländische 9A-Serien oder durch die entsprechende Anzahl gewöhnlicher kleiner Widerstände ersetzt werden, die im Diagramm mit Nennwerten angegeben sind. Die Widerstände R1-R12 können im X2-Steckergehäuse platziert werden. Die Platten XS1 und XS2 müssen dem wiederholten Einsetzen und Entfernen von Spänen standhalten. Am besten verwenden Sie ZIF-Panels (Null-Installationskraft), die für Chips mit einem Abstand zwischen den Kontaktreihen von 7,5 mm (XS1) und 15 mm (XS2) ausgelegt sind. Geeignet sind auch Universalpanels, die den Einbau sowohl „schmaler“ als auch „breiter“ Mikroschaltungen ermöglichen. Da ZIF-Panels um ein Vielfaches teurer sind als alle anderen Teile des Programmiergeräts zusammen, bietet die Platine Kontaktpads für den Einbau herkömmlicher Panels, vorzugsweise mit Spannzangenkontakten. Es ist nicht ratsam, die billigsten Panels mit flachen Kontakten zu verwenden. Nach zahlreichen Chipwechseln verlieren solche Kontakte an Zuverlässigkeit. BILDUNG Der Programmierer wird zum ersten Mal eingeschaltet, ohne ihn an einen Computer anzuschließen und ohne einen programmierbaren Chip. Überprüfen Sie zunächst das Vorhandensein einer Spannung von 13,5 ... 15,5 V am Eingang und 5 ± 0,1 V am Ausgang der Stabilisatoren DA1, DA2. Im letzteren Fall wird der gewünschte Wert über den Trimmwiderstand R19 eingestellt. Beim Verbinden der Pins 1 und 10 der DD6-Mikroschaltung sollte die Spannung an den Pins 3, 5, 7, 9, 12, 14, 16, 18 von 5 auf 3...4 V sinken. Ist dies nicht der Fall, Es liegen Installationsfehler vor oder der DD6-Chip ist defekt. Für weitere Tests schließen Sie das Programmiergerät an den Computer an. Wenn der Programmierer arbeitet, sehen die Signale auf den LPT-Port-Leitungen auf dem Bildschirm des Oszilloskops ziemlich chaotisch aus; es ist schwierig, die Gebrauchstauglichkeit des Geräts anhand ihrer Form zu beurteilen. Es wird empfohlen, ein Testprogramm durchzuführen atmeltst.exe. Als Antwort auf die Aufforderung, die auf dem Bildschirm erscheint, geben Sie die Nummer des LPT-Ports ein, an den das Programmiergerät angeschlossen ist (1 oder 2), woraufhin der Monitorbildschirm die in Abb. gezeigte Form annimmt. 2. Das Programm bietet Zugriff auf jedes der vier Register DD2-DD5, sodass Sie beliebige 3-Bit-Binärcodes hineinschreiben können. Die empfohlene Aktionsfolge wird durch den Text am unteren Bildschirmrand angezeigt. Um beispielsweise den Durchgang von Steuercodes zu überprüfen, sollten Sie auf dem Bildschirm die Zeile „Testsignale F0, C2-C2“ auswählen und die logischen Pegel an den Ausgängen der DD1-Mikroschaltung mit einem Oszilloskop oder Voltmeter überprüfen. Alle sollten niedrig sein und auf hoch wechseln, wenn Sie die entsprechenden Tasten F8-FXNUMX drücken. Indem sie den Zustand der Bits manipulieren, überprüfen sie den Signaldurchgang durch die Schaltkreise des Programmiergeräts entsprechend seiner Schaltung. Beispielsweise muss ein Low-Pegel an Pin 19 von DD2 (das höchstwertige Bit des Registers) einem High-Pegel an Pin 18 von DD7 und einer Spannung von 5 V am Ausgang des DA2-Stabilisators entsprechen. Nach Drücken der F8-Taste sollte die Spannung auf 12 V ansteigen und gleichzeitig sollte die Helligkeit der HL2-LED zunehmen. Nach erneutem Drücken der F8-Taste sollten Spannung und Helligkeit auf die vorherigen Werte zurückkehren. Andere Register und die mit ihren Ausgängen verbundenen Schaltungen werden auf ähnliche Weise überprüft. PROGRAMMIERUNG Ein kostenloses Wartungspaket für Atmel-Programmierer finden Sie auf der Website unter Die im Paket enthaltenen Programme eignen sich zur Steuerung sowohl „proprietärer“ als auch angebotener Programmierer. Es ist jedoch besser, ein russifiziertes Programm zu verwenden at89.exe. Mit seiner Hilfe können Sie alle Mikrocontroller der AT89-Serie mit paralleler Schnittstelle programmieren, einschließlich AT89S4051, AT89S55, AT89S51, AT89S52, AT89S53, die nicht vom proprietären Paket abgedeckt werden. Das Programm bestimmt automatisch den Typ des in einem der Panels installierten Mikrocontrollers, indem es seine Signatur analysiert – zwei oder drei Bytes, die speziell im Permanentspeicher aufgezeichnet werden. Die Liste der Signaturen der Mikrocontroller der AT89-Familie ist in der Tabelle aufgeführt. Wenn alle Signaturbytes gleich 0FFH sind, fehlt der Mikrocontroller im Panel oder ist fehlerhaft, oder der Programmierer ist möglicherweise nicht eingeschaltet. Der Programmieralgorithmus und die Liste der zur Steuerung des Prozesses verwendeten Schlüssel bleiben unverändert. Die empfohlene Betriebsumgebung ist MS DOS. Windows-Benutzer sollten das Programm ausführen, indem sie zunächst den Computer im MS-DOS-Modus neu starten oder diesen Modus in den Dateieigenschaften festlegen. Andernfalls muss die Programmierung der Mikroschaltungen drei- bis viermal hintereinander wiederholt werden, bis die Verifizierungsfehlermeldungen aufhören. Der gesamte Programmiervorgang dauert nicht länger als ein bis zwei Minuten, das eigentliche Laden des FLASH-Speichers dauert maximal 10...15 s. Befehle, deren Liste auf dem Monitorbildschirm angezeigt wird, werden durch Drücken von Tasten mit Buchstaben des lateinischen Alphabets gegeben. Die Groß-/Kleinschreibung (Groß- oder Kleinschreibung) spielt keine Rolle. Nach dem Befehl „Datei lesen“ wird der Name der Binärdatei eingegeben, aus der Daten in den Speicher des Mikrocontrollers geladen werden sollen. Der Inhalt dieses Speichers kann zuvor gelesen und in einer ähnlichen Datei gespeichert werden (Befehl „In Datei schreiben“). Beim Überprüfen des Speicherinhalts anhand von Daten aus einer Datei (Befehl „Mit Datei prüfen“) können Meldungen wie diese auf dem Bildschirm erscheinen: In Zelle FLASH 039A = FF?! 6B Dies bedeutet, dass in der FLASH-Speicherzelle (Programmspeicher) des Mikrocontrollers an der Adresse 39AN der Code 0FFH anstelle der in der Datei angegebenen 6ВН geschrieben wird. AUSTAUSCH DES STABILISATORS DA2 Bei Stromversorgung über einen Low-Power-Netzwerkadapter und einer reduzierten Netzwerkspannung kann der Programmierer nur mit 12...13 V versorgt werden. Für den DA1-Stabilisator ist diese Situation günstig (auf ihm wird weniger Leistung verbraucht). Der DA2-Stabilisator kann jedoch den Betriebsmodus verlassen, wodurch die dem programmierbaren Mikrocontroller zugeführte Spannung unter die zulässigen 11,5 V sinkt. Die Erfahrung zeigt, dass Atmel-Mikroschaltungen erfolgreich bei 10,5 V programmiert werden. Dies kann jedoch nicht garantiert werden. Wenn Sie im Stabilisator den KR1184EN2-Chip oder dessen Prototyp LP2951CL von National Semiconductor verwenden (verfügbar auf vielen Computer-Motherboards), können Sie einen zuverlässigen Betrieb des Programmiergeräts erreichen, indem Sie die Versorgungsspannung auf 11,8 V reduzieren. Der Stabilisator wird gemäß dem in Abb. gezeigten Diagramm zusammengebaut. 3 und verbinden Sie sie mit den in Abb. 1 Punkte A, B und C. Mikroschaltung DA2, Transistor VT2, Widerstände R18-R21 und Kondensator C14 müssen vom Programmierer ausgeschlossen werden. Die Diode VD1 (siehe Abb. 3) ist an Punkt A auf einem hohen logischen Pegel geschlossen und die Ausgangsspannung von 5 ± 0,03 V wird durch einen Präzisionsspannungsteiler im DA1-Chip eingestellt. Wenn der Pegel am Punkt A niedrig ist, ist die Diode offen, die Widerstände R1 und R2 umgehen einen der Zweige des internen Teilers. Die Ausgangsspannung steigt auf 12 V (reguliert durch den Trimmwiderstand R2). Der Kondensator C1 unterdrückt Spannungsspitzen bei transienten Vorgängen. Seine Kapazität (ähnlich dem Kondensator C14 in Abb. 1) sollte nicht zu groß sein. Die Mikroschaltung KR1184EN2 verfügt über einen internen Detektor für den Abfall der Ausgangsspannung, der ausgelöst wird, wenn er um mehr als 5 % des eingestellten Werts abfällt. Dadurch öffnet sich der Transistor VT1 und die LED HL1 leuchtet auf. Die Belastbarkeit des Ausgangs ist gering, daher kann der Wert des Widerstands R4 nicht verringert werden. Wenn der Kauf des Chips KR1184EN2 (LP2951CL) nicht möglich war, kann der Stabilisator auf dem DA2-Chip (siehe Abb. 1) durch eine Einheit ersetzt werden, deren Schaltung in Abb. dargestellt ist. 4. Der minimale Spannungsabfall darüber beträgt 0,15...0,2 V bei einem Laststrom von 20 mA. Der Kollektorstrom des Transistors VT4 mit dem im Diagramm angegebenen Wert des Widerstands R5 darf 50 mA nicht überschreiten, wodurch dieser Transistor nicht auf einem Kühlkörper installiert werden kann. Bei einem niedrigen logischen Pegel am Punkt A ist der Transistor VT1 offen und die Ausgangsspannung des Stabilisators beträgt 12 V (geregelt durch den Trimmwiderstand R1). Bei hohem Pegel und geschlossenem Transistor sinkt sie auf 5 V. Die Widerstände R7 und R8 dürfen eine maximale Abweichung vom Nennwert von nicht mehr als 1 % aufweisen oder mit einer solchen Genauigkeit ausgewählt werden. Die Mikroschaltung KR142EN19 kann durch ein importiertes analoges TL431CLP ersetzt werden. Programme und Zeichnungen der Leiterplatte des Programmiergeräts Literatur
Autor: S. Ryumik, Tschernihiw, Ukraine Siehe andere Artikel Abschnitt Mikrocontroller. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren
05.05.2024 Primium Seneca-Tastatur
05.05.2024 Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024
Weitere interessante Neuigkeiten: ▪ Joghurts sind gut für die Herz- und Gefäßgesundheit ▪ Proprietärer Smartphone-Prozessor von LG ▪ Die Stadt sinkt unter dem Gewicht der Menschen ▪ Fliegender 4G-Turm - Drohne Flying COW News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Abschnitt der Website Elektromotoren. Auswahl an Artikeln ▪ Artikel von Alfred de Musset. Berühmte Aphorismen ▪ Artikel Kann man nachts einen Regenbogen sehen? Ausführliche Antwort ▪ Artikel Finanzielle Bereitstellung des Arbeitsschutzes ▪ Artikel Metalldetektor. Enzyklopädie der Funkelektronik und Elektrotechnik ▪ Artikel Radioempfang ... ohne Radio. Enzyklopädie der Funkelektronik und Elektrotechnik
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |