cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

New Contributor II

Hi,

     I use PSOC4 and need a fast way to get a arctan value, is there CORDIC UDB available for PSOC4?

     thanks.

Chris

0 Likes
Reply
1 Solution
Honored Contributor II

Chris,

The AN2341 discusses the size limitation of the 10-bit LUT and several steps for speed improvement using LUT. 

https://www.cypress.com/documentation/application-notes/an2341-arctangent-psoc-1-assembler

Clock saving comes from pre-calculated results saved in the LUT. UDB has no access to memory, so all operations had to be performed sequentially.

/odissey1

View solution in original post

0 Likes
Reply
3 Replies
Honored Contributor II

Chris,

This thread discusses 'atan' calculation using a lookup table, which should work for PSoC4:

Re: atan

This is UDB implementaton of CORDIC v2.0 for PSoC5LP, did you try it on PSoC4?

CORDIC v2.0

It appears that lookup-table approach is faster, but UDB is freeing CPU for other tasks.

/odissey1

P.S. what PSoC4 part are you using?

0 Likes
Reply
New Contributor II

Hi BoTa,

     There are 1024 arctan angles in my project,I use CY8C4246-L423 which seem not able to support 10 bits LUT, and I wonder why the memory access based LUT is faster than pure hardware based UDB.

Chris

0 Likes
Reply
Honored Contributor II

Chris,

The AN2341 discusses the size limitation of the 10-bit LUT and several steps for speed improvement using LUT. 

https://www.cypress.com/documentation/application-notes/an2341-arctangent-psoc-1-assembler

Clock saving comes from pre-calculated results saved in the LUT. UDB has no access to memory, so all operations had to be performed sequentially.

/odissey1

View solution in original post

0 Likes
Reply