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

Import Library to the DAVE studio XMC_Peripheral_Library_v2.1.18

$
0
0
Hallo,

I am a beginner in microprocessors from infineon.
I tried importing libraries written by the manufacturer "XMC Peripheral Library v2.1.18" and I can not compile the project with these libraries, I use the XMC4500 microcontroller.
please show me step by step best in screens how do I do it.

thank you

hessy

DAVE refusing to change app configuration

$
0
0
To be clear, the UART pin remapping is just a side note - the actual problem is that I'm unable to add SPI master app at all at this point, and I'm looking for a reason for this behavior.
Like, is there any way to get some sort of log of why adding the app failed?

XMC1300 pure sine wave inverter

$
0
0
Hi,

I do have a problem using PWM_SVM App for XMC1302. I followed the example given in APP Help > Usage but it does not update the pulse lengths, it is always a fixed pulse for the three output.

Hope you can help me.

Aitor

EtherCat problem when float vars are used

$
0
0
It seems that when floating point calculations are performed there is something wrong with the alignment of the data sent to the master from the eeprom. The vendor ID is sent as the product code, they are adiacent fields.
I suppose everything else is shifted.
This happens only when FP is performed inside a function called by interrupt.

SSC 5.12, latest DAVE, flash erased.

How to interface with Infineon 3D Magnetic Sensor on the XMC1100 2Go board

$
0
0
I recently got the Infineon 3D Magnetic Sensor 2Go development board (based on the XMC1100 microcontroller) and I would like to know how to read input from the 3D Magnetic Sensor. I am new to the Infineon development system, so I do not know how to gather and process input from the sensor.


Here is what I know so far:

- The main microcontroller is an Infineon XMC1100-Q024F0064
- The 3D Magnetic Sensor is connected to the XMC1100 via I2C
- How to program and control the GPIO on the XMC1100
- How to use the supplied stand-alone applet to view data from the Sensor

I have the DAVE IDE, the APPs extension, and I am writing my code in C. I need to use DAVE to accomplish my desired end result, but I would be interested to know the Arduino method as well.

Thank you in advance for your help!

DALI 2.0 Control Gear Stack library for XMC

TLE9879 and KEIL RTOS2

$
0
0
Hello,
it seems looking good...

Maybe... take a look on the Manage Run-Time Environment and activate also under RTOS(API)->Keil RTX5 in addition to RTOS2(API)->Keil RTX5
I'm not sure but I thinked I've read this on a Keil help site, somewhere here: https://www.keil.com/pack/doc/CMSIS/...tml/index.html

I'm using RTOS1 because I didn't see the threads with RTOS2 in debugging mode...

So I'm now in weekend.

regards

view App Selection empty Dave 4.3.2

$
0
0
with Dave 4.3.2 incl latest app&example lib update, my App Selection View remains empty - even when opening an existing Dave-CE project or creating a new one.
Pls advise.

FAQ for XMC4800 EtherCAT

$
0
0
@Volatile
Each board alone works without problem?

Ethercat back-to back MII connection, no PHY.

MCTROOL V2 with IRMCK099 and Eval-M1-05F310 board problem

$
0
0
Hi,

After long datasheets reading and many fail attempts I have launched these two boards combined together.
Here is what you have to do:

1. Load project from IRMCS0199-1-M1 folder with MCE Designer.
2. Program firmware IRMCK099FirmwareV15 to RAM from the same IRMCS0199-1-M1 folder.
3. Now open TinyWizard software, select IRMCS0199-1-M1 demo board, mark both check box options and start yours own configuration.
Some configuration will depend on yours motor, these you will have to find out, but some you can use from configuration file I have attached.
4. Export whole configuration to .txt file and load it to the MCE Designer.
5. Load configuration to the board by pressing "Configure Motor" button.
6. Try to start it...

You can also load config.txt file to the MCEWizard, just rename it config.tw

Regards,
Gintaras
?????

Wireless Link using XCM1100

$
0
0
Hi

