Quantcast
Channel: Infineon Forums
Viewing all 9892 articles
Browse latest View live

XMC1403 can-bus gateway - how to make it?

$
0
0
Hello !

I want to write application that pass all can-bus messages from node X to node Y and vice versa.
But also I want to add some extra functionality for example:
- let say ID 0x123 - I want to send this message to other can node but also read some byte value and store it in some global variable
- let say ID 0x567 - I want to send this message to other can node but also negate all data bytes
- there can be more messages with some specific ID when I need to do some data processing of can data

How can I do this?
- receive incoming data to node X and send it to node Y and check in the middle time if msg ID was 0x123 or 0x567?
- or I can do it in some automatic way?

Best regards
Jakub

Porst tc297

$
0
0
hi guys
I would like to design a new PCB with a TC297. A requirement is to keep it as simple as possible. Now my Question, is it possible to connect the PORST only with a pull-up to Power supply (It's not requested to use a extern PORST), without any other Voltage observation devices like WD or reset Signals. I have reservations doing this and would like to know what I need to take into consideration..??

I have a problem when I creating an uart project using DAVE APP

$
0
0
I creat an uart project using UART APP,NVIC APP of XMC4500,baudrate 19200,8 bit data,no parity,1 stop bit,I enable the "standard receive event" ,but it never goes into the interrupt roution,however it works with XMC1300.Then I have to enable the "alternate receive event",but it always goes into "insert_exceptionHandler BusFault_handler" these days but "insert_exceotionHandler USIC0_5IRQHandler" several days ago after I send a number to the xmc4500 board.I don't know why.

Sample code for Tricore Aurix TC267D

XMC 2Go I2C error handling when no device is connected

$
0
0
Hello kamils,

Are you using DAVE4? In case of using it, could you please provide your code/project?
I've been trying to use I2C+Sense2Go to read a TLV493D (on DAVE4) but it isn't working as expected. I did it on DAVE3 but I want to move to the newest one.

Thank you,
Best regards.

XMC4500 UART not always reciving data

$
0
0
Hello,
I am trying to communicate between STM32F4 and XMC4500 via UART.
I made simple function to initialize connection and XMC doesn't always see data coming back from STM

Code:

       
while(init == 1)
        {
                UART_Receive(&UART_0, rec_data, 6);
                if((rec_data[0] == 0x00) && (rec_data[2] == 0xCC) && (rec_data[4] == 0x00))
                {
                        uint8_t ack = 0;
                        while(ack == 0)
                        {
                                UART_Transmit(&UART_0, &odp[0], 1);
                                UART_Receive(&UART_0, &ack, 1);
                                while(UART_IsRxBusy(&UART_0));
                                for(uint32_t i = 0; i < 5000;i++);
                        }
                        init = 0;
                }

The problem happens inside the"ack while", where XMC is constantly sending odp[0], and ignoring STMs response (which is the same value as odp[0]).
I've checked signal on a signal analyzer and it seems that UART_Receive just does nothing, while(UART_IsRxBusy(&UART_0)); finishes after just one check on a statement.

Any solutions?

Using DAVE 4 APP project with IAR EWARM

$
0
0
I'm using an XMC1404-0200 with DAVE 4 and several DAVE APPs. I need to use IAR instead of gcc as the build tools.
Is it best to use IAR to import the config.xml file and just develop and test in the IAR EW or should I change the build tools in Eclipse to the IAR compiler, assembler and linker and continue to develop and test in Eclipse?

Detect that device has been disconnected from PC USB Host

$
0
0
For some reason, I do get the GINTSTS.OTGInt interrupt when removing the cable from another PC Host. The interrupt won't fire if cable is removed from my main PC Host. Very odd.

CAN conflict

$
0
0
SOLVED: I chanced on the following thread, first part of which answered my question:
https://www.infineonforums.com/threa...can_config-app
So I've configured up as described. For receive pin, you use HW Signal Connections, to link DIGITAL_IO pin to MULTICAN_CONFIG.
Whereas for transmit pin, you use HW Signal Connections, to link MULTICAN_CONFIG tx_pin_node0 to DIGITAL_IO pin.
DAVE seems like a puzzle guessing game sometimes..
For tx FIFO, I've configured up per MO1+2 in the Infineon MULTICAN example project.
Just waiting on our USB-to-CAN adaptor, to be able to check if works..

CCU4 capture register contains no data with XMC1300 internal temperature over 85 °C

$
0
0
We have an LED lighting application using DALI, based on XMC1300. The lamp must operate continuously at over 85°C.

We discovered in testing that the DALI interface fails to receive data when the MCU internal temperature exceeds approximately 85 °C.

We traced this failure back to the CCU4 module. The CCU4 generates an interrupt on edge detection, but the
capture register does not contain valid data.

That is, the interrupt is generated, but the capture register value is zero.

As soon as the temperature is reduced, the capture register once more contains valid results.

Part number is XMC1302-T038X0200 AB. This part is rated for use up to 105 °C.

Can anyone provide us with guidance on how to proceed?

IR21844S Variable Capacitance Load Driver Problem

$
0
0
Hi, the company I work for designed this circuit to drive a variable capacitance load. The ideal waveform shape would be a trapezoidal pulse with a controlled upward slope (about 60V/us) a width, and a controlled downward
slope of the same magnitude. Here is the relevant schematic section:

Attachment 3153

And I of course have the bootstrap:
Attachment 3154

The slope is supposed to be independent of the load's capacitance, but on the scope it clearly isn't. I suspect it's because as the C increases, it takes longer to charge, which takes longer to feedback thru the bootstrap, and etc.
Is there any way for me to make the high-voltage output independent of the driver? Like, if I'm switching a high voltage of 96V, could I connect, say, 108V directly to the BS input, and not have that feedback? My understanding
is the need for bootstrap is because the gate on the MOSFET has to go so much higher than the voltage being switched. Can I do something else?

Thanks! Dan B.
?????

How to give the master a random and a short address to my slave device?(DALI Protocol

$
0
0
I absolutely do not understand what is happening in this DALI library.
on the screen went to the breakpoint.
following the steps:
https://ibb.co/nJXyvb

I enter the function:
Code:

uint32_t DALICG02_uiCheckAddr (const DALICG02_ConfigHandleType \
* DALICG02_HandlePtr)

In DALICG02.C
and find out that our request:
Code:

DALICG02_Special_cmd (DALICG02_HandlePtr);
which is logical!
execute the function before our request:
Code:

case DALICG02_QUERY_SHORT_ADDR:
go to the condition:
Code:

if (DALICG02_Special_uiDevice_selection (DALICG02_HandlePtr)) <--- true?
check:
Code:

if ((DALI102_HandlePtr-> uiPhysical_sel_mode == DALICG02_PHYSICAL_ENABLED) || \
****************(DALI102_HandlePtr-> stOther_flags.bCompare_en && \
************************DALICG02_Special_uiCompare_addr (DALICG02_HandlePtr)))

again we check the function inside the condition:
Code:

DALICG02_Special_uiCompare_addr (DALICG02_HandlePtr)
inside this function there is a condition:
Code:

if ((DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_H == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_H]) && \
******(DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_M == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_M]) && \
******(DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_L == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_L]))
**{
****status = 1U;
**}
**else
**{
****status = 0U;
**}
**return status;

