How to assign the address of a control register in PSoC?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

For transferring 16 bit data to two control registers using DMA, i have to fix the address of the control registers. So is it possible to assign the address of a control register?

0 Likes
1 Solution

Anju,

It is possible to transfer 16-bit data to two 8-bit control registers using intermediate location in RAM. See examples here

How do I change the phase of a sine wave generated by a DMA?

and here

Generating multiple waveforms with fixed phase relationships

/odissey1

View solution in original post

0 Likes
6 Replies
Anonymous
Not applicable

Thanks Anks for your reply. 

I have to transmit 16 bit data from ADC to two control registers using DMA with 1st byte should be stored in first register and 2nd byte in second  register.  For this i have to define the destination address as two control registers. How it possible? Either by using two TDs or using two DMA  components??

0 Likes

This Code example can be useful :

http://www.cypress.com/documentation/code-examples/ce97091-psoc-4-time-stamped-adc-data-transfer-usi...

See page#02 in component datasheet available at this link:

http://www.cypress.com/file/185456/download

It says that you can change the the descriptor structure through direct register writes.

0 Likes

When you build a project that uses a control register... or any of the other pieces of a UDB... the build process does a placement that chooses the specific CR that is going to be used based on a timing driven placement.

The tricky part is that if you change your design, the placer might change which CRs are used.

It is possible to lock the placement once it is done. (but you are going to have to look at the documentation because Ive never done it ... on the help menu)

The specific answer to your question is that you cannot select the address of Control Register... they already have addresses.

Alan

0 Likes

Anju,

It is possible to transfer 16-bit data to two 8-bit control registers using intermediate location in RAM. See examples here

How do I change the phase of a sine wave generated by a DMA?

and here

Generating multiple waveforms with fixed phase relationships

/odissey1

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

Anju,

to have parallel output from ADC you can try custom community component FIFOout (ADC-DMA-FIFOout).

Re: Is a FIFOout component available?

There might be some timing issues, but it worth trying.

Wat kind of ADC you have DelSig-ADC or SAR-ADC?

/odissey1

0 Likes