I would like to establish a wireless communication with a receiver.
For this I use Biphase Mark. (at 1 half duty cycle else full duty cycle)
An XMC1100 should use the Buck Converter to model the signal.
This signal is 11 bits long and I'm not sure how I can transmit the signal with a frequency of 2kHz.

XMC 4700 PORT 15 Output Problems

$
0
0
Hello I have got a Problem,

I will declare Ports as Output.

For example Port 5 works but on Port 15 it doesn’t work. I think I forgot a Register. Can somebody help me?



#define SETUPPAGE_2 (11UL)

volatile uint32_t *_Port_IOCR;
volatile uint32_t *_Port_OMR;

#define OUTPUT_PUSHPULL (0x10UL)
#define _Bit (9)




int main (void)

{

//GPIO DB1(5,8,OUTPUT_PUSHPULL);



_Port_OMR = &(PORT5->OMR);
_Port_IOCR = &(PORT5->IOCR8);


*_Port_IOCR &= ~(0x1FUL << SETUPPAGE_2);
*_Port_IOCR |= ((OUTPUT_PUSHPULL & 0x1FUL) << SETUPPAGE_2);


void timing_delay(void);




while (1)
{


*_Port_OMR |= (1<<_Bit);


} // while schleife

} //main schleife

ECAT Adding Process Data to XMC_ESC.xlsx fails to go to PREOP state

$
0
0
All of the EtherCAT examples from Infineon have the same input and output data defined in the XMC_ESC.xlsx file.

As long as the XMC_ESC.xlsx is not modified everything goes well. The Beckhoff SSC utility generates code and the DAVE4 project compiles okay and the ECAT slave works as expected. TwinCAT is able to set the ECAT slave to the OP state and read/write the process data.

But when the XMC_ESC.xlsx file is modified to add any new elements to the input or output process data - as shown here:

Attachment 3462

Then TwinCAT reports an error changing the ECAT slave to the PREOP state. TwinCAT shows "ERR PREOP":

Attachment 3463

I'm at a loss for what is wrong. It looks like the SSC utility generates all the necessary code under SSC/Src. Is there something else that needs to be done to modify the process data?

Any help is greatly appreciated.
Thanks
?????

Dave 4 compilation problem

$
0
0
This is still happening in DAVE version 4.4.2

ugly hack of a workaround:
sudo cp /bin/echo /usr/local/bin/echo.

:p

Kommunikation zwischen Infineon XMC4500 entspannen Kind und Superior-System (Micrium)

$
0
0
Bitte. Ich bin ein Neuling in der Programmierer von Infineon-Mikrocontrollern. Ich versuche über eine serielle Schnittstelle zwischen (USB) dem Relax-Kit (xmc4500) und dem Computer (Micrium) ohne JTAG zu kommunizieren. Ich weiß nicht, wie ich es machen soll.

Die Struktur meines Programms ist angehängt. Bitte rate mir, wie ich die Kommunikation anregen kann.


Danke

DMA transfer of ADC results to RAM

$
0
0
Hello and thanks for taking the time to read this post,

I am working with a XMC4500 and I need to trigger an ADC conversion + DMA transfer to RAM upon GPIO falling edge detection.
The first part works fine: CCU8 triggers the ADC conversion, but I just don't seem to get the DMA transfer to work.
Could you perhaps take a look at the code below - namely the functions configureDMA and configureADC - and tell me why my DMA transfers are never triggered? There are 2 buffers there to host up to 1024 ADC samples each. Otherwise it pretty standard code.
Thanks in advance!

Code:

#define PICAN_PULSES                    (1024)
#define DMA_BUFFER_SIZE                  (PICAN_PULSES * sizeof(U16))
#define DMA_BUFFER_1_ADDRESS            (0x60100000)
#define DMA_BUFFER_2_ADDRESS            (DMA_BUFFER_1_ADDRESS + DMA_BUFFER_SIZE)
#define ADC_MEASUREMENT_TRANSFER_CHANNEL (1)
#define ADC_MEASUREMENT_TRANSFER_GROUP  (0)
#define SLICE_NUMBER                    (2)
#define DMA_CHANNEL                      (0)
#define ADC_RESULT_REGISTER              (1)

