MENÜ English Ukrainian Russisch Startseite

Kostenlose technische Bibliothek für Bastler und Profis Kostenlose technische Bibliothek


ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK
Kostenlose Bibliothek / Schemata von radioelektronischen und elektrischen Geräten

So verbinden Sie einen Mikrocontroller und einen Computer über RS-232. Enzyklopädie der Funkelektronik und Elektrotechnik

Kostenlose technische Bibliothek

Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller

Kommentare zum Artikel Kommentare zum Artikel

Dieser Artikel wurde als Beispiel für die Umsetzung der Entwicklung eines Mikrocontroller-Geräts konzipiert, das von einem Personalcomputer über einen seriellen Kanal gesteuert wird. Es richtet sich an diejenigen, die noch keine Erfahrung mit solchen Entwicklungen haben. Sobald Sie verstanden haben, wie der PC den Mikrocontroller steuert, die von ihm empfangenen Informationen anzeigt, verarbeitet und speichert, können Sie dieses Wissen auf Ihre eigenen Entwicklungen anwenden. Darüber hinaus hat das beschriebene Gerät auch einen eigenständigen Wert: Es handelt sich um ein gesteuertes Digitalvoltmeter, dessen Messergebnisse vor der Anzeige von einem Computer nach einem vorgegebenen Algorithmus verarbeitet und auch in einer Datei auf der Festplatte Ihres PCs gespeichert werden können fahren, ansehen und ausdrucken. All dies macht das beschriebene Gerät zur Grundlage für ein einfaches System zum Sammeln, Verarbeiten und Dokumentieren von Daten, das für Elektronikingenieure nützlich ist, die nicht über ausreichende Kenntnisse der Mikrocontroller-Technologie für eine unabhängige Entwicklung verfügen.

Einführung

Ziel dieser Arbeit war die Entwicklung und Herstellung des einfachsten Messgeräts auf Basis des heute noch am weitesten verbreiteten Mikrocontrollers der x51-Familie, das Informationen mit einem Personal Computer austauschen kann. Es sollte einen Spannungsmesser im Gerät implementieren, der später durch verschiedene Vorsätze ergänzt werden konnte, die andere direkt gemessene physikalische Größen in Spannung umwandeln. Mit einem solchen Gerät wäre es einfach, computergesteuert eine Reihe von Messungen durchzuführen, die Ergebnisse zu akkumulieren und computergesteuert zu verarbeiten. Mit geringfügigen Änderungen könnte daraus leicht ein System zur Fernüberwachung und -steuerung von Geräten oder anderen Instrumenten und Geräten werden.

Allgemeine Beschreibung des Geräts. Elektrischer Teil des Geräts

Das Gerät (Abb. 1) ist tatsächlich ein digitales Voltmeter. Am Eingang des Voltmeters befindet sich ein Operationsverstärker (DA1), der eine hohe Eingangsimpedanz aufweist. Dem Operationsverstärker folgt ein ADC (DD2), der es uns ermöglicht, die für uns interessante Spannung für die anschließende Übertragung an den Mikrocontroller zu digitalisieren. Der DD3-Mikrocontroller ist das Hauptsteuerelement des Geräts, da er Informationen vom ADC liest und über einen seriellen Kanal mit einem Personalcomputer kommuniziert. Das Gerät enthält außerdem Leistungswandler zur Erzeugung von +5 V für den digitalen Teil und zur Erzeugung von +/-10 V für den Operationsverstärker sowie einen Pegelumwandlungschip (logisch <0> und <1> bis -15: +15). V und umgekehrt) für den Informationsaustausch über einen seriellen Kanal wie RS232.

So verbinden Sie einen Mikrocontroller und einen Computer über RS-232
Reis. eines

Der an den Computer gesendete Wert liegt im Bereich 0...4095 (was der ADC-Bittiefe entspricht), 0 entspricht dem Eingangspegel 0V, 4095 - dem Pegel 5V, die Abhängigkeit ist linear.

Die Informationsaustauschrate kann auf weniger als 9600 Baud und höher – bis zu 115 Baud – eingestellt werden. Auf relativ alten Computern wie 200 und früher liegt die Obergrenze viel niedriger – 386 Baud. Dies liegt daran, dass die in diesen Computern installierten Chips für die serielle Schnittstelle nicht für höhere Geschwindigkeiten ausgelegt sind.

Beschreibung der Chips

MAX680 Netzteilkonverter

