DE112022003469T5 - INTRODUCTION AND DETECTION OF PARITY ERRORS FOR THE SELF-TEST OF A UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER - Google Patents

INTRODUCTION AND DETECTION OF PARITY ERRORS FOR THE SELF-TEST OF A UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER Download PDF

Info

Publication number
DE112022003469T5
DE112022003469T5 DE112022003469.6T DE112022003469T DE112022003469T5 DE 112022003469 T5 DE112022003469 T5 DE 112022003469T5 DE 112022003469 T DE112022003469 T DE 112022003469T DE 112022003469 T5 DE112022003469 T5 DE 112022003469T5
Authority
DE
Germany
Prior art keywords
contents
register
uart
parity
parity error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022003469.6T
Other languages
German (de)
Inventor
Avinash Halageri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/825,277 external-priority patent/US11928022B2/en
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE112022003469T5 publication Critical patent/DE112022003469T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/241Testing correct operation using pseudo-errors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Ein UART weist ein Senderegister, ein Empfangsregister, einen virtuellen remappbaren Pin, eine Paritätsfehlerprüfschaltung, um den Inhalt des Empfangsregisters auf einen Paritätsfehler hin zu bewerten, und eine Steuerlogik auf, um den Inhalt des Senderegisters zu bestimmen. Der Inhalt weist zugrunde liegende Daten und ein darauf basierendes Paritätsbit auf. Die Steuerlogik leitet den Inhalt über den ersten virtuellen remappbaren Pin zum Empfangsregister. Die Steuerlogik soll vor dem Empfang des gesamten Inhalts im Empfangsregister veranlassen, dass dem Empfangsregister modifizierte Inhalte bereitgestellt werden. Der modifizierte Inhalt soll einen Paritätsfehler verursachen. Der modifizierte Inhalt muss andere zugrunde liegende Daten oder ein anderes Paritätsbit aufweisen als der Inhalt des Senderegisters. Die Steuerlogik soll bestimmen, ob die Paritätsfehlerprüfschaltung den Paritätsfehler erkannt hat.A UART includes a transmit register, a receive register, a virtual remappable pin, a parity error checking circuit to evaluate the contents of the receive register for a parity error, and control logic to determine the contents of the transmit register. The content includes underlying data and a parity bit based on that data. The control logic routes the content to the receive register via the first virtual remappable pin. The control logic shall cause modified content to be provided to the receive register before all content in the receive register is received. The modified content shall cause a parity error. The modified content shall have different underlying data or a different parity bit than the contents of the transmit register. The control logic shall determine whether the parity error checking circuit detected the parity error.

Description

PRIORITÄTPRIORITY

Diese Anmeldung beansprucht die Priorität vor der indischen Anmeldung Nr. 202111030809, eingereicht am 9. Juli 2021. Die vorliegende Anmeldung bezieht sich auf elektronische Kommunikation und insbesondere auf die Einführung und Erkennung von Paritätsfehlern in einem einzelnen universellen asynchronen Empfänger/Sender (UART).This application claims priority to Indian Application No. 202111030809, filed on July 9, 2021. The present application relates to electronic communications, and more particularly to the introduction and detection of parity errors in a single universal asynchronous receiver/transmitter (UART).

GEBIET DER ERFINDUNGFIELD OF INVENTION

Die vorliegende Anmeldung bezieht sich auf elektronische Kommunikation und insbesondere auf die Einführung und Erkennung von Paritätsfehlern in einem einzelnen universellen asynchronen Empfänger/Sender (UART).The present application relates to electronic communications and, in particular, to the introduction and detection of parity errors in a single universal asynchronous receiver/transmitter (UART).

HINTERGRUNDBACKGROUND

UARTs werden zur Implementierung verschiedener Kommunikationsprotokolle zwischen elektronischen Vorrichtungen verwendet. UARTs können für die serielle Kommunikation verwendet werden. Die Übertragung von Daten durch einen UART kann durch Start- und Stoppbits eingerahmt werden, um das Timing zwischen UARTs auf verschiedenen Geräten zu erleichtern.UARTs are used to implement various communication protocols between electronic devices. UARTs can be used for serial communication. The transmission of data through a UART can be framed by start and stop bits to facilitate timing between UARTs on different devices.

Bei der Datenübertragung zwischen UARTs können unterschiedliche Fehler auftreten. Solche Fehler können beispielsweise durch Rauschen im Sendegerät, Übertragungsmedium, Empfangsgerät oder durch eine Fehlkonfiguration eines dieser Elemente verursacht werden. Ein solcher Fehler kann ein Paritätsfehler sein. Ein Paritätsfehler kann dadurch entstehen, dass ein Datenbit während der Übertragung seinen Wert ändert. Ein Paritätsfehler kann durch eine Paritätsprüfung erkannt werden. Eine Paritätsprüfung kann teilweise durch Auswertung eines Paritätsbits durchgeführt werden. Das Paritätsbit kann ein Hinweis darauf sein, ob in einem bestimmten Frame die Gesamtzahl der Bits mit einem bestimmten Wert - beispielsweise Null oder Eins - gerade oder ungerade ist. Das Paritätsbit kann vom sendenden UART basierend auf den zu sendenden Daten gesetzt und in den Daten-Frame eingefügt oder an diesen angehängt werden. Der empfangende UART kann anhand der tatsächlich empfangenen Daten berechnen, wie das Paritätsbit aussehen soll, und dann das berechnete Paritätsbit mit dem Paritätsbit vergleichen, das vom sendenden UART empfangen wurde. Wenn das berechnete Paritätsbit nicht mit dem empfangenen Paritätsbit übereinstimmt, liegt ein Paritätsfehler vor.Different errors can occur during data transmission between UARTs. Such errors can be caused, for example, by noise in the transmitting device, transmission medium, receiving device, or by a misconfiguration of any of these elements. One such error can be a parity error. A parity error can arise when a data bit changes value during transmission. A parity error can be detected by a parity check. A parity check can be performed in part by evaluating a parity bit. The parity bit can be an indication of whether in a given frame the total number of bits with a certain value - for example, zero or one - is even or odd. The parity bit can be set by the transmitting UART based on the data to be sent and inserted into or appended to the data frame. The receiving UART can calculate what the parity bit should look like based on the actual data received and then compare the calculated parity bit with the parity bit received by the transmitting UART. If the calculated parity bit does not match the received parity bit, a parity error occurs.

Erfinder von Beispielen der vorliegenden Offenbarung haben herausgefunden, dass Tests von UART-Schaltungen, -Geräten und -Modulen häufig zwei oder mehr solcher UART-Schaltungen, -Geräte oder -Module verwenden. Daten werden von einem solchen UART generiert und von dem anderen UART empfangen. Um die Korrektheit des Betriebs zu testen, beispielsweise die Erkennung von Paritätsfehlern, kann ein Paritätsfehler künstlich erzeugt werden. Durch die Verwendung einer separaten UART-Schaltung, eines separaten UART-Geräts oder eines separaten UART-Moduls, die sich wiederum auf einem anderen Mikrocontroller oder System befinden können als die ursprüngliche UART-Schaltung, das ursprüngliche UART-Gerät oder das ursprüngliche UART-Modul, haben die Erfinder von Beispielen der vorliegenden Offenbarung jedoch herausgefunden, dass diese Abhängigkeit von einer anderen UART-Schaltung, -Geräte oder -Modul zusätzliche Fehler verursachen kann. Zu diesen zusätzlichen Fehlern können falsch positive oder falsch negative Ergebnisse beim Testen der Paritätsfehlerfähigkeiten des UART gehören. Beispielsweise können Daten von einem sendenden UART an einen empfangenden UART gesendet werden. Testmechanismen im sendenden UART können einen Paritätsfehler verursachen, indem sie beispielsweise ein Bit der zu sendenden Daten vertauschen. Dieser Fehler kann jedoch unentdeckt bleiben, wenn beispielsweise ein anderes Bit der zu sendenden Daten durch Rauschen im Übertragungsmedium oder im empfangenden UART vertauscht wird. Bei einem Test oder einer Validierung der UARTs kann es den Anschein haben, dass die Paritätsfehlerprüfung ordnungsgemäß funktioniert, obwohl diese Paritätsfehlerprüfung nicht ordnungsgemäß funktioniert. Darüber hinaus ist möglicherweise nicht klar, ob die Paritätsfehlerprüfung des sendenden UART nicht ordnungsgemäß funktioniert, die Paritätsfehlerprüfung des empfangenden UART nicht ordnungsgemäß funktioniert oder ob im sendenden UART, Übertragungsmedium oder empfangenden UART Rauschen vorhanden ist. Erfinder von Beispielen der vorliegenden Offenbarung haben herausgefunden, dass die Beispiele der vorliegenden Offenbarung eines oder mehrere dieser Probleme ansprechen.Inventors of examples of the present disclosure have found that testing of UART circuits, devices, and modules often utilizes two or more such UART circuits, devices, or modules. Data is generated by one such UART and received by the other UART. To test correctness of operation, such as detecting parity errors, a parity error may be artificially created. However, by using a separate UART circuit, device, or UART module, which in turn may be located on a different microcontroller or system than the original UART circuit, device, or module, inventors of examples of the present disclosure have found that this dependence on another UART circuit, device, or module may introduce additional errors. These additional errors may include false positives or false negatives when testing the parity error capabilities of the UART. For example, data may be sent from a transmitting UART to a receiving UART. Test mechanisms in the sending UART may cause a parity error, for example, by swapping a bit of the data to be sent. However, this error may go undetected if, for example, another bit of the data to be sent is swapped by noise in the transmission medium or the receiving UART. During a test or validation of the UARTs, it may appear that the parity error check is working properly, when in fact that parity error check is not working properly. Furthermore, it may not be clear whether the parity error check of the sending UART is not working properly, the parity error check of the receiving UART is not working properly, or whether there is noise in the sending UART, transmission medium, or receiving UART. Inventors of examples of the present disclosure have found that the examples of the present disclosure address one or more of these issues.

ZUSAMMENLAS SUNGCOMPILATION

Ein UART weist ein Senderegister, ein Empfangsregister, einen virtuellen remappbaren Pin, eine Paritätsfehlerprüfschaltung, um den Inhalt des Empfangsregisters auf einen Paritätsfehler hin zu bewerten, und eine Steuerlogik auf, um den Inhalt des Senderegisters zu bestimmen. Der Inhalt muss zugrunde liegende Daten und ein Paritätsbit aufweisen, das auf den zugrunde liegenden Daten basiert. Die Steuerlogik leitet den Inhalt des Senderegisters über den virtuellen remappbaren Pin zum Empfangsregister. Die Steuerlogik soll vor dem Empfang des gesamten Inhalts des Senderegisters im Empfangsregister veranlassen, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden. Der modifizierte Inhalt soll einen Paritätsfehler verursachen. Der modifizierte Inhalt muss andere zugrunde liegende Daten oder ein anderes Paritätsbit aufweisen als der Inhalt des Senderegisters. Die Steuerlogik soll bestimmen, ob die Paritätsfehlerprüfschaltung den Paritätsfehler erkannt hat.A UART includes a transmit register, a receive register, a virtual remappable pin, a parity error checking circuit to evaluate the contents of the receive register for a parity error, and control logic to determine the contents of the transmit register. The contents must include underlying data and a parity bit based on the underlying data. The control logic routes the contents of the transmit register to the receive register via the virtual remappable pin. The control logic shall store the entire contents of the transmit register in the receive register before receiving the entire contents of the transmit register. cause modified content to be provided to the receive register. The modified content shall cause a parity error. The modified content shall have different underlying data or a different parity bit than the contents of the transmit register. The control logic shall determine whether the parity error checking circuit has detected the parity error.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

  • 1 ist eine Veranschaulichung eines Beispielsystems zur Einführung und Erkennung von Paritätsfehlern in einem UART gemäß Beispielen der vorliegenden Offenbarung. 1 is an illustration of an example system for introducing and detecting parity errors in a UART in accordance with examples of the present disclosure.
  • 2 ist ein Zeitdiagramm der Generierung von Paritätsprüfinformationen gemäß Beispielen der vorliegenden Offenbarung. 2 is a timing diagram of the generation of parity check information according to examples of the present disclosure.
  • 3 ist ein Zeitdiagramm der Einführung eines Paritätsfehlers in die Generierung von Paritätsprüfinformationen gemäß Beispielen der vorliegenden Offenbarung. 3 is a timing diagram of the introduction of a parity error into the generation of parity check information according to examples of the present disclosure.
  • 4 ist eine Veranschaulichung eines beispielhaften Verfahrens zur Einführung und Erkennung von Paritätsfehlern in einem UART gemäß Beispielen der vorliegenden Offenbarung. 4 is an illustration of an example method for introducing and detecting parity errors in a UART according to examples of the present disclosure.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

