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 PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title description 37
- 238000001514 detection method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 30
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/24—Testing correct operation
- H04L1/241—Testing correct operation using pseudo-errors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error 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.
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
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
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
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,
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 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 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.
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Wenn der Wert des Paritätsbits durch die Steuerlogik 132 nicht modifiziert wird (wie es in
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Das Verfahren 400 kann durch jeden geeigneten Mechanismus durchgeführt werden, beispielsweise durch das System der
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)
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)
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 |
-
2022
- 2022-06-28 WO PCT/US2022/035215 patent/WO2023283074A1/en active Application Filing
- 2022-06-28 DE DE112022003469.6T patent/DE112022003469T5/en active Pending
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 |