Since the RANDOMISE command already existed, then status = 0U.
This status we drag through all previous functions and take off from the function without getting the address:
Code:

/case DALICG02_QUERY_SHORT_ADDR:
******if (DALICG02_Special_uiDevice_selection (DALICG02_HandlePtr))
******{
********if (DALI102_HandlePtr-> stStatus_info.bMissing_short_addr)
********{
**********DALI102_HandlePtr-> uiSlave_TX_data = DALICG02_BYT_MASK;
********}
********else
********{
**********DALI102_HandlePtr-> uiSlave_TX_data = \
**********((DALI102_HandlePtr-> aucDALICG02_var [DALICG02_SHORT_ADDR] << 1) | (0x01U));
********}
********DALI102_HandlePtr-> stDALICG02_flags.bResponse_req = value.bitOne;
******}

the question is: can this be the problem?
Answer at least something, but it's more a monologue than a forum =)

CCU4 capture register contains no data with XMC1300 internal temperature over 85 °C

$
0
0
We have an LED lighting application using DALI, based on XMC1300. The lamp must operate continuously at over 85°C.

We discovered in testing that the DALI interface fails to receive data when the MCU internal temperature exceeds approximately 85 °C.

We traced this failure back to the CCU4 module. The CCU4 generates an interrupt on edge detection, but the
capture register does not contain valid data.

That is, the interrupt is generated, but the capture register value is zero.

As soon as the temperature is reduced, the capture register once more contains valid results.

Part number is XMC1302-T038X0200 AB. This part is rated for use up to 105 °C.