Beispiele der vorliegenden Offenbarung können einen UART aufweisen. Der UART kann ein Senderegister, ein Empfangsregister, einen virtuellen remappbaren Pin, eine Paritätsfehlerprüfschaltung und eine Steuerlogik aufweisen. Der UART kann in einem Normalmodus und in einem Testmodus arbeiten. Im Normalmodus kann der UART Daten im Auftrag anderer Elemente senden oder empfangen, die den UART zur Kommunikation verwenden, beispielsweise einem System oder Mikrocontroller, in dem der UART enthalten oder integriert ist. In einem Testmodus kann der UART einen Selbsttest durchführen, um zu überprüfen, ob die Paritätsfehlerprüfschaltung ordnungsgemäß funktioniert. Der Betriebsmodus kann durch die Steuerlogik gesteuert werden.Examples of the present disclosure may include a UART. The UART may include a transmit register, a receive register, a virtual remappable pin, a parity error checking circuit, and control logic. The UART may operate in a normal mode and a test mode. In normal mode, the UART may send or receive data on behalf of other elements that use the UART to communicate, such as a system or microcontroller in which the UART is included or integrated. In a test mode, the UART may perform a self-test to verify that the parity error checking circuit is functioning properly. The operating mode may be controlled by the control logic.

Das Senderegister und das Empfangsregister können jeden geeigneten Mechanismus zum Speichern von Informationen aufweisen, beispielsweise ein Hardwareregister, einen flüchtigen Speicher oder einen nichtflüchtigen Speicher. Das Senderegister und das Empfangsregister können jeweils lokal beim UART angeordnet sein, im Gegensatz zu einem Allzweckregister für einen größeren Mikrocontroller, in den der UART integriert oder implementiert ist. Das Senderegister kann vom UART zu sendende Informationen aufweisen. Daten für das Senderegister können beispielsweise von Elementen eines Systems bereitgestellt werden, das den UART für die Kommunikation im Normalmodus verwendet. Solche Daten können beispielsweise von der Steuerlogik im Testmodus bereitgestellt werden. Das Empfangsregister kann vom UART empfangene Informationen aufweisen. Daten für das Empfangsregister können beispielsweise von anderen Elementen eines Systems bereitgestellt werden, die im Normalmodus mit dem UART kommunizieren, beispielsweise einem anderen UART. Solche Daten können beispielsweise durch Testschaltungen bereitgestellt werden, wie unten im Testmodus beschrieben.The transmit register and the receive register may comprise any suitable mechanism for storing information, such as a hardware register, volatile memory, or non-volatile memory. The transmit register and the receive register may each be located local to the UART, as opposed to a general purpose register for a larger microcontroller in which the UART is integrated or implemented. The transmit register may comprise information to be transmitted by the UART. For example, data for the transmit register may be provided by elements of a system that uses the UART for communication in normal mode. Such data may be provided by control logic in test mode, for example. The receive register may comprise information received by the UART. For example, data for the receive register may be provided by other elements of a system that communicate with the UART in normal mode, such as another UART. Such data may be provided by test circuitry, for example, as described below in test mode.

Der virtuelle remappbare Pin kann auf jede geeignete Weise implementiert werden. In einem Beispiel kann der virtuelle remappbare Pin durch eine softwaregesteuerte Verbindungsmatrix implementiert werden. Die Matrix kann vollständig innerhalb des UART oder innerhalb des UART und eines größeren Systems, in dem sich der UART befindet, wie beispielsweise einem Mikrocontroller, implementiert werden. Der virtuelle remappbare Pin kann über die Steuerlogik programmierbar sein. Die Steuerlogik kann wiederum programmgesteuerte Aufrufe an andere Teile des Systems durchführen, um den virtuellen remappbaren Pin zu setzen. Der virtuelle remappbare Pin kann so programmierbar sein, dass er zwei Ports des UART oder des Systems, in dem der UART implementiert ist, miteinander verbindet. Der virtuelle remappbare Pin kann verwendet werden, um beispielsweise TX- und RX-Ports miteinander zu verbinden oder einen RX-Port mit einem sendebereiten Port zu verbinden.The virtual remappable pin may be implemented in any suitable manner. In one example, the virtual remappable pin may be implemented by a software-controlled interconnect matrix. The matrix may be implemented entirely within the UART, or within the UART and a larger system in which the UART resides, such as a microcontroller. The virtual remappable pin may be programmable via control logic. The control logic may, in turn, make programmatic calls to other parts of the system to set the virtual remappable pin. The virtual remappable pin may be programmable to interconnect two ports of the UART or the system in which the UART is implemented. The virtual remappable pin may be used, for example, to interconnect TX and RX ports, or to interconnect an RX port to a transmit-ready port.

Die Paritätsfehlerprüfschaltung kann dazu dienen, den Inhalt des Empfangsregisters auf einen Paritätsfehler hin zu bewerten. Die Paritätsfehlerprüfschaltung kann die Parität des Inhalts des Empfangsregisters anhand einer erwarteten Parität bewerten. Die erwartete Parität kann durch eine Paritätsfehlerprüfschaltung basierend auf den Dateninhalten berechnet werden. Im Normalmodus ist das Paritätsbit möglicherweise korrekt gesetzt, wenn Inhalte in ein Senderegister gestellt und an einen anderen UART gesendet werden. Der Inhalt der Übertragung kann während der Übertragung beschädigt werden und daher kann es sein, dass der im Empfangsregister empfangene Inhalt die Paritätsfehlerprüfung nicht besteht. Im Testmodus kann die Steuerlogik, wie unten beschrieben, künstlich einen Paritätsfehler verursachen, der von der Paritätsfehlerprüfschaltung erkannt werden sollte. Der Testmodus kann somit testen, ob die Paritätsfehlerprüfschaltung korrekt funktioniert.The parity error checking circuit may serve to evaluate the contents of the receive register for a parity error. The parity error checking circuit may evaluate the parity of the contents of the receive register against an expected parity. The expected parity may be calculated by a parity error checking circuit based on the data contents. In normal mode, when contents are placed in a transmit register and sent to another UART, the parity bit may be correctly set. The contents of the transmit may become corrupted during transmission and therefore the contents received in the receive register may fail the parity error check. In test mode, the control logic may artificially induce a parity error, as described below, which should be detected by the parity error checking circuit. The test mode can thus test whether the parity error checking circuit is functioning correctly.

Die Steuerlogik kann in einem Testmodus dazu dienen, Inhalte des Senderegisters zu bestimmen oder festzulegen. Der Inhalt kann zugrunde liegende Daten und ein Paritätsbit aufweisen, das auf den zugrunde liegenden Daten basiert. Die Steuerlogik kann in einem Testmodus dazu dienen, den Inhalt des Senderegisters über den virtuellen remappbaren Pin zum Empfangsregister zu leiten. Die Steuerlogik kann dazu dienen, in einem Testmodus vor dem Empfang des gesamten Inhalts des Senderegisters im Empfangsregister zu veranlassen, dass dem Empfangsregister modifizierte Inhalte bereitgestellt werden. Der modifizierte Inhalt kann einen Paritätsfehler verursachen. Die modifizierten Inhalte können andere zugrunde liegende Daten oder ein anderes Paritätsbit als die Inhalte des Senderegisters aufweisen. Die Steuerlogik kann in einem Testmodus dazu dienen, zu bestimmen, ob die Paritätsfehlerprüfschaltung den Paritätsfehler erkannt hat.The control logic may be used in a test mode to determine or set contents of the transmit register. The contents may include underlying data and a parity bit based on the underlying data. The control logic may be operable in a test mode to direct the contents of the transmit register to the receive register via the virtual remappable pin. The control logic may be operable in a test mode to cause modified contents to be provided to the receive register prior to the entire contents of the transmit register being received in the receive register. The modified contents may cause a parity error. The modified contents may have different underlying data or a different parity bit than the contents of the transmit register. The control logic may be operable in a test mode to determine whether the parity error checking circuit has detected the parity error.

Die Steuerlogik und die Paritätsfehlerprüfschaltung können auf jede geeignete Weise implementiert werden, beispielsweise durch analoge Schaltungen, digitale Schaltungen, eine anwendungsspezifische integrierte Schaltung, ein feldprogrammierbares Gate-Array, rekonfigurierbare oder programmierbare Hardware, Anweisungen zur Ausführung durch einen Prozessor oder irgendeine geeignete Kombination davon.The control logic and parity error checking circuitry may be implemented in any suitable manner, such as analog circuitry, digital circuitry, an application specific integrated circuit, a field programmable gate array, reconfigurable or programmable hardware, instructions for execution by a processor, or any suitable combination thereof.

In Kombination mit einem der oben genannten Beispiele kann die Steuerlogik dazu dienen, dass dem Empfangsregister modifizierte Inhalte bereitgestellt werden, bevor der gesamte Inhalt des Senderegisters am Empfangsregister empfangen wird, indem ein bekanntes Signal durch den virtuellen remappbaren Pin an das Empfangsregister weitergeleitet wird.In combination with any of the above examples, the control logic can be used to provide modified contents to the receive register before the entire contents of the transmit register are received at the receive register by passing a known signal to the receive register through the virtual remappable pin.

In Kombination mit einem der oben genannten Beispiele kann das bekannte Signal ein konstanter Wert sein.In combination with one of the examples above, the known signal can be a constant value.

In Kombination mit einem der oben genannten Beispiele kann der konstante Wert einem erwarteten Wert eines Stoppbits entsprechen.In combination with one of the above examples, the constant value can correspond to an expected value of a stop bit.

In Kombination mit einem der oben genannten Beispiele kann der Inhalt das Stoppbit aufweisen und die Steuerlogik kann dazu dienen, dass dem Empfangsregister modifizierte Inhalte bereitgestellt werden. Zu den modifizierten Inhalten kann das Setzen unterschiedlicher zugrunde liegender Daten oder unterschiedlicher Paritätsbits des Senderegisters und das Setzen des erwarteten Werts des Stoppbits durch Anwendung des bekannten Signals gehören.In combination with any of the above examples, the content may include the stop bit and the control logic may be operable to provide modified content to the receive register. The modified content may include setting different underlying data or different parity bits of the transmit register and setting the expected value of the stop bit by applying the known signal.

In Kombination mit einem der oben genannten Beispiele kann das bekannte Signal ein Sendebereitschaftssignal sein.In combination with one of the above examples, the known signal can be a clear-to-transmit signal.

In Kombination mit einem der oben genannten Beispiele kann das bekannte Signal ein Datenterminal-Bereitschaftssignal sein.In combination with any of the above examples, the known signal may be a data terminal ready signal.

In Kombination mit einem der oben genannten Beispiele kann die Steuerlogik dazu dienen, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden, indem Eingangssignale zum Empfangsregister vom Inhalt des Senderegisters auf das bekannte Signal umgeschaltet werden.In combination with any of the above examples, the control logic can be used to provide modified content to the receive register by switching input signals to the receive register from the contents of the transmit register to the known signal.

In Kombination mit einem der oben genannten Beispiele kann die Steuerlogik dazu dienen, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden, indem der virtuelle remappbare Pin vom Inhalt des Senderegisters auf ein bekanntes Signal remappt wird.In combination with any of the above examples, the control logic can be used to provide modified content to the receive register by remapping the virtual remappable pin from the contents of the transmit register to a known signal.

In Kombination mit einem der oben genannten Beispiele kann die Steuerlogik dazu dienen, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden, indem Eingaben an das Empfangsregister selektiv weitergeleitet werden.In combination with any of the above examples, the control logic may be used to provide modified content to the receiving register by selectively forwarding inputs to the receiving register.

In Kombination mit einem der oben genannten Beispiele kann die Steuerlogik dazu dienen, basierend auf der Feststellung, dass die Paritätsfehlerprüfschaltung den Paritätsfehler nicht erkannt hat, ein Fehlersignal auszugeben, um anzuzeigen, dass der Paritätsfehler nicht erkannt wurde. Es kann jedes geeignete Fehlersignal verwendet werden.In combination with any of the above examples, the control logic may be operable to output an error signal to indicate that the parity error was not detected based on the determination that the parity error checking circuit did not detect the parity error. Any suitable error signal may be used.

Beispiele der vorliegenden Offenbarung können einen Mikrocontroller aufweisen. Der Mikrocontroller kann einen der UARTs der oben genannten Beispiele aufweisen.Examples of the present disclosure may include a microcontroller. The microcontroller may include one of the UARTs of the above examples.

