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.

TMS320C6654: Distinguish C6654 or 55

Part Number: TMS320C6654

Hi,

The customer is developing their products with C6654, C6655 or C6657. These depends on the model, low-end to high-end.

Is it possible to detect which device C6654 or 55 is by software ? Do they have Device ID in the ROM ?

 

We found the following thread.

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/468276/distinguish-c6654-55-57

They tried the 4th idea below in the above thread.

  1. How about 1MB MSMC memory? Write and read back pattern on MSMC memory using global address space. (C6654 has no MSMC memory whereas C6657 has 1MB shared)

However, they can write and read back correctly in the MSMC memory on C6654 by using CCS.

  1. Does this C6654 device have a problem ?
  2. If they accidentally use the MSMC memory on C6654, what will happen ? Any problem ?
  3. Do you have any other idea to distinguish C6654 or 55 ?

 

Regards,

Hideaki

  • Dear Customer,

    Good day!.

    Customer says" Is it possible to detect which device C6654 or 55 is by software ?

    Yes, through software, you can differentiate the devices, "C6654, C6655 or C6657".

    1. You can query the "DEVSPEED" register, whose, value gives the maximum core frequency you can set for the device.

          --> for example, in C6657 product, when I query the value of  the DEVSPEED register address, "0x026203F8" it gives the value 0x01018003 -

                convert  the value 0x01018003 to binary - 1 0000 0001 1000 0000 0000 0011----> map with the Table 8-20. Device Speed Register Field Descriptions -- page no : 223 in Data manual of https://www.ti.com/lit/ds/symlink/tms320c6657.pdf --- > 0000 001xb = 1000 MHz

    Similarly, you can query the same DEVSPEED register for C6654 and C6655. The max frequency will be 850 MHz for C6655 and 600 MHz for C6654.

    ---

    This is what I did

    steps:

    1. In CCS, Create a target configuration file with appropriate gel file ( For C6657, C6657-gel-file. For C6655, C6655-gel-file)

    2. Launch the *.cxml file and load the gel file.

    3. open the memory browser, and feed the DEVSPEED register address, " 0x026203F8"

    4. Get the value, convert to binary and match with the data manual-field descriptions of DEVSPEED.

    Your other queries:

    Customer says" Does this C6654 device have a problem ?"

    No, may not be!

    Customer says" If they accidentally use the MSMC memory on C6654, what will happen ? Any problem ?

    No, If they write it in MSMC RAM, nothing will happen. In-fact, CCS , load all the examples on MSMC RAM through JTAG and run the code using the MSMC RAM.

    Infinite-times, we can read-write into MSMC RAM.

    Regards

    Shankari G

  • Matsumoto-san

    >>Is it possible to detect which device C6654 or 55 is by software ? Do they have Device ID in the ROM ?

    No there is no way to distinguish this in software. The customer would need to rely on what they ordered and what they populated on the board. 

    In terms of accessibility of memory etc. C6654 vs C6655 , the c6654 has a reduced featured set of memory offered as part of it's datasheet. So as you may know , sometimes the feature maybe present , but it is not guaranteed to be tested , so they should not use the 1MB memory not specified in C6654 (relative to C6655). 

    Hope this helps. 

    Regards

    Mukul 

  • Mukul,

    I think, it is possible, using the "DEVSPEED" register values, as I posted above.

    This register will hold the maximum-possible-frequency of the core and it cannot be changed. ( Marked as "READ ONLY" in data manual )

    Please clarify. ( Am I missing something?)

    Regards

    Shankari G

  • Shankari 

    Good point on DEVSPEED, even though it was not necessarily intended for providing the ability to distinguish between different family of devices, given C6654 and 55 are running at different speed, perhaps they can use this field

    Matsumoto-san

    can you confirm that customer is able to use this?

  • Hi Shankari, Mukul,

    Thank you for your idea. Let me confirm.

    The DEVSPEED value is the device specific value ? Never be changed ?
    Even if the frequency of C6654 increases upto 1.25GHz accidentaly, this value is never changed ?

    Thanks and regards,
    Hideaki

  • Matsumoto-san,

    >>Even if the frequency of C6654 increases upto 1.25GHz accidentaly, this value is never changed ?

    Yes, it never gets changed/modified. Because, this value is set during, manufacturing-the-device.

    Regards

    Shankari G

  • Hi Shankari,

    Thank you so much for your answer. They confrimed the following values in the DEVSPEED register on each devices even if they intentionally set 850MHz and run each device. 

    C6654 : 0x00810003 => 850MHz

    C6655 : 0x02010003 => 1250MHz

    C6657 : 0x02018003 => 1250MHz

    They decided to use this solution.

    Thanks and regards,
    Hideaki