• 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 » Microcontrollers » Hercules™ Safety Microcontrollers » Hercules™ Safety Microcontrollers Forum » Resetting of DMA
Share
Hercules™ Safety Microcontrollers
  • Forum
  • E2E Wiki
Options
  • Subscribe via RSS

Forums

Resetting of DMA

This question is answered
Steve Newnham
Posted by Steve Newnham
on Apr 05 2012 06:10 AM
Intellectual570 points

Hi,

I have DMA transfers set up which are driven from HW interrupts generated by an SPI module.  They are set up so as the data to send is DMA'd in to the SPI Tx buffer each time the SPI Tx buffer becomes full, and the other is set to DMA'd received data out of the SPI Rx buffer each time it is full.

I have it configured correctly since all is working as expected.

However, for the purposes of error recovery I would like to be able to reset one of the DMA channels.  That is to reset the channel's DMA state machine so as the working registers are reset to the values held in the control registers.  So as the DMA channel is back in its original state prior to any DMA having occurred.  Is this possible?

I do not want to complexly reconfigure the DMA since this would upset the other channels, or reconfigure the channel necessarily.

I cannot find in the TRM a suitable way of doing what I want.  Is it possible?

I have, as an experiment, re-written some of the control information* to the control packet for the channel I want to reset but this appears to stop the DMA permanently for the particular channel.

Any help or leads would be appreciated.

Thanks in advance,

Steve

* The note on p1471 section 20.3.4 TRM Aug 2011 implies that this should cause a reset.  May be only if the DMA is pending?

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Jean-Marc Mifsud
    Posted by Jean-Marc Mifsud
    on Apr 05 2012 14:11 PM
    Genius10345 points

    Steve,

    Thanks to use our TMS570 Forum.

    We are taking care of your question and we will be back to you shortly.

    Regards,

    Jean-Marc

    Best regards,

    Jean-Marc

    Application Engineer


    If my reply answers your question please click on the green button "Verify Answer".

    DMA TMS570
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Jean-Marc Mifsud
    Posted by Jean-Marc Mifsud
    on Apr 10 2012 15:47 PM
    Genius10345 points

    Steve,

    I've an option to be tested in your application.

    -          Disable Chnl (ensure events don’t occur from this point)

    -          Write to any 1 word of the CP of the erroneous chnl. That way the DMA clears the Dirty and Pend bit. DMA loses all memory of this channel.

    -          Re-enable chnl (events can occur again from this point)

    Please can you try and let me know if this help with your problem.

    Regards,

    Jean-Marc

    Best regards,

    Jean-Marc

    Application Engineer


    If my reply answers your question please click on the green button "Verify Answer".

    DMA TMS570
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steve Newnham
    Posted by Steve Newnham
    on Apr 11 2012 02:59 AM
    Intellectual570 points

    Jean-Marc,

    thank you for you reply.

    I will try your suggestion.

    One question, however:

    The word that is written to the CP; should that be a re-write of the original data or a write of some new value, followed by a write of the original data?

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Jean-Marc Mifsud
    Posted by Jean-Marc Mifsud
    on Apr 12 2012 10:03 AM
    Verified Answer
    Verified by Steve Newnham
    Genius10345 points

    Steve,

    I've received an update on your question.

    You can write  to offset 0x0c of the CP. It is a reserved field. With this method, you don't have to re-write to the CP any more before re-enabling the chnl.

    Regard,

    Jean-Marc

    Best regards,

    Jean-Marc

    Application Engineer


    If my reply answers your question please click on the green button "Verify Answer".

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steve Newnham
    Posted by Steve Newnham
    on Apr 12 2012 10:08 AM
    Intellectual570 points

    Jean-Marc,

    thanks for the reply I will give it ago.

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steve Newnham
    Posted by Steve Newnham
    on Apr 13 2012 05:56 AM
    Intellectual570 points

    Jean-Marc,

    I can confirm; that writing to the reserved register you mentioned, has the desired effect of reseting the DMA for the particular channel.

    Thank you for your help, consider the thread closed.

    Steve

    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