Efficient error handling on a link using ARQ and multiple nacks associated with multiple error thresholds

The present invention describes how to handle errors occurring during communication in a frame-based communication system that uses a communication protocol having a first error handling mechanism responsive to receipt of an incorrect protocol symbol. The invention provides a method and apparatus that allow several errors to occur without the communication system responding by initiating the first error handling mechanisms. Under circumstances where errors occur, the method and apparatus may improve throughput.

The present invention relates to electronic multi-component systems, methods and devices providing optimized communication on a link with in-order data delivery.

BACKGROUND OF THE INVENTION

It is desirable in electronic multi-component systems that components used to build up the systems can be seamlessly integrated, thereby keeping the integration effort as low as possible, while at the same time having good performance. Ideally this should be the case independent of who the component manufacturer is. To form a standard, several manufacturers have formed a group which is called the Mobile Industry Processor Interface Alliance (MIPI®). The MIPI Alliance has agreed on a high-speed interface technology called UniPro℠ which is for instance used for high speed communication between electronic components in mobile devices. In the future it will incorporate Phy symbol encoding which is available in D-Phy which is using 8b9b encoding as well as M-Phy that will be using 8b10b encoding.

In general UniPro℠ is defined to be a general purpose protocol that deals with solutions of common issues like error handling, flow-control and routing or arbitration.

In the past and at present UniPro℠ however provides a fairly complex error handling to ensure reliable communication. UniPro℠ error handling is based on error detection using cyclic redundancy check (CRC), error reporting using Negative Acknowledgement Control (NAC) frames and data frame retransmissions in case of errors. Furthermore sequence numbers ensure that data frames are received in the proper order and prevent frames from being lost or duplicated. Sequence numbers are also used for management of a retransmission buffer on the transmitter side, assisting in removal of the frames from the retransmission buffer once they have been correctly received.

Further to the CRC error detection in UniPro℠, timers are used to address error corner cases. At present, two timers are used to protect against the loss of frame acknowledgements and flow-control credits respectively.

When Phy-encoding is used, UniPro℠ makes use of the Phy-specific error detection to trigger standard UniPro℠ error recovery mechanism.

SUMMARY OF THE INVENTION

It is an object of the present invention to improve an error handling performance in a communication protocol.

A first aspect of the invention is a method for handling an error at a receiver in a communication system that uses a frame-based communication protocol having a first error handling mechanism (error recovery protocol) responsive to receipt of an incorrect or non-expected Phy and/or protocol symbol. The method comprises:receiving, via a receiver, a sequence of symbols and determining whether a count of incorrect or non-expected symbols in the sequence equals or exceeds a first error threshold greater than 1, and in the affirmative the receiver initiating the first error handling mechanism.

The receiver thus triggers the error recovery protocol (the error recovery protocol is initiated) when multiple incorrect or unexpected symbols are received within a sequence of symbols. A significant advantage of this method is that the first error recovery protocol is invoked less than it otherwise would. Known methods will employ the error recovery protocol in response to a single incorrect/non-expected symbol.

In some embodiments, wherein the first error handling mechanism involves the receiver sending a first Negative Acknowledgement Control (NAC) frame to a transmitter responsible for sending the sequence of symbols, the first NAC not requiring a re-synchronization between the transmitter and the receiver.

In some embodiments, the communication protocol also has a second error handling mechanism responsive to receipt of an incorrect or non-expected Phy and/or protocol symbol, and the method further comprises:determining whether a count of incorrect or non-expected symbols in the sequence equals or exceeds a second error threshold higher than the first error threshold, and in the affirmative the receiver initiating the second error handling mechanism.

This embodiment is advantageous because it causes the second error handling mechanism to be initiated only when the number of errors equals or exceeds the second error threshold, in a sense “postponing” it.

In some embodiments, the second error handling mechanism involves the receiver sending a second Negative Acknowledgement Control (NAC) frame to the transmitter responsible for sending the sequence of symbols, and that second NAC requires a re-synchronization between the transmitter and the receiver. This embodiment further illustrates the advantage of using a second threshold for a second error handling mechanism. In the case where the second error handling mechanism involves re-synchronization, the invention provides that this action is not taken until a higher number of errors have occurred. An example of a value of the second threshold could be 10 or 50 or 100, depending on the requirements in the given application/environment.