Operationsverstärker erfordern normalerweise eine bipolare Stromversorgung (z. B. +10 V und -10 V gegen Masse). Funkamateure, die mit der modernen Elementbasis wenig vertraut sind, verwenden normalerweise einen Transformator mit zwei Sekundärwicklungen (oder mit einer, aber mit einem Abgriff in der Mitte), zwei Filterkondensatoren, zwei Stabilisatoren usw., um eine solche Spannung zu erhalten. Allerdings Wenn Ihnen eine stabilisierte Spannung von 5 V zur Verfügung steht und der verwendete Operationsverstärker, der eine bipolare Versorgung benötigt, mit nur +7:10 V auskommt und dabei 1:2 mA verbraucht, dann sind die beiden Wicklungen und zwei Stabilisatoren erwähnt nicht benötigt. Es reicht aus, den MAX680-Chip von Maxim zu verwenden (beachten Sie, dass solche Chips von Linear Technology und einer Reihe anderer namhafter Unternehmen hergestellt werden).

Am Eingang der Mikroschaltung wird eine Spannung Uin im Bereich von 3:5 bis 6:10 V (je nach Typ) angelegt, an ihren Ausgängen entstehen Spannungen von etwa + 2Uin. Bemerkenswert ist, dass erstens zusätzlich zum 8-Pin MAX680 bzw. LT1026 nur 4 kleine Elektrolytkondensatoren zur Bildung dieser Spannungen benötigt werden (siehe Abb. 1) und zweitens sich bei einer Änderung der Eingangsspannung die verdoppelte Ausgangsspannung ändert in Phase, was das Ausgangssignal des Operationsverstärkers praktisch nicht beeinflusst. Für eine detailliertere Kenntnis solcher Mikroschaltungen empfiehlt der Autor, auf die entsprechenden Firmenbeschreibungen zu verweisen.

ADC MAX1241

In der Mikrocontroller-Technologie wurden in den letzten Jahren in großem Umfang Mikroschaltungen entwickelt, die über einen seriellen Kanal gesteuert werden. Einer dieser Mikroschaltkreise ist der 12-Bit-ADC MAX1241. Wie im Fall von MAX680 gibt es auch für MAX1241 eine ganze Reihe genauer und ungefährer Analoga (MAX187 von Maxim, LTC1286, LTC1298 von Linear Technology, AD7894 von Analog Devices und eine Reihe anderer).

MAX1241 ist in einem 8-Pin-Gehäuse untergebracht, wird mit einer Spannung von 2,7 bis 5 V betrieben und verbraucht einen Strom von etwa 5 mA. Es erfordert die Verwendung einer externen Referenzspannungsquelle (in diesem Fall wird eine Präzisions-Zenerdiode KR142EN19 verwendet, die eine Spannung von 2,50 V erzeugt) und verwendet nur 3 Leitungen für die Kommunikation mit dem Mikrocontroller.

Der Betrieb von MAX1241 wird durch die Zeitdiagramme in Abb. veranschaulicht. 2. Vor der Konvertierung und dem Austausch muss der CS# MAX1241-Eingang vom Mikrocontroller in einem einzigen Zustand gehalten werden. Um die Konvertierung zu starten, muss an diesen Eingang ein logischer Nullpegel angelegt werden. Der Konvertierungsvorgang im MAX1241 dauert knapp 8 µs. Während der gesamten Konvertierungszeit behält MAX1241 an seinem DOUT-Ausgang den logischen Pegel 0. Nach Abschluss der Konvertierung setzt MAX1241 den DOUT-Ausgang in einen einzelnen Zustand.

So verbinden Sie einen Mikrocontroller und einen Computer über RS-232
Reis. eines

Bevor mit der Konvertierung begonnen wird, muss der Mikrocontroller am SCLK MAX1241-Eingang den Null-Logikpegel einstellen. Wenn der Umwandlungsprozess im ADC abgeschlossen ist, muss der Mikrocontroller eine Folge von mindestens 12 positiven Impulsen am SCLK-Eingang erzeugen (Abb. 2). Die steigende Flanke des ersten Impulses bereitet den MAX1241 auf die Datenübertragung vor. Beim Abfallen des Impulses an DOUT erscheint das höchstwertige 12. Bit als logische Null oder Eins. Der Mikrocontroller liest dieses Bit, erzeugt die Vorderseite des zweiten Impulses auf SCLK und nach einer Weile seinen Rückgang. Mit dem Abfall des zweiten Impulses erscheint das 11. Bit, das dann vom Mikrocontroller gelesen wird, auf DOUT usw.

