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

cross mob
acwa
Level 1
Level 1
25 sign-ins 5 replies posted 5 questions asked

Hi,

I´m trying to get the EMUX running on a XMC4300 Relax Board.

When starting the firmware, the EMUX pins gets configured / switched high / low depending on the first channel I select. But afterwards nothing happens any more on this pins 😞

Any idea what could be wrong?

Achim

0 Likes
2 Replies
ncbs
Moderator
Moderator
Moderator
500 replies posted 50 likes received 250 sign-ins

Hi @acwa,

Are you trying to use EMUX0 or EMUX1? 

Do you mean to say that changing the logic values on these control pins does not change the input? Or do you mean to say that the selected input is not being forwarded to the ADC input?

Just make sure that you have selected 1 to enable the EMUX group being used.

ncbs_3-1681122880054.png

ncbs_0-1681122332401.png

Regards,
Nikhil

0 Likes
acwa
Level 1
Level 1
25 sign-ins 5 replies posted 5 questions asked

Hi Nikhil,

thanks for your response! I´ve tried both EMUX (0 and 1). I think the configuration to use the EMUX is successful, because the address pins switch to the first channel after reset. But then there´s no sequencing on this address pins for the next channels. ( btw: I´m not sure, if the sequencing for the internal channels is working). Here´s my configuration in global_adc_conf.c

const XMC_VADC_GROUP_CONFIG_t group_init_handle0 =
{ .emux_config =
{ .stce_usage = (uint32_t) 1, /*Use STCE when the setting changes*/
.emux_mode = XMC_VADC_GROUP_EMUXMODE_SEQUENCEMODE, /* Mode for Emux conversion*/
.emux_coding = XMC_VADC_GROUP_EMUXCODE_BINARY, /*Channel progression - binary format*/
.starting_external_channel = (uint32_t) 0, /* Channel starts at 0 for EMUX*/
.connected_channel = (uint32_t) 0 /* Channel connected to EMUX*/
}, .class0 =
{ .sample_time_std_conv = (uint32_t) 0, /*The Sample time is (2*tadci)*/
.conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, /* 12bit conversion Selected*/
.sampling_phase_emux_channel = (uint32_t) 0, /*The Sample time is (2*tadci)*/
.conversion_mode_emux = XMC_VADC_CONVMODE_12BIT /* 12bit conversion Selected*/
}, /* !<ICLASS-0 */

If it´s easier for you I also can send you the hole project...

Best regards,

Achim

0 Likes