WO2023283074A1 - Introduction et détection d'erreur de parité pour auto-test d'un émetteur-récepteur asynchrone universel - Google Patents

Introduction et détection d'erreur de parité pour auto-test d'un émetteur-récepteur asynchrone universel Download PDF

Info

Publication number
WO2023283074A1
WO2023283074A1 PCT/US2022/035215 US2022035215W WO2023283074A1 WO 2023283074 A1 WO2023283074 A1 WO 2023283074A1 US 2022035215 W US2022035215 W US 2022035215W WO 2023283074 A1 WO2023283074 A1 WO 2023283074A1
Authority
WO
WIPO (PCT)
Prior art keywords
contents
uart
register
parity
parity error
Prior art date
Application number
PCT/US2022/035215
Other languages
English (en)
Inventor
Avinash HALAGERI
Original Assignee
Microchip Technology Incorporated
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 Incorporated filed Critical Microchip Technology Incorporated
Priority to CN202280016478.6A priority Critical patent/CN116888914A/zh
Priority to DE112022003469.6T priority patent/DE112022003469T5/de
Publication of WO2023283074A1 publication Critical patent/WO2023283074A1/fr

Links

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

Definitions

  • the present application relates to electronic communication and, more particularly, to introduction and detection of parity error in a single universal asynchronous receiver/transmitter (UART).
  • UART universal asynchronous receiver/transmitter
  • UARTs are used to implement a variety of communication protocols between electronic devices. UARTs may be used for serial communications. The transmission of data by a UART may be framed by start and stop bits in order to facilitate timing between UARTs on different devices.
  • Different errors may occur in data transmission between UARTs. Such errors may occur from, for example, noise in the sending device, transmission medium, receiving device, or misconfiguration of one of these elements.
  • One such error may include a parity error.
  • a parity error may arise from a bit of data changing its value during transmission.
  • a parity error may be detected by a parity check.
  • a parity check may be performed, in part, by evaluation of a parity bit.
  • the parity bit may be an indication of whether in a given frame the total count of bits that have a given value — such as zero or one — are even or odd.
  • the parity bit may be set by the sending UART based upon the data to be sent and included in or appended to the frame of the data.
  • the receiving UART may calculate what the parity bit should be based upon the data that was actually received, and then compare the calculated parity bit with the parity bit that was received from the sending UART. If the calculated parity bit does not match the received parity bit, then a parity error has occurred.
  • data may be sent from a sending UART to a receiving UART.
  • Test mechanisms in the sending UART may introduce a parity error by, for example, switching 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 switched by noise in the transmission medium or in the receiving UART.
  • the parity error checking is working correctly, even though such parity error checking is not working correctly.
  • Inventors of examples of the present disclosure have discovered that the examples of the present disclosure address one or more of these issues.
  • a UART includes a transmission register, a receive register, a virtual remappable pin, a parity error check circuit to evaluate contents of the receive register for a parity error, and control logic to determine contents of the transmission register.
  • the contents are to include underlying data and a parity bit based on the underlying data.
  • the control logic is to route the contents of the transmission register through the virtual remappable pin to the receive register.
  • the control logic is to, before reception of the entire contents of the transmission register at the receive register, cause modified contents to be provided to the receive register.
  • the modified contents are to cause a parity error.
  • the modified contents are to include different underlying data or a different parity bit than the contents of the transmission register.
  • the control logic is to determine whether the parity error check circuit detected the parity error.
  • FIGURE 1 is an illustration of an example system for introduction and detection of parity error in a UART, according to examples of the present disclosure.
  • FIGURE 2 is a timing diagram of generation of parity checking information, according to examples of the present disclosure.
  • FIGURE 3 is a timing diagram of introduction of parity error into the generation of parity checking information, according to examples of the present disclosure.
  • FIGURE 4 is an illustration of an example method for introduction and detection of parity error in a UART, according to examples of the present disclosure.
  • Examples of the present disclosure may include a UART.
  • the UART may include a transmission register, a receive register, a virtual remappable pin, a parity error check circuit, and control logic.
  • the UART may be to work in a normal mode and in a test mode. In the normal mode, the UART may transmit or receive data on behalf of other elements that use the UART for communication, such as a system or microcontroller into which the UART is included or is integrated. In a test mode, the UART may perform a self-test to verify that the parity error check circuit is working correctly. The mode of operation may be controlled by the control logic.
  • the transmission register and receive register may include any suitable mechanism for storing information, such as a hardware register, volatile memory, or non-volatile memory.
  • the transmission register and receive register may each be local to the UART, as opposed to a general-purpose register for a larger microcontroller into which the UART is integrated or implemented.
  • the transmission register may be to include information to be transmitted by the UART.
  • Data for the transmission register may be provided by, for example, elements of a system using the UART for communication in the normal mode. Such data may be provided by, for example, the control logic in the test mode.
  • the receive register may be to include information received by the UART.
  • Data for the receive register may be provided by, for example, other elements of a system in communication with the UART in the normal mode, such as a different UART. Such data may be provided by, for example, test circuitry as described below in the test mode.
  • the virtual remappable pin may be implemented in any suitable manner.
  • the virtual remappable pin may be implemented by a software-controlled interconnect matrix.
  • the matrix may be implemented wholly 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 through the 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 tie two ports of the UART, or the system in which the UART is implemented, together.
  • the virtual remappable pin may be used to tie, for example, TX and RX ports together, or an RX port to a ready to send port.
  • the parity error check circuit may be to evaluate contents of the receive register for a parity error.
  • the parity error check 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 check circuit based upon the data contents.
  • the parity bit may be set correctly when contents are placed into a transmission register and sent to another UART. The contents of the transmission may be corrupted during transmission and thus the contents as received at the receive register may fail the parity error check.
  • the control logic as described below, may artificially cause a parity error that should be detected by the parity error check circuit. The test mode may thus test whether the parity error check circuit is working correctly.
  • the control logic may be to, in a test mode, determine or set contents of the transmission register.
  • the contents may include underlying data and a parity bit based on the underlying data.
  • the control logic may be to, in a test mode, route the contents of the transmission register through the virtual remappable pin to the receive register.
  • the control logic may be to, in a test mode, before reception of the entire contents of the transmission register at the receive register, cause modified contents to be provided to the receive register.
  • the modified contents may cause a parity error.
  • the modified contents may include different underlying data or a different parity bit than the contents of the transmission register.
  • the control logic may be to, in a test mode, determine whether the parity error check circuit detected the parity error.
  • control logic and parity error check circuit may be implemented in any suitable manner, such as by analog circuitry, digital circuitry, an application specific integrated circuit, field programmable gate array, reconfigurable or programmable hardware, instructions for execution by a processor, or any suitable combination thereof.
  • control logic may be to cause modified contents to be provided to the receive register before reception of the entire contents of the transmission register at the receive register by routing a known signal to the receive register through the virtual remappable pin.
  • the known signal may be a constant value.
  • the constant value may be equal to an expected value of a stop bit.
  • the contents may include the stop bit, and the control logic may be to cause modified contents to be provided to the receive register.
  • the modified contents may include setting different underlying data or different parity bit of the transmission register and setting the expected value of the stop bit, through application of the known signal.
  • the known signal may be a ready -to- send signal.
  • the known signal may be a data terminal ready signal.
  • control logic may be to cause modified contents to be provided to the receive register by switching input signals to the receive register from the contents of the transmission register to the known signal.
  • control logic may be to cause modified contents to be provided to the receive register through a remapping of the virtual remappable pin from the contents of the transmission register to a known signal.
  • control logic may be to cause modified contents to be provided to the receive register by selectively routing inputs to the receive register.
  • control logic may be to, based upon a determination that the parity error check circuit failed to detect the parity error, issue an error signal to indicate a failure to detect the parity error. Any suitable error signal may be used.
  • Examples of the present disclosure may include a microcontroller.
  • the microcontroller may include any of the UARTs of the above examples.
  • FIGURE 1 is an illustration of an example system 100 for introduction and detection of parity error in a UART, such as a single UART, according to examples of the present disclosure.
  • System 100 may be implemented within any suitable context, such as within a controller, microcontroller, die, integrated circuit, system on a chip, application specific integrated circuit, field programmable gate array, computer, mobile device, or any other suitable electronic device.
  • system 100 may be implemented by a microcontroller.
  • System 100 may include a UART 116.
  • UART 116 may be implemented by analog circuitry, digital circuitry, instructions for execution by a processor, or any suitable combination thereof.
  • System 100 may include more instances of UART 116 than are 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 respective parity error.
  • System 100 may include any suitable external ports, such as TX port 130, RX port 118, and a ready to send (RTS) port 134, for providing communication to or from UART 116.
  • RTS port 134 may be a logic low port, such that an RTS signal is “true” when a zero or other logic low value.
  • Such ports 130, 118, 134 may be implemented by any suitable electrical connection.
  • ports 130, 118, 134 may be external connections of a die, board, chip, or other packaging of UART 116.
  • Ports 130, 118, 134 may be configured to provide communication between UART 116 and other instances of UARTs on other devices.
  • System 100 may include any other suitable kind and number of elements.
  • system 100 may include a processor 102 communicatively coupled to a memory 104.
  • Memory 104 may include instructions that, when loaded and executed by processor 102, may implement software to be executed by system 100.
  • System 100 may include a system bus 106.
  • System bus 106 may be configured to provide communication between processor 102 and other parts of system 100, such as UART 116.
  • 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 independently of processor 102 by the peripheral. Thus, processor 102 may offload tasks to such peripherals. When finished with a task, or upon other suitable criteria wherein processor 102 or software executing thereon is to take further action, the peripheral may, for example, generate an interrupt to processor 102.
  • peripherals of system 100 may include, for example, counters 108, digital to analog converter 110, analog to digital converter 112, or an I2C communication circuit 114, however in some examples counters 108, digital to analog converter 110, analog to digital converter 112, or an I2C communication circuit 114 may not be included.
  • UART 116 may include control logic 132.
  • Control logic 132 may be implemented by analog circuitry, digital circuitry, an application specific integrated circuit, field programmable gate array, reconfigurable or programmable hardware, instructions for execution by a processor, or any suitable combination thereof.
  • Control logic 132 may be configured to direct and control operations of UART 116 for introducing parity errors as described in the present disclosure.
  • 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 substantive data to be received, frame information, or error information such as parity bits, that are received at UART 116 through RX port 118.
  • the data received on RX port 118 may be received from another instance of a UART.
  • Data in RXREG 126 may be read and used by any suitable portion of system 100, such as by control logic 132.
  • UART 116 may include a transmitting register such as TXREG 128.
  • TXREG 128 may be configured to store one or more bits of information, including substantive data to be sent, frame information, or error information such as parity bits, that are to be sent by UART 116 through TX port 130.
  • the data to be stored in TXREG 128 and sent through TX port 130 may be generated by any suitable portion of system 100, such as by control logic 132, software executing on processor 102, or another peripheral of system 100.
  • UART 116 may be configured to introduce a parity error using resources available within UART 116.
  • UART 116 may be configured to introduce a parity error without using an additional instance of a UART.
  • UART 116 may include or have access to one or more virtual remappable pins.
  • a singe virtual remappable pin is described herein, it being understood 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 given peripheral of system 100, such as UART 116.
  • the virtual remappable pin may be implemented by, for example, a switch fabric internal to UART 116 or between UART 116 and other elements of system 100.
  • the virtual remappable pin may be implemented by a software-controlled interconnect matrix.
  • the matrix may be implemented wholly 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 through 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 to electrically tie, i.e., connect, two ports of UART 116 or system 100.
  • the virtual remappable pin may be used to tie, for example, TX and RX ports or registers together, or an RX port or register to a ready to send signal.
  • UART 116 may include remappable pin RPl 120.
  • RP1 120 is illustrated outside of UART 116 as if these were physical pins for demonstration purposes. Moreover, illustrated in FIGURE 1 are two representations of remappable pin RPl 120, provided for readability. The single instance of remappable pin RPl 120 is illustrated as separate instances to show the equivalent routing of signals to or from the remappable pins, although these are a single instance. Control logic 130 may be configured to route two or more signals to a same remappable pin. This may have the effect of connecting the two or more signals. This may occur within UART 116 or within system 100.
  • the routing of signals through remappable pin RPl 120 may be performed programmatically by control logic 130 by assigning and reassigning remappable pin RPl 120.
  • control logic 130 may be illustrated as a switch 124.
  • 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.
  • a parity bit may be used.
  • the parity bit may be set to a one if there are an odd number of one values within the data to be sent, and the parity bit may be set to a zero if there an even number of one values within the data to be sent.
  • the examples shown in the present disclosure may follow this scheme.
  • the parity bit may be set to a zero if there are an odd number of one values within the data to be sent, and the parity bit may be set to a one if there an even number of one values within the data to be sent.
  • Parity information may be set or checked by any suitable portion of UART 116.
  • UART 116 may include a parity error check circuit 136.
  • Parity error check circuit 136 may be implemented by analog circuitry, digital circuitry, instructions for execution by a processor, or any suitable combination thereof.
  • parity error check circuit 136 may be configured to examine and evaluate contents of TXREG 128 and to set a parity bit in TXREG 128 based upon the underlying data to be transmitted from TXREG 128.
  • the parity bit may be set instead by other suitable portions of UART 116, such as a source of the contents of TXREG 128.
  • parity error check circuit 136 may be configured to examine and evaluate contents of RXREG 126 and evaluate whether a parity error has occurred. Parity error check 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 such underlying data. Parity error check circuit 136 may be configured to compare such a calculated parity bit with the parity bit that was actually received in RXREG 126. If the parity bits do not match, then a parity error may have occurred. UART 116 may take any suitable corrective action. If the parity bits do match, a parity error has not occurred, and then UART 116 may continue to process information in RXREG 126.
  • remappable pin RPl 120 might not be used in the manner shown in FIGURE 1. Remappable pin RPl 120 may instead be unassigned or not present, and UART 116 may be configured to route 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 sent with the data to TX port 130.
  • the data may be sent from TX port 130 on to other entities (not shown) connected to TX port 130, such as another UART.
  • UART 116 may be configured to route contents from RX port 118 to RXREG 126.
  • RX port 118 is directly connected to an input of RXREG 126.
  • Parity information for the data received in RXREG 126 may be calculated and compared against the parity information that arrived with the data received in RXREG 126, by parity error check circuit 136, as discussed above. If the parity information matches, then no parity error might be detected. If the parity information does not match, then a parity error might be detected. If a parity error is detected, then any suitable corrective action may be taken.
  • an RTS signal may be routed to RTS port 134 by control logic 132.
  • the RTS signal may be part of a handshaking scheme (along with a clear to send (CTS) message).
  • CTS clear to send
  • the RTS signal may signal to other UART instances (not shown) that UART 116 is ready to send.
  • 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.
  • Control logic 132 may be configured to switch UART 116 between test and normal modes. During a test mode, control logic 132 may be configured to determine example test contents to be used in TXREG 128. Control logic 132 may make this determination by generating the test contents or evaluating the contents in TXREG 128 that may have been provided by another entity.
  • control logic 132 may be configured to selectively route contents of TXREG 128 through remappable pin RPl 120 to RXREG 126. Control logic 132 may be configured to perform such routing in any suitable manner. Control logic 132 may be configured to selectively route other contents to RXREG 126 to cause modified contents, when compared to the original contents of TXREG 128, to be provided to RXREG 126.
  • 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 a modified contents.
  • the modified contents may be configured to cause a parity error in RXREG 126.
  • the modified contents may include a different parity bit than what was originally in TXREG 128, or different underlying data than what was originally in TXREG 128, or both.
  • remappable pin RPl 120 may be reprogrammed during transmission of contents of TXREG 128 to route the RTS signal to the input of RXREG 126 before the entire original contents of TXREG 128 are provided to RXREG 12. This operation is shown symbolically as a switch 124 in FIGURE 1.
  • Control logic 132 may be configured to selectively apply either the RTS signal output through remappable pin RPl 120 to RXREG 126 or the contents of TXREG 128 through remappable pin RPl 120 to RXREG 126.
  • the selective application may be performed by reprogramming RPl 120 from connecting TXREG 128 and RXREG 126 to connecting the RTS signal output of control logic 130 and RXREG 126.
  • the reprogramming of RP1 120 to connect the RTS signal output of control logic 130 and RXREG 126 may cause bits to be switched, inserted, or otherwise manipulated to artificially create a parity error in the contents of RXREG 126.
  • Any suitable bit in the transmission of information in a frame between TXREG 128 and RXREG 126 may be changed by control logic 132 to artificially create a parity error.
  • a bit in the underlying data that was a logic low value in the contents of TXREG 128 may be changed to a logic high value.
  • a bit in the underlying data that was a logic high value in the contents of TXREG 128 may be changed to a logic low value.
  • the underlying data in the contents of TXREG 128 may have caused a certain parity bit to be set, and the action of control logic 132 to artificially change a bit of such underlying data should cause the parity calculation of RXREG 126 to not match the parity bit that was sent.
  • Parity error check circuit 136 if working correctly, may detect this parity error.
  • Control logic 132 may be configured to determine if the parity error was correctly determined by the parity error check circuit 136.
  • the parity bit itself that was a logic low value in the contents of TXREG 128 may be changed to a logic high value by control logic 132 to check the operation of parity error check circuit 136.
  • the parity bit itself that was a logic high value in the contents of TXREG 128 may be changed to a logic low value by control logic 132 to check the operation of parity error check circuit 136.
  • the underlying data in the contents of TXREG 128 may have caused a certain 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 check circuit 136 to not match the parity bit that was sent.
  • Parity error check circuit 136 if working correctly, may detect this parity error.
  • Control logic 132 may be configured to determine if the parity error was correctly determined by the parity error check circuit 136.
  • Control logic 132 may be configured to utilize any suitable source of information to set the incorrect value for the parity bit provided to RXREG 126 through remappable pin RPl 120.
  • control logic 132 may be configured to provide the RTS signal as the source of information to set the incorrect value for the parity bit provided to RXREG 126 through remappable pin RPl 120.
  • the RTS signal as discussed above, may be a logic low when UART 116 is read to send data. However, as UART 116 is set into a test mode, the RTS signal may be a logic high, indicating that UART 116 is not ready to send data.
  • control logic 132 may utilize the status of the RTS signal to send a logic high value into RXREG 126.
  • RTS signal is described as being used in order to create a parity error in the contents of RXREG 126, any suitable signal may be used.
  • An RTS signal may be used because its value, when data is not ready to send because the test mode is activated, is known to be a logic high value. This logic high value corresponds to the value for an expected stop bit, which would also be a logic high. Thus, in the test mode, the RTS signal may be reliably a logic high value and successfully applied to alter the underlying data or the 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 to be the same value as expected for a stop bit, a second modification to make the modified value match the expected value of the stop bit.
  • a modified value e.g., the RTS signal
  • parity error check circuit 136 might not attempt to check the parity of the contents of RXREG 126, as a different transmission error may be caused by an incorrect stop bit value and preempt the parity check.
  • 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 in place of contents transmitted from TXREG 128, and of a value matching the expected value of the stop bit.
  • a data terminal ready signal may be used instead of an RTS signal.
  • a known signal may be inverted, if necessary, to conform to an expected value of a stop bit.
  • the test mode may be used on the basis of any suitable criteria.
  • the test mode may be performed upon startup of system 100, periodically, as part of a larger diagnostic test, or on demand by a user or software of system.
  • FIGURE 2 is a timing diagram of generation of parity checking information, according to examples of the present disclosure.
  • the diagrams of FIGURE 2 may reflect a correct frame of information with a correct parity bit as tested during a test mode.
  • the data shown in FIGURE 2 may reflect the contents of TXREG 128, which may be generated by, for example, control logic 132 or any other suitable portion of system 100.
  • 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. As such 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 graph 202.
  • the contents of TXREG 128 may be routed to remappable pin RP1 120 according to the timing shown.
  • a parity bit and a stop bit may both be “1” values.
  • Graph 204 may illustrate values for the RTS signal.
  • the RTS signal may be generated by control logic 132.
  • a data terminal ready (DTR) signal may be used.
  • Graph 206 may illustrate values received by RXREG 126. These may be the contents of graph 202 as originally transmitted.
  • Graph 208 may illustrate timing of when data is sampled at RXREG 126. As shown, data may be sampled every 2 microseconds.
  • the test mode may begin at 0 microseconds. At approximately 1 microsecond, the RTS signal may be logic high, indicating that UART 116 is not ready to send data in a normal mode. RXREG 126 may be reset. Test sampling may begin at 2 microseconds.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 1 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 1 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • the value 1 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • a stop bit with a logic high value may be received, ending a frame of data received at RXREG 126.
  • the parity bit may be checked against the received content by parity error check circuit 136.
  • the parity bit is correct.
  • Control logic 132 may check the results of parity error check circuit 136.
  • FIGURE 3 is a timing diagram of introduction of parity error into the generation of parity checking information, according to examples of the present disclosure.
  • a known data sequence may be used. For example, the sequence “00110000” may be used. In this data sequence, there may an even number of “1” values and as such, for the purposes of this example, a parity bit of “1” may be applied to the data sequence.
  • the data contents are shown in graph 302. A parity bit and a stop bit may both be “1” values.
  • Graph 304 may illustrate values for the RTS signal.
  • the RTS signal may be generated by control logic 132.
  • Graph 306 may illustrate values received by RXREG 126. These may be the contents of graph 302, interrupted by application of the RTS signal in place of a portion of the contents of TXREG 128.
  • Graph 308 may illustrate that timing of when data is sampled at RXREG 126. As shown, data may be sampled every 2 microseconds.
  • the test mode may begin at 0 microseconds. At approximately 1 microsecond, the RTS signal may be logic high, indicating that UART 116 is not ready to send data. RXREG 126 may be reset. Test sampling may begin at 2 microseconds.
  • the value 0 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 1 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 1 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RP1 120, and input to RXREG 126.
  • the value 0 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • control logic 132 may be configured to cause modified contents to be provided to RXREG 126. Control logic 132 may perform this by remapping remappable pin RPl 120 to connect RXREG 126 and the RTS signal shown in graph 304. As a result, at 18 microseconds, the value 1 may be transmitted from the RTS signal, through remappable pin RPl 120 to be the input of RXREG 126. This may take the place of the value 0 of TXREG 128. In one example, as shown, remappable pin RPl 120 may be remapped to TXRED 128 and RXREG 126 after bit sampling 308 has sampled the bit for the 18 microsecond time slot.
  • the value 1 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126.
  • a stop bit value 1 may be read from TXREG 128, output to remappable pin RPl 120, and input to RXREG 126, ending a frame of data received at RXREG 126.
  • the parity bit may be checked against the received content by parity error check circuit 136. In the example of FIGURE 3, the parity bit is incorrect.
  • Control logic 132 may check the results of parity error check circuit 136 and confirm that parity error check circuit 136 has detected a parity error.
  • a stop bit with a high logic value may be received, ending a frame of data received at RXREG 126.
  • the parity bit may be checked against the received content by parity error check circuit 136.
  • 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 check circuit 136 to see if this parity error has been correctly identified.
  • the RTS signal may continue to be mapped to remappable pin RPl 120 (and thus connected to RXREG 126) at 20 microseconds and 22 microseconds, which with the example data and parity information, may similarly result in an incorrect parity bit being received by RXREG 126, for the data actually received.
  • Control logic 132 may check the results of parity error check circuit 136 and confirm that parity error check circuit 136 has detected a parity error.
  • the RTS signal may continue to be mapped to remappable pin RP1 120 at 20 microseconds (and thus connected to RXREG 126), but at 22 microseconds, remappable pin RP1 120 may be remapped to TXREG 128 and RXREG 126, which with the example data and parity information, may similarly result in an incorrect parity bit being received by RXREG 126, for the data actually received.
  • Control logic 132 may check the results of parity error check circuit 136 and confirm that parity error check circuit 136 has detected a parity error.
  • FIGURE 4 is an illustration of an example method 400 for introduction and detection of parity error in a UART, i.e., in a single UART, according to examples of the present disclosure.
  • Method 400 may be performed by any suitable mechanism, such as the system of FIGURES 1-3 and, in particular, control logic 132 and parity error check circuit 136. Method 400 may contain more or fewer steps than shown in FIGURE 4. Moreover, various steps of method 400 may be repeated, omitted, skipped, performed in a different order, performed in parallel, or performed recursively.
  • a UART may be initialized.
  • the UART 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 on-demand by a user of the UART, periodically, at start-up, or on any other suitable basis. If the UART is to operate in normal mode, method 400 may proceed to 415. Otherwise, if the UART is to operate in test mode, method 400 may proceed to 430.
  • data may be transmitted from the UART to another UART, or data may be received at the UART from another UART.
  • Data to be transmitted may be stored in the TXREG.
  • Data received may be stored in the RXREG.
  • Received data may be checked for parity. The parity bit received in the RXREG may be evaluated in view of the underlying data frame also received in the RXREG.
  • method 400 may return to 410. If so, method 40 may proceed to 425.
  • any suitable corrective action may be taken for a parity bit, such as generating an error signal, generating an alert, or requesting the frame to be resent by the sending UART.
  • Method 400 may return to 410.
  • a remappable pin may be mapped between the TXREG and the RXREG so that output of the TXREG will propagate to the RXREG.
  • a countdown may begin until a suitable 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 of clock signals, or a software counter.
  • the switching to cause modified content to be propagated to the RXREG may be performed before the entire contents of TXREG are received at RXREG.
  • method 400 may proceed to 440. Otherwise, method 400 may repeat 435 for one or more additional clock cycles.
  • the remappable pin may be remapped so as to apply a known signal, which may match an expected value of the stop bit (e.g., an RTS signal or DTR signal) to the RXREG.
  • a known signal e.g., an RTS signal or DTR signal
  • the system may wait for a stop bit to be propagated to the RXREG.
  • contents of the RXREG may be evaluated in view of 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 has been detected. If so, method 400 may proceed to 460. Otherwise, method 400 may proceed to 455.
  • Method 400 may return to 410.
  • Method 400 may return to 410.

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