Beim Abfall des 12. Impulses wird das niedrigstwertige 1. Bit am DOUT-Ausgang gesetzt. Der Abfall des 13. Impulses versetzt DOUT in den Nullzustand, in dem es sich befindet, bevor der CS#-Eingang auf 1 gesetzt wird. Durch die Übertragung von CS# in einen einzelnen Zustand informiert der Mikrocontroller MAX1241 über den Abschluss des Lesevorgangs des Konvertierungsergebnisses. Die nächste MAX1241-Konvertierung kann etwa 1 µs dauern, nachdem CS# auf 1 gesetzt wurde.

Die Betriebsalgorithmen von LTC1286, LTC1298 von Linear Technology und AD7894 von Analog Devices unterscheiden sich geringfügig von den für MAX1241 beschriebenen. Nähere Einzelheiten entnehmen Sie bitte den jeweiligen Firmenbeschreibungen.

Pegelwandler MAX202E

Es ist für niemanden ein Geheimnis, dass in der Standardlogik Eins durch einen Spannungspegel von 2,4 bis 5 V und Null durch einen Spannungspegel von 0 bis 0,8 V dargestellt wird. Anfänger wissen jedoch möglicherweise nicht, dass Null und Eins über RS- übertragen werden. 232 Kanäle. werden mit dem gleichen Wert (von 5 bis 12 V), aber unterschiedlichen Vorzeichensignalen codiert. Im Rahmen dieses Artikels soll nicht erklärt werden, warum dies üblich ist und nicht anders – wir beschränken uns auf die Feststellung dieser Tatsache.

Da für die Übertragung über RS-232 Standard-Logiksignale in Signale eines anderen Pegels umgewandelt werden müssen, ist es notwendig, entsprechende Mittel zur Umwandlung in der Schaltung vorzusehen. Vor etwa 10 Jahren wurden zu diesem Zweck speziell entwickelte Kaskaden aus drei oder vier Transistoren, einem Diodenpaar und fast einem Dutzend Widerständen verwendet. Jetzt hat sich die Situation deutlich geändert: Die führenden Hersteller von Mikroschaltungen produzieren komplett fertige Konverter, die ein Minimum an zusätzlichen Elementen erfordern. Dazu gehören MAXIMs MAX202E und der AD232 von Analog Devices, der bis auf die Pinbelegung völlig identisch mit ihm ist. Im Inneren enthalten beide Mikroschaltungen einen Spannungswandler von +5 V auf +10 V, der mit dem oben beschriebenen MAX680 identisch ist, sowie Kaskaden, die Logiksignale auf Standardebene in Signale auf RS-232-Ebene umwandeln. Jeder dieser Mikroschaltkreise enthält Logikpegelwandler für zwei Empfänger und zwei Sender. Wir werden nur einen Transceiver-Kanal verwenden.

Funktionsweise des MK mit einem seriellen Kanal

Wie Sie wissen (siehe zum Beispiel die Ausgaben 10 und 11 des Radio-Magazins von 1994), verfügen Mikrocontroller der x51-Familie über vier Transceiver-Betriebsmodi. Uns interessiert Modus 1 als der einfachste und akzeptabelste.

Modus 1 ist durch folgende Parameter gekennzeichnet:

  • der Informationsaustausch ist asynchron;
  • Pro Austauschakt werden 10 Bit übertragen (Startbit (0), 8 Datenbits und Stoppbit (1));
  • die Empfangs-/Senderate ist programmierbar und wird durch einen Timer eingestellt.

Dies ist ein praktischer Programmiermodus: Für die Einrichtung und den Betrieb des Transceivers ist nur sehr wenig Programmiercode erforderlich. Wenn Sie möchten, können Sie jedoch auch andere Betriebsarten verwenden. Der Zweck dieses Artikels besteht darin, ein Gerät zu beschreiben, das mit einem PC kommunizieren kann.

Auf die genaue Funktionsweise des Transceivers wird hier nicht näher eingegangen. Diese Informationen können den genannten Zeitschriften „Radio“ oder anderer Literatur entnommen werden.

Grundlegende Routinen für MK

Die Hauptroutinen für den Mikrocontroller sind: Daten vom ADC lesen, UART initialisieren, ein Byte empfangen und ein Byte senden.

Lesen von Daten von ADC

Einrichten eines PCs zum Austausch von Informationen über eine serielle Verbindung.

Um einen PC für den Informationsaustausch über einen seriellen Kanal einzurichten, müssen Sie Folgendes tun:

  • Deaktivieren Sie alle Interrupts, da keine Notwendigkeit besteht, sie zu verwenden.
  • Stellen Sie Timer 1 so ein, dass er im Modus 2 mit automatischem Neuladen von Inhalten arbeitet. Dies ist notwendig, um die Geschwindigkeit des Informationsaustauschs einzustellen und konstant zu halten;
  • Anfangswerte in den Timer-Zähler laden;
  • Startuhr 1.