In some embodiments, the error handling mechanism is triggered if the sequence comprises two adjacent incorrect or non-expected symbols. This has turned out to improve error handling substantially, especially under more noisy conditions where electromagnetic interference (EMI) causes a significant number of errors. Triggering the error recovery protocol after three adjacent incorrect or non-expected symbols is advantageous for more efficiently handling serious errors. Adjacent errors could be indicative of something other than EMI, but if the problem is significant but intermittent, then an acceptance of multiple errors before invoking the error recovery protocol can improve performance significantly. Other values of the first threshold can be selected, for instance with the goal of optimizing the error handling in a certain application/environment.

In another embodiment, the count is determined in between a complete frame has been received and another one not yet begun. In between frames, more errors can be tolerated, and the invention can therefore adhere to standard error handling within frames and a less strict handling between frames. From a standards perspective, this is a very attractive embodiment feature.

In another embodiment, the sequence in which errors are counted is received after any outstanding frames have been completely received. In another embodiment the sequence of incorrect or non-expected symbols is received after a last symbol of a frame was received and before an ongoing frame is continued with a continuation-of-frame (COF) symbol. This particular embodiment specifically counts errors (in the sense of the invention) in ongoing frames.

The methods described above are highly relevant when the communication protocol is Unified Protocol, UniPro. In some embodiments, then, the error recovery protocol is an error recovery protocol in the sense of the UniPro standard. Other protocols, or developments of UniPro, are likely to be compatible with the present invention and thus the invention will be applicable for such protocols as well.

A second aspect of the invention provides a receiver symbol parser for use in a communication system that uses a frame-based communication protocol having a first error handling mechanism responsive to receipt of an incorrect or non-expected Phy and/or protocol symbol. The symbol parser is adapted to perform a method accordance in accordance with the first aspect of the invention. According to the second aspect of the invention, the receiver symbol parser is adapted to receive a sequence of symbols and determining whether a count of incorrect or non-expected symbols in the sequence equals or exceeds a first error threshold greater than 1, and in the affirmative initiating the first error handling mechanism.

The considerations related to the first aspect apply to the second aspect as well. For instance, in some embodiments of the second aspect, the communication protocol also has a second error handling mechanism responsive to receipt of an incorrect or non-expected Phy and/or protocol symbol, and the receiver symbol parser is further adapted to determine whether a count of incorrect or non-expected symbols in the sequence equals or exceeds a second error threshold higher than the first error threshold, and in the affirmative to initiate the second error handling mechanism.

A third aspect of the invention provides a receiver for use in a communication system that uses a frame-based communication protocol having an error handling mechanism responsive to receipt of an incorrect or non-expected Phy and/or protocol symbol. A receiver in accordance with this aspect employs a receiver symbol parser in accordance with the second aspect of the invention.

The considerations related to the first and second aspects apply to the third aspect as well.

Where the term “comprising” is used in the present description and claims, it does not exclude other elements or steps. Furthermore, the terms first, second, third and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and that the embodiments of the invention described herein are capable of operation in other sequences than described or illustrated herein.

As shown inFIG. 1the data frame format based on frame length may be used in the UniPro℠ version 1.5. Throughout the description of the drawings the same reference numerals are used for the same descriptive items and a redundant description thereof is omitted for the sake of efficiency.

Here the frame length is used instead of the EOF/EOF_PAD control symbol of a former frame format. The first two symbols and the last symbol of the UniPro℠ data frame are the frame header and trailer respectively. The header consists of control symbol identified by the 16th bit with a value of 1 which has the following fields: an escape byte110, which will be converted to an escape symbol in an encoded Phy, and denotes a control symbol, the control ID field CTRL_ID120, which in the case of a data frame header has the value 0, denoted by SOF (Start of Frame), the traffic class TCx,130, which may take the value of 0 and 1 at UniPro℠ 1.5 and furthermore three reserved bits140. The second header symbol is a data symbol identified by the 16thbit with a value of 0, which has the following fields: the frame length150, the frame sequence number170. The frame payload includes the Layers 3 and 4 headers (the L3s bit180, the destination device ID182, the L4s bit184, the destination port186, the FCT bit188and the EoM bit190), and the payload192. The frame trailer consists of the error check code194.

FIG. 2gives an example of an acknowledgement and flow control frame format200. For instance, the Acknowledgement and Flow Control (AFC) frame consists of three symbols: The AFC control symbol where the 16th bit is 1 and two data symbols. The AFC control symbols consist of an escape byte210, as for the SOF control symbol in the header, where the symbol control ID field220, which has a value of 6 denoted by AFC, the traffic class TCx225, for which UniPro℠ 1.0 allows the values 0 and 1, a Req bit235used to request the peer side to send an AFC control frame at this traffic class, and two reserved bits235.240denotes the frame sequence number,245is for reserved bits and250for flow control credits, whereas255denotes the cyclic redundancy check code.

