Issues with DMA to 16bit Shiftreg

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

cross mob
Anonymous
Not applicable

Hi all,

   

I'm having some issues transferring values from a 16 bit sine wave lookup table to a 16 bit shift register using DMA. My problem is that the shift register properly shifts out the MSB, but shifts out a constant value for the LSB. As a test I wrote to the shift register from the CPU and everything worked fine. I followed the instructions on the "Advanced DMA Topics" application note to ensure that the source and destination are aligned properly, but I still can get all 16 bits transferred. Any ideas what can be causing this?

0 Likes
8 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, JFR.

   

Can you post your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Thank for your response. I have attached the bundle per the instructions above. 

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I would try it using ShiftReg_1_OUT_FIFO_VAL_LSB_PTR

   

 

   

Bob

0 Likes
Anonymous
Not applicable

I tried using ShiftReg_1_OUT_FIFO_VAL_LSB_PTR, but it still doesn't work the shift register outputs the same value for every sample. I use "ShiftReg_1_IN_FIFO_VAL_LSB_PTR"  as its used in the ShiftReg_1.c to write data to be shifted out.

0 Likes
rybo_1140436
Level 2
Level 2
First like given

What would cause the following error when trying to open the project referenced in this thread?

   

Errors found while loading "C:\Users\rtb\Desktop\Cypress Projects\AN52705\Eg3_Mem_DMA_DAC.cydsn\TopDesign\TopDesign.cysch" file. This file would not be considered in the update process.

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

JFR,

   

check example int this thread

   

http://www.cypress.com/forum/psoc-5-device-programming/dma-shift-register

0 Likes

I have the same problem with that example.  Could it be a compatibility issue?  I'm using PSOC Creator 3.1 SP3.

0 Likes
Anonymous
Not applicable

I started a support case and was able to fix my problem. The solution from the support engineer was this:

   


"You will need to use the destination address as "Shift_Register_bSR_sC16_BShiftRegDp_u0__16BIT_A0_REG" rather than "Shift_Register_SHIFT_REG_LSB_PTR". The 16 bit pointer "Shift_Register_bSR_sC16_BShiftRegDp_u0__16BIT_A0_REG" should have been generated in the header file, but it is not. It is a defect. We have notified this to the software team and they will fix it."
 

0 Likes