Ein Beispiel für einen Code, der für einen Wechselkurs von 9600 bps für einen Quarzresonator mit einer Resonanzfrequenz von 11,059 MHz ausgelegt ist:

GET_VOLT: SETB DOUT ; ERLAUBT DATENEINGABE VON ADC SETB CS ; ANFANGSZUSTAND SETZEN ADC CLR SCLK ; SETZE ANFANGSZUSTAND ADC CLR CS ; GEMELDET, MUL AB-DATEN ZU LESEN; 4 MKS BEI 12 MHZ \ MUL AB ; 4 ISS | MUL AB ; 4 ISS} WARTE AUF DAS ENDE; | ZIFFERN MUL AB ; 4 MKS / MOV R0,#12 ; LESE 12 BIT GET_VC: SETB SCLK ; \ NOP ; | NOP ; | CLR SCLK ; } HABE EINEN IMPULS ZUM LESEN VON BIT NOP ERZEUGT; | NOP ; / BEWEGUNG C, DOUT ; BIT LESEN MOV A, R2 ; \ RLC A ; | MOV R2,A ; | MOV A, R3 ; } PUSH BIT IN WORD ; |ERGEBNIS – R3R2 RLC A ; | MOV R3,A ; / DJNZ R0,GET_VC ; LOOP ANL A,#0FH MOV R3,A ; GELÖSCHTE HIGH-BITS R3R2 SETB CS ; NICHT VORLESEN WOLLEN ; (RESTLICHE BIT = 0) MUL AB ; 4 MKS BEI 12 MHZ \ MUL AB ; 4 ISS | MULAB ; 4 ISS | MULAB ; 4 µs }MIN VERZÖGERUNG ; | VOR DEM NÄCHSTEN MULAB ; 4 ISS | MULAB ; 4 ISS / RET   

Dieses Unterprogramm wird im Hauptprogramm des Mikrocomputers als das allererste bezeichnet. Im Prinzip kann es nicht einmal als Unterprogramm konzipiert werden.

Empfangen und Senden eines Bytes

Die Routinen zum Empfangen und Senden eines Bytes über eine serielle Verbindung sind sehr einfach.

SERINIT: MOV IE, #0 ; Alle Interrupts deaktivieren MOV TMOD, #20H ; Modus 2 für Timer 1 einstellen MOV TH1, #REL96 ; Wert für das automatische Nachladen des Zählers MOV TL1, #REL96 ; Anfangszählerwert für 9600 bps ; mit SMOD = 0 ANL PCON, #7FH ; Gelöscht SMOD MOV SCON, #50H ; Modus für 8 Bit Daten und Baudrate, ; zeitabhängig SETB TR1 ; Starte Timer/Setter 1 RET, wobei REL96 eine Konstante gleich 0FDh ist

Ein Byte kann nur dann vom SBUF-E/A-Port gelesen werden, wenn das RI-Bit im SCON-Steuer-/Statusregister gesetzt ist, was das Vorhandensein eines Bytes im Empfangspuffer anzeigt. Nach dem Lesen dieses Bytes muss das RI-Bit zurückgesetzt werden.

Nachdem Sie ein Byte in den E/A-Port geschrieben haben, müssen Sie warten, bis das TI-Bit gesetzt wird, das das Ende des Sendens des Bytes an die Leitung signalisiert. Dann muss auch das TI-Bit zurückgesetzt werden.

Unterprogramm zum Empfangen eines Bytes in den Akkumulator:

GETCH: JNB RI, GETCH MOV A, SBUF CLR RI RET

Unterprogramm zum Senden eines Bytes aus dem Akkumulator:

PUTCH: MOV SBUF, A SEND: JNB TI, SEND CLR TI RET

Es ist auch zu beachten, dass der Mikrocomputer über keine Mittel zur Erkennung von E/A-Fehlern verfügt.

Um die Prüfung hardware-softwaremäßig zu organisieren, ist es möglich, die Anzahl der Ein-/Ausgangsleitungen zu erweitern, über die zusätzliche Signale übertragen werden, und es wird möglich sein, die Zustände zu ermitteln, in denen sich die Dialogteilnehmer befinden lokalisieren und Fehler erkennen.