FIG. 3gives an example of the frame format for a negative acknowledgement control frame300. This NAC control frame for instance consists of two symbols: the NAC control symbol, where the 16th bit is 1, and one data symbol, the CRC is used for error detection. The NAC control symbol consists of: an escape byte310, as for the SOF control symbol in the header, the symbol control ID field315, which has the value of 5 denoted by NAC (negative acknowledgement), as well as four reserved bits320and an RRR bit325used to request the pier side to resynchronize the link.

FIG. 4shows an example of a receiver symbol parser for error detection. Generally for instance the link error handling scheme of UniPro℠ is based on error detection and data frame retransmission, and consists of two safety nets. The first safety net is acting quickly and handles typical errors, whereas the second safety net is slower and associated to the error handling of lost control frames. Generally UniPro℠ adds a cyclic redundancy check error detection code CRC to each transmitted frame. The receiver re-computes the CRC and verifies it against the CRC that was received at the end of the frame. In case the received frame is correct the receiver commits it to the receive buffer and acknowledges the frame to the transmitter (for a data frame), or processes it (for a control frame). In case the receiver detects an error, this is reported back to the transmitter using an NAC frame.

Furthermore all transmitted data frames are assigned a sequence number, which is also transmitted in the data frame, and is used by the receiver as an assignment to identify the acknowledgement. For instance, the sequence number has 5 bits incremented with every frame and consequently wraps around at 31.

For instance, in UniPro℠ a maximum of 16 frames can be transmitted without receiving an acknowledgement. Frame acknowledgement is performed using an ACK control frame. In case of an acknowledgement, a sequence number in the AFC frame acknowledges all unacknowledged data frames up to and including the one identified by the sequence number. The transmitter saves all the transmitted data frames in a retransmission buffer until they are acknowledged. If an NAC control frame is received, reporting an error, all the data frames in the retransmission buffer are retransmitted starting with the oldest unacknowledged frame.

The second safety net is used if control frames are lost. The consequence is a loss of either acknowledgement and/or link-level flow control credits contained in an AFC frame, or an error indication contained in an NAC frame. In order to handle such errors, which rarely occur, two timers are used for each traffic class: one for data, called replay timer, and one for credits, called credit timer. In case the replay timer expires, all the unacknowledged frames in that traffic class are retransmitted. In case the credit timer expires, an AFC frame with the Req bit set is sent for that traffic class. However, in both cases UniPro℠ version 1.0 requires the link to be resynchronized. An NAC frame with the RRR bit is sent to also require the incoming link to be resynchronized, an activity that requires bandwidth and lowers the efficiency of the connection.

Apart from the CRC errors for instance numerous other errors may be detected in case of the first safety net by the receiver which errors can be: a receiver buffer overflow for instance due to a bit transmission error in the TCx field130; an incoming frame having a larger length than the maximum frame size due to a transmission error changing the EOF control symbol into a valid data symbol; incorrect sequence number in a data frame; an AFC frame not followed by two data symbols; an NAC frame not followed by one data symbol; an EOF/EOF_PAD not followed by one data symbol; reception of a COF, EOF or EOF_PAD control symbol when no data frame has been started; reception of an SOF symbol when the data frame of the same traffic class is already ongoing and the data frame is not currently pre-empted; reception of an SOF symbol called TC0, in case a TC1data frame is already ongoing; reception of a COF symbol during a data frame of a same traffic class, wherein the data frame has not been pre-empted; reception of a COF symbol continuing a data frame of a different traffic class; reception of an EOF, EOF_PAD or data symbol when the data frame is pre-empted and the pre-empted frame has finished; reception of a control symbol with invalid values for defined fields, for instance undefined CTRL_ID or TC; reception of an error indication from the Phy adapter.

In case of Phy-encoding the Phy adapter indicates an error for instance in the following cases:

a bad Phy symbol was received,

a correct exception Phy symbol was received, but it is not mapped to a valid UniPro℠ symbol,

a correct exception Phy symbol was received immediately after another exception Phy symbol, when a data Phy symbol was expected, and

an incorrect value or valid data Phy symbol is received following an ESC_PA.

In case of any of the above errors being detected, an NAC control frame is transmitted, which may be preceded by a pair of AFC control frames to prevent unnecessary retransmissions.