La présente invention concerne un émetteur-récepteur asynchrone universel (UART) qui comprend un registre de transmission, un registre de réception, une broche remplaçable virtuelle, un circuit de vérification d'erreur de parité pour évaluer le contenu du registre de réception en termes d'erreur de parité et une logique de commande pour déterminer le contenu du registre de transmission. Les contenus comprennent des données sous-jacentes et un bit de parité basé sur celles-ci. La logique de commande est destinée à acheminer le contenu à travers la première broche pouvant être remplaçable virtuelle vers le registre de réception. La logique de commande est destinée, avant la réception de l'ensemble du contenu au niveau du registre de réception, à amener des contenus modifiés à être fournis au registre de réception. Les contenus modifiés sont destinés à provoquer une erreur de parité. Les contenus modifiés doivent comprendre différentes données sous-jacentes ou un bit de parité différent du contenu du registre de transmission. La logique de commande est destinée à déterminer si le circuit de contrôle d'erreur de parité a détecté ou non l'erreur de parité.
PCT/US2022/035215 2021-07-09 2022-06-28 Introduction et détection d'erreur de parité pour auto-test d'un émetteur-récepteur asynchrone universel WO2023283074A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280016478.6A CN116888914A (zh) 2021-07-09 2022-06-28 用于通用异步接收器发射器的自测的奇偶错误的引入和检测
DE112022003469.6T DE112022003469T5 (de) 2021-07-09 2022-06-28 Einführung und erkennung von paritätsfehlern zum selbsttest eines universellen asynchronen empfänger-senders

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN202111030809 2021-07-09
IN202111030809 2021-07-09
US17/825,277 2022-05-26
US17/825,277 US11928022B2 (en) 2021-07-09 2022-05-26 Introduction and detection of parity error in a UART