Es ist möglich, die Zuverlässigkeit des Empfangens/Sendens von Informationen auf andere Weise zu erhöhen: durch die Übertragung eines weiteren Bits mit acht Datenbits – dem Paritätsbit, das ähnlich wie das Paritätsflag im Programmstatuswort (Bit 0 PSW) berechnet wird. Es sollte nur für das gesendete oder empfangene Byte berechnet werden. Nachdem Sie das Byte und das Paritätsbit empfangen haben, müssen Sie sie vergleichen, damit sie miteinander übereinstimmen. Wenn sie nicht übereinstimmen, ist ein E/A-Fehler aufgetreten. Um ein zusätzliches 9. Informationsbit zu übertragen, müssen Sie Modus 2 oder 3 des Timers/Zählers verwenden.

Allgemeines Programm für MK. Gerätezustandsdiagramm

Das allgemeine Mikrocomputerprogramm basiert auf dem unten beschriebenen Algorithmus. Der Algorithmus ist ziemlich kompliziert, weil Dennoch müssen Sie irgendwie, zumindest programmgesteuert, Eingabe-/Ausgabefehler erkennen und auf deren Auftreten reagieren.

Zur besseren Übersichtlichkeit wird dem in einfachen Worten beschriebenen Algorithmus eine Abbildung beigefügt – das sogenannte Gerätezustandsdiagramm (Abb. 3), das die vier Hauptzustände des Geräts im Hinblick auf den Informationsaustausch mit einem Computer zeigt.

So verbinden Sie einen Mikrocontroller und einen Computer über RS-232
Reis. eines

Lassen Sie uns im Voraus festlegen, dass unser Mikrocomputer ein Sklave ist und ein Personalcomputer führend im Datenaustausch ist. Mit anderen Worten: Das Gerät selbst sollte ohne Befehl vom PC nichts tun. Es ist vollständig dem Steuerrechner untergeordnet. Der Personalcomputer wird aus dem einfachen Grund als Spitzenreiter ausgewählt, weil er über mehr Leistung verfügt und das Gerät ohne besondere Probleme steuern kann. Darüber hinaus können dem Benutzer weitere Servicefunktionen zur Verfügung gestellt werden.

Geben Sie eins an - Warten Sie

In diesem Zustand befindet sich das Gerät unmittelbar nach dem Einschalten der Versorgungsspannung. Hier wartet es auf eine Initialisierungsanforderung des Rechners, die sich darin äußert, dass der Rechner das NUL-Zeichen sendet. Das Gerät wiederum muss als Reaktion auf die empfangene Anfrage ggf. zusätzliche Module und Ressourcen aktivieren und konfigurieren und dann, wenn alles gut gelaufen ist, ein ACK-Symbol an den Computer senden. Im Fehlerfall sollte ein NAK gesendet werden. Somit findet die erste „Kommunikation“ zweier „Gesprächspartner“ statt. Wenn Sie möchten, können Sie „Grüße austauschen“ oder „die Hände schütteln“.

Wenn das Gerät erfolgreich initialisiert wird und dann ein ACK-Zeichen sendet, wechselt es automatisch in den nächsten Status. Dieser Übergang ist im Diagramm durch Pfeil 1 gekennzeichnet.

Bereitschaftszustand

In diesem Zustand wartet unser Mikrocomputer auf eine PC-Anfrage, um den vom ADC gelesenen Messwert zu senden. Die Anfrage ist ein XON-Zeichen. Bei Annahme dieses Symbols geht das Gerät in einen neuen Zustand über – Senden. Pfeil 2 entspricht dem Übergang.

Status senden

Auf dem Weg dorthin liest der Mikrocontroller mit der zuvor angegebenen Methode eine binäre Zwölf-Bit-Zahl vom ADC und sendet sie in Teilen an den Computer. Diese Implementierung wandelt die Binärzahl in ihr dreistelliges Hexadezimaläquivalent um, z. B. <1FF> für die Dezimalzahl 511. Senden Sie dann zuerst <1> und einhundert .

Nach Abschluss der Übertragung des Werts an den Computer geht der Mikrocomputer in den nächsten Zustand gemäß Pfeil 4 über.

Gesendeter Zustand

Dieser Zustand ist der letzte und schließt sozusagen den Kreis eines einzelnen Kommunikationsakts zwischen Gerät und Computer. Dabei wird vom Computer erwartet, dass er bestätigt, dass er den an ihn adressierten Wert korrekt empfangen hat.

