Encoding (NRZ, NRZI, Manchester, 4B

Source: Internet
Author: User
Go to: Http://book.2cto.com/201506/52119.html as mentioned earlier, most of the features discussed in this chapter are done by the network adapter, which is a hardware that connects nodes to the link. The network adapter includes a signaling component that encodes bits into a signal at the sending node and decodes the signal to bits at the receiving node. Thus, as shown in Figure 2-3, the signal is transmitted over the link between the two signaling components, and the bits flow between the two network adapters.     Back to the problem of encoding bits as signals. Obviously, the value 1 is mapped to high, and the value 0 is mapped to low. This is a kind of called non-zeroing (Non? Return to Zero, NRZ) The mapping used by the encoding scheme. For example, figure 2-4 graphically describes a particular bit sequence (the upper part of the graph) and its corresponding NRZ encoded signal (lower part of the graph). The problem with     NRZ is that several consecutive 1 means that the signal remains high on the link for a period of time, similarly, a few consecutive 0 indicates that the signal remains low for a period of time. A long string of 0 and 1 leads to two basic problems. The first problem is that it causes a baseline drift (baseline wander) state. In particular, the receiver maintains an average of the signals it sees, and then uses this average to differentiate between high and low levels. When the received signal is much lower than the average, the receiver is determined to see 0, similarly, a signal far above the average is considered to be 1. The problem, of course, is that too many successive 1 or 0 will change the average, making it difficult to make noticeable changes in the heartbeat.   The second problem is that frequent conversions from high to low and from low to high must use clock recovery (clocking recovery). Intuitively, the clock recovery problem is that the encoding and decoding process is driven by a clock, each clock cycle sender sends 1 bits, the receiver recovers 1 bits. In order for the receiver to recover the bits sent by the sender, the sender and receiver clocks must be accurately synchronized. If the receiver clock is slightly faster or slower than the sender's clock, the receiver is not able to decode the signal correctly. You can use a method that sends a clock to the receiver on another line, but this scenario is not feasible because it increases the wiring cost by one time, so the receiver changes the received signal to get the clock, which is the clock recovery process. Whenever a signal has a transition from 1 to 0 or 0 to 1, the receiver knows that it is on the boundary of the clock cycle and can resynchronize itself. However, a long time without such a jump can lead to clock drift. So, no matter what data is transmitted, the clock recovery relies on many jumps within the signal.   There is a way to solve this problem, called non-zeroing reversal (Non? ReturnTo Zero Inverted,nrzi), the sender encodes the current signal's jump to 1, and the current signal is held to encode 0. This solves the problem of 1 in a row, but obviously does not solve the problem of 0 consecutive. Nrzi as shown in Figure 2?5. Another approach, called Manchester Code (Manchester encoding), is an ingenious way to combine clocks and signals by transmitting NRZ encoded data with clock XOR values. (The local clock is considered a low-to-high change in the internal signal, a pair of low/high changes in the level as a clock cycle.) Figure 2?5 also gives the Manchester code. Note that the Manchester code takes 0 as a jump from low to high, 1 as a jump from high to low. Since both 0 and 1 cause the signal to jump, the receiver is able to recover the clock effectively. (There is also a Manchester-encoded variant called the differential Manchester (differential Manchester) encoding.) The method is encoded as 1 if the first half of the signal is equal to the last half of the previous signal, or 0 if the first half of the signal is the opposite of the last half of the previous bit signal.     Manchester Coding Solution The problem is doubling the rate of signal jumps on the link, which means that the receiver has half the time to detect every pulse in the signal. The rate at which the signal changes is called the link baud rate (baud). In Manchester, the bitrate is half the baud rate, so the encoding is considered to be only 50% efficient. Remember, if the receiver maintains a faster baud rate than the Manchester code in Figure 2?5, the NRZ and NRZI can transmit twice times the number of bits in the same time period.   The last coding method we consider is called 4b/5b, which strives to solve the inefficient problem of Manchester coding by not enlarging the duration of a high signal or low signal. 4B/5B's idea is to insert extra bits into the bitstream to break a series of 0 or 1. To be exact, 5 bits are used to encode 4 bits of data, which is then passed on to the receiver, and is therefore called 4b/5b. The 5-bit code is selected in the following ways: Each code has a maximum of 1 leading 0, and the end has a maximum of two 0. Therefore, when a continuous transfer, any pair of 5-bit code in the transmission process of 0 a maximum of 3. Then, the resulting 5-bit code is transmitted using NRZI encoding, which explains why you only need to care about multiple consecutive 0 of processing, because NRZI has solved multiple consecutive 1 problems. Note that the efficiency of the 4B/5B encoding is 80%.   Table 2-2 shows the 5-bit code corresponding to 16 possible 4-bit data symbols. Note that since 5 bits is enough to encode 32 different codes, we only use 16, and the remaining 16 can be used for other purposes. Where 11111   can be used to indicate line idle, 00000 means that the line is not00100 means stop. Of the remaining 13 yards, 7 are invalid (because they violate 1 leading, 0, or two end 0 rules) and 6 represent a variety of control symbols. As you'll see later in this chapter, some of the framing protocols use these control symbols.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.