1 ist eine Veranschaulichung eines Beispielsystems 100 zur Einführung und Erkennung von Paritätsfehlern in einem UART, beispielsweise einem einzelnen UART, gemäß Beispielen der vorliegenden Offenbarung. Das System 100 kann in jedem geeigneten Kontext implementiert werden, beispielsweise in einem Controller, einem Mikrocontroller, einem Chip, einer integrierten Schaltung, einem System auf einem Chip, einer anwendungsspezifischen integrierten Schaltung, einem feldprogrammierbaren Gate-Array, einem Computer, einem mobilen Gerät oder einer anderen geeigneten elektronischen Vorrichtung. Im Beispiel von 1 kann das System 100 durch einen Mikrocontroller implementiert werden. 1 is an illustration of an example system 100 for introducing and detecting parity errors in a UART, such as a single UART, according to examples of the present disclosure. The system 100 may be implemented in any suitable context, such as in a controller, a microcontroller, a chip, an integrated circuit, a system on a chip, an application specific integrated circuit, a field programmable gate array, a computer, a mobile device, or other suitable electronic device. In the example of 1 the system 100 can be implemented by a microcontroller.

Das System 100 kann einen UART 116 aufweisen. Der UART 116 kann durch analoge Schaltungen, digitale Schaltungen, Anweisungen zur Ausführung durch einen Prozessor oder jede geeignete Kombination davon implementiert werden. Das System 100 kann mehr Instanzen von UART 116 aufweisen als gezeigt. Allerdings kann ein einzelner solcher UART 116 so ausgebildet sein, dass er einen Paritätsfehler einbringt und erkennt. Im Fall mehrerer Instanzen von UART 116 kann jede der mehreren Instanzen von UART 116 einen entsprechenden Paritätsfehler einbringen und erkennen.The system 100 may include a UART 116. The UART 116 may be implemented by analog circuits, digital circuits, instructions for execution by a processor, or any suitable combination thereof. The system 100 may include more instances of UART 116 than shown. However, a single such UART 116 may be configured to introduce and detect a parity error. In the case of multiple instances of UART 116, each of the multiple instances of UART 116 may introduce and detect a corresponding parity error.

Das System 100 kann alle geeigneten externen Ports aufweisen, wie z. B. den TX-Port 130, den RX-Port 118 und einen Ready to Send (RTS) Port 134, um Kommunikation zum oder vom UART 116 bereitzustellen. Der RTS-Port 134 kann ein logisch niedriger Port sein, so dass ein RTS-Signal „wahr“ ist, wenn es eine Null oder einen anderen logisch niedrigen Wert aufweist. Solche Ports 130, 118, 134 können durch jede geeignete elektrische Verbindung implementiert werden. In verschiedenen Beispielen können die Ports 130, 118, 134 externe Verbindungen eines Chips, einer Platine, einer Matrize oder eines anderen Gehäuses des UART 116 sein. Die Ports 130, 118, 134 können so ausgebildet sein, dass sie die Kommunikation zwischen dem UART 116 und anderen Instanzen von UARTs in anderen Vorrichtungen bereitstellen.The system 100 may include any suitable external ports, such as the TX port 130, the RX port 118, and a Ready to Send (RTS) port 134, to provide communication to or from the UART 116. The RTS port 134 may be a logic low port such that an RTS signal is "true" when it has a zero or other logic low value. Such ports 130, 118, 134 may be implemented by any suitable electrical connection. In various examples, the ports 130, 118, 134 may be external connections of a chip, board, die, or other package of the UART 116. The ports 130, 118, 134 may be configured to provide communication between the UART 116 and other instances of UARTs in other devices.

Das System 100 kann jede andere geeignete Art und Anzahl von Elementen aufweisen. Zum Beispiel kann das System 100 einen Prozessor 102 aufweisen, der kommunikativ mit einem Speicher 104 gekoppelt ist. Der Speicher 104 kann Anweisungen enthalten, die, wenn sie vom Prozessor 102 geladen und ausgeführt werden, Software implementieren können, die vom System 100 ausgeführt werden soll. Das System 100 kann einen Systembus 106 aufweisen. Der Systembus 106 kann so ausgebildet sein, dass er die Kommunikation zwischen dem Prozessor 102 und anderen Teilen des Systems 100, wie etwa dem UART 116, ermöglicht.The system 100 may include any other suitable type and number of elements. For example, the system 100 may include a processor 102 communicatively coupled to a memory 104. The memory 104 may include instructions that, when loaded and executed by the processor 102, may implement software to be executed by the system 100. The system 100 may include a system bus 106. The system bus 106 may be configured to facilitate communication between the processor 102 and other parts of the system 100, such as the UART 116.

In einem Beispiel kann UART 116 ein Peripheriegerät eines Mikrocontrollers des Systems 100 sein. Ein solches Peripheriegerät kann Aufgaben im Namen des Prozessors 102 und des Systems 100 ausführen. Die Aufgaben können durch einen Befehl, eine Benutzereingabe, Software oder eine andere Operation von Prozessor 102 initiiert werden. Nach der Initiierung können solche Aufgaben unabhängig vom Prozessor 102 durch das Peripheriegerät ausgeführt werden. Somit kann der Prozessor 102 Aufgaben auf solche Peripheriegeräte verlagern. Wenn eine Aufgabe abgeschlossen ist oder andere geeignete Kriterien vorliegen, bei denen der Prozessor 102 oder die darauf ausgeführte Software weitere Maßnahmen ergreifen soll, kann das Peripheriegerät beispielsweise einen Interrupt für den Prozessor 102 generieren. Andere mögliche Peripheriegeräte des Systems 100 können beispielsweise Zähler 108, Digital-Analog-Wandler 110, Analog-Digital-Wandler 112 oder eine I2C-Kommunikationsschaltung 114 aufweisen, in einigen Beispielen sind jedoch Zähler 108, Digital-Analog-Wandler 110, Analog-Digital-Konverter 112 oder eine I2C-Kommunikationsschaltung 114 möglicherweise nicht aufweisen.In one example, UART 116 may be a peripheral of a microcontroller of system 100. Such a peripheral may perform tasks on behalf of processor 102 and system 100. The tasks may be initiated by a command, user input, software, or other operation of processor 102. Once initiated, such tasks may be performed by the peripheral independently of processor 102. Thus, processor 102 may offload tasks to such peripherals. When a task is completed or other appropriate criteria exist for processor 102 or software executing thereon to take further action, the peripheral may, for example, generate an interrupt to processor 102. Other possible peripherals of system 100 may include, for example, counters 108, digital-to-analog converters 110, analog-to-digital converters 112, or I2C communication circuitry 114, but in some examples may not include counters 108, digital-to-analog converters 110, analog-to-digital converters 112, or I2C communication circuitry 114.

Der UART 116 kann eine Steuerlogik 132 aufweisen. Die Steuerlogik 132 kann durch analoge Schaltungen, digitale Schaltungen, eine anwendungsspezifische integrierte Schaltung, ein feldprogrammierbares Gate-Array, rekonfigurierbare oder programmierbare Hardware, Anweisungen zur Ausführung durch einen Prozessor oder eine beliebige geeignete Kombination davon implementiert werden. Die Steuerlogik 132 kann so ausgebildet sein, dass sie Operationen des UART 116 dirigiert und steuert, um Paritätsfehler einzuführen, wie in der vorliegenden Offenbarung beschrieben.The UART 116 may include control logic 132. The control logic 132 may be implemented by analog circuitry, digital circuitry, an application specific integrated circuit, a field programmable gate array, reconfigurable or programmable hardware, instructions for execution by a processor, or any suitable combination thereof. The control logic 132 may be configured to direct and control operations of the UART 116 to introduce parity errors as described in the present disclosure.

UART 116 kann ein Empfangsregister wie RXREG 126 aufweisen. RXREG 126 kann so ausgebildet sein, dass es ein oder mehrere Informationsbits speichert, einschließlich zu empfangender inhaltlicher Daten, Frame-Informationen oder Fehlerinformationen wie Paritätsbits, die am UART 116 über den RX-Port 118 empfangen werden. Die am RX-Port 118 empfangenen Daten können von einer anderen Instanz eines UART empfangen werden. Daten im RXREG 126 können von jedem geeigneten Teil des Systems 100 gelesen und verwendet werden, beispielsweise von der Steuerlogik 132.UART 116 may include a receive register such as RXREG 126. RXREG 126 may be configured to store one or more bits of information, including content data to be received, frame information, or error information such as parity bits, received at UART 116 via RX port 118. The data received at RX port 118 may be received by another instance of a UART. Data in RXREG 126 may be read and used by any suitable part of system 100, such as control logic 132.

UART 116 kann ein Senderegister wie TXREG 128 aufweisen. TXREG 128 kann so ausgebildet sein, dass es ein oder mehrere Informationsbits speichert, einschließlich zu sendender inhaltlicher Daten, Frame-Informationen oder Fehlerinformationen wie Paritätsbits, die durch UART 116 über TX-Port 130 gesendet werden sollen. Die im TXREG 128 zu speichernden und über TX-Port 130 zu sendenden Daten können von jedem geeigneten Teil des Systems 100 generiert werden, beispielsweise von der Steuerlogik 132, der auf dem Prozessor 102 ausgeführten Software oder einem anderen Peripheriegerät des Systems 100.UART 116 may include a transmit register such as TXREG 128. TXREG 128 may be configured to store one or more bits of information, including content data to be transmitted, frame information, or error information such as parity bits, to be sent by UART 116 over TX port 130. The data to be stored in TXREG 128 and sent over TX port 130 may be generated by any suitable part of system 100, such as control logic 132, software executing on processor 102, or another peripheral of system 100.

In einem Beispiel kann der UART 116 so ausgebildet sein, dass er einen Paritätsfehler hervorruft, indem er die im UART 116 verfügbaren Ressourcen nutzt. Der UART 116 kann so ausgebildet sein, dass er einen Paritätsfehler einbringt, ohne eine zusätzliche Instanz eines UART zu verwenden.In one example, the UART 116 may be configured to introduce a parity error by utilizing the resources available in the UART 116. The UART 116 may be configured to introduce a parity error without using an additional instance of a UART.

