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

Bootloader from CAN BUS to flash

$
0
0
OpenBLT bootloader developer here.

The OpenBLT bootloader has all the functionality you mentioned already build-in. After a reset the bootloader always runs first for a short (and configurable) amount of time. If a specific CAN message (XCP Connect Command)
is received within this amount of time, the firmware update continues and the newly programmed firmware is automatically started afterwards. If the CAN message is not received, the currently programmed firmware is started.

The download archive contains demo programs for the XMC1400 Boot Kit and the XMC4700 Relax Kit. Both are preconfigured for firmware updates via CAN, so you could use these demo programs as a starting point. You
can download OpenBLT from here. Additional information can be found in the FAQ.

With kind regards,

Frank

TC233 Multican Interrupts

$
0
0
Are there others interrupt with higher priority, or maybe you really never leave this interrupt ?

IfxCpu_enableInterrupts() is pointles in this case.

when program enter interrupt it disable other interrupts and when it leaves interrupt it re-enable interruptions ,
IfxCpu_enableInterrupts() is used when you need to use interrupts when you're already in interrupt.

1EBN1001AE Active Clamping Component Specification

BGT24LTR11 maching structures

$
0
0
Dear Montassar:

According to the matching structure for the TX and RX port in AN472 Fig13, I made a simulation with ADS. For the TX port, the ADS schematic is:

Attachment 4006

The TX port-impedance calculated with zin is about 116 + j0 ohm, and RX is about 112+j34.5, which are quite different with the values in your post.

What is the problem with my ADS model?

Thanks,
Jhon
?????

EVAL BGT24LTR11 BOARD FMCW mode

$
0
0
Quote:

Originally Posted by emacar View Post
Hi,
Thanks for the suggestion.
But why am I not able to see the signal spectrum? For calculating the target distance I need to calculate the frequency peak in the spectrum as for the BGT24MTR11 chip.

The IF output is too small compared to the sawtooth leakage signal, it should be amplified by several dozens dB,
and the amplifier should also be a high pass filter, in order to attenuate the sawtooth leakage and the strong echos of near obstacles.

CAN BSL operation with XMC4000 vs XMC1400

$
0
0
Hi,

