• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » C6000 Single Core DSP » C67x Single Core DSP Forum » Hardware reset issue C6713B
Share
C6000 Single Core DSP
  • Forums
  • Announcements
Options
  • Subscribe via RSS

Forums

Hardware reset issue C6713B

This question is answered
Sean Bedford
Posted by Sean Bedford
on Apr 03 2012 12:02 PM
Intellectual940 points

Good afternoon,

I am using a C6713B and when i trigger a hardware reset by shorting the pin to ground the DSP does not reboot and I cannot connect with the debugger.  The device does work properly on a normal power up 95% of the time.

The reset line is connected via a resistor to the DCDC converters as on the DSK board.

Does anybody have any experiance of a similar issue or is anybody able to offer any ideas or information on how normal power up is diffrent to a hardware reset?

Many thanks and kind regards

Sean

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • RandyP
    Posted by RandyP
    on Apr 04 2012 08:07 AM
    Guru61625 points

    Sean,

    Hardware reset should do the same things as power up, in fact the reset pin will be held active during power up until all clocks and power supplies are stable.

    There have been some discussions on the forum within the past couple of months about C6713 reset issues. Search for "C6713 reset" (no quotes, or maybe with the quotes).

    Sean Bedford

    The reset line is connected via a resistor to the DCDC converters as on the DSK board.

    Is this a modification you made or a statement about the schematic for the DSK?

    Which boot mode do you use?

    Regards,
    RandyP

    Search for answers, Ask a question, click  Verify  when complete, Help others, Learn more.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 16 2012 05:06 AM
    Intellectual940 points

    Hi Randy,

    Sorry it has taken me so long to get back to this we have had other priorities.  it is a statment as to how the reset line is connected on our board (the same as with the DSK).

    We have now connected the reset line directly to a PIC on our new board revision and cannot connect to or get the DSP to work at all.  This obvisly makes the issue much more pressing.

    The boot mode we are using is from a 16bit flash but now that we cannot even debug this doesnt seem relevent.

    With the new board revision CCS connects to the DSP but when you load to program it says its runing and gives this error when you try to pause it.

    TMS320C671X: Trouble Halting Target CPU: Error 0x80000020/-1060 Fatal Error during: Execution,  An unknown error prevented the emulator from accessing the processor in a timely fashion. It is recommended to RESET EMULATOR.  This will disconnect each  target from the emulator.  The targets should then be power cycled or hard reset followed by an emureset and reconnect to each target.

    with the old boards that worked with debug once the program has loaded it would be paused at the start of main so the program clearly isnt being loaded properly. 

    Here is a list of the changes that were made between the two revisions that could effect the DSP.

    1. Replaced jumpers for 16 bit programming with perm links direct to 3V3/GND
    2. Disconnected DSP reset from DCDC converters connects directly to header to be controlled by PIC
    3. DSP reset MSB of flash address (previously grounded) and SPI line now connected directly to the header

    So it seems to me that the reset ine could be the only one that is causing the issue.  We had hoped that by conecting the DSP reset to a microcontroler we could solve the previous reset issues but it seems to have made it worse.

    any idea or things I can try will be much appericaited.

    Thank you

    Sean

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 16 2012 07:02 AM
    Intellectual940 points

    Just to add to the above.  I have now connected to rest line via a 10k resistor to 3V3 to remove the microcontroller from the equation.  I also discovered that out flash programing software loads and runs when I connect to the DSP but our main software crashes it.  I have just checked and the same peice of software works fine with the last revision of or board which I find very strange.

    There is also a change I forgot to mention.  We changed the RAM chip used from a IS42S16160D-7BLI to a IS45S16400F-7BLA1 which is a smaller RAM but has identical pin out to the old one except that there are less address lines.

    Thanks

    Sean

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • RandyP
    Posted by RandyP
    on Apr 16 2012 07:03 AM
    Guru61625 points

    Sean,

    Your change #3 is not clear to me.

    Recommendations:

    1. Connect with the same emulator + CCS to an EVM or one of your old boards to confirm that the emulator and CCS are still working correctly.
    2. Try the no-boot bootmode. This is useful for debug and allows the emulator to get control without worrying about what the DSP might be executing.
    3. Look at the reset and clock lines to the DSP. Since you changed the reset, that is the most likely problem.
    4. A reset going over a header could be picking up noise which will cause problems in the future; noise would not explain this consistent failure but it is something to be concerned with.
    5. Look at the EMIF signals. Problems on clock and RDY can hurt the operation of the EMIF interface.

    The Stellaris Cortex-M3 line of MCUs would be a good choice for your microcontroller.

    Regards,
    RandyP

    Search for answers, Ask a question, click  Verify  when complete, Help others, Learn more.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 16 2012 07:20 AM
    Intellectual940 points

    Please delete posted twice

    Thanks you

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 16 2012 07:20 AM
    Intellectual940 points

    Hi Randy,

    Change 3 is that the SPI lines and reset from the DSP are connected to a header which goes to a diffrent board than to a microcontroler.  The MSB of the flash (which is one above the amount the DSP accepts, gos to the microcontroller also (this is to allow two diffrent bootable programs.

    I have tried 1 and everything still works fine with our old boards.  Could you please explain what the no-boot boot mode is and how I enable it?

    The reset line is at a steady 3V3 and the CLK line is oscilating cleanly at 50Hz between about 1.2 and 2 volts which I belive is normal.

    This signals are not easy to probe would a EMIF problem cause the DSP to crash completly and not respond to the debugger?

    Thanks

    Sean

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • RandyP
    Posted by RandyP
    on Apr 16 2012 07:54 AM
    Guru61625 points

    Sean,

    Sean Bedford
    goes to a diffrent board than to a microcontroler

    This is one of those cases where a typo cannot be repaired by context. I think you meant "then", but "than" also has a valid discriminating meaning here.

    No-boot is also called emulation boot. Please see page 98 of the datasheet.

    What did the reset line do relative to clocks and power when everything started?

    Sean Bedford
    the CLK line is oscilating cleanly at 50Hz between about 1.2 and 2 volts which I belive is normal

    That does not sound normal, but I will assume you have read the Hardware Design Guide and you know this better than I do.

    Sean Bedford

    This signals are not easy to probe would a EMIF problem cause the DSP to crash completly and not respond to the debugger?

    You can do a lot of things in hardware that make the emulator not work. If the processor is trying to access the EMIF and it gets stalled, everything will stall, including the debugger. We have tried to improve some of this in newer devices, but it still true that the debugger is not immune to hardware problems.

    I wish the debugger had error messages that point to a pin failure or a code problem or a timing issue, but it does not.

    Regards,
    RandyP

    Search for answers, Ask a question, click  Verify  when complete, Help others, Learn more.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 16 2012 11:08 AM
    Intellectual940 points

    Hi Randy

    RandyP

    Sean Bedford
    goes to a diffrent board than to a microcontroler

    This is one of those cases where a typo cannot be repaired by context. I think you meant "then", but "than" also has a valid discriminating meaning here.

     
    Yes sorry it was meant to be then.
     
    The datasheet tells me what emulation boot is but nothing about how to set it up and use it so not really what I was after.
     
    The clock ocilating like that is what it does on the board that works.
     
    The fact that the flash programming code works on the board but the other doesent does point towards a EMIF problem because as I dont think the flash programming program is big enough to need the flash and as I mentioned we have changed SDRAM.  Allthough from the datasheets the two RAMs look like they should be swapable with no issues. 
     
    Is there any way to tell if a program is using the SDRAM in software or would it just be scoping the CE0 pin (which is going to be dificult)?
     
    Thanks
     
    Sean
     
     
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sam Kuzbary
    Posted by Sam Kuzbary
    on Apr 16 2012 12:07 PM
    Expert2655 points

    Greetings,

    Does your FLASH device have a RESET pin?  If so, is it connected to the Reset signal as well?

    Good Luck,

    Sam

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on Apr 24 2012 08:17 AM
    Intellectual940 points

    Hi
    Sam no, no reset pin.

    I think i have made some progress. My smaller flash writing program does run
    which I belive is because it only uses the internal memory. So I thought it
    could be some obscure difference with the SDRAM we changed to (they are from
    the same manufacturer ISSI, who say other than the size they are the same). I
    wrote the following c code in the working program to test the RAM.

    while(1)

    {

    unsigned int temp = 0xFFFF;

    unsigned int count = 0;

    unsigned int error = 0;

    unsigned int buffer;

    temp =
    0xFFFFFFFF;

    count = 0;

    error = 0;

    while (count < 0x10000)

    {

    *((unsigned int *)(0x80000000 | count)) = temp;

    count +=
    2;

    temp -= 4;

    }

    count = 0;

    temp = 0xFFFF;

    while (count < 0x10000)

    {

    buffer =
    *((unsigned int *)(0x80000000 | count)) &
    0xFFFF;

    if(buffer != temp)

    error++;

    count +=
    2;

    temp -= 4;

    }

    if(error)

    error = 0;

    }

    All the reads were errors, so I had one board changed to have the old flash on. I got that back today and it still doesn't work. I have spent a lot of time playing around with register and timing values and got no where. My emif registers in my gel file are as follows

    /* EMIF setup */

    *(int *)EMIF_GCTL = 0x00003068;

    *(int *)EMIF_CE0 = 0xffffbf93; // CE0 SDRAM 0x10528191

    *(int *)EMIF_CE1 = 0x02208812; // CE1 Flash 16-bit 0x01208812

    *(int *)EMIF_CE2 = 0x22a28a22; // CE2 Daughtercard 32-bit async

    *(int *)EMIF_CE3 = 0x22a28a22; // CE3 Daughtercard 32-bit async

    *(int *)EMIF_SDRAMTIM = 0x00000578; // SDRAM timing (refresh)

    *(int *)EMIF_SDRAMEXT = 0x000a8529; // SDRAM Extension register

    *(int *)EMIF_SDRAMCTL = 0x6348F000; // SDRAM control (16 Mb)

    With this out of a possible 0x7FFF errors there is about 0x7DF5 this fluxtuates and isnt fixed but is allways 0x7Dxx so some reads allways work but the majority don't. I have investigated this thurther and the working reads dont seem to tie up with any data or address lines being disconnected.

    I am really puzzeled with this now any help would be great.

    I have tried the above code on my old board where the RAM and DSP are wired identically and it works with no errors.

    Thanks

    Sean

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sam Kuzbary
    Posted by Sam Kuzbary
    on Apr 24 2012 14:05 PM
    Expert2655 points

    Greetings,

    First make certain that your data cache is disabled for now during your testing.

    And not knowing your hardware, I compared your EMIF setup with the original one for the DSK below

        *(int *)EMIF_GCTL     = 0x00000068;
        *(int *)EMIF_CE0      = 0xffffbf33;     // CE0 SDRAM
        *(int *)EMIF_CE1      = 0x02208802;     // CE1 Flash 8-bit
        *(int *)EMIF_CE2      = 0x22a28a22;     // CE2 Daughtercard 32-bit async
        *(int *)EMIF_CE3      = 0x22a28a22;     // CE3 Daughtercard 32-bit async
        *(int *)EMIF_SDRAMCTL = 0x57115000; // SDRAM control (16 Mb)
        *(int *)EMIF_SDRAMTIM = 0x00000578;     // SDRAM timing (refresh)
        *(int *)EMIF_SDRAMEXT = 0x000a8529;     // SDRAM Extension register

    and would like you to ascertain that they are all fit to your device choice mixture (which appear to be different from the DSK).

     

    Next, your test code is for a 32 bits unsigned integer space in SDRAM.  It is incrementing the address increment "count" by 2 bytes.  Please clarify that is what you wanted to do.

     

    Last, post your results for a follow up.

    Good Luck,

    Sam

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sam Kuzbary
    Posted by Sam Kuzbary
    on Apr 24 2012 14:37 PM
    Expert2655 points

    BTW, I assume your old board design uses a different EMIF setup.  Pls clarify.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sean Bedford
    Posted by Sean Bedford
    on May 01 2012 10:41 AM
    Verified Answer
    Verified by Sean Bedford
    Intellectual940 points

    Hi Sam,

    Sorry i didn't reply for so long.  The boards were the same.  A week or so ago I sat down scoping the emif signals (nor easy with BGA and such small resist covered vias).  It came to light that there was a short on one board between CE0 and GND (this would be the board that isnt working at all).  The other board I could fill the RAM and there were clear patterns indicating some Address and Data lines were also shorted to GND or +v.

    This was the two new build boards.  I have two prototype boards from the build before with the same emif setup that work perfectly.

    So the reason I am replying now is that I have now concluded the problem is with the board.  In the end our assembly house x-rayed it looking for the short and the PCB layers are clearly misaligned quite shockingly.

    This is very frustrating as the same people made the boards that work and they come very highly recommended by our assembly house who we have used for years so we had no reason to suspect the board but hopefully this was a one off mistake.

    Many thanks for you assistance.

    Sean

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Sam Kuzbary
    Posted by Sam Kuzbary
    on May 03 2012 07:45 AM
    Expert2655 points

    Greetings,

    It is good to get to the bottom of it.  Please mark the thread resolved.

    Good Luck,

    Sam

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use