In einem Beispiel kann UART 116 einen oder mehrere virtuelle remappbare Pins aufweisen oder Zugriff darauf haben. Zur Vereinfachung der Diskussion wird hier ein einzelner virtueller remappbarer Pin beschrieben, wobei es sich versteht, dass mehr als ein virtueller remappbarer Pin bereitgestellt werden kann. Ein solcher virtueller remappbarer Pin kann so ausgebildet sein, dass er Verbindungen zwischen oder innerhalb eines bestimmten Peripheriegeräts des Systems 100, wie beispielsweise UART 116, bereitstellt. Der virtuelle remappbare Pin kann beispielsweise durch eine Switch-Struktur innerhalb des UART 116 oder zwischen UART 116 und anderen Elementen des Systems 100 implementiert werden. In einem Beispiel kann der virtuelle remappbare Pin durch eine softwaregesteuerte Verbindungsmatrix implementiert werden. Die Matrix kann vollständig innerhalb des UART 116 oder innerhalb des UART 116 und eines größeren Systems, in dem sich der UART 116 befindet, wie beispielsweise einem Mikrocontroller, implementiert werden. Der virtuelle remappbare Pin kann über die Steuerlogik 132 programmierbar sein. Die Steuerlogik 132 kann wiederum programmgesteuerte Aufrufe an andere Teile des Systems durchführen, um den virtuellen remappbaren Pin festzulegen. Der virtuelle remappbare Pin kann programmierbar sein, um zum Beispiel zwei Ports des UART 116 oder des Systems 100 elektrisch zu verbinden. Der virtuelle remappbare Pin kann zum Beispiel verwendet werden, um TX und RX Ports oder Register miteinander zu verbinden, oder einen RX Port oder Register mit einem Sendebereitschaftssignal. Beispielsweise kann der UART 116 einen remappbaren Pin RP1 120 aufweisen. RP1 120 ist zu Demonstrationszwecken außerhalb des UART 116 dargestellt, als wären es physische Pins. Darüber hinaus sind in 1 zwei Veranschaulichungen des remappbaren Pins RP1 120 dargestellt, die der besseren Lesbarkeit dienen. Die einzelne Instanz des remappbaren Pins RP1 120 ist als separate Instanz dargestellt, um die äquivalente Weiterleitung von Signalen zu oder von den zu remappenden Pins zu zeigen, obwohl es sich hierbei um eine einzelne Instanz handelt. Die Steuerlogik 130 kann so ausgebildet sein, dass sie zwei oder mehr Signale an denselben remappbaren Pin weiterleitet. Dies kann dazu führen, dass zwei oder mehr Signale verbunden werden. Dies kann innerhalb des UART 116 oder innerhalb des Systems 100 erfolgen. Die Weiterleitung von Signalen durch den remappbaren Pin RP1 120 kann programmgesteuert durch die Steuerlogik 130 durchgeführt werden, indem der remappbare Pin RP1 120 zugewiesen und neu zugewiesen wird. Zur Veranschaulichung kann jedoch die Fähigkeit der Steuerlogik 130 zum Leiten von Signalen über den remappbaren Pin RP1 120 als Schalter 124 veranschaulicht werden.In one example, UART 116 may include or have access to one or more virtual remappable pins. For ease of discussion, a single virtual remappable pin is described herein, with the understanding that more than one virtual remappable pin may be provided. Such a virtual remappable pin may be configured to provide connections between or within a particular peripheral device. of system 100, such as UART 116. The virtual remappable pin may be implemented, for example, through a switch structure within UART 116 or between UART 116 and other elements of system 100. In one example, the virtual remappable pin may be implemented through a software-controlled interconnect matrix. The matrix may be implemented entirely within UART 116 or within UART 116 and a larger system in which UART 116 resides, such as a microcontroller. The virtual remappable pin may be programmable via control logic 132. Control logic 132 may, in turn, make programmatic calls to other parts of the system to set the virtual remappable pin. The virtual remappable pin may be programmable, for example, to electrically connect two ports of UART 116 or system 100. The virtual remappable pin can be used, for example, to connect TX and RX ports or registers together, or an RX port or register with a clear to transmit signal. For example, the UART 116 can have a remappable pin RP1 120. RP1 120 is shown outside the UART 116 for demonstration purposes as if it were physical pins. In addition, 1 Two illustrations of the remappable pin RP1 120 are shown for ease of reading. The single instance of the remappable pin RP1 120 is shown as a separate instance to show the equivalent routing of signals to or from the pins to be remapped, even though it is a single instance. The control logic 130 may be configured to route two or more signals to the same remappable pin. This may result in two or more signals being connected. This may be done within the UART 116 or within the system 100. The routing of signals through the remappable pin RP1 120 may be performed programmatically by the control logic 130 by assigning and reassigning the remappable pin RP1 120. However, for illustrative purposes, the ability of control logic 130 to route signals via remappable pin RP1 120 can be illustrated as switch 124.

Paritätsinformationen für die an den TX-Port 130 zu sendenden Daten können im TXREG 128 gespeichert werden. Die Paritätsinformationen können gemäß einem entworfenen Paritätsschema für UART 116 eingestellt werden. Es können beliebige geeignete Paritätsinformationen verwendet werden. Beispielsweise kann ein Paritätsbit verwendet werden. In einem weiteren Beispiel kann das Paritätsbit auf eine Eins gesetzt werden, wenn die zu sendenden Daten eine ungerade Anzahl von Eins-Werten aufweisen, und das Paritätsbit kann auf eine Null gesetzt werden, wenn die zu sendenden Daten eine gerade Anzahl von Eins-Werten aufweisen. Die in der vorliegenden Offenbarung gezeigten Beispiele können diesem Schema folgen. In anderen Beispielen kann das Paritätsbit auf eine Null gesetzt werden, wenn die zu sendenden Daten eine ungerade Anzahl von Eins-Werten aufweisen, und das Paritätsbit kann auf eine Eins gesetzt werden, wenn die zu sendenden Daten eine gerade Anzahl von Eins-Werten aufweisen.Parity information for the data to be sent to TX port 130 may be stored in TXREG 128. The parity information may be set according to a designed parity scheme for UART 116. Any suitable parity information may be used. For example, a parity bit may be used. In another example, the parity bit may be set to a one if the data to be sent has an odd number of ones, and the parity bit may be set to a zero if the data to be sent has an even number of ones. The examples shown in the present disclosure may follow this scheme. In other examples, the parity bit may be set to a zero if the data to be sent has an odd number of ones, and the parity bit may be set to a one if the data to be sent has an even number of ones.

Paritätsinformationen können von jedem geeigneten Teil des UART 116 eingestellt oder überprüft werden. Beispielsweise kann der UART 116 eine Paritätsfehlerprüfschaltung 136 aufweisen. Der Paritätsfehlerprüfschaltung 136 kann durch analoge Schaltungen, digitale Schaltungen und Anweisungen zur Ausführung durch einen Prozessor oder jede geeignete Kombination davon implementiert werden. In einem Beispiel kann die Paritätsfehlerprüfschaltung 136 so ausgebildet sein, dass sie Inhalte von TXREG 128 untersucht und auswertet und ein Paritätsbit in TXREG 128 basierend auf den zugrunde liegenden Daten setzt, die von TXREG 128 übertragen werden sollen. In einem anderen Beispiel kann das Paritätsbit stattdessen von anderen geeigneten Teilen des UART 116 festgelegt werden, beispielsweise einer Quelle der Inhalte von TXREG 128. Darüber hinaus kann die Paritätsfehlerprüfschaltung 136 so ausgebildet sein, dass sie Inhalte von RXREG 126 untersucht und auswertet und auswertet, ob ein Paritätsfehler aufgetreten ist. Die Paritätsfehlerprüfschaltung 136 kann so ausgebildet sein, dass sie die zugrunde liegenden Daten des RXREG 126 so liest, wie sie tatsächlich empfangen wurden, und ein Paritätsbit berechnet, das diesen zugrunde liegenden Daten entspricht. Die Paritätsfehlerprüfschaltung 136 kann so ausgebildet sein, dass sie ein solches berechnetes Paritätsbit mit dem Paritätsbit vergleicht, das tatsächlich im RXREG 126 empfangen wurde. Wenn die Paritätsbits nicht übereinstimmen, ist möglicherweise ein Paritätsfehler aufgetreten. UART 116 kann geeignete Korrekturmaßnahmen ergreifen. Wenn die Paritätsbits übereinstimmen, ist kein Paritätsfehler aufgetreten, und UART 116 kann dann weiterhin Informationen im RXREG 126 verarbeiten.Parity information may be set or checked by any suitable portion of the UART 116. For example, the UART 116 may include a parity error checking circuit 136. The parity error checking circuit 136 may be implemented by analog circuits, digital circuits, and instructions for execution by a processor, or any suitable combination thereof. In one example, the parity error checking circuit 136 may be configured to examine and evaluate contents of TXREG 128 and set a parity bit in TXREG 128 based on the underlying data to be transmitted by TXREG 128. In another example, the parity bit may instead be set by other suitable portions of the UART 116, such as a source of the contents of TXREG 128. In addition, the parity error checking circuit 136 may be configured to examine and evaluate contents of RXREG 126 and evaluate whether a parity error has occurred. Parity error checking circuit 136 may be configured to read the underlying data of RXREG 126 as it was actually received and calculate a parity bit corresponding to that underlying data. Parity error checking circuit 136 may be configured to compare such calculated parity bit with the parity bit actually received in RXREG 126. If the parity bits do not match, a parity error may have occurred. UART 116 may take appropriate corrective action. If the parity bits do match, no parity error has occurred and UART 116 may then continue to process information in RXREG 126.

Während eines normalen Betriebsmodus, in dem die Paritätsfehlerprüfungsfähigkeiten des UART 116 nicht getestet werden sollen, wird der remappbare Pin RP1 120 möglicherweise nicht in der in 1 gezeigten Weise verwendet. Der remappbare Pin RP1 120 kann stattdessen nicht zugewiesen oder nicht vorhanden sein und UART 116 kann so ausgebildet sein, dass Inhalte von TXREG 128 an TX-Port 130 weitergeleitet werden. Die Paritätsinformationen für die Daten in TXREG 128, die an TX-Port 130 gesendet werden sollen, können berechnet und in TXREG 128 gespeichert oder auf andere Weise mit den Daten an TX-Port 130 gesendet werden. Die Daten können vom TX-Port 130 an andere Entitäten (nicht gezeigt) gesendet werden, die mit dem TX-Port 130 verbunden sind, wie beispielsweise einen anderen UART. Darüber hinaus kann UART 116 so ausgebildet sein, dass er Inhalte vom RX-Port 118 zum RXREG 126 weiterleitet. In einem Beispiel ist der RX-Port 118 direkt mit einem Eingang des RXREG 126 verbunden. Paritätsinformationen für die im RXREG 126 empfangenen Daten können wie oben erläutert durch die Paritätsfehlerprüfschaltung 136 berechnet und mit den Paritätsinformationen verglichen werden, die mit den im RXREG 126 empfangenen Daten eingegangen sind. Wenn die Paritätsinformationen übereinstimmen, wird möglicherweise kein Paritätsfehler erkannt. Wenn die Paritätsinformationen nicht übereinstimmen, wird möglicherweise ein Paritätsfehler erkannt. Wenn ein Paritätsfehler erkannt wird, können geeignete Korrekturmaßnahmen ergriffen werden. Dazu kann beispielsweise die Aufforderung an den Absender der Informationen - beispielsweise ein anderer UART - gehören, die Daten erneut zu senden, oder die Benachrichtigung eines Benutzers oder einer Softwareeinheit des Systems 100.During a normal operating mode in which the parity error checking capabilities of the UART 116 are not to be tested, the remappable pin RP1 120 may not be in the 1 The remappable pin RP1 120 may instead be unassigned or absent and UART 116 may be configured to forward contents of TXREG 128 to TX port 130. The parity information for the data in TXREG 128 to be sent to TX port 130 may be calculated and stored in TXREG 128 or otherwise communicated with the data sent to TX port 130. The data may be sent from TX port 130 to other entities (not shown) connected to TX port 130, such as another UART. Additionally, UART 116 may be configured to pass content from RX port 118 to RXREG 126. In one example, RX port 118 is connected directly to an input of RXREG 126. Parity information for the data received in RXREG 126 may be calculated by parity error checking circuit 136 as discussed above and compared to the parity information received with the data received in RXREG 126. If the parity information matches, no parity error may be detected. If the parity information does not match, a parity error may be detected. If a parity error is detected, appropriate corrective action may be taken. This may include, for example, requesting the sender of the information - for example, another UART - to resend the data or notifying a user or software entity of the system 100.

Während des normalen Betriebsmodus kann ein RTS-Signal durch die Steuerlogik 132 an den RTS-Port 134 weitergeleitet werden. Das RTS-Signal kann Teil eines Handshaking-Schemas sein (zusammen mit einer Clear-to-Send- (CTS-) Nachricht). Das RTS-Signal kann anderen UART-Instanzen (nicht gezeigt) signalisieren, dass UART 116 zum Senden bereit ist. Im Beispiel des Systems 100 kann ein logisch niedriges Signal anzeigen, dass der UART 116 zum Senden bereit ist, während ein logisch hohes Signal anzeigen kann, dass der UART 116 nicht zum Senden bereit ist.During normal operation mode, an RTS signal may be forwarded by control logic 132 to RTS port 134. The RTS signal may be part of a handshaking scheme (along with a Clear-to-Send (CTS) message). The RTS signal may signal to other UART instances (not shown) that UART 116 is ready to send. In the example of system 100, a logic low signal may indicate that UART 116 is ready to send, while a logic high signal may indicate that UART 116 is not ready to send.

Die Steuerlogik 132 kann so ausgebildet sein, dass sie den UART 116 zwischen Test- und Normalmodus umschaltet. Während eines Testmodus kann die Steuerlogik 132 so ausgebildet sein, dass sie beispielhafte Testinhalte bestimmt, die in TXREG 128 verwendet werden sollen. Die Steuerlogik 132 kann diese Entscheidung treffen, indem sie die Testinhalte generiert oder die Inhalte in TXREG 128 auswertet, die möglicherweise von einer anderen Entität bereitgestellt wurden.The control logic 132 may be configured to switch the UART 116 between test and normal modes. During a test mode, the control logic 132 may be configured to determine exemplary test content to be used in TXREG 128. The control logic 132 may make this decision by generating the test content or evaluating the content in TXREG 128, which may have been provided by another entity.