Can anyone provide us with guidance on how to proceed?

How to give the master a random and a short address to my slave device?(DALI Protocol

$
0
0
I absolutely do not understand what is happening in this DALI library.
on the screen went to the breakpoint.
following the steps:
https://ibb.co/nJXyvb

I enter the function:
Code:

uint32_t DALICG02_uiCheckAddr (const DALICG02_ConfigHandleType \
* DALICG02_HandlePtr)

In DALICG02.C
and find out that our request:
Code:

DALICG02_Special_cmd (DALICG02_HandlePtr);
which is logical!
execute the function before our request:
Code:

case DALICG02_QUERY_SHORT_ADDR:
go to the condition:
Code:

if (DALICG02_Special_uiDevice_selection (DALICG02_HandlePtr)) <--- true?
check:
Code:

if ((DALI102_HandlePtr-> uiPhysical_sel_mode == DALICG02_PHYSICAL_ENABLED) || \
****************(DALI102_HandlePtr-> stOther_flags.bCompare_en && \
************************DALICG02_Special_uiCompare_addr (DALICG02_HandlePtr)))

again we check the function inside the condition:
Code:

DALICG02_Special_uiCompare_addr (DALICG02_HandlePtr)
inside this function there is a condition:
Code:

if ((DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_H == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_H]) && \
******(DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_M == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_M]) && \
******(DALI102_HandlePtr-> stDALICG02_search_addr.uiSearch_addr_L == \
********DALI102_HandlePtr-> aucDALICG02_var [DALICG02_RANDOM_ADDR_L]))
**{
****status = 1U;
**}
**else
**{
****status = 0U;
**}
**return status;

Since the RANDOMISE command already existed, then status = 0U.
This status we drag through all previous functions and take off from the function without getting the address:
Code:

/case DALICG02_QUERY_SHORT_ADDR:
******if (DALICG02_Special_uiDevice_selection (DALICG02_HandlePtr))
******{
********if (DALI102_HandlePtr-> stStatus_info.bMissing_short_addr)
********{
**********DALI102_HandlePtr-> uiSlave_TX_data = DALICG02_BYT_MASK;
********}
********else
********{
**********DALI102_HandlePtr-> uiSlave_TX_data = \
**********((DALI102_HandlePtr-> aucDALICG02_var [DALICG02_SHORT_ADDR] << 1) | (0x01U));
********}
********DALI102_HandlePtr-> stDALICG02_flags.bResponse_req = value.bitOne;
******}

the question is: can this be the problem?
Answer at least something, but it's more a monologue than a forum =)

GUI for DEMS DK kit

$
0
0
Hai,

We are trying to interface the Diesel Engine Management Kit with sensors and actuators. The Microcontroller used in this DEMS kit is Aurix 275 series.
We need GUI.exe to the visualize the same. Where can we download it from?


Thenmozhi.G

XMC4200 SPI Change SELO pins during program execution

$
0
0
Hello,
I want to manage two Slave devices by means of SPI protocol with my XMC4200 as Master. These two devices are connected to P0.7 and P1.0, respectively. Both pins are availabre for SELO0 in the XMC4200.
In the Dave App I select P0.7 as SELO0. During the main program I want to change the SELO0 to the other pin P1.0 to manage both devices when I need.
I need help with the neccesary intructions to change the SELO0 pin P0.7 to P1.0 and viceversa.
Regards,

Victor

Buck_vc_fix_fq driver

$
0
0
Hello,

I am using BUCK_VC_FIX_FQ APP for development.
I would like to know how can i modify control setting to adjust PI loop?
Please see attached screenshot.
Thanks,
Abhishek Sabnis
?????

XMC MCU memory monitor in DAVE debug mode

$
0
0
Dear Sir:
We have question to you.
Hope your support needs.
This question is about the DAVE software function

We use the XMC4500 Firmware update via SD card example code.
And running in the XMC4500 relax kit.
The example code ABM address is 0x080C000

question:
Because I have modify this ABM address to 0x0808000
When Flash erase or write data,
I want make sure that check this ABM address(0x0808000)
How to monitor the Flash information in DAVE debug mode?




THX

DAVE4 DALI Support?

$
0
0
Hello,

DAVE3 has DALI App: DALICG02
What about DAVE4? I did not find DALI App where :(

BR
K

Looking for the XC164CM UCAN Starter kit USB stick

Viewing all 9892 articles
Browse latest View live