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.

LM3S8C62 Misbonded/Counterfeit part?

Other Parts Discussed in Thread: LM3S8962

So I'm seeing some incredibly unusual behavior from several LM3S8C62s purchased directly from Digikey (not marketplace) as part of an effort to bridge an existing product's supply-chain issues until redesign can happen. Using Stellarisware drivers, direct software register manipulation, and direct register manipulation via CCS, it appears the 100QFP footprint does not match the datasheet for some pins.

For example, I enable the gpio port E peripheral, set the GPIO_DIR register to 0xFF and begin toggling GPIO_DATA between 0x2 and 0x0. This should be toggling pin PE1 which the drawing indicates is pin 73. Instead, pin 75 toggles. Likewise, setting GPIO_DATA to 0x1 should set PE0 on pin 72, instead pin 74 toggles. This is just one example, and it appears much of Port E is scattered around on the wrong pins according to their location on the datasheet.

I've confirmed the Stellarisware and my register writes are going to the correct address per the datasheet, and this effect also happens when manipulating the peripheral registers via the CCS gui, eliminating any question about user software. To confirm I didn't have a mislabeled part, I read out the DID registers and they matched the datasheet values for the LM3S8C62.

I looked into the errata and I don't have the byte length RMW instruction pattern associated with SRAM corruption, and none of the other ones seemed relevant (although the sub-optimal reset misbehavior errata is a little worrisome).

I've also tried this on multiple LM3S8C62 devices with identical results, so I'm fairly confident there aren't any shorts or ESD related effects. This board routes the GPIO in question to LEDs+headers without any real adjacency and there are no unpowered shorts. It seems to be LM3S8C62 specific and for the life of me looks like Port E GPIO are bonded on the wrong pins.

The project is built with what I believe is the final version of the TI compiler to support the part, TI v15.12.7LTS (the assembly appears correct). I found the cells in the JTAG scan chain associated with the suspect pins, but without a BSDL file, I cannot know if these are truly misbonded or some sort of incredibly strange software issue.

Has anyone even used the LM3S8C62, or seen something remotely similar? The part doesn't exist on TI's website, although it does in CCS, and there are only a few documents scattered about.

---- UPDATE

So assuming this BSDL file is close-enough: https://bsdl.info/view.htm?sid=87280194274b27e188ca59b002289d77 there's seriously something wrong with this part's internal design. I run this code:

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_1); //0x40024000, 0x00000002
GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_1, GPIO_PIN_1);

Which the datasheet clearly shows in both the table and diagram that PE1 is on pin 73, but this JTAG boundary scan cell and physical pin toggles high:

"PE3_PhA1:        75, " &
...
"     1  (BC_1, *,              CONTROL,   1 ),                         " &
"     2  (BC_1, PE3_PhA1,       OUTPUT3,   X  ,      1,     1,     Z ), " &
"     3  (BC_1, PE3_PhA1,       INPUT,     X ),                         " &