Während eines Testmodus kann die Steuerlogik 132 so ausgebildet sein, dass sie Inhalte von TXREG 128 selektiv über den remappbaren Pin RP1 120 an RXREG 126 weiterleitet. Die Steuerlogik 132 kann so ausgebildet sein, dass sie eine solche Weiterleitung auf jede geeignete Weise durchführt. Die Steuerlogik 132 kann so ausgebildet sein, dass sie selektiv andere Inhalte an RXREG 126 weiterleitet, um zu bewirken, dass modifizierte Inhalte im Vergleich zu den ursprünglichen Inhalten von TXREG 128 an RXREG 126 bereitgestellt werden. Die modifizierten Inhalte können an RXREG 126 bereitgestellt werden, bevor die gesamten ursprünglichen Inhalte von TXREG 128 an RXREG 126 bereitgestellt werden, d. h. ein Teil des gesamten ursprünglichen Inhalts von TXREG 128 wird möglicherweise nicht an RXREG 126 bereitgestellt, und stattdessen kann der Teil durch einen modifizierten Inhalt ersetzt werden. Die modifizierten Inhalte können so ausgebildet sein, dass sie einen Paritätsfehler in RXREG 126 verursachen. Die modifizierten Inhalte können ein anderes Paritätsbit als ursprünglich in TXREG 128 oder andere zugrunde liegende Daten als ursprünglich in TXREG 128 oder beides aufweisen.During a test mode, control logic 132 may be configured to selectively forward contents of TXREG 128 to RXREG 126 via remappable pin RP1 120. Control logic 132 may be configured to perform such forwarding in any suitable manner. Control logic 132 may be configured to selectively forward different contents to RXREG 126 to cause modified contents to be provided to RXREG 126 compared to the original contents of TXREG 128. The modified contents may be provided to RXREG 126 before the entire original contents of TXREG 128 are provided to RXREG 126, i.e., a portion of the entire original contents of TXREG 128 may not be provided to RXREG 126 and instead the portion may be replaced with modified content. The modified contents may be designed to cause a parity error in RXREG 126. The modified contents may have a different parity bit than originally in TXREG 128, or different underlying data than originally in TXREG 128, or both.

In einem Beispiel kann der remappbare Pin RP1 120 während der Übertragung von Inhalten von TXREG 128 neu programmiert werden, um das RTS-Signal an den Eingang von RXREG 126 zu leiten, bevor der gesamte ursprüngliche Inhalt von TXREG 128 an RXREG 12 bereitgestellt wird. Dieser Vorgang wird symbolisch als ein Schalter 124 in 1 dargestellt. Die Steuerlogik 132 kann so ausgebildet sein, dass sie selektiv entweder den RTS-Signalausgang über den remappbaren Pin RP1 120 an RXREG 126 oder den Inhalt von TXREG 128 über den remappbaren Pin RP1 120 an RXREG 126 anlegt. Die selektive Anwendung kann durchgeführt werden durch Umprogrammieren von RP1 120 vom Verbinden von TXREG 128 und RXREG 126 zum Verbinden des RTS-Signalausgangs der Steuerlogik 130 und RXREG 126. Das Umprogrammieren von RP1 120 zum Verbinden des RTS-Signalausgangs von Steuerlogik 130 und RXREG 126 kann dazu führen, dass Bits vertauscht und eingefügt werden oder auf andere Weise manipuliert werden, um künstlich einen Paritätsfehler im Inhalt von RXREG 126 zu erzeugen.In one example, during the transfer of contents from TXREG 128, the remappable pin RP1 120 may be reprogrammed to route the RTS signal to the input of RXREG 126 before all of the original contents of TXREG 128 are provided to RXREG 12. This process is symbolically represented as a switch 124 in 1 . The control logic 132 may be configured to selectively apply either the RTS signal output to RXREG 126 via the remappable pin RP1 120 or the contents of TXREG 128 to RXREG 126 via the remappable pin RP1 120. The selective application may be accomplished by reprogramming RP1 120 from connecting TXREG 128 and RXREG 126 to connecting the RTS signal output of the control logic 130 and RXREG 126. Reprogramming RP1 120 to connect the RTS signal output of control logic 130 and RXREG 126 may result in bits being swapped and inserted or otherwise manipulated to artificially create a parity error in the contents of RXREG 126.

Jedes geeignete Bit bei der Übertragung von Informationen in einem Frame zwischen TXREG 128 und RXREG 126 kann durch die Steuerlogik 132 modifiziert werden, um künstlich einen Paritätsfehler zu erzeugen. Beispielsweise kann ein Bit in den zugrunde liegenden Daten, das im Inhalt von TXREG 128 einen logisch niedrigen Wert hatte, in einen logisch hohen Wert modifiziert werden. In einem anderen Beispiel kann ein Bit in den zugrunde liegenden Daten, das im Inhalt von TXREG 128 einen logisch hohen Wert hatte, in einen logisch niedrigen Wert modifiziert werden. In diesen Beispielen können die zugrunde liegenden Daten im Inhalt von TXREG 128 dazu geführt haben, dass ein bestimmtes Paritätsbit gesetzt wurde, und die Aktion der Steuerlogik 132, ein Bit dieser zugrunde liegenden Daten künstlich zu ändern, sollte dazu führen, dass die Paritätsberechnung von RXREG 126 nicht mit dem gesendeten Paritätsbit übereinstimmend erfolgt. Wenn die Paritätsfehlerprüfschaltung 136 ordnungsgemäß funktioniert, kann sie diesen Paritätsfehler erkennen. Die Steuerlogik 132 kann so ausgebildet sein, dass sie ermittelt, ob der Paritätsfehler von der Paritätsfehlerprüfschaltung 136 korrekt ermittelt wurde.Any suitable bit in the transmission of information in a frame between TXREG 128 and RXREG 126 may be modified by control logic 132 to artificially create a parity error. For example, a bit in the underlying data that had a logic low value in the contents of TXREG 128 may be modified to a logic high value. In another example, a bit in the underlying data that had a logic high value in the contents of TXREG 128 may be modified to a logic low value. In these examples, the underlying data in the contents of TXREG 128 may have caused a particular parity bit to be set, and the action of control logic 132 to artificially change a bit of that underlying data should cause the parity calculation of RXREG 126 to be inconsistent with the parity bit transmitted. If parity error checking circuit 136 is functioning properly, it may detect that parity error. The control logic 132 may be configured to determine whether the parity error was correctly detected by the parity error checking circuit 136.

In noch einem anderen Beispiel kann das Paritätsbit selbst, das im Inhalt von TXREG 128 einen logisch niedrigen Wert hatte, durch die Steuerlogik 132 in einen logisch hohen Wert modifiziert werden, um den Betrieb der Paritätsfehlerprüfschaltung 136 zu überprüfen. In noch einem anderen Beispiel kann das Paritätsbit selbst, das im Inhalt von TXREG 128 einen logisch hohen Wert hatte, durch die Steuerlogik 132 in einen logisch niedrigen Wert modifiziert werden, um den Betrieb der Paritätsfehlerprüfschaltung 136 zu überprüfen. In diesen Beispielen haben die zugrunde liegenden Daten im Inhalt von TXREG 128 möglicherweise dazu geführt, dass ein bestimmter Paritätsbitwert gesetzt wurde, und die Aktion der Steuerlogik 132, diesen Wert künstlich zu ändern, sollte dazu führen, dass die Paritätsberechnung der Paritätsfehlerprüfschaltung 136 nicht mit dem gesendeten Paritätsbit übereinstimmt. Wenn die Paritätsfehlerprüfschaltung 136 ordnungsgemäß funktioniert, kann sie diesen Paritätsfehler erkennen. Die Steuerlogik 132 kann so ausgebildet sein, dass sie ermittelt, ob der Paritätsfehler von der Paritätsfehlerprüfschaltung 136 korrekt ermittelt wurde.In yet another example, the parity bit itself, which had a logic low value in the contents of TXREG 128, may be modified to a logic high value by control logic 132 to verify the operation of parity error checking circuit 136. In yet another example, the parity bit itself, which had a logic high value in the contents of TXREG 128, may be modified to a logic low value by control logic 132 to verify the operation of parity error checking circuit 136. In these examples, the underlying data in the contents of TXREG 128 may have caused a particular parity bit value to be set, and the action of control logic 132 to artificially change this value should cause the parity calculation of parity error checking circuit 136 to not match the parity bit transmitted. If parity error checking circuit 136 is functioning properly, it may detect this parity error. The control logic 132 may be configured to determine whether the parity error was correctly detected by the parity error checking circuit 136.

Die Steuerlogik 132 kann so ausgebildet sein, dass sie jede geeignete Informationsquelle nutzt, um den falschen Wert für das Paritätsbit einzustellen, das über den remappbaren Pin RP1 120 an RXREG 126 bereitgestellt wird. In einem Beispiel kann die Steuerlogik 132 so ausgebildet sein, dass sie das RTS-Signal als Quelle von Informationen bereitstellt, um den falschen Wert für das Paritätsbit festzulegen, das RXREG 126 30 über den remappbaren Pin RP1 120 bereitgestellt wird. Das RTS-Signal kann, wie oben erläutert, logisch niedrig sein, wenn UART 116 zum Senden von Daten gelesen wird. Da sich UART 116 jedoch in einem Testmodus befindet, kann das RTS-Signal logisch hoch sein, was darauf hinweist, dass UART 116 nicht zum Senden von Daten bereit ist. Somit kann die Steuerlogik 132 im Testmodus den Status des RTS-Signals nutzen, um einen logisch hohen Wert an RXREG 126 zu senden. Obwohl beschrieben wird, dass die Verwendung des RTS-Signals dazu dient, einen Paritätsfehler im Inhalt von RXREG 126 zu erzeugen, kann jedes geeignete Signal verwendet werden.The control logic 132 may be configured to use any suitable source of information to set the incorrect value for the parity bit provided to RXREG 126 via the remappable pin RP1 120. In one example, the control logic 132 may be configured to provide the RTS signal as a source of information to set the incorrect value for the parity bit provided to RXREG 126 via the remappable pin RP1 120. The RTS signal may be logic low, as discussed above, when UART 116 is being read to send data. However, because UART 116 is in a test mode, the RTS signal may be logic high, indicating that UART 116 is not ready to send data. Thus, in test mode, the control logic 132 may utilize the state of the RTS signal to send a logic high value to RXREG 126. Although the use of the RTS signal is described as being to generate a parity error in the contents of RXREG 126, any suitable signal may be used.

Ein RTS-Signal kann verwendet werden, da sein Wert bekanntermaßen ein logisch hoher Wert ist, wenn Daten nicht zum Senden bereit sind, weil der Testmodus aktiviert ist. Dieser logisch hohe Wert entspricht dem Wert für ein erwartetes Stoppbit, das ebenfalls logisch hoch wäre. Somit kann das RTS-Signal im Testmodus zuverlässig einen logisch hohen Wert aufweisen und erfolgreich angewendet werden, um die zugrunde liegenden Daten oder das Paritätsbit des Inhalts von TXREG 128 zu ändern, wie es von RXREG 126 empfangen wird. Durch Ausrichten eines solchen modifizierten Werts (z. B. das RTS-Signal), wie es von RXREG 126 empfangen wird, so dass es derselbe Wert ist, der für ein Stoppbit erwartet wird, eine zweite Modifikation, um den modifizierten Wert mit dem erwarteten Wert des Stoppbits übereinstimmen zu lassen. Ohne den erwarteten Wert des Stoppbits, der beispielsweise durch das RTS-Signal bereitgestellt wird, versucht die Paritätsfehlerprüfschaltung 136 möglicherweise nicht, die Parität des Inhalts von RXREG 126 zu überprüfen, da ein anderer Übertragungsfehler durch einen falschen Stoppbitwert verursacht werden kann und verhindert die Paritätsprüfung. Wie oben angegeben, kann bei der Verwendung eines RTS-Signals jedes geeignete bekannte Signal verwendet werden. Das geeignete bekannte Signal kann ein konstanter Wert für die Dauer der Anwendung des bekannten Signals an RXREG 126 anstelle von Inhalten sein, die von TXREG 128 übertragen werden, und einen Wert aufweisen, der dem erwarteten Wert des Stoppbits entspricht. Beispielsweise kann anstelle eines RTS-Signals ein Datenterminal-Bereitsignal verwendet werden. Ein bekanntes Signal kann bei Bedarf invertiert werden, um einem erwarteten Wert eines Stoppbits zu entsprechen.An RTS signal can be used because its value is known to be a logic high when data is not ready to be sent because test mode is enabled. This logic high value corresponds to the value for an expected stop bit, which would also be a logic high. Thus, the RTS signal can reliably have a logic high value in test mode and be successfully applied to modify the underlying data or parity bit of the contents of TXREG 128 as received by RXREG 126. By aligning such a modified value (e.g., the RTS signal) as received by RXREG 126 so that it is the same value expected for a stop bit, a second modification to make the modified value match the expected value of the stop bit is performed. Without the expected value of the stop bit, for example, provided by the RTS signal, the parity error checking circuit 136 may not attempt to check the parity of the contents of RXREG 126 because another transmission error may be caused by an incorrect stop bit value and prevent the parity check. As stated above, when using an RTS signal, any suitable known signal may be used. The suitable known signal may be a constant value for the duration of the application of the known signal to RXREG 126 instead of contents transmitted by TXREG 128 and have a value corresponding to the expected value of the stop bit. For example, a data terminal ready signal may be used instead of an RTS signal. A known signal may be inverted, if necessary, to correspond to an expected value of a stop bit.

