Not applicable
Jan 05, 2016
11:27 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 05, 2016
11:27 PM
11 Replies
Jan 06, 2016
07:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 06, 2016
07:17 PM
Hi,
For your information that this is a die temperature sensor. Is this the one you are looking for?
For your information that this is a die temperature sensor. Is this the one you are looking for?
Not applicable
Jan 06, 2016
09:07 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 06, 2016
09:07 PM
Yes, I'm looking example code for TSE.
Jan 07, 2016
11:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 07, 2016
11:53 PM
Hello,
The XMC Lib for SCU provides some APIs to access the temperature sensor in XMC1000.
An example code to read out the temperature to a variable temp_k is shown below:
Please remember to add the line for the include file:
Regards,
Min Wei
The XMC Lib for SCU provides some APIs to access the temperature sensor in XMC1000.
An example code to read out the temperature to a variable temp_k is shown below:
/* Enable TSE */
XMC_SCU_StartTempMeasurement();
/* Calculate temperature of the chip in Kelvin */
temp_k = XMC_SCU_CalcTemperature();
Please remember to add the line for the include file:
#include "xmc_scu.h"
Regards,
Min Wei
Attachments are accessible only for community members.
Jan 08, 2016
02:02 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 08, 2016
02:02 AM
Not applicable
Jan 10, 2016
09:38 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 10, 2016
09:38 PM
Thanks.
Is it in the newest XMC Peripheral Library? Can I download it?
Is it in the newest XMC Peripheral Library? Can I download it?
Jan 10, 2016
10:15 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jan 10, 2016
10:15 PM
Hello jsmith65,
The examples call the temperature sensor APIs which are part of the newest SCU XMC Lib.
Regards,
Sally
The examples call the temperature sensor APIs which are part of the newest SCU XMC Lib.
Regards,
Sally
Not applicable
Mar 01, 2016
02:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 01, 2016
02:57 AM
The previous codes don't work on XMC1100 (tried on XMC1100 boot kit, StepAA)
Here is my code, temp_k is always 64(decimal).
Could you send a working code for XMC1100?
Tried this code on XMC1300 boot kit: hangs up on XMC_SCU_CalcTemperature.
I'm looking for also a formula: how to calculate temp_kelvin from TSE_MON .
Here is my code, temp_k is always 64(decimal).
Could you send a working code for XMC1100?
#include "XMC1100.h"
#include "GPIO.h"
void main(void)
{
uint32_t temp_C = 0;
uint32_t temp_k = 0;
uint32_t limit = 0;
uint32_t delay = 10000;
/* Initialize port pins to output mode */
P1_5_set_mode(OUTPUT_PP_GP);
P1_5_reset();
/* Enable DTS */
XMC_SCU_StartTempMeasurement();
while(1)
{
/* Calculate temperature of the chip in Kelvin */
temp_k = XMC_SCU_CalcTemperature();
/* Convert temperature to Celcius */
temp_C = temp_k - 273;
if (temp_C > 25)
{
P1_5_toggle();
}
while(--delay);
delay = 10000;
}
return 0;
}
Tried this code on XMC1300 boot kit: hangs up on XMC_SCU_CalcTemperature.
I'm looking for also a formula: how to calculate temp_kelvin from TSE_MON .
Aug 20, 2017
10:03 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aug 20, 2017
10:03 AM
it still hangs on XMC1300.
Am I missing something here? Seems like the ROM address in the library might be wrong.
FYI both XMC_SCU_CalcTemperature and XMC_SCU_SetTempHighLimit function hang.
EDIT:
For those who may have the same problem, please refer to the XMC1300 Errata.
It is necessary to use an external library function, which should be included from file named
XMC1000_tseRoutine.c. Headers from XMC1000_TSE.h are also useful.
Am I missing something here? Seems like the ROM address in the library might be wrong.
FYI both XMC_SCU_CalcTemperature and XMC_SCU_SetTempHighLimit function hang.
EDIT:
For those who may have the same problem, please refer to the XMC1300 Errata.
It is necessary to use an external library function, which should be included from file named
XMC1000_tseRoutine.c. Headers from XMC1000_TSE.h are also useful.
Attachments are accessible only for community members.
Aug 21, 2017
08:21 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aug 21, 2017
08:21 AM
Dec 22, 2017
12:14 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dec 22, 2017
12:14 PM
Using this code:
/* Enable TSE */
XMC_SCU_StartTempMeasurement();
/* Calculate temperature of the chip in Kelvin */
temp_k = XMC_SCU_CalcTemperature();
Using the XMC1400 boot kit the function "XMC_SCU_CalcTemperature()" always returns 393.
Please help!
Joe.
/* Enable TSE */
XMC_SCU_StartTempMeasurement();
/* Calculate temperature of the chip in Kelvin */
temp_k = XMC_SCU_CalcTemperature();
Using the XMC1400 boot kit the function "XMC_SCU_CalcTemperature()" always returns 393.
Please help!
Joe.
Sep 06, 2019
02:05 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 06, 2019
02:05 PM
I know this question is old, and I am probably wasting my time posting a response, but maybe I can save somebody a little trouble in the future.
The short answer is, that the XMC_CalcTemperature, or any of its derivatives and variants, does not work correctly because it was never fully implemented by Infineon, which is why it is not included in the #defines in XMC1000_RomFunctionTable.h
The slightly longer answer is that the code as it exists in the XMC1400 boot kit hardware requires four parameters that are supposed to be available in the flash starting at address 0x10000f20, but they are missing (all 0xffffffff). As a result, the calculation always returns 393 since it is the maximum value the sensor was supposed to be good for.
The calculation routine starts at address0x539, so you can set a breakpoint to it in the debugger and overwrite the address that it uses for these values to some place in RAM, and experiment with different values (min, max, gain, offset), but these numbers will be different for each device, so there isn't much point.
The short answer is, that the XMC_CalcTemperature, or any of its derivatives and variants, does not work correctly because it was never fully implemented by Infineon, which is why it is not included in the #defines in XMC1000_RomFunctionTable.h
The slightly longer answer is that the code as it exists in the XMC1400 boot kit hardware requires four parameters that are supposed to be available in the flash starting at address 0x10000f20, but they are missing (all 0xffffffff). As a result, the calculation always returns 393 since it is the maximum value the sensor was supposed to be good for.
The calculation routine starts at address0x539, so you can set a breakpoint to it in the debugger and overwrite the address that it uses for these values to some place in RAM, and experiment with different values (min, max, gain, offset), but these numbers will be different for each device, so there isn't much point.