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.

Using Ethernet on DM648 in -40 degrees centigrade

Other Parts Discussed in Thread: TMS320DM647, TMS320DM648

Hi all,

I'm developing a custom module using DM648 Industrial chip.

My issue is I can not boot and start in -40 degrees centigrade at first time. After some while, once more power on, the DSP can boot and do normally.

I think, maybe, the DSP hang on ethernet loop so the DSP can not go normally.

I think the point is below, (cpsw3g_core.c)

=============================================================

#define CPSW3G_SOFT_RESET_COMPLETE = (0x0u <<0)

#define CPSW3G_SOFT_RESET_BIT =  = (0x1u <<0)

 

static void cpgmacMacOpen(Cpsw3gPort *hPort)

{

......

regs->GMAC[instid].GMAC_SOFT_RESET = CPSW3G_SOFT_RESET_BIT;

while(regs->GMAC[instid].GMAC_SOFT_RESET != CPSW3G_SOFT_RESET_COMPLETE)

{

}

 ......

}
===========================================================================

My custom board use 1 MARVELL 88E1111 Industrial chip and NDK is 1.92.00.22,

100Mb link.

 

Does anybody have some solution?

  • Does it work fine at > -40 deg. Like -35deg, -30deg,...etc?

    Regards, Srirami.

  • Yes, it works well until at -30deg.

  • Ju-Hun,

    I need following information to understand the issue well.

    1> How you are maintaing the DM648 temperature? I mean, are you keeping whole board in a thermal chamber or using a thermal stream or cool gun,...etc?

    2> I assume only DM648 is at -40C and rest of the components on your board are at room temp. Correct?

    3> Above, you mentioned "My issue is I can not boot and start in -40 degrees centigrade at first time. After some while, once more power on, the DSP can boot and do normally." I didn't quite understand this point. Please elaborate.

    4> Above, you mentined the issue might be with the code in cpsw3g_core.c. How are you able to tell this? Does it work fine at -40C, if you comment any part of the code?

    Regards, Srirami.

  • Hello Srirami,

    1> How you are maintaing the DM648 temperature? I mean, are you keeping whole board in a thermal chamber or using a thermal stream or cool gun,...etc?

    ==> I kept the whole board in a temperature chamber.

    2> I assume only DM648 is at -40C and rest of the components on your board are at room temp. Correct?

    ==> I used all parts with industrial (-40 ~ +85) grade.

    3> Above, you mentioned "My issue is I can not boot and start in -40 degrees centigrade at first time. After some while, once more power on, the DSP can boot and do normally." I didn't quite understand this point. Please elaborate.

    ==> 1) Power on the board -> Booting is failed.

            2) 1~2min. after power off and power on -> Booting normally.

    4> Above, you mentined the issue might be with the code in cpsw3g_core.c. How are you able to tell this? Does it work fine at -40C, if you comment any part of the code?

    ==> I used a JTAG Emulator. DSP waiting at this point forever. If I skipped ethernet part, it worked normally.

     

    PS. DVSDK version is 1.10.00.14

     

    If you need any information (like schematics, ...), please tell me with your e-mail address. I will send it.

    Regards,

    Ju-Hun Nam

  • Hello Ju-Hun Nam,

    Do you have DM648 EVM? If yes, are you able to reproduce the same issue on the EVM?

    By the way, I do see two more following posts on this same issue. Are all talking about the same board and same issue?

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/107642/382695.aspx#382695

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/107609/379833.aspx#379833

    Regards, Srirami.

  • Hello Ju-Hun Nam,

    Also to make sure that the issue with DM648 and not with any other parts on your board, please do the follwoing experiment also:

    1> Keep only DM648 at -40C and rest of the components on your board at room temp. Use a thermal stream, cool gun or some thing similar to blow cold air only on DM648 and keep rest of the components at room temp. This tells if the issue is with DM648 or some other component.

    2> Are you seeing this issue with only board or with all your boards?

    3> As I mentioned above, if you have DM648 EVM, please check if you are able to reproduce the issue on EVM or not?

    Regards, Srirami.

  • hi, Srirami

    I was developing Control board(DM648) with Ju-Hun Nam.

    I want to sovle this problem with great dispatch.

    Because, This product have to deliver on May .

    I will be looking forward to your reply.

    Regards, ByoungYong. 

  • hi, Srirami

    2> Are you seeing this issue with only board or with all your boards?

    We have 3 boards. This symptoms is all boards.

    3> As I mentioned above, if you have DM648 EVM, please check if you are able to reproduce the issue on EVM or not?

    we have not DM648 EVM.

    Regards, ByoungYong. 

  • Please try <1> and let us know your result. This experiment is critical to confirm that the real issue is with DM648 and not with any other components on your control board.

    1> Keep only DM648 at -40C and rest of the components on your board at room temp. Use a thermal stream, cool gun or some thing similar to blow cold air only on DM648 and keep rest of the components at room temp.

    Repeat your test and see if you can observe the same issue with only DM648 at -40C and rest of the components at room temp.

    Regards, Srirami.

  • Hi Srirami.

    we has no thermal stream, cool gun or some thing similar to blow cold air.
    So, we can not try <1>.

    Could you give me an explanation of the 3pGSw reset logic and reset timing.

    Regards, Byoungyong.

  • Follwoing is copied from similar other post (http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/115513/415920.aspx#415920)

    1.  What does DM648 do when 3psw is reset? (hardware-wise)

        (for example, does it put 3psw’s registry back to the initial stage? Or what else does it do?)

     2.  What are the conditions/circumstances of it not re-setting or not completing the reset?

     3. Also we would like to know what ‘reset’ function does, in full detail.

        We did check out your datasheet but it does not tell anything except “how to reset” and “falling until reset is complete."

        We cannot debug with just that.

     Please help.

    -------------------------------------

    1. [Sudhar] Can you clarify which reset LPSC reset or 3PSW Software reset(module level) or System reset? in any case it will reset the registry to its default values.

     

    => [YOUNG] 3PSW software reset

    2. [Sudhar] PORz (System Power on Reset) is controlled outside the chip. Can you elaborate a little further on what is meant by not completing the reset? Do you mean the RESETSTAT pin deasserted?

    => [YOUNG]  Please see below. 

    When you look at page 61 of its manual SPRUF57B (for TMS320DM647/DM648 DSP 3 Port Switch Ethernet Subsystem), there is an explanation for 3pGsw Soft Reset Register.

    It shows 0=reset has occured  and 1=causes reset & rest has not yet ocurred.

    The issue we are having is, at -40C, 3PSW software reset register keeps remaning at 1, never becomes 0.

    So, we would like to know

    1) how to debug this

    2)  how 3PSW software reset works (hardware-wise)

    3) what would be the condition/circumstance of 3PSW software reset not occuring

  • Young Lee/Kim/Ju-Hun Nam,

    Can you please talk with your local TI FAE and see if you can return your samples to TI for Factory Analysis.

    As per this this thread, I understand that:

    1> You are using DM648 Industrial part (-40C to 90C).

    2> The part works fine at or above -30C (as per 's response). It fails at below -30C (i.e. between -30C to -40C).

    3> You have 3 boards and all boards show the same symptoms.

    Is my above understanding correct?

    In the mean, please provide detailed steps to reproduce the issue. I will try to reproduce the issue on DM648 EVM.

    Regards, Srirami.

  • Hello Srirami,

     

    Yes above three statements are correct and please see below for steps that would help to reproduce the issue.

     

    1. We turn the power off and lower temperature from -25C to -40C.

    2. We keep the temp at -40C for 4 hours and turn power on-22V.

    3. Then the issue happenes. It does not reset.

    Please let me know if you need anything more.

  • Hello Srirami,

    As for the failure analysis, do you want them with the board we're using too?

  • Please let me know ASAP if you want the board with the 3ea sample we will be sending you thru Avnet.

  • Lee,

    I contacted TI CQE team. They post the process on how to return the samples.

    Regards, Srirami.

  • Hi Srirami,

    First of all, many thanks to your help so far. We really do appreciate that.

    1.    You advised us that TI CQE team will post on how to return the samples.

                  Could you please make sure with them to check if we need to return the board as well?

     

    2.    Another problem has been found.

    This problem occurs when DSP Subsystem reads the resister of 0x0204 6888(MDSTAT34).

    The resister value of Ethernet Subsystem is supposed to be 0x03(Enable/default), but we get a different value. This problem doesn’t happen when it is initially powered on, but when it reads the value for third/fourth time. Please see page 62(MDSTAT) of D/S for TMS320DM647 and page 71(STATE) of D/S for SPRUEU6B.

     Could you please kindly advise on this issue?

     

     

     

  • 1> No need to ship your board. You have to remove the part from your board and send to TI. TI will re-ball the part and test it. Before that try the following work-aroudn and see if it fixes the issue.

    2> Instead of depending on default value of MDSTAT34.STATE, I strongly recommend you to program it (always) to the desired state (0x3) in your initialization code. The issue will be solved by writting default value (03h) to MDSTAT34.STATE. This may fix even the original issue (-40C issue). Please try this and let me know your results.

    Regards, Srirami.

  • Hi Srirami,

    Thank you for your instruction.

    We will try and let you know immeidately.

    In the mean time, in case we return the parts, we might need to reference a "case number" to Avnet.

    Can you advise if we are supposed to get the number from you?

    Thank you very much.

  • Lee,

    Please note that when you are trying to set/change the state in MDSTAT register, you need to follow the procedure explained in section 6.4 in TMS320DM647/DM648 DSP Subsystem User's Guide (http://www.ti.com/litv/pdf/sprueu6b).

    As I mentioned above, please try the work-around that I mentioned (always programming the desired state (0x3) in initialization code) before returning the samples.

    Regarding returning samples, let me know your e-mail id. I will send you TI CQE contacts through e-mail. They should be able to give more details on sample return process.

    Regards, Srirami.

  • Dear Sirami,

    Many thanks to you for all your help.

    1. My email address is : young.lee@selectroninc.com

        will wait for your email with contact info.

    2. I remember you said you would try to reproduce the issue with DM648EVM? Have you tried it yet?

    3. About the DM648 EVM, aren't it's components commercial parts which are not supposed to work in the military grade low temp?

    4. We have two 0.01uF capacitors connected to 'deference' signal coming out of 62.5MHz oscillator. (same as EVM board)

       Can this affect the issue we are having - low temp in any way?

     

    I am sorry for all the mess on this.. Our customers keep adding more and more questions to this and now I am just confused..

    will look forward to your reply again.

     

    Thank you.

  • Lee,

    1> I will ask TI CQE to send the details to return the samples.

    Did you try the work-around that I suggested above:

    "Instead of depending on default value of MDSTAT34.STATE, I strongly recommend you to program it (always) to the desired state (0x3) in your initialization code. The issue will be solved by writting default value (03h) to MDSTAT34.STATE. This may fix even the original issue (-40C issue). Please try this and let me know your results".

    This work-around very important. Please try this work-around first and let me know if you are still seeing the isue. Return the samples only after this experiment.

    2> No, I didn't get chance to try on the DM648 EVM.

    3> Its a good question. Not sure, need to check with Lyrtech (EVM manufacturer). I doubt all parts used on the EVM are of Extended temp (-40C).

    4> I will check on this. But, I strongly recoomend to try the above work-around before trying any other things.

    Regards, Srirami.

     

  • Dear Sirami,

    In regards to your suggestion below,

    "Instead of depending on default value of MDSTAT34.STATE, I strongly recommend you to program it (always) to the desired state (0x3) in your initialization code. The issue will be solved by writting default value (03h) to MDSTAT34.STATE. This may fix even the original issue (-40C issue). Please try this and let me know your results".

    Please let us know how to make it to be "always 0x03".

    For example,

    Will MDSTAT34.STATE be always 0x03 if we program NEXT value to 0x03 at Module Control n Register(MDCTLn)?

    Or please give us some ideas how to do it.

     

    Thank you so much.

  • Lee,

    As I mentioned above in this thread:

    When you are want to set/change the state in MDSTAT register, you need to follow the procedure/steps explained in section 6.4 in TMS320DM647/DM648 DSP Subsystem User's Guide (http://www.ti.com/litv/pdf/sprueu6b).

    For example, look at the function "Set_PSC_State()" in the attached .gel file for a sample code.

    Once you set the state to 0x3 in your initialization code, it will stay 0x3 unless you change it again.

    Regards, Srirami.

    EVMDM648.gel
  • Dear Srirami,

    Did you try the work-around that I suggested above:

    "Instead of depending on default value of MDSTAT34.STATE, I strongly recommend you to program it (always) to the desired state (0x3) in your initialization code. The issue will be solved by writting default value (03h) to MDSTAT34.STATE. This may fix even the original issue (-40C issue). Please try this and let me know your results".

    We already programmed it as below. 

    #define PD1                   (1)

    #define PSC_ENABLE      (0x03)

    #define LPSC_E3PSW     (34)

    So this does not fix any issue.

    Is returning sample for evaluation our only option now?

     

  • OK. Thanks for trying this work around.

    I provided your e-mail id to our CQE team. They will send the process to return the samples.

    Regards, Srirami.

  • Dear Srirami,

     

    "For example, look at the function "Set_PSC_State()" in the attached .gel file for a sample code.

    Once you set the state to 0x3 in your initialization code, it will stay 0x3 unless you change it again"

     

    We are little confused with the above because we do not see how MDCTLn can stay 0x03 once it is set.

    So per the above, once we set it to 0x03 using Set_PSC_State(), MDSTAT register should stay 0x03, unless we chaneg it again, correct?

    Then is there any other thing that might be able to change the state?

    Please advise.

  • Lee,

    Correct, once you set it to 0x03 using Set_PSC_State(), MDSTAT register should stay 0x03, unless you chaneg it again. You are not seeing this means some other part of your code is changing the state.

    1> Did you integrate Set_PSC_state() function in your initialization code?

    2> Please put a break point after calling this function and make sure this function is setting MDSTATn to 0x3.

    Regards, Srirami.

  • Dear Srirami,

    1> Yes, we set ethernet value=0x03 using Set_PSC_state() function in the initialization code.

    2> MDSTATn is 0x03.

    Are there any other things we should check?

    Please advise.

     (added 7/27) We did not hear from CQE team yet. We need to return 3ea for your evaluation, right?

                             We need a case# or something to request RMA thru Avnet.

    Thank you.

  • Lee,

    Did you hear from CQE or not?

    Regards, Srirami.

  • Nope. I asked Avnet and they sent me this form called 'NON-FLASH FAILURE VERIFICATION REQUEST FORM'

    I am filling out the form right now. I guess there is no short-cut =)

  • Lee,

    I assume you submitted samples to TI through Avnet.

    Please confirm the following failure signature for us analyze the issue:

    In the failure cast (at -40C), even you use the work-around (i.e. setting MDCTLn to 0x3 by following the similar steps in Set_PSC_State() function in the gel file), you see the MDSTATn value as 0x1 instead of 0x3. Correct? Also provide more information on failure signaure and re-produce steps that helps us re-produce the issue in TI.

    Regards, Srirami.

  • Dear srirami,

    ** 3ea are on their way to you to TX, tracking# 1z58fa110346366057. 1ea has a green tag which means it is a good part. other 2ea are the one failing.

    1. We set 3-port switch ethernet section at 0x03 using Set_PSC_State in the intial gel file.

         When 'the low temp issue' happenes, it  is 0x1, not 0x3.

    2. Please advise what kind of info you need. Please be specific so we can provide exactly what you need.

     

    Thank you!

  • Dear srirami,

    I received a notification of recepit on 8/12 and was just wondering if you started the evaluation yet.

    I also asked what kind info you need for the evaluation but I did not get a reply.

    Please advise.

     

    Thank you.

    Young

  • Young,

    I didn't receive it from our CQE team. May receive them soon. Please check with them for the update.

    Please provide detailed steps re-produce the issue. That helps me to re-produce and debug the issue.

    Regards, Srirami.

  • Hello srirami,

    You should have received the sample now. Please note that 2ea with red tag are bad ones and the other 1ea is a good one.

    I have been asking here and to CQE? what kind of info you need because we really do not have an idea what you need.

    Please advise.

  • I am pinging our CQE about the status. When did you ship samples to TI?

    Regards, Srirami.

  • Hi srirami,

     Below is a copy of the email I received. (I removed names and email addresses.)

     TI Tracking #: QTS # 331425-1

    -----Original Message-----
    Sent: Friday, August 12, 2011 8:39 AM
    Subject: Notification of Receipt: 3 x TMS320DM648ZUTD9, QTS# 331425-1

     

     

    Young Lee,

     

    The above mentioned device(s) have been received for evaluation by Texas Instruments' ASP business entity in Dallas/Texas.

     

    For more details please refer to the attached document.

     

     

    (See attached file: QTS_331425-1_Notification of Receipt ASP.pdf)

     

  • Dear srirami,

     

    Did you get the sample we sent yet?

    It's been 3weeks now.. omg

  • Hi Srirami,

                         I have done setup According Getting Started Guide For tms320dm648 dvdp  But When I am Running Sample speech Encodedecod example I am Getting Display ON ccs 3.3 Is :

                       Stating Speech Encode.

                     Creating Output Channel Failed.

    Please Can You Help Me

    Regards,

    Aditya

     

     

     

  • Aditya,

    Please create a seperate post for this issue. This post is meant for EMAC issue at -40C.

    Regards, Srirami.

  • Dear srirami,

    Almost 6weeks have passed....

    Are you running the evaluation now? When should we expect to receive any comment?

    Please advise.

  • Lee,

    Sorry for the delay. I was out of office. I am testing the samples this week. I will update you by end of this week.

    Regards, Srirami.

  • Lee,

    I started looking at this. Please confirm following:

    At working temp (> -30C), the MDSTAT34 and MDCTL34 are as follows:

    MDSTAT34 (0x02046888) = 0x00001E03

    MDCTL34 (0x02046A88) = 0x00000003

    And the values change to following at -40C:

    MDSTAT34 (0x02046888) = 0x00001E01

    MDCTL34 (0x02046A88) = 0x00000001

    Correct?

    Regards, Srirami.

     

  • Dear srirami,

    I am sorry too for our late response. I finally got a reply from the engineer but it's insuffcient because they do not have the board any more.

    (They only have one board that's working well... others already supplied to their end customer)

    At working temp (> -30C), the MDSTAT34 and MDCTL34 are as follows:
    MDSTAT34 (0x02046888) = 0x00001E03  => 0x00001F03
    MDCTL34 (0x02046A88) = 0x00000003    => 0x00000103

    And the values change to following at -40C:
    MDSTAT34 (0x02046888) = 0x00001E01  => cannot check on this for now
    MDCTL34 (0x02046A88) = 0x00000001    => cannot check on this for now

    I hope this still helps... Please let me know if you need any other info.

    Thank you.

    Young

  • Dear srirami,

     

    Please advise how this is going. hope the evaluation is finished by now.

     

    Thank you.

    Young

  • Dear srirami,

     

    Are you still working on this?

    It has been over a MONTH since we returned the sample. Could you let me know what's going on?

  • Young,

    Sorry for long delay in closing this issue. Today, I tried to reproduce the issue on DM648 EVM. I finished one sample. I could not reproduce the issue. I am trying other two samples now.

    After setting MDCTL34 state to 0x3 (Eanble) at high temp (> 30C). While moving to low temp (-40C), what is DSP doing? Is it halted using the CCS or is it running some code? I want to make sure that I am doing exaclty the same thing that you are doing.

    Regards, Srirami.

  • Young,

    One more question. You mentioned before that you used the thermal chamber to maintain temp at -40C. But, how did you measure DM648 case/package temp? Did you make sure that DM648 is really at -40C. I am asking this question because in my case even I keep thermal chamber at -40C, the DM648 is never coming to -40C. It stays at high temp around -30C. When I change the chamber temp to -50C, then only DM648 temp goes to -40C. I am using a thermocouple on the DM648 package to measure its case temp.

    Regards, Srirami.

  • Hello,

     

    I am asking. will let you know as soon as I hear back.