CAN and Ramping D to A

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User16753
Level 1
Level 1
Hello,

I am completely new to DAVE 4.2, I have an XMC 4700 Relax kit with CAN.

I am working on an automotive voltage hold-up during cranking & backup power project.

What I want to do to get me started is.

Receive a 29bit CAN message at 500 Kbaud.

CAN message has 3 signals: D to A start value, D to A end value, Ramping rate from start to end 0 = Fastest rate, 0xFFFF = Slowest rate

I will feed the D to A to my 100 Amp DC response amplifier.

Is there a demo program that already does this?
0 Likes
3 Replies
User16753
Level 1
Level 1
I've been looking at the D to A.

Looks like the D to A Ramps Up or Down very smoothly a good function. However, the D to A does not generate an interrupt when it gets to the final value in the ramp mode, also, I don't want the ramping to restart a cycle again.

How do I get around this?

* Use the DMA controller to generate ramps?
* Have a second timer to generate an interrupt when the ramp is calculated to be finished?

Single value D to A mode uses too much micro resources, I want ramps from 100us to 10s

any ideas?
0 Likes
lock attach
Attachments are accessible only for community members.
User16753
Level 1
Level 1
Attachment is the program I have done to ramp the D to A between values. Runs on a XMC4700 relax dev board.

The program generates an up or down ramp every one second without micro resources.

When the D to A changes between ramp mode & single value mode there is an unwanted 10 microsecond glitch. How do I get rid of the glitch?
0 Likes
lock attach
Attachments are accessible only for community members.
User16753
Level 1
Level 1
Attached is a program for generating severe cold cranking waveform, VW 80000 (severe)

You need a XMC4700 relax board + noninverting power opamp with a gain of 8 to make it work.

Push button to make waveform.
0 Likes