FIG. 4gives an example of an embodiment of a part of the UniPro℠ error handling mechanism.

A top level view of a symbol parser as it may be implemented in the receiver is described. The symbol parser maintains three variables tc0and tc1in case there is an ongoing data frame at traffic class TC0and TC1respectively, and a variable NACGenOk in order to indicate if the NAC generation is validated indicated by a true, or not, indicated by false as marked by reference sign401.

As there is no ongoing data frame initially, hence TC0and TC1are both set to false. Also NAC generation is temporarily disabled after an error was reported with an NAC control frame until a frame with a good CRC is received. Initially there is no detected error and thus NACGenOk is set to true. As initially the symbol parser has not started any frame it may for instance wait in a state NoFrame indicated by reference sign403. In the first line the start symbols are indicated405“NAC”,407“AFC”,409“SOF/TC=1”,411“SOF/TC=0”,413“DATA”,415“COF,EOF” and417“PAErr” which call the respective procedures when received described below and connected by arrows respectively as indicated with reference signs from425to437. If any other symbol is received, an error procedure is called with the parameter false. For any state, when an error indication is received from the Phy adapter, an error procedure is called with the parameter false as indicated by reference signs450to460.

FIG. 5shows an error procedure. It takes a parameter RRR indicated by505and determines whether NAC generation is enabled (step510). If this is not the case no NAC frame is generated, and the symbol parser returns to state NoFrame at530. If NAC generation is enabled, an NAC frame is triggered at515and the NACGenOk value is set to false at520. Then the symbol parser returns to state “NoFrame” at525.

FIG. 6shows an example of a procedure that is called when the start of an NAC frame is detected as indicated at605. The procedure waits in a state610“NAC” until the data symbol, the CRC is received at615. In case of another symbol being received at630an error routine is called at635. If the computed CRC at620is not correct an error is as well reported at625. If it is correct640the value of the parameter NACGen Ok is set to 2 at645. Then at650the traffic class having a higher priority, TC1, is evaluated and in this case it is branched to the state of655“TC1_CoF” whereas on the other hand if this is not the case it is evaluated if the lower traffic class, TC0, is applicable at660. If this is not the case the state of670“NoFrame” is assumed. On the other hand if TC0is applicable the state665“TC0_CoF” is adopted.

FIG. 7gives an example of a procedure that for instance is called wherein, if the start of an AFC frame is detected in the beginning at705this procedure is called and transits into a state710“AFC” where it is waiting on the reception of data. In this case it is expecting the reception of the second data symbol of the AFC frame. In case another symbol is received at775an error routine is called at780. If the correct symbol is received then the state720is assumed by the parser “AFC_crc”. Again if any other symbol is received at785then an error routine is called at790. If the second symbol a data symbol, which is actually the AFC frames' CRC then the data are verified and if they are correct the procedure740, “AFC_crcOK” is called. Else the error procedure is called at735. In case of a correct CRC computation and comparison result the AFC frame is committed with AFCcrcOK, where the proper actions following the AFC receipt are taken at740. Following this activity, NACGenOk is set to true at745and then as explained at the previous figure the traffic classes are evaluated. Here the explanation for reference signs750to770are the same as the explanations given atFIG. 6for reference signs650to670.

FIG. 8gives an example of a procedure called when detecting the start of a data frame associated to TC1. In this case after the parser receives an SOF symbol associated to the traffic class which is set to 1, the procedure for handling of the associated traffic class TC1is called at803. The procedure first sets the tc1variable to true at808to indicate that a TCV1frame has started, and then moves to state TC1_data at823. In state823“TC1_DATA”, the procedure is in the progress of receiving corresponding data symbols. While data is received at835, two errors can occur which are not shown in the figure and relate to a buffer overflow and a frame exceeding the DL_MTU, which lead to the reporting of “Error”. If no error occurred when processing the data symbol, the procedure returns to state TC1_data at823. From the state823the frame can be ended with an EOF symbol or correspondingly with an EOF_PAD symbol, which is not shown here. After an EOF indicated by838a CRC is expected at848. The frame is finished in which case TC1becomes false at863. The CRC is evaluated at868if any other symbol is received at860this is reported as an error at865. The frame is committed in case the CRC check proves that at868otherwise an error is indicated at870. In case of a correct error evaluation at873the variable NACGenOk is set to true at875then the TC0data frame pre-emption is checked using tc0at878. If this is the case the TC0data frame reception is continued in a state880“TC0_CoF”. Otherwise the parser returns to the state885of “NoFrame”. In case of NAC symbols813, AFC symbols815, SOF symbols818or wrong symbols820being received corresponding procedures825to833as indicated by the connecting arrows are called. If in the state823a pre-emption occurs due to receiving NAC or AFC symbols the corresponding procedures are called840causes850to be called and843causes853to be called as is the case for840and850as well as845and855. Any other symbol received in the state823causes the report of an error. In case a TC1data frame was pre-empted and the pre-empting frame is finished, the parser turns to the state805“TC1_CoF”. In this state the frame can be continued while a CoF symbol is received with the TCx field set to 1 as indicated at810, and leads to returning to the state823. From state805, another pre-emption may occur by an NAC or AFC symbol, associated to813and815. Any other symbol will be reported under using the error procedure833, or an SOF symbol with the TC field set to 1 can be received indicating potential retransmission.