Unlike for XMC1400, there is a whole document for XMC4000 to use CAN BSL(https://www.infineon.com/dgdl/Infine...4936d188cd1659).
And in that document there is a section explaining how to program flash. So in XMC4000 it is possible to load program to flash.
In the document for XMC1400 about boot mode handling (https://www.infineon.com/dgdl/Infine...52d0591da87d34)
no mention of any flash operation. The document says that in CAN BSL mode program will be loaded to sram and if no init fram received from the client, CAN BSL starts the application in a certain flash location.
Are flash programming operations that are provided for XMC4000,valid for XMC1400 too ?

Installation of camera in Bien Hoa, Dong Nai

SPI receive data problem

$
0
0
Hi!
I'm using SPI on USIC0_CH1 of a xmc4800 144x196 chip and when i use the function XMC_SPI_CH_GetReceivedData(XMC_SPI0_CH1) i always get 0.
On the oscilloscope i see that both MISO and MOSI are carrying data, so why the read function gives 0?


Here there is my code

Code:


        uint16_t frame_out = 0x5555;
        uint16_t read = 0;

      /*Enable Slave Select line 0*/
        XMC_SPI_CH_EnableSlaveSelect(XMC_SPI0_CH1, XMC_SPI_CH_SLAVE_SELECT_0);

        XMC_SPI_CH_Transmit(XMC_SPI0_CH1, frame_out, XMC_SPI_CH_MODE_STANDARD);

        /*Wait till the byte has been transmitted*/
        while((XMC_SPI_CH_GetStatusFlag(XMC_SPI0_CH1) & XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION) == 0U);
        XMC_SPI_CH_ClearStatusFlag(XMC_SPI0_CH1, XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION);


        while((XMC_SPI_CH_GetStatusFlag(XMC_SPI0_CH1) & XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION) == 0U);
        XMC_SPI_CH_ClearStatusFlag(XMC_SPI0_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);

        read = XMC_SPI_CH_GetReceivedData(XMC_SPI0_CH1);

        /*Disable Slave Select line */
        XMC_SPI_CH_DisableSlaveSelect(XMC_SPI0_CH1);

These are the pins i'm using for SPI:

P2.2 MISO
P3.5 MOSI
P2.4 SCLK
P2.3 CS

AURIX ESR wake-up pin problem

$
0
0
hi,
I've got problem with ESR interruption in standby/run mode.

I'm recently configuring standby mode on aurix Tc222.
Data sheet says that ESR1 pin can generate interruption to wake-up microcontroller and can as well work as general input output.
I want to use this as wake-up trigger as well as general I/O that generates interruptions in run mode.

datasheet says also that ESR pins are handled by ERU module (Chapter 8.4.1.2) .
The problem is that, ERU module, neither Scu module, hasn't got any references, except few bit fields in register headers files(iLLD), to this pin .
I can only configure Scu module that concern few ESR registers in wake-up/standby mode but datasheet says
very few about software configuration in standby and nothing about using it in run mode.

Where can I find information how to configure it ?

ASCLIN for Tc38x

$
0
0
Hi ParthaMishra,

I need a favour from you.
I have bought Aurix TC387Q board . I need one demo code with the base frame work for this Aurix TC387Q board.Build through make file.
Can you please tell me from where i can get it??

Thanks.
Nizar

SPI App on XMC4500 Relax Kit does not Work, Flash cannot be accessed

$
0
0
Hi,

I downloaded a clean version of the SPI_EXAMPLE_XMC45 App and
after (and also before) generating the code, I started the app but it failed to access the Flash memory.

In the EraseSector() function the call to the N25Q03_StatusRead function (main.c:142) returns status == 255 but status == 2 is expected.

Does anyone have an idea what I need to do make this work. Do I need some other hardware settings?

Thank you in advance

Kuros

XMC1100 Sleep mode

$
0
0
Hi,

Any interrupt will wake your device, i.e. periodic interrupt or external pin interrupt.
Check the XMCLib distribution examples, i.e. XMCLib\examples\XMC1400_series\SCU\SCU_WAKEUP

Regards,
Jesus

Read from a file

QSPI code for TC399

$
0
0
Quote:

Originally Posted by cwunder View Post
This means it is using the interrupt vector table for CPU0. On TC399 you can have 6 CPUs meaning you can have 6 interrupt vector tables.


Do you have any source file, which I can refer to create my own Interrupt vector table.

Performance Counter Registers on TC297 board

$
0
0
Hi all,

Performance Counter Registers on TC297 board works only with connected usb cable on board (i suppose,it is debug mode).

Code:

        _mtcr(CPU_M1CNT,0);
        _mtcr(CPU_M2CNT,0);
        _mtcr(CPU_M3CNT,0);
        _mtcr(CPU_CCNT,0);

        _mtcr(CPU_CCTRL,0|(1<<1)|(2<<2)|(2<<5)|(2<<8));

        unsigned int value=_mfcr(CPU_CCNT);

but if i connect power supplier, value is null.

how does CPU_CCNT read without usb cable?

Thank you

Using the TLE987x to control 6 Relays

$
0
0
Hi mjkinfhtx,

thank you for your interest in our products!
The TLE987x can control three half-bridges independently, but not the corresponding high-side and low-side.
Best,
Fiz

XMC4500 read IP Address before Flash Ethernet initialization

$
0
0
Hi,

Currently the IP Address of the ethernet interface is hardcoded in the lwip header files.

Is it possible to circumvent this during Dave_init() so that the IP address can be read from Flash or a register or SD Card?

Thank you in advance

Kuros

tc27x cant receive CAN message from canoe using VN5610A CAN interface

$
0
0
Hello,

I made simple program in TASKING IDE where im sending CAN message from CAN node1 to CAN node0. I managed to send and receive CAN message with and without interrupt.

Now what i should do is connect tc27x board with CAN box(VN5610A CAN interface), send CAN message from CANOE and receive it on board but i cant get it working. Im using same code where sending
message from CAN node1 to CAN node0 is working properly, but when i connect CAN node0 to CAN interface, it just wont receive message. I tried using wires with and without termination resistors but still
no success.

My program never exits from while loop in RecV() function, even tho im sure i sent CAN message from CANOE.
Here is my code:

void RecV(void);
void SendMessage(void);
const unsigned id = 0x100 ;

IfxMultican_Can can;
IfxMultican_Can_NodeConfig canNodeConfig;
IfxMultican_Can_Node canSrcNode;
IfxMultican_Can_Node canDstNode;

IfxMultican_Can_MsgObj canSrcMsgObj;
IfxMultican_Can_MsgObj canDstMsgObj;

int main(void)
{
IfxMultican_Can_Config canConfig;
IfxMultican_Can_initModuleConfig(&canConfig, &MODULE_CAN);
IfxMultican_Can_initModule(&can, &canConfig);


IfxMultican_Can_Node_initConfig(&canNodeConfig,&ca n);
//Node 1
canNodeConfig.baudrate = 500000;
canNodeConfig.nodeId = IfxMultican_NodeId_1;
canNodeConfig.rxPin = &IfxMultican_RXD1B_P14_1_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD1_P14_0_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;

IfxMultican_Can_Node_init(&canDstNode, &canNodeConfig);

//Node 0

canNodeConfig.nodeId = IfxMultican_NodeId_0;
canNodeConfig.rxPin = &IfxMultican_RXD0B_P20_7_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD0_P20_8_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;


IfxMultican_Can_Node_init(&canSrcNode, &canNodeConfig);


//Msg

IfxMultican_Can_MsgObjConfig canMsgObjConfig;

IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig , &canSrcNode);

canMsgObjConfig.msgObjId = 0;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_transmit;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;
IfxMultican_Can_MsgObj_init(&canSrcMsgObj, &canMsgObjConfig);

//Recv
IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig , &canDstNode);

canMsgObjConfig.msgObjId = 1;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_receive;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;

IfxMultican_Can_MsgObj_init(&canDstMsgObj, &canMsgObjConfig);
CanNodeSetInterrupt(IfxMultican_RXD1B_P14_1_IN,Ifx Multican_SrcId_0,IfxSrc_Tos_cpu0,IFX_INTPRIO_CAN_N ODE1);

//SendMessage();
RecV();
}