// ADC
const XMC_VADC_GLOBAL_CONFIG_t g_global_handle =
{
    .class0 =
    {
        .conversion_mode_standard                          =  XMC_VADC_CONVMODE_12BIT,
        .sample_time_std_conv                      = 3U,
        .conversion_mode_emux                            =  XMC_VADC_CONVMODE_12BIT,
        .sampling_phase_emux_channel        = 3U
    },
 
    .class1 =
    {
                .conversion_mode_standard                          =  XMC_VADC_CONVMODE_12BIT,
                .sample_time_std_conv                      = 3U,
                .conversion_mode_emux                            =  XMC_VADC_CONVMODE_12BIT,
                .sampling_phase_emux_channel        = 3U
    }
} ;

/* VADC group data configuration. No configuration needed, standard values
 * are used. */
const XMC_VADC_GROUP_CONFIG_t g_group_handle = {0};

/* Data configuration for background source. */
const XMC_VADC_BACKGROUND_CONFIG_t g_bgn_handle =
{
    .conv_start_mode  = XMC_VADC_STARTMODE_WFS,
    .req_src_priority  = XMC_VADC_GROUP_RS_PRIORITY_3,
    .trigger_signal    = XMC_VADC_REQ_TR_K,
    .trigger_edge      = XMC_VADC_TRIGGER_EDGE_FALLING,
    .external_trigger  = true,
    .req_src_interrupt = false,
    .enable_auto_scan  = false,
    .load_mode        = XMC_VADC_SCAN_LOAD_OVERWRITE,
} ;

/* Channel data configuration. Channel does NOT use alias feature and uses
 * desired result register. */
const XMC_VADC_CHANNEL_CONFIG_t g_g0_ch1_handle =
{
    .alias_channel = XMC_VADC_CHANNEL_ALIAS_DISABLED,
    .result_reg_number = ADC_RESULT_REGISTER,
} ;

// DMA

XMC_DMA_CH_CONFIG_t GPDMA0_Ch0_config =
{
  .enable_interrupt = false,                                                                                                                                /* Interrupts enabled */
  .dst_transfer_width = XMC_DMA_CH_TRANSFER_WIDTH_16,                                                                                /* Destination transfer width */
  .src_transfer_width = XMC_DMA_CH_TRANSFER_WIDTH_16,                                                                                /* Source transfer width */
  .dst_address_count_mode = XMC_DMA_CH_ADDRESS_COUNT_MODE_INCREMENT,                                                /* Destination address count mode */
  .src_address_count_mode = XMC_DMA_CH_ADDRESS_COUNT_MODE_NO_CHANGE,                                                /* Source address count mode */
  .dst_burst_length = XMC_DMA_CH_BURST_LENGTH_8,                                                                                        /* Destination burst length */
  .src_burst_length = XMC_DMA_CH_BURST_LENGTH_8,                                                                                        /* Source burst length */
  .enable_src_gather = false,                                                                                                                                /* Source gather enabled? */
  .enable_dst_scatter = false,                                                                                                                        /* Destination scatter enabled? */
  .transfer_flow = XMC_DMA_CH_TRANSFER_FLOW_P2M_DMA,                                                                                /* Transfer flow */

  .src_addr = (uint32_t) &VADC_G0->RES[ADC_RESULT_REGISTER],                                                  /* Source address */
  .dst_addr = (uint32_t) adc_results_buffer_1,                                                                            /* Destination address*/
  .linked_list_pointer = NULL,                                                            /* Linked list pointer */

  .src_gather_interval = 1,                                                                                                                                /* Gather interval */
  .src_gather_count = 1,                                                                                                                                        /* Gather count */

  .dst_scatter_interval = 0,                                                                                                                                /* Scatter interval */
  .dst_scatter_count = 0,                                                                                                                                        /* Scatter count*/

  .block_size = 1,                                                                                                                                                        /* Block size */
  .transfer_type = XMC_DMA_CH_TRANSFER_TYPE_SINGLE_BLOCK,                                            /* Transfer type */
  .priority = XMC_DMA_CH_PRIORITY_7,                                                                                                                /* Priority level */

  .src_handshaking = XMC_DMA_CH_SRC_HANDSHAKING_HARDWARE,                                                                        /* Source handshaking */
  .src_peripheral_request = DMA0_PERIPHERAL_REQUEST_VADC_G0SR2_1,
};