This part is misbonded/datasheet is wrong?

  • Hi Christopher,

      This part is EOL'ed and I have not worked on this device before. With that said, there is no reason for me to believe the datasheet or Stellarisware is wrong. This will be an obvious mistake that will be identified and reported by all customers who use PE1 or any pins in Port E. 

    So I'm seeing some incredibly unusual behavior from several LM3S8C62s purchased directly from Digikey (not marketplace) as part of an effort to bridge an existing product's supply-chain issues until redesign can happen.

     I suppose you have in the past used LM3S8C62 for some of your designs. Is this a correct understanding? If that is the case, I hope you still have some known good boards with LM3S8C62 on them. Do you see the same problem when setting PE1 on these boards? Even if you were using a different LM3S Firestorm variants, I would image PE1 to be on pin 73 for all of the 100-pin LQFP Firestorm  variants.

    While we don't have any more LaunchPads for this device family, if you still have one available to you, can you run the same to see the effect of PE1? Can you repeat the same issue on Port E?

    Can you show the device marking of the device? If you suspect it is a counterfeit part, we can check to confirm. 

  • I've used several LM3S series parts before including other Firestorm ones (not the 8C62 though) without ever seeing anything remotely similar to this.  The board itself had a Fury class LM3S that functioned normally (board was designed to accept most LM3S parts and the differing LDOs in the family).  The LM3S8C62 is definitely an oddball I've noticed.  There's no TI product page despite it being newer than most of the other obsolete LM3S parts which do, and CCS6 generates an incorrect vector table out of the box missing some peripherals, which is not encouraging.

    Like you said, I've never not seen PE1 on pin 73 except this part, which makes no sense to me.  And the Cortex vs JTAG scan chain pin mismatch entirely inside the chip almost implies the GPIO block is connected to the wrong sites on the pad ring, which again is kind of unthinkable.  The package markings match the datasheet although I don't have the secret decoder ring for the tracking info.  Ignore the dirtyness of the part, I removed this one from a board during the course of troubleshooting.

  • Hi Christopher,

      I will check internally if this is a legit part. In the meantime, can you tell me if this problem is only on Port E, or other ports as well?

  • I randomly pick a different Firestorm variant datasheet (LM3S9D92) and I find interesting result. It does match your finding description about PE0 and PE1. Seems like a Firestorm variant with USB support is mislabeled as a LM3S8C62 which should not have USB in it. 

  • Hi Christopher,

      We just did the internal checking and unfortunately, we cannot find this part in our internal database. Your device shows 1AP037H as the LTC and this is not found in our system. You will need to reach out to Digikey to find out where did they source this part. Please also give me another unit that you have the same issue. We will check again if it is legit or not. 

  • The other parts I have are marked identically to the one in the picture.  Is that some sort of serial number that shouldn't be identical (I hope not)?  I've already reached out to a Digi-Key product manager who should be sending me either a bill of sale or a TI certificate of conformance for these parts.

    I'm looking into which other GPIO appear in the wrong spot.

  • That 1AP037H is a LTC (Lot Trace Code) is a code that tells about the fab lot and wafer of which the die is manufactured. We cannot find this LTC in our database. If the other failure unit also has the same LTC then it is not a real TI part. 

    Do you have any working LM3S8C62 so we can check their LTC to confirm if they are real or not?

  • I do not. This is the first time I have tried using the LM3S8C62.  Interestingly, PB2 is on pin 72 as in your LM3S9D92.  My first thought is maybe this is a recycled die, some other part repackaged as a LM3S8C62.  However, the DID0 and DID1 are:

    did0	unsigned int	0x10060002 (Hex)		
    did1	unsigned int	0x10AE402E (Hex)	
    
    VER 1
    CLASS 6 (Firestorm)
    MAJOR 0 (Rev A)
    MINOR 2 (Rev A2)
    
    VER 1
    FAM 0 (Stellaris)
    PARTNO AE (LM3S8C62)
    PINCOUNT 2 (100)
    TEMP 1 (Industrial)
    PKG 1 (QFP)
    ROHS 1 (Yes)
    QUAL 2 (Full)

    Which matches the LM3S8C62. Seems exceedingly strange that it would be a recycled die of identical model number.  If this is a repacked part, it's also a little silly they would invent a lot code instead of copying a real one, although at this point I'd believe anything.  I suppose they could be recycled or off-contract produced die that were wirebonded with the wrong pattern.  Any more wisdom at what might be going on?  There are no missing lot numbers from your system I take it.

    I'm not 100% convinced the LM3S8C62 wasn't legitimately manufactured and someone bonded it out like a USB version, although your missing lot code is deeply concerning for a sale from an authorized distributor.  Thanks so far for the info, this has been extremely useful.

  • Hi Christopher,

      I'm just as puzzled as you. I'd like to wait for Digikey's response first. 

  • Digi-Key is still investigating, however TI support did dig up the actual BSDL files for the LM3S8C62 which are different from the LM3S8962.  The chips I have in hand are at least misbonded (I agree, probably counterfeit given the invalid lot trace code).  The boundary scan cell for PE1/pin 73 is on physical pin 75, IO cell for PE0/72 shows up on physical 74, just like the cortex sees too.  Someone must have used the wrong wirebond pattern while (re)packaging the die, which is definitely a first for me.

    I'm going to mark this as resolved because regardless of whether it's counterfeit, I now have a satisfying explanation for why my IO is in the wrong spot. Bummer.

  • Hi Christopher,

     If you have any update, simply just write back to this post and the thread will automatically reopen. 

  • Hi Christopher,

      I apologize. Sorry for the confusion that I might have misled. Searching a different internal database reveals that the parts that you have are legitimate TI parts. The parts were sold to Digikey in 10/28/2011. Again, sorry for all the inconveniences.