This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123AH6PM: How to send/receive 8b10b encoded serial data?

Part Number: TM4C123AH6PM
Other Parts Discussed in Thread: TUSB1310A,

How might one go about sending/receiving 8b10b encoded serial data?

From Wikipedia: "In telecommunications, 8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC-balance and bounded disparity, and yet provide enough state changes to allow reasonable clock recovery." https://en.wikipedia.org/wiki/8b/10b_encoding

How would I go about sending/receiving 10-bit symbols?

Alternatively, is there an IC that can do the encoding/decoding, that interfaces to UART, SPI, etc?

  • twelve12pm said:
    How might one go about sending/receiving 8b10b encoded serial data?

    Yet we (further) note: "8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC-balance and bounded disparity, and yet provide enough state changes to allow reasonable clock recovery."

    That's quite a mouthful - don't you agree?    And - even (having) staff read (over ten) tech mags for me (highlighting defined 'keywords/articles') neither staff nor I had encountered '8b10b!'

    Does that 'single' source provide (any) illustration of, 'Just what constitutes 'legal' 8b10b?'     While the narrative is compelling - it proves (FAR) from providing 'necessary & sufficient' input - to enable (meaningful) comment - from your (thus far) over-challenged helper crüe...

  • Hello twelve12pm,

    From what I read up, I don't think the TM4C would be capable of this aside from maybe dedicating code to write the protocol from scratch and then use UART to transmit the 8 bit values, but nothing like that has been done before and I am not sure how difficult and time intensive it would be handle that in software.

    As far as other IC's, it looks like the topic comes up a lot with the Interfaces team and there a number of devices they have which includes 8b/10b encoding. Not sure if any of those devices would fit well for you though as usually they are geared to protocols like Ethernet etc. and the 8b/10b is just used to improve efficiency for a particular protocol.

    That's about all I can really offer as this topic is really quite far from our wheel house...
  • Hi cb1 and Ralph,

    Thanks for your replies. It's a bit far from my wheel house too, but I'm doing some experimentation :-)

    I'll look in Interfaces.
  • May it be noted that,  'our small group (somewhat regularly) visits the 'interface group' (there are 11 such interface forums) and has NOT noted this  '8b10b' - 'Much in Evidence!'

    Staff then 'searched - keywording '8b10b' - the following resulted:   (Search launched from the general "Interface" - which included ALL ELEVEN such interface forums)

    With (only) '8' hits - this may be (almost) outside the wheel-house of the 'interface group' - as well...     Might there have been (other) undescribed searches - which justified, 'Comes up a lot?'

  • The devil lays in the detail... the proper term is 8b/10b, and that shows more results:

    Note also the search time frame by default is one year. Expand it to all time and High Speed Interface by far as the most queries @ 75.

  • In my defense - I directly employed '8b10b' - which appeared (both) w/in poster's Subject Line and:

    twelve12pm said:
    How might one go about sending/receiving 8b10b encoded serial data?

    Based upon the arrival of 'new evidence' - I (almost) agree that (properly) '8b/10b' arrives w/some frequency.     Now - 'JTAG Lock-OUT'  THAT - to my (and staff's mind) REALLY 'Comes up a lot!'

    Ralph - we MUST thank you for noting the,  'Expanded Time-Frame'  available under Search.    (we (all of us) had NO such knowledge!)      And thanks to you - now we do!

  • Yes, you are right. It should be called 8b/10b.

    An article that might be useful to someone searching this thread: eecatalog.com/.../
  • twelve12pm said:
    An article that might be useful

    May it be noted that certain (other) activities - are equally fulfilling?

    • walking blind-folded - across NYC's 5th Avenue - at 'high-noon.'
    • visiting the dentist
    • driving in L.A.'s nightmare traffic - anywhere (near) rush hour

    Yours was the 'first ever' arrival of this topic - at (any) - of the (many) ARM MCU web-sites - which staff & I follow.    

    We wish you well (as always) yet the 'popularity needle' - driven by (this) topic - remains 'STUCK at  ZERO!'

  • Dear cb1,

    I should have asked my original question differently: Is it possible to shift data out of the TM4C 10 bits at a time instead of at multiples of 8? (I suppose the answer would be yes, provided that one shifts out the data in multiples of 40.) But then someone would say, "Well, why would you want to do that?" To which my answer would be: Because I'm trying to send 8b/10b encoded data.

    cb1_mobile said:

    May it be noted that certain (other) activities - are equally fulfilling?

    • walking blind-folded - across NYC's 5th Avenue - at 'high-noon.'
    • visiting the dentist
    • driving in L.A.'s nightmare traffic - anywhere (near) rush hour

    Yours was the 'first ever' arrival of this topic - at (any) - of the (many) ARM MCU web-sites - which staff & I follow.    

    We wish you well (as always) yet the 'popularity needle' - driven by (this) topic - remains 'STUCK at  ZERO!'

    1) You're off by 12 minutes: I would not walk blind-folded across NYC's 5th Avenue at 'high-noon', only at 12:12 PM! (Due to daylight saving time, solar high noon never occurs at 12:12 PM in NYC.)
    2) Don't get me started about the dentist.
    3) You must not have gotten the memo about L.A. We no longer have "rush hour." Now we're just jammed all the time. Every Angeleno knows that the 405 ("Four-Oh-Five") freeway should be called the "Four Or Five" freeway, because you go Four Or Five Miles Per Hour.
    I assure you that this 8b/10b encoding is in widespread use in technologies that have become household names. This is only one of many line coding techniques, another well-known one being Manchester, though Manchester requires double the bandwidth of the original message whereas 8b/10b requires only 1.25 times the bandwidth and still provides DC balanced signal, etc. Usually people don't need to deal with this because PHY chips for various wired and wireless technologies do this stuff "behind the scenes" but if one needs it for one's own signaling purposes then it can be done in software. Turning 8-bit data into 10-bit data using a look-up table and a state machine is straightforward enough. Shifting the data out without introducing stretched pulses at 8-bit boundaries or extra unwanted bits is the question I was interested in here. Sooner or later another TM4C user will come around looking for information about this, and the popularity needle will turn slightly clockwise, if only momentarily. :-)
  • twelve12pm said:
    Sooner or later another TM4C user will come around looking for information about this, and the popularity needle will turn slightly clockwise, if only momentarily. :-)

    Yet - clearly that must occur - at/around the 12:12 (Solar celebrated (almost) high-noon.)

    May I confess - to 'just slightly' - provoking you into  ... 'Providing (some) justification - for your posted request!     Posters (but for you - here/now) NEVER/EVER do that - and this 'LIKE-less' forum - but for a (very) FEW (the departed Robert is one) equally 'NEVER/EVER' request, 'Justification for so strange (and often unnecessary (even mistaken)) forum-poster requests!

    And - to my wildest 'hopes/prayers/expectations' - you Sir - have provided a most excellent justification - in spades!   (idiom - meaning intensely)

    It is suspected that most reasonably sized 'FPGA's' are well suited for such task - clearly you 'knew that.'    As always - what do those 'industry leaders' - regularly deploying 8b/10b (note, "Ralph appeasing") do to achieve such capability?     (most always better to 'appropriate from a 'well-oiled' wheel' - rather than attempt its (complete) 're-invention!')

    I suppose that - w/adequate incentive - staff here (my firm's staff - not this vendor) could devise an effective, TM4C solution - possibly avoiding the FPGA.    Yet do note that such, 'Long, multi-bit data streams, have long traveled between MCU and FPGA - enabling FPGA's (normal) and (sometimes) DYNAMIC (ON THE FLY) Re-Purposing!     (our small group is rather skilled - in such methods...while avoiding L.A. traffic)

    In closing - our local post office has a, 'Missing Persons' report - one '12 SQUARED' - has 'Gone Missing!'

  • cb1_mobile said:

    twelve12pm
    Sooner or later another TM4C user will come around looking for information about this, and the popularity needle will turn slightly clockwise, if only momentarily. :-)

    Yet - clearly that must occur - at/around the 12:12 (Solar celebrated (almost) high-noon.)

    Of course!

    cb1_mobile said:

    May I confess - to 'just slightly' - provoking you into  ... 'Providing (some) justification - for your posted request!     Posters (but for you - here/now) NEVER/EVER do that - and this 'LIKE-less' forum - but for a (very) FEW (the departed Robert is one) equally 'NEVER/EVER' request, 'Justification for so strange (and often unnecessary (even mistaken)) forum-poster requests!

    Forum questions, even if **accidentally** placed in the wrong forum, sometimes result in a pointer to a more appropriate -- and formerly unbeknownst to the original poster -- search domain.

    Justification is important because it may prompt someone to post a "why don't you do it this way?" which is sometimes a much simpler alternative.

    cb1_mobile said:

    And - to my wildest 'hopes/prayers/expectations' - you Sir - have provided a most excellent justification - in spades!   (idiom - meaning intensely)

    It is suspected that most reasonably sized 'FPGA's' are well suited for such task - clearly you 'knew that.'    As always - what do those 'industry leaders' - regularly deploying 8b/10b (note, "Ralph appeasing") do to achieve such capability?     (most always better to 'appropriate from a 'well-oiled' wheel' - rather than attempt its (complete) 're-invention!')

    I suppose that - w/adequate incentive - staff here (my firm's staff - not this vendor) could devise an effective, TM4C solution - possibly avoiding the FPGA.    Yet do note that such, 'Long, multi-bit data streams, have long traveled between MCU and FPGA - enabling FPGA's (normal) and (sometimes) DYNAMIC (ON THE FLY) Re-Purposing!     (our small group is rather skilled - in such methods...while avoiding L.A. traffic)

    I was hoping to avoid the (dreaded) FPGA! But I will keep your (Motley) Crüe of FPGA wizards in mind for a better time when my department's budget allows for the provision of the (subtly mentioned) adequate incentive.

    cb1_mobile said:

    In closing - our local post office has a, 'Missing Persons' report - one '12 SQUARED' - has 'Gone Missing!'

    I wonder if your "144" has moved to L.A. -- and cannot be found because he is stuck in traffic?
  • All 'hail' the (very) subtle pursuit of, 'fair exchange.'

    Perhaps I was unclear - it IS believed (via intense - back of envelope scrawl) that your MCU (may) be, 'Bent and/or Teased' into FPGA-free compliance - w/your '8b/10b' desires.     (Yet the FPGA method proves easier - and FAR FASTER ... to design/deliver...)

    And the (believed) ill-fated 12 SQUARED - was (your) alias - perhaps your 'PKA!'     (show biz term - Professionally Known As - Ms. Germanotta's 'PKA' - Lady Gaga)

  • cb1_mobile said:

    All 'hail' the (very) subtle pursuit of, 'fair exchange.'

    I am all in favor of fair exchange.

    cb1_mobile said:

    Perhaps I was unclear - it IS believed (via intense - back of envelope scrawl) that your MCU (may) be, 'Bent and/or Teased' into FPGA-free compliance - w/your '8b/10b' desires.     (Yet the FPGA method proves easier - and FAR FASTER ... to design/deliver...)

    Ah, I failed to pick up on that earlier. Now I am intrigued. The only method that came to mind was bit-banging. But I have stopped thinking too quickly. Let's see what we have to work with: DMA, timers, ADC (that probably won't help much), UARTs (technically with some combination of parity and/or stop bit maybe it can be done but the start bit would be the limiting factor here), SSI, I2C, CAN, and (last but not least) PWM. Hmmm....

    cb1_mobile said:

    And the (believed) ill-fated 12 SQUARED - was (your) alias - perhaps your 'PKA!'     (show biz term - Professionally Known As - Ms. Germanotta's 'PKA' - Lady Gaga)

    Or perhaps my Doppelgänger
  • Another thing I missed the last time: Your skilled L.A.-traffic-avoidance team reprograms the FPGA on the fly?! Now that deserve an applause!
  • twelve12pm said:
    ...your skilled  team ...  reprograms the FPGA on the fly!     That deserves  applause!

    To be clear - our group did NOT invent this powerful (On the Fly) FPGA Re-Purposing technique.    Yet we did, 'tweak, sweat the details, & optimize'  that capability  ...  and achieved a, 'Significant Re-Purposing' - while (avoiding) - any/all  'recognizable operational disturbances!'    (and - 'it is that' - which may warrant - applause...)

    Returning to your (FPGA Avoiding) MCU 'massage job' ...  is there NOT a past,  'Software UART example'  - which may 'escape the 8/9 (data bit) UART limitation - and (even) the dreaded START BIT's (unwanted appearance!')       Thus - (your) creation of  a more flexible (even capable)  Software UART - may succeed in  'opening a path' for your  '8b/10b'  implementation!

    Is it not (now) proper - to,  'Release '12 SQUARED' - and have 'him' splash GREEN INK - so clearly earned?    (perhaps 'dripping into multiple' (aiding/inspiring) posts - from this (near motley) crüe.)

  • cb1_mobile said:

    twelve12pm
    ...your skilled  team ...  reprograms the FPGA on the fly!     That deserves  applause!

    To be clear - our group did NOT invent this powerful (On the Fly) FPGA Re-Purposing technique.    Yet we did, 'tweak, sweat the details, & optimize'  that capability  ...  and achieved a, 'Significant Re-Purposing' - while (avoiding) - any/all  'recognizable operational disturbances!'    (and - 'it is that' - which may warrant - applause...)

    Bravo!

    The recognizable operational disturbances part is the real trick...

    cb1_mobile said:

    Returning to your (FPGA Avoiding) MCU 'massage job' ...  is there NOT a past,  'Software UART example'  - which may 'escape the 8/9 (data bit) UART limitation - and (even) the dreaded START BIT's (unwanted appearance!')       Thus - (your) creation of  a more flexible (even capable)  Software UART - may succeed in  'opening a path' for your  '8b/10b'  implementation!

    You are correct that the software UART can escape any/all limitations of a hardware UART, provided that the required bit-banging does not take up too much microprocessor bandwidth.

    It deserves mention that a vendor with whom my department has worked in the past, whose name I won't mention as I do not wish to offend the kind host of this LIKE-less forum, who was acquired by another vendor with whom my department still works, but who shall remain unnamed for the same reason, has MCUs whose UARTs have some very convenient features, not least of which is the ability to send some odd-sized frames. Also, those MCUs contain some few programmable logic gates which, when applied with some careful thought, can be made to do all sorts of cool things. It would be nice if **cough** **cough** TI could incorporate some such features to upcoming micro controllers in the future **cough** **cough**.

    cb1_mobile said:

    Is it not (now) proper - to,  'Release '12 SQUARED' - and have 'him' splash GREEN INK - so clearly earned?    (perhaps 'dripping into multiple' (aiding/inspiring) posts - from this (near motley) crüe.)

    12 SQUARED is on his way home with buckets of green ink!

  • Thank you - crack staff  (those weekend 'pounding') appreciate '12 Squared's' - 'Green Ink Schmearing.'    (NYC term...)     (it is expected that his (future) 'green colorings'  may (almost) 'Remain w/in the lines' as his coordination restores - and the ligature marks recede...)

    Indeed those 'Free Logic Gates' have arrived (elsewhere) yet our 'cough-plagued' player must likely (first) address:

    • the 'flashing high-beams' - of 'Turtle Herd' - who have 'places to go'  - and have long left '120-capped'  vehicles - as rapidly diminishing 'specks' in their rear-view mirrors
    • far above/beyond (normal) incidence of  JTAG-Lock Out
    • recognizing the value of  'motivation' - both internally & externally ... (i.e. avoiding the label of 'LIKE-less!')
    • and perhaps of greatest challenge - 'Introducing the 'new' - w/out impacting the 'existing.'       "Biz & Law Schools teach this as the 'Osborne Effect' - in which Mr. Osborne's announcement of,  'What (hopefully) 'Was to Come' - drove a spike into the heart of  'that which (needed) to be sold today/this quarter!'      (Osborne Computer was the 'FIRST' to introduce the 'Portable Computer' - beating IBM, Apple, et. al. - yet that (single) announcement ignited a 'downward spiral' - from which there was, 'no recovery.')

  • cb1_mobile said:

    Thank you - crack staff  (those weekend 'pounding') appreciate '12 Squared's' - 'Green Ink Schmearing.'    (NYC term...)     (it is expected that his (future) 'green colorings'  may (almost) 'Remain w/in the lines' as his coordination restores - and the ligature marks recede...)

    Indeed those 'Free Logic Gates' have arrived (elsewhere) yet our 'cough-plagued' player must likely (first) address:

    • the 'flashing high-beams' - of 'Turtle Herd' - who have 'places to go'  - and have long left '120-capped'  vehicles - as rapidly diminishing 'specks' in their rear-view mirrors
    • far above/beyond (normal) incidence of  JTAG-Lock Out
    • recognizing the value of  'motivation' - both internally & externally ... (i.e. avoiding the label of 'LIKE-less!')
    • and perhaps of greatest challenge - 'Introducing the 'new' - w/out impacting the 'existing.'       "Biz & Law Schools teach this as the 'Osborne Effect' - in which Mr. Osborne's announcement of,  'What (hopefully) 'Was to Come' - drove a spike into the heart of  'that which (needed) to be sold today/this quarter!'      (Osborne Computer was the 'FIRST' to introduce the 'Portable Computer' - beating IBM, Apple, et. al. - yet that (single) announcement ignited a 'downward spiral' - from which there was, 'no recovery.')

    Ah, the Osborne effect... also called cannibalization. To avoid it, do it Apple's way: Introduce the product in a big hoopla and announce that it is available for sale: TODAY!

  • May it be noted that 'my warehouse' is (well stocked) w/Tech Items introduced via 'big hoopla!' (my favorite 'hoopla.')
    Yet - when 'calm & reason restores' - we often find that the purchased device proves, 'Not BIG' - and 'Not (especially) 'hoopla' inducing...'

  • Noted, sir.
  • twelve12pm said:
    It should be called 8b/10b.

    You can also try searching for "SerDes" (Serializer/Deserializer).

    E.g. Serializer/Deserializer (SerDes) for KeyStone II Devices User Guide describes the operation of the SerDes in TI's Keystone II architecture, which contains 8b/10b encoders and decoders. Where the SerDes is used to support the following interfaces:

    • Serial RapidIO® (SRIO)
    • Antenna Interface (AIF or AIL)
    • HyperLink
    • Serial Gigabit Media Independent Interface (SGMII) interfaces
    • Peripheral Component Interconnect Express (PCIe)
    • Ten Gigabit Ethernet (10GbE)
    • JESD204B

    twelve12pm said:
    How would I go about sending/receiving 10-bit symbols?

    Is there a particular protocol you are interested in?

  • Chester Gillon said:
    twelve12pm
    It should be called 8b/10b.

    E.g. Serializer/Deserializer (SerDes) for KeyStone II Devices User Guide describes the operation of the SerDes in TI's Keystone II architecture, which contains 8b/10b encoders and decoders. Where the SerDes is used to support the following interfaces:

    • Serial RapidIO® (SRIO)
    • Antenna Interface (AIF or AIL)
    • HyperLink
    • Serial Gigabit Media Independent Interface (SGMII) interfaces
    • Peripheral Component Interconnect Express (PCIe)
    • Ten Gigabit Ethernet (10GbE)
    • JESD204B

    twelve12pm
    How would I go about sending/receiving 10-bit symbols?

    Is there a particular protocol you are interested in?

    Hi Chester,

    Thanks for your reply. I'm looking at the Keystone II document you linked and sure enough it mentions 8b/10b among other encodings. This deserves additional study. In fact, pointers like this are exactly what I was hoping for when I posted my original question.

    In my case there isn't a specific protocol; rather, I am experimenting with power and data on the same physical wires. I am aware that standards for this already exist, but as I said I'm experimenting. :-) The reason for 8b/10b in particular is that it causes frequent transitions but unlike Manchester encoding it requires much less bandwidth and is DC balanced. The frequent transitions are useful for getting data to pass through the capacitive isolation and pulse transformers that I'll need.

  • 12 Squared said:
    How would I go about sending/receiving 10-bit symbols?

    Chester Gillon said:
    Is there a particular protocol you are interested in?

    May it be noted - that (almost) surely - the TM4C (and all similar ARM Cortex M4 AND M7 (200MHz+) - prove  FAR 'over-challenged' - in such (high-speed serial data transport) task!   

    BACKGROUND:

    Note too - poster Chester appears to have performed an investigation (highly similar) to that of my firm's 'College & (gifted) High-School Intern staff' - earlier this summer.    

    Poster/Friend '12 Squared' (that superior forum id was crafted at 'no charge') was the VERY first poster to introduce '8b/10b' to this 'LM3S/LX4F/TM4C' plain.    After (gentle) interrogation - 12 Squared 'made the case'  for 8b/10b - and an (intern-staffed) investigation was launched.     Our findings were (similar) to poster Chester's - but for the fact that our key clients - and investors - DEMAND 'Vendor Agnostic' - believing such insures (capture) of the, 'Broadest, Highest Performing, and most Up to Date' data.    Follows (below) our interns'   key findings:

    The 'Breadth & Depth' of  '8b/10b' - proved 'shocking.'    (especially its use by 'USB3.0' (in highlight - above)     While we are 'directed' to 'Search w/a broad brush' - we maintain loyalty to (this) vendor - by noting an IC  which appeared a 'Significant Aid'  to,  'Those seeking to exploit '8b/10b.''

    and

    Vendor's 'TUSB1310A' appeared IDEAL to our interns (and (sadly) to myself -  'boss' to these interns).     Alas - it was quickly discovered - that  'Technology' may prove a (very) 'fleeting friend.'

    It is believed that 'TUSB1310A' (from this vendor) was released in mid CY 2017 - and has already - been declared  'NRND!'     (Can you say LM3S?)

    Conclusions:

    • Poster/Friend '12 Squared' quite properly - felt the "Need for SPEED!"   (quite a 'ring'  there - has that been 'used before?')     And - sought to (someway/somehow) 'Tease his TM4C into (reasonable) '8b/10b' compliance.'     Our interns concluded - that goal had 'little' (i.e. NO Chance!)
    • At the same time - '12 Squared' had identified a 'Critical Unmet NEED'  (for those here)  ...   far superior - serial communication - Speed & Robustness!
    • While '12 Squared' sought to 'MANAGE THE 8b/10b protocol (a brutally demanding task)  ...  would not his  'PIVOT' to:  'EXPLOITING 8b/10b's performance gains' - prove FAR EASIER,  LESS TIME & RESOURCE CONSUMING - thus a (clearly) Superior PATH?
    • And - as USB 3.0 (and 3.1 and 3.2) HAVE ALREADY arrived - would not, 'the ACCOMMODATION OF USB3.X - VIA 'ATTACHMENT' TO 'TM4C' (or similar, ARM MCU)' prove a (near) ideal - exploitation?
    • See below - for an 'Arrow to the Heart' - of  8b/10b  AND USB3.0.    (thus cb1's version of  the 'Osborne Effect!)

    Thus - the 'Search' for a device which can 'Correctly & Efficiently' (Enable USB 3.x to Interconnect w/TM4C (others)) - yet provide (reasonable) Performance Gains (beyond USB 2.x) - would appear a (most proper) PIVOT!

    It has been (many times) noted here (by this reporter) that 'Not Always do 'Poster Solutions' prove (entirely) 'On Target!'    As 'All of the 'deep-dive MECHANICS - imposed by '8b/10b' - are fully integrated w/in USB3.0 (and only 3.0)' does that not, 'Provide all of the benefits of '8b/10b' - yet (VASTLY) reduces the 'pain & suffering' - which '8b/10b mastery' demands?

    Our staff 'dug so deeply' to uncover the fact that '8b/10b' was developed in 1983 - IBM was granted a patent in 1984 - thus '8b/10b' IS - a bit 'long in the tooth!'     BFD!    Except that it IS!

    • Newer - improved & expanded '8b/10b' spinoffs' - have enabled the creation of  '64b/66b' (No lie!)   And there is now (an even better) '128/132b.' 
    • USB 3.0 has been surpassed by USB 3.1 & 3.2 (others coming - we are told)
    • USB 3.1 has MIGRATED FROM '8b/10b' - to '128/132b.'

    Thus - '8b/10b' (may) have 'Enjoyed its 'Time in the "Tech Sun' - and 'Newer, Improved, high-speed serial implementations' - spread (rapidly) across,  'Tech's Fruited Plain...'

  • There is much here, hence the delayed reply. Sorry to keep you waiting :-)

    cb1_mobile said:

    12 Squared
    How would I go about sending/receiving 10-bit symbols?

    Chester Gillon
    Is there a particular protocol you are interested in?

    May it be noted - that (almost) surely - the TM4C (and all similar ARM Cortex M4 AND M7 (200MHz+) - prove  FAR 'over-challenged' - in such (high-speed serial data transport) task!   

    I can dream, can't I? I searched for a TM4C solution because we have experience with this platform, we have much code developed for it, and in general I like to stick with a MCU family if possible. (We already have quite a few part numbers from other vendors as well and I can tell you that each additional platform requires much headache and expense to get "up to speed.")

    Now, I have come to the conclusion that a part like TM4C123AH6PM should be able to generate 8b/10b encoding beautifully by encoding the message in a buffer in memory and transmitting it with the help of DMA through the SSI peripheral -- BUT there is one caveat: the least common multiple of 8 and 10 is 40, which means that data can only be sent in 4-byte increments (those 4 bytes turning into 5 bytes when encoded as 8b/10b, hence 40 bits). If I wish to stick with TM4C for this, this would be a limitation of the communication protocol that must be respected. As for receiving 8b/10b encoded messages, reception is "SIMPLY" the reverse of transmission. (NOT so! But then if you've ever repaired your car with the help of one of those manuals they sell at the auto parts stores, and if you are an especially astute reader, you will have noticed that they give dismantling instructions in excruciating detail and then, with the whole guts of your car in pieces, you reach the reassembly instructions which are: "assembly is simply the reverse of disassembly." And let me assure you that that is NOT the case! In one repair -- head gasket replacement -- it took disassembling and reassembling the head FIVE times! Then I started the car and engine oil shot out all over the place like a fountain. What's the problem? The head gasket was on BACKWARDS! It looked symmetric, but there were very "minor" differences. But on the sixth try, it worked.)

    cb1_mobile said:

    Poster/Friend '12 Squared' (that superior forum id was crafted at 'no charge')

    Now wait just a second -- if anything I should be called 12 Cubed -- 12:12:12 PM!

    cb1_mobile said:

    was the VERY first poster to introduce '8b/10b' to this 'LM3S/LX4F/TM4C' plain.    

    There's a first time for everything.

    cb1_mobile said:

    After (gentle) interrogation

    Locked in a trunk is "gentle"?!

    cb1_mobile said:

    12 Squared 'made the case'  for 8b/10b - and an (intern-staffed) investigation was launched.     Our findings were (similar) to poster Chester's - but for the fact that our key clients - and investors - DEMAND 'Vendor Agnostic' - believing such insures (capture) of the, 'Broadest, Highest Performing, and most Up to Date' data.    Follows (below) our interns'   key findings:

    The 'Breadth & Depth' of  '8b/10b' - proved 'shocking.'    (especially its use by 'USB3.0' (in highlight - above)

    See? You didn't believe me when I told you that 8b/10b is in use in technologies that are household names. See also DVI/HDMI, DisplayPort, Serial ATA, etc.

    cb1_mobile said:

    While we are 'directed' to 'Search w/a broad brush' - we maintain loyalty to (this) vendor - by noting an IC  which appeared a 'Significant Aid'  to,  'Those seeking to exploit '8b/10b.''

    and

    Vendor's 'TUSB1310A' appeared IDEAL to our interns (and (sadly) to myself -  'boss' to these interns).     Alas - it was quickly discovered - that  'Technology' may prove a (very) 'fleeting friend.'

    It is believed that 'TUSB1310A' (from this vendor) was released in mid CY 2017 - and has already - been declared  'NRND!'

    The dreaded NRND.

    cb1_mobile said:

    (Can you say LM3S?)

    I've expressed my fear of TI doing that to TM4C. It would make me feel much better if it wasn't hidden and buried under "Other microcontrollers" and instead had a proper title the way SimpleLink, MSP430, C2000, and Hercules have. TM4C is a great family with important capabilities lacking in the other families and I'd **LIKE** to see TI promote it more. (Now you've got me using color. See what you've done?)

    cb1_mobile said:

    Conclusions:

    • Poster/Friend '12 Squared' quite properly - felt the "Need for SPEED!"   (quite a 'ring'  there - has that been 'used before?')     And - sought to (someway/somehow) 'Tease his TM4C into (reasonable) '8b/10b' compliance.'     Our interns concluded - that goal had 'little' (i.e. NO Chance!)
    • At the same time - '12 Squared' had identified a 'Critical Unmet NEED'  (for those here)  ...   far superior - serial communication - Speed & Robustness!
    • While '12 Squared' sought to 'MANAGE THE 8b/10b protocol (a brutally demanding task)  ...  would not his  'PIVOT' to:  'EXPLOITING 8b/10b's performance gains' - prove FAR EASIER,  LESS TIME & RESOURCE CONSUMING - thus a (clearly) Superior PATH?
    • And - as USB 3.0 (and 3.1 and 3.2) HAVE ALREADY arrived - would not, 'the ACCOMMODATION OF USB3.X - VIA 'ATTACHMENT' TO 'TM4C' (or similar, ARM MCU)' prove a (near) ideal - exploitation?
    • See below - for an 'Arrow to the Heart' - of  8b/10b  AND USB3.0.    (thus cb1's version of  the 'Osborne Effect!)

    Thus - the 'Search' for a device which can 'Correctly & Efficiently' (Enable USB 3.x to Interconnect w/TM4C (others)) - yet provide (reasonable) Performance Gains (beyond USB 2.x) - would appear a (most proper) PIVOT!

    It has been (many times) noted here (by this reporter) that 'Not Always do 'Poster Solutions' prove (entirely) 'On Target!'    As 'All of the 'deep-dive MECHANICS - imposed by '8b/10b' - are fully integrated w/in USB3.0 (and only 3.0)' does that not, 'Provide all of the benefits of '8b/10b' - yet (VASTLY) reduces the 'pain & suffering' - which '8b/10b mastery' demands?

    Because if its speed, USB3.0 is a tall order for probably most (if not all) MCUs out there. I would have to conclude that such a solution would require a FPGA to generate the required signaling at high enough speeds; yet then the TM4C would communicate with this FPGA at much slower speeds, becoming the bottleneck.

    cb1_mobile said:

    Our staff 'dug so deeply' to uncover the fact that '8b/10b' was developed in 1983 - IBM was granted a patent in 1984 - thus '8b/10b' IS - a bit 'long in the tooth!'     BFD!    Except that it IS!

    • Newer - improved & expanded '8b/10b' spinoffs' - have enabled the creation of  '64b/66b' (No lie!)   And there is now (an even better) '128/132b.' 
    • USB 3.0 has been surpassed by USB 3.1 & 3.2 (others coming - we are told)
    • USB 3.1 has MIGRATED FROM '8b/10b' - to '128/132b.'

    Thus - '8b/10b' (may) have 'Enjoyed its 'Time in the "Tech Sun' - and 'Newer, Improved, high-speed serial implementations' - spread (rapidly) across,  'Tech's Fruited Plain...'

    Now that is interesting. I think we've beaten the dead 8b/10b horse!!
  • Thank you - very well: 'thought, argued & presented.'     And much appreciated - as this '3 Day weekend' - has enabled the 'return' of many of the '8b/10/b  'Intern Crüe.'     (Well pleased to note your ** LIKED ** (via 'Resolved') neat award!)    

    Your (sudden) effective use of, 'bullet points, bold & color' - well capturing the reader's attention (à la  music symphony's crescendo) was well noted.     (even if 'much' proved,  'Intern quote - bleed-thru!')  

    Relying (only) upon, 'Readers - of varying background/interest' - to  Always 'Capture the logic 'flow' - and then draw the (proper) conclusions - proves  Risky.      (and is like a Tech Presentation - delivered by one who has (clear) 'tech-mastery' ... yet speaks (only) in 'Monotone!')     That 'overly bland'  (lifeless & LIKE-less - 'uninspired' style) - occurs (too often) - here.    Tech 'requires' (some) 'amplification/highlight' - to  properly deliver highly complex data & reinforce & best illustrate (stated) conclusions!      (It proves, 'Not the food alone' - which defines the 'experience' - when enjoying a 'fine restaurant.'    Presentation  - proves (highly) critical too!')     (has such 'known fact' - been (forgotten/discarded - like 'LIKE') - here?)

    These 'points in summary' (may) prove especially useful:

    • Intern staff 'Did Succeed' in properly 'Decoding AND Encoding'  8b/10b.    That process IS achievable w/in (even) a TM4C123 class device.
    • the '8b/10b' scheme enables 'Data Transport' at TEN Bits'  (required for DC Balance) - yet the 'Data Presented' (at each end) is (reduced) to EIGHT Bits.
    • the 'Search' for a 'Converter IC' - similar to the TUSB1310A - is expected to prove of 'Highest Priority' - should you (really) seek to 'Exploit 8b/10b (or an improved 'spin-off.')
    • and do note - my report made 'NO SUGGESTION' of  'Demise of the TM4C!'       Noted (especially) was the  (crucial) fact that vendor's 'TUSB1310A'  (much to your interest)  had departed.

    Again - your 'PIVOT'  (from '8b/10b'  study/mastery/implementation) to:

    • Achieving as many Benefits as possible - offered-up - under '8b/10b'/spinoff.
    • At the minimum of  'cost, time & effort' (and risk) - to you/your firm
    • Achieving (or retaining) many/most of the performance gains  (these beyond 'benefits') - provided by '8b/10b'/spinoff
    • And - suitable for (near) 'glue-less'  interconnect - to the TM4C families

    Such suggests that a 'Dedicated '8b/10b/spinoff' Converter IC'   (as earlier noted)  should 'fast-track' your implementation.     (somehow - that point appeared, 'NOT to have fully landed - via "Interns' initial posting...)    Had that fact 'been missed' - or were you 'Uncertain of its Applicability and/or Correctness?'

    It is believed that our 'Summer Intern Crüe'  performed 'above & beyond' - in 'rising to the challenge' - which your  '8b/10b' (mention) presented!

    You  ARE to be commended (again) - for being the (very) FIRST - to introduce this important subject (here) - which represents the 'wave of the future.'    

    High Speed AND Robust - Serial Transport Gains (reflected by '8b/10b/spinoffs') - due to:

    • interconnect  reduction
    • vastly improved (data rate & robustness) performance
    • and extended 'transport  range/distance'

    (may) drive a spike into 'Parallel'  ...   in many - but NOT all - applications!    

    Does not '8b/10b/spinoff'  clearly  command - MCU-Users'  ATTENTION?      (Some Vendor Guidance - requested...)