Announcements
IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

MiKa_4247191
New Contributor

Hi,

I'm just rebuild the sample project CE58352. It's a FIR Filter 8 - Bit. I think i can transfer the values form the AD converter to the filter, but i don't get a DMA request from the Filter_1 to the VDAC. I tried to debug the project with the UART interface and the code never gets a Status_Reg_2_Read() == true.

I think there is a problem with the DMA configuration. I'm the DMA configuration with the DMA wizzard like the description in the cypress document CE58352

Perhapse someone has an idea what i have made wronge.

Have a nice day

bye by

0 Likes
1 Solution
odissey1
Honored Contributor II

mika,

This has beed discussed too many times. Please refer to the working projects in the threads below.

The issue with Filter-DMA-VDAC transfer is that the Filter output is signed (int8), while VDAC8 input register accepts only unsigned values (uint8), so some workaround is necessary. If interrupt polling technique is used, then value can be simply incremented by 128u. But no such luck if DMA is used. For that reason either intermediate logic can be used (to XOR highest bit), or ADC input should be limited to a half-range, like 0-to-Vref, or Vref-to-2Vref.

Class D adcDelSig>Filter>Pwm using DMA only

Re: FIR filter example is not working on CY8CKIT-059

Modify ADC DelSig sample values

/odissey1

ADC-Filter-VDAC_01s_01.png

ADC-Filter-VDAC_01s_PWM_01.png

View solution in original post

3 Replies
odissey1
Honored Contributor II

mika,

This has beed discussed too many times. Please refer to the working projects in the threads below.

The issue with Filter-DMA-VDAC transfer is that the Filter output is signed (int8), while VDAC8 input register accepts only unsigned values (uint8), so some workaround is necessary. If interrupt polling technique is used, then value can be simply incremented by 128u. But no such luck if DMA is used. For that reason either intermediate logic can be used (to XOR highest bit), or ADC input should be limited to a half-range, like 0-to-Vref, or Vref-to-2Vref.

Class D adcDelSig>Filter>Pwm using DMA only

Re: FIR filter example is not working on CY8CKIT-059

Modify ADC DelSig sample values

/odissey1

ADC-Filter-VDAC_01s_01.png

ADC-Filter-VDAC_01s_PWM_01.png

View solution in original post

odissey1
Honored Contributor II

mika,

For the updated demo project (ADC-Filter-VDAC) please visit the Community code Examples area:

DelSig_ADC - Filter - VDAC8 streaming demo using DMA

/odissey1

MiKa_4247191
New Contributor

Thanks for your help...the example is working now

0 Likes