Es gibt mehrere Möglichkeiten, dass der PC auf die gesendete Nummer antwortet: Er kann mit dem XOFF-Symbol über den erfolgreichen Empfang antworten, was bedeutet, dass noch keine weiteren Werte erforderlich sind, oder er kann mit dem XON-Symbol antworten bedeutet, dass ein weiterer Wert benötigt wird. Wenn XOFF empfangen wird, kehrt das Gerät in den Zustand „Ready“ zurück (Übergang 7 im Diagramm). Wird das XON-Symbol empfangen, befindet sich das Gerät wieder im Sendezustand (Übergang 5) und wiederholt das Auslesen vom ADC mit anschließender Übertragung der Nummer auf die Leitung. Der einzige Fall, der nicht berücksichtigt wurde, war, dass dem PC nicht gefiel, was er erhielt: zum Beispiel anstelle von Zeichen im Bereich <0>...<9>, ...er hat etwas anderes bekommen oder <,>. In dieser Situation sendet es ein NAK-Zeichen an unser Gerät, das als Aufforderung zum erneuten Senden des letzten Werts interpretiert werden sollte, was passiert: Das Gerät wird wieder in den Sendezustand versetzt (Übergang entlang Pfeil 6).

Die durch die Pfeile 3 und 8 des Diagramms gekennzeichneten Übergänge blieben unbeschrieben. Wenn der Computer einen schwerwiegenden E/A-Fehler erkennt oder die Kommunikation mit dem Gerät beenden muss, sendet er einfach eine Initialisierungs-NUL, die das Gerät initialisiert und in den Status „Bereit“ versetzt.

Diese. Unabhängig davon, in welchem ​​Zustand sich unser Gerät befindet, muss es auf die Initialisierungsanfrage genauso reagieren wie bei der Erstinitialisierung (siehe Punkt Wartestatus). Wenn der Mikrocomputer ein unerwartetes oder falsches Zeichen oder eine unerwartete oder falsche Anfrage empfängt, sollte er darauf immer mit dem NAK-Zeichen antworten.

Такая стратегия является выигрышной, так как при подобная организация программы для устройства облегчает выполнение сразу нескольких задач: микро-ЭВМ и ПК не будут играть в испорченный телефон, во-первых, а, во-вторых, они смогут просто и эффективно "общаться" друг mit dem Freund.

Kommen wir zum PC. Allgemeines Programm für PC. PC-Zustandsdiagramm

Grundsätzlich unterscheidet sich ein gängiges Programm für einen Computer in keiner Weise von dem, das in einem Mikrocontroller verwendet wird. Der Algorithmus wird ähnlich sein und das Zustandsdiagramm wird ähnlich sein.

Initialisierung des ersten Zustands

Der Computer gelangt hierher, wenn der Benutzer eine Taste auf seiner Tastatur drückt, die der Annahme eines einzelnen Werts entspricht. In diesem Zustand sendet der Computer ein NUL-Initialisierungszeichen an das Gerät und wartet auf eine ACK- oder NAK-Antwort. Wenn ein ACK empfangen wurde, ist die Initialisierung erfolgreich verlaufen und Sie können weiterarbeiten – gehen Sie zum nächsten Status gemäß Pfeil 2 im Diagramm. Wenn der NAK empfangen wird, sollte der Vorgang gestoppt werden und der Computer sollte in den Endzustand „Fertig“ gemäß Pfeil 1 wechseln.

Bereitschaftszustand

In diesem Zustand bereitet sich der Computer auf den Empfang der Zeichen vor, aus denen der vom Mikrocomputer angeforderte Wert besteht. Es gibt zwei Anfragen zum Senden eines Werts. Die erste ist eine Normalwertanforderung und wird durch das XON-Zeichen abgeglichen.

Die zweite Anfrage ist eine Anfrage zum erneuten Senden des letzten Werts. Dies ist erforderlich, wenn der Wert über einen objektiven Zeitraum nicht vollständig übernommen wurde oder falsche Zeichen empfangen wurden, die nicht in die Bereiche von <0> bis <9> und von bis fallen . Für eine Neuübertragungsanfrage wird das Zeichen NAK vergeben.

Nachdem wir uns auf den Empfang der Wertzeichen vorbereitet haben, erfolgt als Nächstes eine der beiden oben genannten Anforderungen an unser Gerät. Anschließend wechselt der Computer entlang des Pfeils 4 in den Zustand des Wertempfangs.

Empfangszustand

Dabei liest der PC lediglich drei Zeichen des vom ADC gemessenen und umgewandelten Wertes. Wie bereits erwähnt, verfügt der Computer über eine gewisse objektive Zeit, um auf einen Charakter zu warten. Wenn das Zeichen in dieser Zeit nicht gelesen wurde, wird diese Situation als fehlerhaft interpretiert, d. h. Es ist ein E/A-Fehler aufgetreten.