Der Testmodus kann nach beliebigen geeigneten Kriterien genutzt werden. Der Testmodus kann beispielsweise beim Start des Systems 100, in regelmäßigen Abständen, als Teil eines größeren Diagnosetests oder auf Anforderung eines Benutzers oder der Software des Systems durchgeführt werden.The test mode may be used according to any suitable criteria. For example, the test mode may be performed when the system 100 is started, at regular intervals, as part of a larger diagnostic test, or at the request of a user or the system's software.

2 ist ein Zeitdiagramm der Generierung von Paritätsprüfinformationen gemäß Beispielen der vorliegenden Offenbarung. Die Diagramme in 2 können einen korrekten Informations-Frame mit einem korrekten Paritätsbit widerspiegeln, wie er während eines Testmodus getestet wurde. Die in 2 gezeigten Daten können den Inhalt von TXREG 128 widerspiegeln, der beispielsweise von der Steuerlogik 132 oder einem anderen geeigneten Teil des Systems 100 generiert werden kann. 2 is a timing diagram of the generation of parity check information according to examples of the present disclosure. The diagrams in 2 can reflect a correct information frame with a correct parity bit as tested during a test mode. The 2 may reflect the contents of TXREG 128, which may be generated, for example, by control logic 132 or another suitable portion of system 100.

Es kann eine bekannte Datensequenz verwendet werden. Beispielsweise kann die Sequenz „00110000“ verwendet werden. In dieser Datensequenz kann es eine gerade Anzahl von „1“-Werten geben. Daher und für die Zwecke dieses Beispiels kann ein Paritätsbit von „1“ auf die Datensequenz angewendet werden. Die Dateninhalte werden im Diagramm 202 gezeigt. Die Inhalte von TXREG 128 können gemäß dem gezeigten Timing an den remappbaren Pin RP1 120 weitergeleitet werden. Ein Paritätsbit und ein Stoppbit können beide „1“-Werte sein. A known data sequence may be used. For example, the sequence "00110000" may be used. In this data sequence, there may be an even number of "1" values. Therefore, and for the purposes of this example, a parity bit of "1" may be applied to the data sequence. The data contents are shown in diagram 202. The contents of TXREG 128 may be passed to the remappable pin RP1 120 according to the timing shown. A parity bit and a stop bit may both be "1" values.

Diagramm 204 kann Werte für das RTS-Signal veranschaulichen. Das RTS-Signal kann von der Steuerlogik 132 erzeugt werden. In anderen Beispielen kann ein Data Terminal Ready (DTR-) Signal verwendet werden.Diagram 204 may illustrate values for the RTS signal. The RTS signal may be generated by the control logic 132. In other examples, a Data Terminal Ready (DTR) signal may be used.

Diagramm 206 kann vom RXREG 126 empfangene Werte veranschaulichen. Dies kann der ursprünglich übertragene Inhalt von Diagramm 202 sein.Diagram 206 may illustrate values received from RXREG 126. This may be the originally transmitted content of diagram 202.

Diagramm 208 kann den Zeitpunkt veranschaulichen, zu dem Daten bei RXREG 126 abgetastet werden. Wie gezeigt, können Daten alle 2 Mikrosekunden abgetastet werden.Diagram 208 can illustrate the timing at which data is sampled at RXREG 126. As shown, data may be sampled every 2 microseconds.

Der Testmodus kann bei 0 Mikrosekunden beginnen. Bei etwa 1 Mikrosekunde kann das RTS-Signal logisch hoch sein, was darauf hinweist, dass der UART 116 nicht bereit ist, Daten im normalen Modus zu senden. RXREG 126 kann zurückgesetzt werden. Die Abtastung kann bei 2 Mikrosekunden beginnen.Test mode can start at 0 microseconds. At about 1 microsecond, the RTS signal can be logic high, indicating that the UART 116 is not ready to send data in normal mode. RXREG 126 can be reset. Sampling can start at 2 microseconds.

Bei 4 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 4 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 6 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 6 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 8 Mikrosekunden kann der Wert 1 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 8 microseconds, the value 1 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 10 Mikrosekunden kann der Wert 1 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 10 microseconds, the value 1 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 12 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 12 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 14 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 14 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 16 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 16 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 18 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 18 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Wenn der Wert des Paritätsbits durch die Steuerlogik 132 nicht modifiziert wird (wie es in 2 der Fall ist), kann nach 20 Mikrosekunden der Wert 1 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.If the value of the parity bit is not modified by the control logic 132 (as in 2 the case), after 20 microseconds the value 1 can be read from TXREG 128, output to the remappable pin RP1 120 and entered into RXREG 126.

Bei 22 Mikrosekunden kann ein Stoppbit mit einem logisch hohen Wert empfangen werden, das einen am RXREG 126 empfangenen Daten-Frame beendet. Anschließend kann das Paritätsbit durch die Paritätsfehlerprüfschaltung 136 mit dem empfangenen Inhalt verglichen werden. Im Beispiel von 2 ist das Paritätsbit korrekt. Die Steuerlogik 132 kann die Ergebnisse der Paritätsfehlerprüfschaltung 136 prüfen.At 22 microseconds, a stop bit with a logic high value may be received, which terminates a data frame received at RXREG 126. The parity bit may then be compared with the received content by parity error checking circuit 136. In the example of 2 the parity bit is correct. The control logic 132 can check the results of the parity error checking circuit 136.

3 ist ein Zeitdiagramm der Einführung eines Paritätsfehlers in die Generierung von Paritätsprüfinformationen gemäß Beispielen der vorliegenden Offenbarung. 3 is a timing diagram of the introduction of a parity error into the generation of parity check information according to examples of the present disclosure.

Es kann eine bekannte Datensequenz verwendet werden. Beispielsweise kann die Sequenz „00110000“ verwendet werden. In dieser Datensequenz kann es eine gerade Anzahl von „1“-Werten geben und daher kann für die Zwecke dieses Beispiels ein Paritätsbit von „1“ auf die Datensequenz angewendet werden. Der Dateninhalt wird im Diagramm 302 gezeigt. Ein Paritätsbit und ein Stoppbit können beide „1“-Werte sein.A known data sequence may be used. For example, the sequence "00110000" may be used. In this data sequence, there may be an even number of "1" values and therefore, for the purposes of this example, a parity bit of "1" may be applied to the data sequence. The data content is shown in diagram 302. A parity bit and a stop bit may both be "1" values.

Diagramm 304 kann Werte für das RTS-Signal veranschaulichen. Das RTS-Signal kann von der Steuerlogik 132 erzeugt werden.Diagram 304 may illustrate values for the RTS signal. The RTS signal may be generated by the control logic 132.

Diagramm 306 kann von RXREG 126 empfangene Werte darstellen. Dies kann der Inhalt von Diagramm 302 sein, unterbrochen durch die Anwendung des RTS-Signals anstelle eines Teils des Inhalts von TXREG 128.Diagram 306 may represent values received from RXREG 126. This may be the contents of diagram 302 interrupted by the application of the RTS signal in place of part of the contents of TXREG 128.

Diagramm 308 kann den Zeitpunkt veranschaulichen, zu dem Daten bei RXREG 126 abgetastet werden. Wie gezeigt, können Daten alle 2 Mikrosekunden abgetastet werden.Diagram 308 can illustrate the timing at which data is sampled at RXREG 126. As shown, data may be sampled every 2 microseconds.

Der Testmodus kann bei 0 Mikrosekunden beginnen. Bei etwa einer Mikrosekunde kann das RTS-Signal logisch hoch sein, was darauf hinweist, dass der UART 116 nicht zum Senden von Daten bereit ist. RXREG 126 kann zurückgesetzt werden. Die Testprobenahme kann bei 2 Mikrosekunden beginnen.Test mode can start at 0 microseconds. At about one microsecond, the RTS signal can be logic high, indicating that the UART 116 is not ready to send data. RXREG 126 can be reset. Test sampling can start at 2 microseconds.

Bei 4 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 4 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 6 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 6 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 8 Mikrosekunden kann der Wert 1 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 8 microseconds, the value 1 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 10 Mikrosekunden kann der Wert 1 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 10 microseconds, the value 1 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 12 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 12 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 14 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 14 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 16 Mikrosekunden kann der Wert 0 aus TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden.At 16 microseconds, the value 0 can be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126.

Bei 18 Mikrosekunden kann die Steuerlogik 132 so ausgebildet sein, dass modifizierte Inhalte an RXREG 126 bereitgestellt werden. Die Steuerlogik 132 kann dies durch Neuzuordnung des remappbaren Pins RP1 120 durchführen, um RXREG 126 und das in Diagramm 304 gezeigte RTS-Signal zu verbinden. Bei 18 Mikrosekunden kann der Wert 1 vom RTS-Signal über den remappbaren Pin RP1 120 übertragen werden, so dass es der Eingang von RXREG 126 ist. Dies kann den Wert 0 von TXREG 128 ersetzen. In einem Beispiel kann, wie gezeigt, der remappbare Pin RP1 120 TXRED 128 und RXREG 126 neu gemapped werden, nachdem die Bitabtastung 308 das Bit für den 18-Mikrosekunden-Zeitschlitz abgetastet hat. Bei 20 Mikrosekunden kann der Wert 1 von TXREG 128 gelesen, an den remappbaren Pin RP1 120 ausgegeben und in RXREG 126 eingegeben werden. Bei 22 Mikrosekunden kann ein Stoppbitwert 1 von TXREG 128 gelesen, an den zu remappenden Pin RP1 120 ausgegeben werden und in RXREG 126 eingegeben, wodurch ein bei RXREG 126 empfangener Daten-Frame beendet wird. Anschließend kann das Paritätsbit durch die Paritätsfehlerprüfschaltung 136 mit dem empfangenen Inhalt verglichen werden. Im Beispiel von 3 ist das Paritätsbit falsch. Die Steuerlogik 132 kann die Ergebnisse der Paritätsfehlerprüfschaltung 136 überprüfen und bestätigen, dass die Paritätsfehlerprüfschaltung 136 einen Paritätsfehler erkannt hat.At 18 microseconds, control logic 132 may be configured to provide modified content to RXREG 126. Control logic 132 may do this by remapping remappable pin RP1 120 to connect RXREG 126 and the RTS signal shown in diagram 304. At 18 microseconds, the value 1 from the RTS signal may be transferred through remappable pin RP1 120 so that it is the input of RXREG 126. This may replace the value 0 of TXREG 128. In one example, as shown, remappable pin RP1 120 may be remapped to TXRED 128 and RXREG 126 after bit sampling 308 samples the bit for the 18 microsecond time slot. At 20 microseconds, a value of 1 may be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126. At 22 microseconds, a stop bit value of 1 may be read from TXREG 128, output to the remappable pin RP1 120, and input to RXREG 126, thereby terminating a data frame received at RXREG 126. The parity bit may then be compared to the received content by the parity error check circuit 136. In the example of 3 the parity bit is incorrect. The control logic 132 may check the results of the parity error checking circuit 136 and confirm that the parity error checking circuit 136 has detected a parity error.

Bei 22 Mikrosekunden kann ein Stoppbit mit einem hohen logischen Wert empfangen werden, das einen am RXREG 126 empfangenen Daten-Frame beendet. Anschließend kann das Paritätsbit durch die Paritätsfehlerprüfschaltung 136 mit dem empfangenen Inhalt verglichen werden. Im Beispiel von 2 ist das Paritätsbit falsch. Das Paritätsbit hatte den Wert Eins, aber die Daten bei 18 Mikrosekunden wurden umgedreht, wodurch sich die Parität der am RXREG 126 empfangenen Daten änderte. Die Steuerlogik 132 kann die Ergebnisse der Paritätsfehlerprüfschaltung 136 überprüfen, um festzustellen, ob dieser Paritätsfehler korrekt identifiziert ist.At 22 microseconds, a stop bit with a high logic value may be received, which terminates a data frame received at RXREG 126. The parity bit may then be compared with the received content by parity error checking circuit 136. In the example of 2 the parity bit is incorrect. The parity bit had a value of one, but the data at 18 microseconds was flipped, changing the parity of the data received at RXREG 126. Control logic 132 may check the results of parity error checking circuit 136 to determine if this parity error is correctly identified.