void RecV()
{
IfxMultican_Message msg;
IfxMultican_Message_init(&msg, 0xdead, 0xdeadbeef, 0xdeadbeef, IfxMultican_DataLengthCode_8); // start with invalid values
// wait until Multican received a new message
while( !IfxMultican_Can_MsgObj_isRxPending(&canDstMsgObj) )
{
printf("Waiting for msg...\n");
}
// read message
IfxMultican_Status readStatus = IfxMultican_Can_MsgObj_readMessage(&canDstMsgObj, &msg);

printf("Received something!- %x %x\n",msg.data[0],msg.data[1]);
}

void SendMessage()
{
IfxMultican_Message msgSend;

IfxMultican_Message_init(&msgSend, id,0x00000000,0x00000000,IfxMultican_DataLengthCod e_8);
while( IfxMultican_Can_MsgObj_sendMessage(&canSrcMsgObj,& msgSend) == IfxMultican_Status_notSentBusy)
{
printf("CAN bus busy\n");
}
}

Headless Build / Commandline Build / Build Automation

$
0
0
hello,
I am also very interested in CI for manufacturing and testing. Is there a way as well to install DAVE 4 from command line. Also is it possible to be installed in windows 10 docker image as we have a supplier that already supplies CI with windows docker images

Thanks in advance

Bridge Drive Issue

$
0
0
Fiz,
How much charger and discharge current do you recommend?
Could I use the max charge and discharge current?
When I try to increase the cross-current protection time, the Bridge damaged.
Why your company support is very slow?

Regards
Viewing all 9892 articles
Browse latest View live


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