Übrigens kommt es bei relativ hohen Informationsaustauschraten (mehr als 19200 bps) oder beim Arbeiten im MS-Windows-Betriebssystem (beliebige Version) oft vor, dass ein Computer nur zwei der drei an ihn gesendeten Zeichen empfängt, und manchmal noch weniger - eins. Um zu verhindern, dass der Computer „hängt“ – also unendlich lange auf ein fehlendes oder fehlendes Zeichen wartet – wird eine gewisse Zeit eingeführt, um diese Erwartung einzuschränken. Leider werden diese Auslassungen von der Hardware-Methode nicht erkannt.

Diese Implementierung definiert zwei Arten von Zeitüberschreitungen, die vom Benutzer über die Tastatur festgelegt werden können. Der erste Typ ist das Timeout für 1 von 3 Zeichen. Dadurch kann das Gerät die benötigte Zahl ruhig und ohne Eile messen, digitalisieren und in ein symbolisches Äquivalent umwandeln. Und der zweite Typ ist das Zeitlimit für das Senden des zweiten und dritten Zeichens.

Kommen wir nun zu möglichen Übergängen vom Empfangszustand in andere Zustände.

Wenn nicht alle 3 Zeichen des Werts innerhalb der vorgegebenen Zeit empfangen wurden, muss der Computer unser Gerät auffordern, ihm den Wert erneut zu senden. Diese Situation entspricht dem Übergang entlang des Pfeils 5, d. h. Der Computer stellt eine Anfrage mit einem NAK-Zeichen und wechselt zurück in den Bereitschaftszustand.

Wenn beim Empfang durch den Computer ein I/O-Fehler festgestellt wurde (und der PC ausreichend Gelegenheit hat, das Statusregister der seriellen Schnittstelle zu analysieren), ist es besser, sowohl den Computer als auch den Mikrocomputer in den ursprünglichen Zustand zurückzusetzen , d.h. Wiederholen Sie die Initialisierung. Daher ist im Diagramm auch Pfeil 3 vorhanden.

Und schließlich, wenn der Computer alle drei Zeichen vom Gerät empfangen hat, geht er in den Analysezustand des empfangenen Werts über – in den Empfangszustand entlang des Pfeils 8.

Veröffentlichung: cxem.net

Siehe andere Artikel Abschnitt Mikrocontroller.

Lesen und Schreiben nützlich Kommentare zu diesem Artikel.

<< Zurück

Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik:

Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren 05.05.2024

Die moderne Welt der Wissenschaft und Technik entwickelt sich rasant und jeden Tag tauchen neue Methoden und Technologien auf, die uns in verschiedenen Bereichen neue Perspektiven eröffnen. Eine dieser Innovationen ist die Entwicklung einer neuen Methode zur Steuerung optischer Signale durch deutsche Wissenschaftler, die zu erheblichen Fortschritten auf dem Gebiet der Photonik führen könnte. Neuere Forschungen haben es deutschen Wissenschaftlern ermöglicht, eine abstimmbare Wellenplatte in einem Wellenleiter aus Quarzglas zu schaffen. Dieses auf der Verwendung einer Flüssigkristallschicht basierende Verfahren ermöglicht es, die Polarisation des durch einen Wellenleiter fließenden Lichts effektiv zu ändern. Dieser technologische Durchbruch eröffnet neue Perspektiven für die Entwicklung kompakter und effizienter photonischer Geräte, die große Datenmengen verarbeiten können. Die durch die neue Methode bereitgestellte elektrooptische Steuerung der Polarisation könnte die Grundlage für eine neue Klasse integrierter photonischer Geräte bilden. Dies eröffnet große Chancen für ... >>

Primium Seneca-Tastatur 05.05.2024

Tastaturen sind ein fester Bestandteil unserer täglichen Arbeit am Computer. Eines der Hauptprobleme für Nutzer ist jedoch der Lärm, insbesondere bei Premium-Modellen. Doch mit der neuen Seneca-Tastatur von Norbauer & Co könnte sich das ändern. Seneca ist nicht nur eine Tastatur, es ist das Ergebnis von fünf Jahren Entwicklungsarbeit, um das perfekte Gerät zu schaffen. Jeder Aspekt dieser Tastatur, von den akustischen Eigenschaften bis hin zu den mechanischen Eigenschaften, wurde sorgfältig durchdacht und ausbalanciert. Eines der Hauptmerkmale von Seneca sind seine leisen Stabilisatoren, die das bei vielen Tastaturen auftretende Geräuschproblem lösen. Darüber hinaus unterstützt die Tastatur verschiedene Tastenbreiten, sodass sie für jeden Benutzer bequem ist. Obwohl Seneca noch nicht käuflich zu erwerben ist, ist die Veröffentlichung für Spätsommer geplant. Seneca von Norbauer & Co setzt neue Maßstäbe im Tastaturdesign. Ihr ... >>

