Quantcast
Channel: Motor drivers forum - Recent Threads
Viewing all articles
Browse latest Browse all 14309

DRV2667: Sporadically Ignoring Waveform Sequencer Calls

$
0
0

Part Number:DRV2667

Hi,

I'm using an Arduino to define and queue waveforms on the driver via i2c, which works very well most of the time. The issue I'm running into is that sometimes, when a long continuous waveform is interrupted by a short one, the short waveform does not play. The long waveform is always interrupted in the same place using the same i2c message, so I do not understand why it would randomly not function properly. The long waveform always stops, so I know the GO bit is resetting, but the subsequent calls to the waveform sequencer seem to be ignored. I am using waveform synthesis mode and loading all waveforms into RAM on startup to be recalled later. The i2c messages I'm using are here:

      Wire.write((byte)0x02);   //exit standby mode
      Wire.write((byte)0x00);

      Wire.write((byte)0x03);   //set sequencer to play Waveform ID 1
      Wire.write((byte)(0x01));

      Wire.write((byte)0x04);   //set sequencer to play Waveform ID 2 after ID 1
      Wire.write((byte)(0x02));

      Wire.write((byte)0x05);   //End of sequence
      Wire.write((byte)0x00);

      Wire.write((byte)0xFF);   //set page register to control space
      Wire.write((byte)0x00);

      Wire.write((byte)0x02);   //set GO bit
      Wire.write((byte)0x01);

My understanding is that as long as the GO bit is cleared, waveform playback should stop, the queue should be cleared, and the sequencer can be set to start the desired waveforms once the GO bit is set again. Is there a call I'm missing to make this function reliably?

Thanks,

Mitch


Viewing all articles
Browse latest Browse all 14309

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>