TRAVEO™ T2G Forum Discussions
Hi Team,
I have some tasks executing on a 10ms Scheduler using Systick. DMA Transfers are initiated during that 10ms executions.
But, whenever the Systick Interrupt occurs the DMA transfers is also preempted and gets continued again on the next 10ms cycle.
Since DMA has to run parallelly why I am getting this issue. Sharing the current configuration and the scope images of the same for the reference. Let me know if anything needs updated on the configuration front.
Issue case scenario:
Systick Scheduler every 10ms where 4.3msec is used for other application processing and after that 1D DMA Transfers(Mem to PDMA) using SPI is initiated.
As we having limitation on the Buffer of 128 Bytes transfer. So to transfer 4096 bytes of data we need to transfer 32 cycles.
In the below scope image the Color coding is mentioned as follows
Green - GPIO to identify the start and stop of the DMA transfer of 4096 bytes of data
Yellow - Area blocked for other application instruction executions.
Pink - Systick Interrupt
Blue - DMA Transfer Interrupt for each 128 burst of 32 cycles
As given in the below image DMA is preempted whenever Systick Interrupt Occurs.
Note : Even we tried to set the priority of the DMA to be high but the scheduling is getting delayed because of it.
1D Transfer Configuration
dma_transfer_data_t dma_transfer_data;
UI_8 DMA_Cfg_Init_Buff[1] = {0};
uint8_t Trigger_Recd=0;
const cy_stc_pdma_chnl_config_t chnl7Config = {
/* CURR_PTR */ .PDMA_Descriptor = &stcDescr,
/* CH_CTL PREEMPTABLE */ .preemptable = 0u,
/* CH_CTL PRIO */ .priority = 0u,
/* CH_CTL ENABLED */ .enable = 1u, /* enabled after initialization */
};
static cy_stc_pdma_descr_config_t stcDw1DescrConfig = {
/* DESCR_CTL WAIT_FOR_DEACT */ .deact = 0u,
/* DESCR_CTL INTR_TYPE */ .intrType = CY_PDMA_INTR_1ELEMENT_CMPLT,
/* DESCR_CTL TR_OUT_TYPE */ .trigoutType = CY_PDMA_TRIGOUT_1ELEMENT_CMPLT,
/* DESCR_CTL CH_DISABLE */ .chStateAtCmplt = CY_PDMA_CH_ENABLED,
/* DESCR_CTL TR_IN_TYPE */ .triginType = CY_PDMA_TRIGIN_DESCR,
/* DESCR_CTL DATA_SIZE */ .dataSize = CY_PDMA_BYTE,
/* DESCR_CTL SRC_TRANSFER_SIZE */ .srcTxfrSize = 0u,
/* DESCR_CTL DST_TRANSFER_SIZE */ .destTxfrSize = 1u,
/* DESCR_CTL DESCR_TYPE */ .descrType = CY_PDMA_1D_TRANSFER,
/* DESCR_SRC */ .srcAddr = &DMA_Cfg_Init_Buff[0],
/* DESCR_DST */ .destAddr = (uint32_t *)&CY_SPI_SCB_TYPE->unTX_FIFO_WR.u32Register,
/* DESCR_X_CTL SRC_X_INCR */ .srcXincr = 1u,
/* DESCR_X_CTL DST_X_INCR */ .destXincr = 0u,
/* DESCR_X_CTL X_COUNT */ .xCount = HW_FIFO_SIZE,
/* DESCR_Y_CTL SRC_Y_INCR */ .srcYincr = 0u,
/* DESCR_Y_CTL DST_Y_INCR */ .destYincr = 0u,
/* DESCR_Y_CTL Y_COUNT */ .yCount = 0u,
/* DESCR_NEXT_PTR */ .descrNext = 0u
};
Thanks,
Pradeep
Is there a priority process for the CAN ID of Traveo T2G's sample driver library?
The test results seem to have a priority process in CAN ID.
Please tell me where the related processing part is.
Hi,
I have a query regarding library files. Currently, I'm using the TRAVEO_T2G - CYT4BF Micro series.
- For this microcontroller, I generated the library using modus toolbox and it's working.
- Now, I need to change the micro to CYT4DN. So, will the CYT4BF library support this series or not?
Can you please provide your input?
Thanks & Regards,
Yuvaraj
For 1 to 1 trigger ,SAR ch is decided based on logical channel or ADC channel number?
I am currently working PWM module in CYT4BF8CDS Microcontroller.
Pwm_Init() API in having clock parameter its having default clock source. If change the Clock in that API doesn't take the clock.
I couldn't able to find where it is the issue on that.
Is there any possible to change the clock source in PWM ?
If possible Could you please do the Needful.
Show LessHello: Recently, during motor development, I used SPI to control the MOS driver and turn the motor on and off. The following problems occur when sending data via SPI in PWM interrupt. 1. Using Cy_SCB_SPI_Transfer function to send, query the send status, the bit is always in the state of sending, resulting in the program has been stopped here, not in the interrupt to send can be sent to complete.2. Using Cy_SCB_SPI_WriteArray function can finish sending in PWM interrupt, but can't read the data received by SPI synchronously.Thanks. 2923328@qq.com Mr Wild 24.04.03
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/TRAVEO-T2G/%E5%9C%A8PWM%E4%B8%AD%E6%96%AD%E4%B8%AD%E9%80%9A%E8%BF%87SPI%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E5%A4%B1%E8%B4%A5/td-p/727702
Show LessHow to configure 2 pll phase-locked loops as cpu's clock in cyt4bb7, exactly how to configure pll to CLK_HF1 to be used as cpu's clock source, is there any detailed reference routines, and clock tree structure diagram of cyt4bb7.
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/TRAVEO-T2G/%E5%85%B3%E4%BA%8Ecyt4bb7%E5%A6%82%E4%BD%95%E5%B0%86pll%E9%94%81%E7%9B%B8%E7%8E%AF%E9%85%8D%E7%BD%AE%E4%B8%BAcpu%E6%97%B6%E9%92%9F/td-p/727830
Show LessHello experts
I have a evaluation board of KIT_T2G_B-E_LITE.
I am working on UART Interrupt Reception logic.
I want to use ISR to receive the data, once i have received all the data and then will print in some console.
Can you please give me some reference hints on the configuration of UART for ISR. That will really help me.
Thanks in advance
Kiran
Show LessHello: Recently, during motor development, I used SPI to control a MOS driver to turn on and off the motor.
The following problem occurs when sending data via SPI in PWM interrupt.
1. Use Cy_SCB_SPI_Transfer function to send, query the sending status, the bit is always in the state of sending, resulting in the program has been stopped here, not in the interrupt send to send can be sent to complete.
2. Using Cy_SCB_SPI_WriteArray function can finish sending in PWM interrupt, but can't read the data received by SPI synchronously.
Thanks. 2923328@qq.com
Mr Wild 24.04.03
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/TRAVEO-T2G/%E5%9C%A8%E7%94%A8SPI%E5%9C%A8PWM%E4%B8%AD%E6%96%AD%E4%B8%AD%E5%8F%91%E9%80%81%E5%A4%B1%E8%B4%A5/td-p/727700
Show LessMPN: CYT2B75BADQ0AZEGST The datasheet has labeled the ESD immunity of this material, and the HBM and CDM models are only the minimum, does it mean that there is no upper limit to the V-esd withstood? There is no technical documents as a support. In addition, CDM1 inside the corner pin refers to those PIN?
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/TRAVEO-T2G/CYT2B75BADQ0AZEGST-ESD%E6%8A%97%E5%B9%B2%E6%89%B0%E8%83%BD%E5%8A%9B%E9%97%AE%E9%A2%98/td-p/726716
Show Less