In einem anderen Beispiel kann das RTS-Signal weiterhin bei 20 Mikrosekunden und 22 Mikrosekunden auf den remappbaren Pin RP1 120 abgebildet (und somit mit RXREG 126 verbunden) werden, was mit den Beispieldaten und Paritätsinformationen ebenfalls zu einem falschen vom RXREG 126 empfangenen Paritätsbit führen kann, für die tatsächlich empfangenen Daten. Die Steuerlogik 132 kann die Ergebnisse der Paritätsfehlerprüfschaltung 136 überprüfen und bestätigen, dass die Paritätsfehlerprüfschaltung 136 einen Paritätsfehler erkannt hat. In einem anderen Beispiel kann das RTS-Signal weiterhin bei 20 Mikrosekunden auf den remappbaren Pin RP1 120 abgebildet werden (und somit mit RXREG 126 verbunden werden), aber bei 22 Mikrosekunden kann der remappbare Pin RP1 120 auf TXREG 128 und RXREG 126 neu gemapped werden, was mit den Beispieldaten und Paritätsinformationen in ähnlicher Weise dazu führen kann, dass RXREG 126 für die tatsächlich empfangenen Daten ein falsches Paritätsbit empfängt. Die Steuerlogik 132 kann die Ergebnisse der Paritätsfehlerprüfschaltung 136 überprüfen und bestätigen, dass die Paritätsfehlerprüfschaltung 136 einen Paritätsfehler erkannt hat.In another example, the RTS signal may still be mapped to the remappable pin RP1 120 (and thus connected to RXREG 126) at 20 microseconds and 22 microseconds, which with the sample data and parity information may also result in an incorrect parity bit received from RXREG 126 for the actual data received. The control logic 132 may check the results of the parity error checking circuit 136 and confirm that the parity error checking circuit 136 detected a parity error. In another example, the RTS signal may still be mapped to the remappable pin RP1 120 (and thus connected to RXREG 126) at 20 microseconds, but at 22 microseconds the remappable pin RP1 120 may be remapped to TXREG 128 and RXREG 126, which with the sample data and parity information may similarly result in RXREG 126 receiving an incorrect parity bit for the actual data received. The control logic 132 may check the results of the parity error checking circuit 136 and confirm that the parity error checking circuit 136 detected a parity error.

4 ist eine Veranschaulichung eines Beispielverfahrens 400 zur Einführung und Erkennung von Paritätsfehlern in einem UART, d. h. in einem einzelnen UART, gemäß Beispielen der vorliegenden Offenbarung. 4 is an illustration of an example method 400 for introducing and detecting parity errors in a UART, ie, in a single UART, according to examples of the present disclosure.

Das Verfahren 400 kann durch jeden geeigneten Mechanismus durchgeführt werden, beispielsweise durch das System der 1-3 und insbesondere durch die Steuerlogik 132 und die Paritätsfehlerprüfschaltung 136. Das Verfahren 400 kann mehr oder weniger Schritte aufweisen als in 4 dargestellt. Darüber hinaus können verschiedene Schritte des Verfahrens 400 wiederholt, weggelassen, übersprungen, in einer anderen Reihenfolge, parallel oder rekursiv ausgeführt werden.The method 400 may be performed by any suitable mechanism, for example by the system of 1-3 and in particular by the control logic 132 and the parity error checking circuit 136. The method 400 may have more or fewer steps than in 4 In addition, various certain steps of the method 400 may be repeated, omitted, skipped, executed in a different order, in parallel, or recursively.

Bei 405 kann ein UART initialisiert werden.At 405 a UART can be initialized.

Bei 410 kann bestimmt werden, ob der UART in einem Normalmodus oder einem Testmodus betrieben werden soll. Die Entscheidung, in den Testmodus zu wechseln, kann von einem Benutzer des UART bei Bedarf, regelmäßig, beim Start oder auf einer anderen geeigneten Grundlage getroffen werden. Wenn der UART im Normalmodus arbeiten soll, kann Verfahren 400 mit 415 fortfahren. Andernfalls, wenn der UART im Testmodus arbeiten soll, kann Verfahren 400 mit 430 fortfahren.At 410, it may be determined whether the UART is to operate in a normal mode or a test mode. The decision to enter test mode may be made by a user of the UART on demand, periodically, at startup, or on another suitable basis. If the UART is to operate in normal mode, method 400 may continue to 415. Otherwise, if the UART is to operate in test mode, method 400 may continue to 430.

Bei 415 können Daten vom UART an einen anderen UART übertragen werden oder Daten können am UART von einem anderen UART empfangen werden. Zu sendende Daten können im TXREG gespeichert werden. Empfangene Daten können im RXREG gespeichert werden. Empfangene Daten können auf Parität überprüft werden. Das im RXREG empfangene Paritätsbit kann im Hinblick auf den zugrunde liegenden Daten-Frame, der ebenfalls im RXREG empfangen wurde, ausgewertet werden.At 415, data can be transmitted from the UART to another UART or data can be received at the UART from another UART. Data to be transmitted can be stored in the TXREG. Received data can be stored in the RXREG. Received data can be checked for parity. The parity bit received in the RXREG can be evaluated against the underlying data frame that was also received in the RXREG.

Bei 420 kann festgestellt werden, ob ein Paritätsbitfehler vorliegt. Wenn nicht, kann Verfahren 400 zu 410 zurückkehren. Wenn ja, kann Verfahren 40 zu 425 fortfahren.At 420, it may be determined if there is a parity bit error. If not, method 400 may return to 410. If yes, method 40 may continue to 425.

Bei 425 kann jede geeignete Korrekturmaßnahme für ein Paritätsbit ergriffen werden, wie z. B. das Erzeugen eines Fehlersignals, das Erzeugen einer Warnung oder die Anforderung, dass der Frame vom sendenden UART erneut gesendet wird. Verfahren 400 kann zu 410 zurückkehren.At 425, any appropriate corrective action may be taken for a parity bit, such as generating an error signal, generating a warning, or requesting that the frame be retransmitted by the sending UART. Method 400 may return to 410.

Bei 430 kann ein remappbarer Pin zwischen dem TXREG und dem RXREG gemapped werden, sodass die Ausgabe des TXREG an den RXREG weitergegeben wird. Es kann ein Countdown bis zu einem geeigneten Zeitpunkt beginnen, um die Anwendung des TXREG auf den RXREG auf die Anwendung eines bekannten Signals wie etwa eines RTS-Signals auf den RXREG umzustellen. Der Countdown kann beispielsweise durch einen Timer mit Taktsignalen oder einen Softwarezähler überwacht werden. Das Umschalten, um zu bewirken, dass modifizierte Inhalte an RXREG weitergegeben werden, kann durchgeführt werden, bevor der gesamte Inhalt von TXREG bei RXREG empfangen wird.At 430, a remappable pin may be mapped between the TXREG and the RXREG so that the output of the TXREG is passed to the RXREG. A countdown may begin to an appropriate time to switch the application of the TXREG to the RXREG to the application of a known signal such as an RTS signal to the RXREG. The countdown may be monitored by, for example, a timer with clock signals or a software counter. The switching to cause modified contents to be passed to the RXREG may be performed before the entire contents of the TXREG are received at the RXREG.

Bei 435 kann bestimmt werden, ob die Anwendung des remappbaren Pins umgeschaltet wird, um zu bewirken, dass modifizierter Inhalt an das RXREG weitergegeben wird. Wenn ja, kann Verfahren 400 mit 440 fortfahren. Andernfalls kann Verfahren 400 435 für einen oder mehrere zusätzliche Taktzyklen wiederholen.At 435, it may be determined whether the application of the remappable pin is toggled to cause modified content to be passed to the RXREG. If so, method 400 may continue to 440. Otherwise, method 400 may repeat 435 for one or more additional clock cycles.

Bei 440 kann der remappbare Pin neu gemapped werden, um ein bekanntes Signal an das RXREG anzulegen, das mit einem erwarteten Wert des Stoppbits (z. B. einem RTS-Signal oder DTR-Signal) übereinstimmen kann.At 440, the remappable pin can be remapped to apply a known signal to the RXREG, which can match an expected value of the stop bit (e.g., an RTS signal or DTR signal).

Bei 445 kann das System darauf warten, dass ein Stoppbit an RXREG weitergeleitet wird.At 445, the system can wait for a stop bit to be passed to RXREG.

Bei 450 können Inhalte des RXREG im Hinblick auf ein Paritätsbit des RXREG ausgewertet werden. Eine Parität der empfangenen Daten kann berechnet und mit empfangenen Paritätsinformationen verglichen werden. Es kann festgestellt werden, ob ein Paritätsfehler erkannt wurde. Wenn ja, kann Verfahren 400 mit 460 fortfahren. Andernfalls kann Verfahren 400 mit 455 fortfahren.At 450, contents of the RXREG may be evaluated with respect to a parity bit of the RXREG. A parity of the received data may be calculated and compared with received parity information. It may be determined whether a parity error was detected. If so, method 400 may continue to 460. Otherwise, method 400 may continue to 455.

Bei 455 kann festgestellt werden, dass die Paritätsfehlerprüfschaltung, die 450 durchgeführt hat, nicht ordnungsgemäß funktioniert. Es kann jede geeignete Korrekturmaßnahme durchgeführt werden, beispielsweise eine Warnung an einen Benutzer des UART. Verfahren 400 kann zu 410 zurückkehren.At 455, it may be determined that the parity error checking circuit that performed 450 is not functioning properly. Any appropriate corrective action may be taken, such as warning a user of the UART. Process 400 may return to 410.

Bei 460 kann festgestellt werden, dass die Paritätsfehlerprüfschaltung, die 450 durchgeführt hat, ordnungsgemäß funktioniert. Verfahren 400 kann zu 410 zurückkehren.At 460, it may be determined that the parity error checking circuit that performed 450 is functioning properly. Process 400 may return to 410.

Obwohl oben Beispiele beschrieben wurden, können andere Variationen und Beispiele aus dieser Offenbarung gemacht werden, ohne vom Geist und Schutzumfang dieser Beispiele abzuweichen.Although examples have been described above, other variations and examples may be made from this disclosure without departing from the spirit and scope of these examples.

Claims (23)

