UDB Editor Datapath FIFO transfers

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

cross mob
MiRe_4638356
Level 3
Level 3
First like received First like given

I have managed to write to a Datapath in a UDB (D0 and D1 I have confirmed are being updated). I presume that it is working when I write a 24 bit block to F0 (or F1) - given that they are 4-bytes deep using command:

CY_SET_REG32(LEDA_Datapath_u0__F0_REG, 0UL);

(I'll move that to the component code once it's all working)

What I don't quite follow is how I shift the data out of F1 (or F0)?

From F1 should I do something like:

pastedImage_7.png

With

pastedImage_9.png

If so, I am a little lost as to how I extract a bit at a time into Output 4... do I just load up each byte after all 8 bits have been extracted?

This does not appear to be operating as I expected.

I my case I want to use 24 bits for each message out so can manage to repeat three times if necessary (rather than widening my Datapath to 24 bits).

Thanks!

Mike

0 Likes
1 Solution
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

When writing to an 8-bit datapath, you need to write three times to get the 24-bits into the FIFO.

If you simply do one 32-bit write to an 8-bit datapath, you would be writing to FIFOs from other datapaths.

View solution in original post

4 Replies
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello MiRe_4638356

Please refer to the PSoC Creator UDB Editor Guide: https://www.cypress.com/documentation/component-datasheets/psoc-creator-universal-digital-block-udb-...

The Application note contains details about loading F0/F1 data to other registers. Can you please let me know if you want to provide the fifo's content as output signal bit by bit? You can copy the contents of the F0(or F1) register to A0/A1 and then perform the desired shift operation.

Kindly provide more details about the function you want to perform. If possible please provide your project as well this will help us to get a better understanding of the required implementation.

Best Regards

Ekta

0 Likes

Hi Ekta,I have been through the UDB Editor Guide and didn't follow - hence I posted here.

What I am trying to do is to output 24 bits of data to a pin (communicating with an LED driver IC). The data is generated by the firmware (written all at once/3 instructions) and I need to output 1 bit at a time.

I have multiple channels and don't want to consume more than one UDB, if I can avoid it.

I'll put another project together later today to illustrate where I am having problems.

Thanks!

Mike

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

When writing to an 8-bit datapath, you need to write three times to get the 24-bits into the FIFO.

If you simply do one 32-bit write to an 8-bit datapath, you would be writing to FIFOs from other datapaths.

Thanks, obvious now that look at the documentation.

0 Likes