Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

I cannot receive a pattern if there are many consecutive '1's without encoding it

Hello,

I tried a design with a 'Custom phy' tranceiver block in duplex mode in order to transmit a 32-bit pattern (1010111111111111111111111111111) and receive it (via an external connection TX=>RX). Then, i sent the received parallel data to another 'transmitter only' block so as to see the pattern on a oscilloscope. What i saw, though, was not the initially transmitted data. I suspect this happened due to the many coonscutive "1"s.

In a second attempt, i tried sending the data using the 8B/10B encoder/decoder block of the custom phy block of the duplex transceiver and leaving the second transmitter as was (to see the initial data without encoding) and then it worked.

But, what if i want to receive an unknown pattern outside the fpga (without encoding)? Isn't it possible? What i mean is, i can receive only patterns with many transitions? And what about other patterns? I cannot receive them?

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    But, what if i want to receive an unknown pattern outside the fpga (without encoding)? Isn't it possible? What i mean is, i can receive only patterns with many transitions? And what about other patterns? I cannot receive them?

    --- Quote End ---

    It depends.

    Transceiver receiver channels include a clock-and-data recovery (CDR) unit, which is essentially a PLL that locks to the transitions in the data stream *and* centers the capture of data bits.

    It is possible to create custom interfaces, but it is highly dependent on the end application. For example, you can configure the interface in lock-to-reference mode, so that the CDR does not need to lock to data transitions. However, you then lose the feature where the receiver aligns to the center of bits. That may be ok ... but it depends on your application.

    Describe what you really want to do, and readers of this forum will provide feedback.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for your reply. Actually, I just check the function of transceivers for the moment. I' ll try your suggestion, too.

    Eva
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    CDR might lose lock to data if the run length violate the specification. It seems like there is no mentioned of the device that you are using. However, you may look into the datasheet and look for run length specs. Note that since you are sending long stream of 1 with a few 0 inside. You might want to consider signal integrity issue which might cause incorrect data received.