Universeller asynchroner Empfänger/Sender (UART), der aufweist: ein Senderegister, das vom UART zu sendende Informationen enthält; ein Empfangsregister, um vom UART empfangene Informationen aufzunehmen; einen virtuellen remappbaren Pin; eine Paritätsfehlerprüfschaltung, um den Inhalt des Empfangsregisters auf einen Paritätsfehler hin zu bewerten; und eine Steuerlogik, um: den Inhalt des Senderegisters zu bestimmen, wobei der Inhalt zugrunde liegende Daten und ein Paritätsbit basierend auf den zugrunde liegenden Daten aufweisen soll; den Inhalt des Senderegisters über den virtuellen remappbaren Pin zum Empfangsregister weiterzuleiten; vor dem Empfang des gesamten Inhalts des Senderegisters im Empfangsregister zu bewirken, dass modifizierte Inhalte an das Empfangsregister bereitgestellt werden, dass die modifizierten Inhalte einen Paritätsfehler verursachen, dass die modifizierten Inhalte andere zugrunde liegende Daten oder ein anderes Paritätsbit als der Inhalt des Senderegisters aufweisen; und zu bestimmen, ob die Paritätsfehlerprüfschaltung den Paritätsfehler erkannt hat.A universal asynchronous receiver/transmitter (UART), comprising: a transmit register containing information to be transmitted by the UART; a receive register to receive information received by the UART; a virtual remappable pin; a parity error checking circuit to evaluate the contents of the receive register for a parity error; and control logic to: determine the contents of the transmit register, wherein the contents are to include underlying data and a parity bit based on the underlying data; forward the contents of the transmit register to the receive register via the virtual remappable pin. cause modified contents to be provided to the receive register prior to receiving the entire contents of the transmit register in the receive register, cause the modified contents to cause a parity error, cause the modified contents to have different underlying data or a different parity bit than the contents of the transmit register; and determine whether the parity error checking circuit has detected the parity error. UART nach Anspruch 1, wobei die Steuerlogik bewirkt, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden, bevor der gesamte Inhalt des Senderegisters am Empfangsregister empfangen wird, indem ein bekanntes Signal über den virtuellen remappbaren Pin an das Empfangsregister weitergeleitet wird.UART to Claim 1 , wherein the control logic causes modified contents to be provided to the receive register before the entire contents of the transmit register are received at the receive register by passing a known signal to the receive register via the virtual remappable pin. UART nach Anspruch 2, wobei das bekannte Signal ein konstanter Wert ist.UART to Claim 2 , where the known signal is a constant value. UART nach Anspruch 3, wobei der konstante Wert gleich einem erwarteten Wert eines Stoppbits ist.UART to Claim 3 , where the constant value is equal to an expected value of a stop bit. UART nach Anspruch 4, wobei: die Inhalte das Stoppbit aufweisen; und die Steuerlogik bewirken soll, dass modifizierte Inhalte an das Empfangsregister bereitgestellt werden, einschließlich des Setzens anderer zugrunde liegender Daten oder eines anderen Paritätsbits des Senderegisters und des Setzens des erwarteten Werts des Stoppbits durch Anlegen des bekannten Signals.UART to Claim 4 , where: the contents comprise the stop bit; and the control logic is to cause modified contents to be provided to the receive register, including setting other underlying data or other parity bit of the transmit register and setting the expected value of the stop bit by asserting the known signal. UART nach einem der Ansprüche 2 bis 5, wobei das bekannte Signal ein Sendebereitschaftssignal ist.UART according to one of the Claims 2 until 5 , where the known signal is a ready-to-transmit signal. UART nach einem der Ansprüche 2 bis 5, wobei das bekannte Signal ein Datenterminal-Bereit-Signal ist.UART according to one of the Claims 2 until 5 , where the known signal is a data terminal ready signal. UART nach einem der Ansprüche 2 bis 7, wobei die Steuerlogik bewirken soll, dass modifizierte Inhalte an das Empfangsregister bereitgestellt werden, indem Eingangssignale an das Empfangsregister von den Inhalten des Senderegisters auf das bekannte Signal umgeschaltet werden.UART according to one of the Claims 2 until 7 , wherein the control logic is to cause modified contents to be provided to the receive register by switching input signals to the receive register from the contents of the transmit register to the known signal. UART nach einem der Ansprüche 2 bis 7, wobei die Steuerlogik bewirken soll, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden durch eine Neuzuordnung des virtuellen remappbaren Pins von den Inhalten des Senderegisters auf ein bekanntes Signal.UART according to one of the Claims 2 until 7 , where the control logic is to cause modified contents to be provided to the receive register by remapping the virtual remappable pin from the contents of the transmit register to a known signal. UART nach einem der Ansprüche 1 bis 9, wobei die Steuerlogik bewirken soll, dass modifizierte Inhalte dem Empfangsregister bereitgestellt werden, indem Eingaben selektiv an das Empfangsregister weitergeleitet werden.UART according to one of the Claims 1 until 9 , where the control logic is to cause modified contents to be provided to the receiving register by selectively forwarding inputs to the receiving register. UART nach einem der Ansprüche 1 bis 10, wobei die Steuerlogik basierend auf der Feststellung, dass die Paritätsfehlerprüfschaltung den Paritätsfehler nicht erkannt hat, ein Fehlersignal ausgeben soll, um anzuzeigen, dass der Paritätsfehler nicht erkannt wurde.UART according to one of the Claims 1 until 10 wherein the control logic is to output an error signal to indicate that the parity error was not detected based on the determination that the parity error checking circuit did not detect the parity error. Mikrocontroller, der einen universellen asynchronen Empfänger/Sender (UART) nach einem der Ansprüche 1 bis 11 aufweist.Microcontroller that provides a universal asynchronous receiver/transmitter (UART) according to one of the Claims 1 until 11 having. Verfahren, das in einem universellen asynchronen Empfänger/Sender (UART) aufweist: Bestimmen von Inhalten eines Senderegisters, wobei das Senderegister Informationen enthält, die vom UART übertragen werden sollen, wobei die Inhalte zugrunde liegende Daten und ein auf den zugrunde liegenden Daten basierendes Paritätsbit aufweisen sollen; Leiten des Inhalts des Senderegisters über einen virtuellen remappbaren Pin zu einem Empfangsregister, vor dem Empfang des gesamten Inhalts des Senderegisters im Empfangsregister bewirken, dass modifizierte Inhalte an das Empfangsregister bereitgestellt werden, wobei die modifizierten Inhalte andere zugrunde liegende Daten oder ein anderes Paritätsbit als die Inhalte des Senderegisters aufweisen, die modifizierten Inhalte einen Paritätsfehler verursachen sollen; und Bestimmen, ob eine Paritätsfehlerprüfschaltung einen Paritätsfehler im Empfangsregister erkannt hat.A method comprising, in a universal asynchronous receiver/transmitter (UART): determining contents of a transmit register, the transmit register containing information to be transmitted by the UART, the contents to include underlying data and a parity bit based on the underlying data; directing the contents of the transmit register to a receive register via a virtual remappable pin, prior to receiving the entire contents of the transmit register in the receive register, causing modified contents to be provided to the receive register, the modified contents having different underlying data or a different parity bit than the contents of the transmit register, the modified contents to cause a parity error; and determining whether a parity error checking circuit has detected a parity error in the receive register. Verfahren nach Anspruch 13, das die Bereitstellung modifizierter Inhalte für das Empfangsregister vor dem Empfang des gesamten Inhalts des Senderegisters am Empfangsregister aufweist, indem ein bekanntes Signal über den virtuellen remappbaren Pin an das Empfangsregister weitergeleitet wird.Procedure according to Claim 13 which comprises providing modified contents to the receive register prior to receiving the entire contents of the transmit register at the receive register by passing a known signal to the receive register via the virtual remappable pin. Verfahren nach Anspruch 14, wobei das bekannte Signal ein konstanter Wert ist.Procedure according to Claim 14 , where the known signal is a constant value. Verfahren nach Anspruch 15, wobei der konstante Wert gleich einem erwarteten Wert eines Stoppbits ist.Procedure according to Claim 15 , where the constant value is equal to an expected value of a stop bit. Verfahren nach Anspruch 16, wobei: die Inhalte das Stoppbit aufweisen; und das Verfahren aufweist zu bewirken, dass modifizierte Inhalte an das Empfangsregister bereitgestellt werden und der erwartete Wert des Stoppbits durch Anlegen des bekannten Signals gesetzt wird.Procedure according to Claim 16 , wherein: the contents comprise the stop bit; and the method comprises causing modified contents to be provided to the receiving register and the expected value of the stop bit is set by applying the known signal. Verfahren nach einem der Ansprüche 14 bis 17, wobei das bekannte Signal ein Sendebereitschaftssignal ist.Method according to one of the Claims 14 until 17 , where the known signal is a ready-to-transmit signal. Verfahren nach einem der Ansprüche 14 bis 17, wobei das bekannte Signal ein Datenterminal-Bereit-Signal ist.Method according to one of the Claims 14 until 17 , where the known signal is a data terminal ready signal. Verfahren nach einem der Ansprüche 14 bis 19, das die Bereitstellung modifizierter Inhalte für das Empfangsregister durch Umschalten von Eingangssignalen an das Empfangsregister von den Inhalten des Senderegisters auf das bekannte Signal aufweist.Method according to one of the Claims 14 until 19 which comprises providing modified contents to the receive register by switching input signals to the receive register from the contents of the transmit register to the known signal. Verfahren nach einem der Ansprüche 13 bis 20, das die Bereitstellung modifizierter Inhalte für das Empfangsregister durch eine Neuzuordnung des virtuellen remappbaren Pins von den Inhalten des Senderegisters zu einem bekannten Signal aufweist.Method according to one of the Claims 13 until 20 which comprises providing modified contents to the receive register by remapping the virtual remappable pin from the contents of the transmit register to a known signal. Verfahren nach einem der Ansprüche 13 bis 20, das die Bereitstellung modifizierter Inhalte für das Empfangsregister durch selektives Weiterleiten von Eingaben an das Empfangsregister aufweist.Method according to one of the Claims 13 until 20 , which comprises providing modified content to the receiving register by selectively forwarding inputs to the receiving register. Verfahren nach einem der Ansprüche 13 bis 22, das basierend auf der Feststellung, dass die Paritätsfehlerprüfschaltung den Paritätsfehler nicht erkannt hat, das Ausgeben eines Fehlersignals aufweist, um anzuzeigen, dass der Paritätsfehler nicht erkannt wurde.Method according to one of the Claims 13 until 22 which comprises, based on the determination that the parity error checking circuit did not detect the parity error, outputting an error signal to indicate that the parity error was not detected.
DE112022003469.6T 2021-07-09 2022-06-28 INTRODUCTION AND DETECTION OF PARITY ERRORS FOR THE SELF-TEST OF A UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER Pending DE112022003469T5 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN202111030809 2021-07-09
IN202111030809 2021-07-09
US17/825,277 US11928022B2 (en) 2021-07-09 2022-05-26 Introduction and detection of parity error in a UART
US17/825,277 2022-05-26
PCT/US2022/035215 WO2023283074A1 (en) 2021-07-09 2022-06-28 Introduction and detection of parity error for self testing of a universal asynchronous receiver transmitter

Publications (1)

Publication Number Publication Date
DE112022003469T5 true DE112022003469T5 (en) 2024-05-02

Family

ID=82694186

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022003469.6T Pending DE112022003469T5 (en) 2021-07-09 2022-06-28 INTRODUCTION AND DETECTION OF PARITY ERRORS FOR THE SELF-TEST OF A UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER

Country Status (2)

Country Link
DE (1) DE112022003469T5 (en)
WO (1) WO2023283074A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722457B2 (en) * 2004-11-05 2011-07-13 ルネサスエレクトロニクス株式会社 CAN system
US10928449B2 (en) * 2019-03-30 2021-02-23 Intel Corporation Apparatus for memory built-in self-test with error detection and correction code awareness
CN114846456A (en) * 2019-12-27 2022-08-02 微芯片技术股份有限公司 Autonomous transmission error detection for serial communication link receiver-transmitter and microcontroller system peripheral implementing same

Also Published As

Publication number Publication date
WO2023283074A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
DE60034403T2 (en) A semiconductor memory device having an error correction code circuit and a method of testing a memory
DE60117066T2 (en) Method and device for checking error-correcting codes
DE19531653C2 (en) Single-chip microprocessor with built-in self-test function
DE1279980C2 (en) Data processing system consisting of several data processing units coupled to one another
DE102013211077B4 (en) Method for testing a memory and storage system
DE3239221A1 (en) INTEGRATED DEVICE AND METHOD FOR TESTING A MICROPROCESSOR SYSTEM
DE2357168C2 (en) Circuit arrangement for a memory module
DE102005048255A1 (en) Integrated circuit component and operating method
DE3111447C2 (en)
DE102019129275A1 (en) Method, circuit and integrated circuit for transferring data and a data test field
DE2556556A1 (en) METHOD AND ARRANGEMENT FOR STORING INFORMATION ABOUT THE LOCATION OF ONE OR MORE DEFECTIVE BITS IN A SINGLE FAULT-CORRECTING MAIN STORAGE
DE2225841C3 (en) Method and arrangement for systematic error checking of a monolithic semiconductor memory
DE3903835A1 (en) METHOD AND DEVICE FOR TESTING MICROPROCESSOR SYSTEMS USING MEMORY EMULATION TECHNIQUES
DE1524175A1 (en) Testing device in electronic data processing systems
DE102018124628A1 (en) System, apparatus and method for functional testing of one or more structures of a processor
DE102014204076A1 (en) SERIAL COMMUNICATION TESTER, SYSTEM THAT CONTAINS, AND PROCESS THEREOF
DE10004198C2 (en) System and method for an intelligent analysis probe
DE102006007326A1 (en) Error correction circuit for dynamic RAM system, has read tree to receive data from data memory and parity data from parity memory, and also configured to produce display, whether error is occurred in data during storage within data memory
DE102019131865A1 (en) METHOD AND DEVICE FOR SELF-DIAGNOSTICING THE RAM ERROR DETECTION LOGIC OF A DRIVELINE CONTROLLER
DE112022003469T5 (en) INTRODUCTION AND DETECTION OF PARITY ERRORS FOR THE SELF-TEST OF A UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER
DE69817852T2 (en) STORAGE PROTECTION SYSTEM FOR A MULTITASKING SYSTEM
DE2538802C2 (en) Circuit for the detection of errors among the bits which are generated from information and check bits and which indicate an incorrect storage location
DE3837893A1 (en) MEMORY BLOCK
DE69719896T2 (en) Integrated semiconductor circuit with error detection circuit
DE3219900A1 (en) COMPUTER INTERFACE

Legal Events

Date Code Title Description
R012 Request for examination validly filed