Das höchste astronomische Observatorium der Welt wurde eröffnet 04.05.2024

Die Erforschung des Weltraums und seiner Geheimnisse ist eine Aufgabe, die die Aufmerksamkeit von Astronomen aus aller Welt auf sich zieht. In der frischen Luft der hohen Berge, fernab der Lichtverschmutzung der Städte, enthüllen die Sterne und Planeten ihre Geheimnisse mit größerer Klarheit. Mit der Eröffnung des höchsten astronomischen Observatoriums der Welt – dem Atacama-Observatorium der Universität Tokio – wird eine neue Seite in der Geschichte der Astronomie aufgeschlagen. Das Atacama-Observatorium auf einer Höhe von 5640 Metern über dem Meeresspiegel eröffnet Astronomen neue Möglichkeiten bei der Erforschung des Weltraums. Dieser Standort ist zum höchstgelegenen Standort für ein bodengestütztes Teleskop geworden und bietet Forschern ein einzigartiges Werkzeug zur Untersuchung von Infrarotwellen im Universum. Obwohl der Standort in großer Höhe für einen klareren Himmel und weniger Störungen durch die Atmosphäre sorgt, stellt der Bau eines Observatoriums auf einem hohen Berg enorme Schwierigkeiten und Herausforderungen dar. Doch trotz der Schwierigkeiten eröffnet das neue Observatorium den Astronomen vielfältige Forschungsperspektiven. ... >>

Zufällige Neuigkeiten aus dem Archiv

SSD-Datenübertragungsgeschwindigkeit verdoppelt 12.05.2012

HGST (ehemals Hitachi GST und jetzt eine Tochtergesellschaft von Western Digital) hat auf seiner Website angekündigt, ein industrielles SAS-Solid-State-Laufwerk (SSD) mit 12 Gb/s vorzustellen.

Das Laufwerk wird am 9. Mai auf dem SCSI Trade Association Technology Showcase in Santa Clara, Kalifornien, USA, ausgestellt.

Der Pressedienst von HGST betonte, dass sie das erste Unternehmen sein werden, das die neue Technologie in Betrieb demonstriert.

Wie das Unternehmen erklärte, soll die neue Schnittstelle die doppelte Datenübertragungsrate im Vergleich zu modernen SSDs und Industriefestplatten bieten, deren Schnittstelle auf 6 Gb/s begrenzt ist.

Der Hersteller behauptet, dass das Unternehmen Daten mit einer Geschwindigkeit von bis zu 12 Gbit / s mit dem Gerät austauschen kann, wenn das Laufwerk über zwei Ports angeschlossen ist, von denen jeder 4,8 Gbit / s bereitstellt. Das Gerät wird für Speichersysteme und Cloud-Plattformen ausgelegt sein.

Weitere interessante Neuigkeiten:

▪ Indikator für verdorbene Lebensmittel

▪ Videospiele auf der realen Weltkarte

▪ Intelligente Hochspannungs-Leistungsmodule mit erhöhter Strombelastbarkeit

▪ Wasserstoffbatterie von Apple

▪ Ein leuchtender Verband warnt vor der Entzündung der Verbrennung

News-Feed von Wissenschaft und Technologie, neue Elektronik

 

Interessante Materialien der Freien Technischen Bibliothek:

▪ Site-Abschnitt Modellierung. Artikelauswahl

▪ Artikel Wie man ins Wasser schaut. Populärer Ausdruck

▪ Artikel Was ist Gas? Ausführliche Antwort

▪ Hydrastis-Artikel. Legenden, Kultivierung, Anwendungsmethoden

▪ Artikel Berechnung der Gesamtabmessungen des Transformators für halbautomatisches Schweißen. Enzyklopädie der Funkelektronik und Elektrotechnik

▪ Artikel Chips für TV-Geräte ST63140, ST63142, ST63126, ST63156. Enzyklopädie der Funkelektronik und Elektrotechnik

Hinterlasse deinen Kommentar zu diesem Artikel:

Name:


E-Mail optional):


Kommentar:





Alle Sprachen dieser Seite

Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen

www.diagramm.com.ua

www.diagramm.com.ua
2000-2024