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.
Part Number: DRV2604
What would be the recommended way to immediately stop a DRV2604 waveform executing from RAM, or to at least verify that no waveform is currently running, in order to update the program data? I've tried clearing the GO bit, but this doesn't seem to stop the currently executing waveform.
As would be expected, if I update the program data while a waveform is executing, strange things happen.
Welcome to E2E and thank you for your interest in our products!
The waveform sequence begins at register address 0x04 when the user asserts the GO bit (register 0x0C). The GO bit remains high until the playback of the haptic waveform sequence is complete, so you may monitor the activity of the waveform sequencer with the help of this bit.
When the GO bit is cleared, the selected function should be stopped immediately. Have you tested this operation with a connected actuator? I mean, in closed-loop mode you could see a breaking signal once you clear the GO bit. So, the actuator should be stopped and there could be still a waveform executing.
Please let me know if you have quesitons or comments on this.
Best regards,Luis Fernando Rodríguez S.
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Luis Fernando Rodriguez S.:
I've tested clearing the GO bit by executing a single waveform that simply consists of a constant voltage for 6 seconds. Clearing the GO bit seems to have no effect on the execution of this waveform; I've only been able to stop execution by setting DEV_RESET. As I understand it, the GO bit seems to affect sequence execution, but the current step in the sequence will still run to completion. Is this correct?
In reply to Marcus Niekraszewicz:
Yes, this is correct. The current waveform step or voltage/time pair must finish in order to take effect. Do you have this behavior in your application? I mean, if you clear the GO bit at the middle of the whole sequence, does the rest of the voltage/time pairs are interrupted?
The GO bit sequencing behavior doesn't matter to me right now. I'm more concerned about individual longer-running waveforms continuing to run when I expect them to be completed, and the GO bit reads 0. Is resetting the device with DEV_RESET the best action to take in this case, or is there another recommended procedure to ensure nothing is running?
Could you try writing the STANDBY bit in register 0x01? This bit should force the device to stop immediately.
Please let me know how it results.
Thanks, that seems to work!
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. 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.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.