FIG. 9shows a procedure that is called for instance when the start of data frame for traffic class 0 is detected. This procedure is very similar to the procedure for the higher traffic class TC1apart from the evaluation for traffic class 0 at878and from there returning to the state880. Consequently the description given forFIG. 8applies with the exception, that wherever TC1appears it should be replaced by the TC0as the drawings are virtually identical apart from the different traffic classes that are handled a double description thereof is omitted for the sake of efficiency.

Here however TC0frame may be pre-empted by a TC1frame which is shown by allowing an SOF symbol with the TC field being set to 1 at918to be received during the pre-emption of the state905“TC0_CoF” or during the state925“TC0_DATA” where the SOF is indicated by950. Secondly when the TC0frame is finished the parser preferably always returns to the state998“NoFrame” as there is no other frame that can be continued contrary to the TC1case, TC0could be pre-empted, therefore a check is needed to determine if a TC0frame needs to be continued in state905“TC0_CoF”, or there is no ongoing frame in which case the parser returns to the state988.

FIG. 10schematically shows an example of a receiver symbol parser that employs error handling according to the present invention, which allows a data symbol and/or occasional errors in-between frames.

Allowing data symbols in-between frames is an advantageous alternative to sending IDLE symbols, which is good for EMI reasons, as it allows more randomness in the Phy symbol patterns, as opposed to a repetition creating unwanted spectral harmonics.

On the other hand preferably also occasional errors in-between frames may be ignored, as on the one hand they are likely not to be related to useful data. If on the other hand errors would hide a useful symbol, the UniPro℠ error handling scheme would demonstrate to be robust enough to detect the error at a later detection stage. However, in most of the cases that were observed, the Phy transmission error does not need to be reported, and bandwidth and/or power use is thereby reduced.

Apart from the modifications this figure is directly comparable to the parser shown inFIG. 4and explained there for instance box401compares to box1005whereas the first line from1010to1023compares to the first line ofFIG. 4from405to417, concerning the received symbols. The last line from425to431directly compares to the boxes inFIG. 10from1058to1065and therefore requires no additional comment or explanation. This also holds true for the flow shown from450to460which directly compares to the flow from1070to1080.

The states “COF”, “EOF”, “PAErr”, “PAIdle” and “DATA” indicated by1020to1025are handled in the state1008“NoFrame”. I.e. in-between frames a counter1040“ErrCnt” is used to count errors in-between frames. When a frame started at1010-1018, or when a “PAIdle”1025is received the “ErrCnt”1043is reset to 0 as shown from1028to1038, if the Phy signals an error via “PAErr”,1023the “ErrCnt” is incremented, and preferably if it reaches a first threshold TH_PA_ERR for instance like 3 a Phy resynchronization is triggered in using “Error (false)”,1053if the error persists and ErrCnt reaches a second threshold an NAC frame requesting Phy resynchronization is triggered using “Error (true)” as shown in1055.

This scheme can further be improved by allowing unexpected control symbols to be received like COF or EOF in-between frames, where the error counting is done as it is done for “PAErr” like shown at box1020.