/* Result configuration data */
XMC_VADC_RESULT_CONFIG_t adc_result_handle =
{
        .post_processing_mode  = XMC_VADC_DMM_REDUCTION_MODE,
    .data_reduction_control = 0,
    .part_of_fifo          = false,        /* No FIFO */
    .wait_for_read_mode    = false,        /* WFS */
    .event_gen_enable      = true          /* No result event */
};

static void configureADC(void)
{
    /* Provide clock to VADC and initialize the VADC global registers. */
    XMC_VADC_GLOBAL_Init(VADC, &g_global_handle);

    /* Initialize the conversion kernel. */
    XMC_VADC_GROUP_Init(VADC_G0, &g_group_handle);

    /* Set VADC group to normal operation mode (VADC kernel). */
    XMC_VADC_GROUP_SetPowerMode(VADC_G0, XMC_VADC_GROUP_POWERMODE_NORMAL);

    /* Calibrate the VADC. Make sure you do this after all used VADC groups
    * are set to normal operation mode. */
    XMC_VADC_GLOBAL_StartupCalibration(VADC);
       
    /* Initialize the background source hardware. The gating mode is set to
    * ignore to pass external triggers unconditionally.*/
    XMC_VADC_GLOBAL_BackgroundInit(VADC, &g_bgn_handle);

    /* Initialize the channel unit. */
    XMC_VADC_GROUP_ChannelInit(VADC_G0, ADC_MEASUREMENT_TRANSFER_CHANNEL, &g_g0_ch1_handle);

    /* Add a channel to the background source. */
    XMC_VADC_GLOBAL_BackgroundAddChannelToSequence(VADC, ADC_MEASUREMENT_TRANSFER_GROUP, ADC_MEASUREMENT_TRANSFER_CHANNEL);

    XMC_VADC_GLOBAL_ResultInit(VADC, &adc_result_handle) ;
   
    XMC_VADC_GROUP_SetResultInterruptNode(VADC_G0, ADC_RESULT_REGISTER, XMC_VADC_SR_GROUP_SR2) ;

    XMC_VADC_GROUP_EnableResultEvent(VADC_G0, ADC_RESULT_REGISTER) ;
   
    /* Disables autoscan feature for continuous conversion - conversion is triggered by a falling edge on P5.0 (PT_RX) */
    XMC_VADC_GLOBAL_BackgroundDisableContinuousMode(VADC) ;
}
//------------------------------------------------------------------------------------------------//
static void configureDMA(void)
{
    memset(adc_results_buffer_1, 0, sizeof(adc_results_buffer_1)) ;
    memset(adc_results_buffer_2, 0, sizeof(adc_results_buffer_2)) ;
   
    active_adc_results_buffer_ptr = adc_results_buffer_1 ;
   
    XMC_DMA_Init(XMC_DMA0);
        XMC_DMA_CH_Init(XMC_DMA0, DMA_CHANNEL, &GPDMA0_Ch0_config);
        XMC_DMA_CH_EnableEvent(XMC_DMA0, DMA_CHANNEL, XMC_DMA_CH_EVENT_BLOCK_TRANSFER_COMPLETE);
        XMC_DMA_CH_Enable(XMC_DMA0, DMA_CHANNEL);
}

Apply for study in St. Thomas University in the USA

$
0
0
Hello guys, if you planning for the internship, St.Thomas University is the best option have you because fees are low and quality education

Different Debug Configurations in DAVE

$
0
0
Hello. I am having doubt about different debug configurations in DAVE 4.3.2. Mainly I have doubt about microE debugging and GDB Segger J link debugging. When do we need to use GDB microE debugging and when do we need to use GDB segger J-link debugging? Please help me.

Thank you

external SDRAM on TC234

$
0
0
Hi all,
is there a possibility to connect an external RAM to TC234?
Viewing all 9892 articles
Browse latest View live


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