Publications (1)

Publication Number Publication Date
WO2023283074A1 true WO2023283074A1 (fr) 2023-01-12

Family

ID=82694186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/035215 WO2023283074A1 (fr) 2021-07-09 2022-06-28 Introduction et détection d'erreur de parité pour auto-test d'un émetteur-récepteur asynchrone universel

Country Status (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101317A1 (en) * 2004-11-05 2006-05-11 Renesas Technology Corp. CAN system
US20190227121A1 (en) * 2019-03-30 2019-07-25 Intel Corporation Apparatus for memory built-in self-test with error detection and correction code awareness
US20210200615A1 (en) * 2019-12-27 2021-07-01 Microchip Technology Incorporated Autonomous transmit error detection of serial communication link receiver-transmitter and microcontroller system peripherals implementing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060101317A1 (en) * 2004-11-05 2006-05-11 Renesas Technology Corp. CAN system
US20190227121A1 (en) * 2019-03-30 2019-07-25 Intel Corporation Apparatus for memory built-in self-test with error detection and correction code awareness
US20210200615A1 (en) * 2019-12-27 2021-07-01 Microchip Technology Incorporated Autonomous transmit error detection of serial communication link receiver-transmitter and microcontroller system peripherals implementing the same

Also Published As

Publication number Publication date
DE112022003469T5 (de) 2024-05-02

Similar Documents

Publication Publication Date Title
US7237144B2 (en) Off-chip lockstep checking
WO2019136595A1 (fr) Procédé de gestion d'un interblocage de bus i2c, dispositif électronique, et système de communication
KR102094878B1 (ko) 반도체 메모리 장치 및 동작 방법
US11061665B2 (en) System for online cascaded loading firmware based on boundary scan and method thereof
NO170113B (no) Kontroll-logikk for paritets-integritet
US11663100B2 (en) Serial interface with improved diagnostic coverage
CN109074294A (zh) 通信装置和通信系统
CN109710479B (zh) 一种处理方法及第一设备、第二设备
US11928022B2 (en) Introduction and detection of parity error in a UART
WO2023283074A1 (fr) Introduction et détection d'erreur de parité pour auto-test d'un émetteur-récepteur asynchrone universel
US11094392B2 (en) Testing of fault detection circuit
CN116888914A (zh) 用于通用异步接收器发射器的自测的奇偶错误的引入和检测
US20230101045A1 (en) Introduction and Detection of Erroneous Stop Condition in a Single UART
WO2023055871A1 (fr) Introduction et détection d'une situation d'arrêt sur erreur dans un uart unique
CN117242434A (zh) 在单个uart中引入和检测错误的停止条件
US5121393A (en) System for testing a microprocessor
EP3404546B1 (fr) Dispositif de supervision et d'initialisation de ports
KR960016272B1 (ko) 이중화프로세서의 에러 감지/처리 장치 및 그 방법
CN111460745A (zh) 一种设备芯片间连通性检测方法
CN113835940B (zh) 一种设置串行中断模式的方法、系统、设备和存储介质
CN118051375B (zh) 用于计算设备间直连链路的故障诊断的方法和系统
TWI220705B (en) Method and system for error detecting
US11500717B2 (en) Method for detecting data storage system, device and data storage system
McCabe Enhancements to the CPX I2C Bus
KR940000453B1 (ko) 전전자 교환기의 하위레벨 프로세서 로딩방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22747209

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280016478.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112022003469

Country of ref document: DE