Typically PAErr indicates a decoding error issued by the Phy Adapter, and may e.g. consist of one of the following possible errors:BAD_PHY_SYMBOL: An invalid Phy encoded symbol was received from the Phy. For Phy's using the 8b9b encoding (e.g., MIPI D-PHY) or 8b10b encoding (MIPI M-PHY), this means that an invalid 9-bit or 10-bit was received, respectively.UNMAPPED_PHY_ESC_SYMBOL: A valid symbol according to the Phy encoding was received, however the symbol is used neither by the Phy nor by the protocol. Being unused, such a symbol is e.g. not transmitted, and, therefore, receiving one indicates a transmission error.UNEXPECTED_PHY_ESC_SYMBOL: A valid and used Phy encoded symbol is received, however at an unexpected time. For UniPro v1.10, this means receiving C400, C417 or C600 as defined by the MIPI D-PHY for PA_PDU[7:0]-bits [7:0] inFIGS. 1-3.BAD_PA_PARAM: For UniPro v1.10, this error indicates a Phy Adapter symbol (e.g. introduced by ESC_PA in bits [15:0] of a symbol, where the bit combination for bits [7:0] is invalid. This is conventionally the only detectable decoding error in the case of a Phy without symbol encoding.

As it is shown here both types of errors are combined.

FIG. 13schematically shows another receiver symbol parser that employs error handling in accordance with the invention. It is in many ways similar to the parser inFIG. 10. However, for further flexibility in the error handling and detection it may be desirable to allow data symbols (1324inFIG. 13) to be received in-between frames for e.g. EMI reasons. If the system is configured by setting the Cfg_DataErr (1341inFIG. 13) to false (1347inFIG. 13) to accept data symbols in-between frames, the error counter is kept to 0 (1043inFIG. 13) when such a data symbol is received in-between frames. These data symbols are simply introduced on purpose by the transmitter to preferably prevent the Phy from autonomously introducing IDLE symbols because of lack of data to be transmitted. If Cfg_DataErr is set to true (1346inFIG. 13), meaning that data symbols should not be sent in-between frames, data symbols are treated like the other unexpected events in-between frames (PAErr, COF and EOF) by incrementing the ErrCnt (1040inFIG. 13) and triggering NAC transmission without or with Phy resynchronization when ErrCnt exceceds TH_PA_ERR and MAX_PA_ERR, respectively. Since in this embodiment data and PAIdle are treated differently, element1025inFIG. 10is substituted with element1326, which deals with PAIdle, seeFIG. 13.

The same mechanisms may also be applied in the same manner to the states “TC1_COF” and “TC0_COF”, where UniPro℠ is in-between frames during a pre-emption and expects a COF symbol. The difference to the above is that the COF and SOF symbols have opposite roles, as the COF symbol is an expected symbol and the

SOF symbol is not. As can also be seen inFIG. 10in the initialization of the procedure the ErrCnt is defined 0 as indicated in1005and the corresponding value is checked before calling up corresponding procedures in response to the reception of respective symbols as shown in1028,1030,1035and1038.

FIG. 11schematically shows another example of an embodiment of a receiver symbol parser for error handling according to the present invention. Apart from box1105, where a variable “BadCnt” is defined to 0 the figure is identical from1110to1138withFIG. 10from1010to1065. Therefore with this regard it requires no further explanation. This also holds true for the explanations regarding1070to1080which correspond to the reference numerals1180to1185inFIG. 11.

Contrary to the previous embodiment here the “PAErr”1143is defined in form of bad symbol error indications signalling a bad symbol and is treated differently from the other errors which are triggered by valid Phy symbols received when not expected. The bad Phy symbols are treated as before explained corresponding toFIG. 10at reference signs1040,1045,1050,1053and1055. Herein states using a counter BadCnt and two thresholds TH_PA_BAD which may be for instance set to 3 and MAX_PA_BAD for instance100are used. In this embodiment other errors preferably are counted with the ErrCnts counter1155and when they reach a threshold MAX_PA_ERR, which for instance is set to 3 they trigger the transmission of an NAC frame without Phy resynchronization as shown with1178. In this case no resynchronization is needed, because the received Phy symbols are valid. Also here like it was explained for the first embodiment a similar scheme can be applied for the states1145“TC1_CoF” and “TC0_CoF” for instance in-between frames during a pre-emption.

Beneficially the invention may be applied to UniPro℠ network-based products for use in mobile devices, such as mobile phones.FIG. 12shows a configuration built from a transmitter1215and a receiver1225wherein this system is indicated by1200. The receiver is in accordance with the invention and employs a receiver parser in accordance with the invention. The transmitter comprises an active component1210and a bus interface to a serial bus with in-order data delivery1217. The bus itself is marked by12500and connects the transmitter1215and the receiver1225via their interfaces1217and1219the receiver is also shown to have an active device such as a processing unit indicated by1220. For instance, the transmitter may comprise a processor1210that inserts valid data symbols via a data scheduler to the bus12500, whereas the receiver may have a processor running the program for a receiver parser in the active component1220.