Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > PSoC® 5 > Filters of 18 bits with ADC Delta-Sigma in differential mode.

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



Filters of 18 bits with ADC Delta-Sigma in differential mode.
Moderator:
RKRM

Post Reply
Follow this topic



Filters of 18 bits with ADC Delta-Sigma in differential mode.

odesus posted on 13 Oct 2011 5:29 PM PST
Member
4 Forum Posts

Dear community:

I have been working with ADC Delta-Sigma in differential mode with 18 bits as inputs for a complex filter of 2 stages
(bandpass and stopband). Despite it would be the logical way to use DMA, this can't handle signed numbers, only unsigned.
ADC converts signals in differential mode with outputs in 2's complement, which this make DMA useless for this problem.

So I decide to write directly STAGE_REG with ADC value. I have read there's some considerations for enter values on filter.
I entered right and left justified, without API's functions 'cos they consider unsigned the value, and also the doubt of being
right or left justified values. Everything works fine in single mode, but in differential mode simply doesn't work.

1.- Are there more special considerations to enter and get values for filters?
2.- Is there any application note, technical note ot whatever with ADC D-S in differential mode with more than 8 bits entered
in a complex filter?

Any help you can provide me I really appreciate it. There should be more documentation about this differential mode.
Differential mode with filters is one of the strengths of PSOC5.

Thanks in Advance!!.




Re: Filters of 18 bits with ADC Delta-Sigma in differential mode.

JJWarriner posted on 07 Jan 2013 10:12 AM PST
Member
6 Forum Posts

Bumping this post.  I have a similar issue I'm working on.

I'm trying to get the following chain to work.  ADC_DelSig(16bit differential)-->(dma)--->DFB_LowPass--->(dma)--->SRAM.

It's driving me insane trying to figure it out.  Any examples or pointers would be greatly appreciated.  



Re: Filters of 18 bits with ADC Delta-Sigma in differential mode.

danaaknight posted on 07 Jan 2013 11:32 AM PST
Top Contributor
3997 Forum Posts

You have seen these ?

http://www.cypress.com/?rID=37793

http://www.cypress.com/?rID=44335

Regards, Dana.



Re: Filters of 18 bits with ADC Delta-Sigma in differential mode.

JJWarriner posted on 07 Jan 2013 01:09 PM PST
Member
6 Forum Posts

 I know them by heart.

I think I may have figured it out actually.  I found an app note that was partially helpful:  EP58353.  

So a brief explaination of the crucial details:

I have  the following registers settings on the DFB (This was the tricky part for me):  

Filter_COHER_REG = 0x55;

Filter_DALIGN_REG = 0x0F;

I have two DMA's, one to transfer from ADC to DFB, and on to transfer from DFB to SRAM.  Here are the configs and addresses from the two.
 
ADC to Filter:
 
    CyDmaTdSetConfiguration(DMA_DelSig_TD[0], 2, DMA_DelSig_TD[0],0);
    CyDmaTdSetAddress(DMA_DelSig_TD[0], LO16((uint32)ADC_DelSig_DEC_SAMP_PTR), LO16((uint32)Filter_STAGEA_PTR));
 
Filter to SRAM:
 
    CyDmaTdSetConfiguration(DMA_Filter_TD[0], 2, DMA_Filter_TD[0],TD_INC_DST_ADR);
       CyDmaTdSetAddress(DMA_Filter_TD[0], LO16((uint32)Filter_HOLDA_PTR), LO16((uint32)Filter_Output));
 
Like I said, it appears to be working now.  I'll need to spend some more time with it to be sure.
 
I'm a little concerned about the output of the ADC being in 2's complement form and the DFB not handling that.  I have to check to see what the Filter puts out when a negative value comes from the ADC.
 
 


Re: Filters of 18 bits with ADC Delta-Sigma in differential mode.

JJWarriner posted on 07 Jan 2013 02:32 PM PST
Member
6 Forum Posts

 Hooked up a voltage source and swept the range.  Everything looks good.  Thanks for the help.

I would recommend an app note for this for others who may travel down this path.  






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Spec No: None; Sunset Owner: KXP; Secondary Owner: VWA; Sunset Date: 06/15/20