I have written a small piece of assembly code, that sets up the c5402 DMA channel 1 to transfer data from DSP memory to McBSP0. Each transfer is synchronised by a Timer0 interrupt (at a 48kHz rate), and everything works fine. However, when trying to use the same code on a c5410 target something goes wrong. When displaying the McBSP0 FS signal on an oscilloscope I can see, that the DMA initiates a transfer at a rate of 735.3kHz. Somehow the DSP ignores the Timer interrupt synch event that I have defined in the DMSFC1 register (DSYN01h). In fact, I can write anything to the DMSFC1 register and the DMA transfer still occours at the 735.5kHz rate (I guess that this rate corresponds to the "free-running" mode that is DMSFC1 register is initialised to upon reset). Has anybody out there got any suggestions? Regards, Carsten Borg --- Carsten Borg, M.Sc.EE. Digital Audio Processing Oticon A/S Strandvejen 58 DK-2900 Hellerup Denmark mailto: Tel: +45 39 17 71 00 Direct: +45 39 13 83 05 Fax: +45 39 27 79 00 http://www.oticon.com --- |
|
DMA synch event
Started by ●November 20, 2001
Reply by ●November 21, 20012001-11-21
The sync event bit patterns are different for the 5410 compared to the
5402. Make sure you check to be sure your DSYN is set properly (you probably already did this, but this is all that comes to mind right now). Everything else should be the same... HTH, Dave Helsley ----- Original Message ----- From: "Carsten Borg" <> To: "'" <> Sent: Tuesday, November 20, 2001 8:08 AM Subject: [c54x] DMA synch event > I have written a small piece of assembly code, that sets up the c5402 DMA > channel 1 to transfer data from DSP memory to McBSP0. Each transfer is > synchronised by a Timer0 interrupt (at a 48kHz rate), and everything works > fine. > > However, when trying to use the same code on a c5410 target something goes > wrong. When displaying the McBSP0 FS signal on an oscilloscope I can see, > that the DMA initiates a transfer at a rate of 735.3kHz. Somehow the DSP > ignores the Timer interrupt synch event that I have defined in the DMSFC1 > register (DSYN01h). In fact, I can write anything to the DMSFC1 register > and the DMA transfer still occours at the 735.5kHz rate (I guess that this > rate corresponds to the "free-running" mode that is DMSFC1 register is > initialised to upon reset). > > Has anybody out there got any suggestions? > > Regards, > > Carsten Borg > --- > Carsten Borg, M.Sc.EE. > > Digital Audio Processing > > Oticon A/S > Strandvejen 58 > DK-2900 Hellerup > Denmark > > mailto: > Tel: +45 39 17 71 00 > Direct: +45 39 13 83 05 > Fax: +45 39 27 79 00 > http://www.oticon.com > --- > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c54x > > Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ > |
Reply by ●November 21, 20012001-11-21
You're right - the DSYN bit patterns are different for 5402 and
5410. However, I'm using the Timer (Ter0 on c5402) as synch source, and in this case the DSYN bits should be the same (DSYN01h) for both 5402 and 5410 according to my documentation (C54x Reference Set: Vol. 5 - Enhanced Peripherals pp. 3-14 and 3-15 (SPRU302/June1999)). But, thanks for your advice anyway... Regards, Carsten Borg -----Original Message----- From: Dave Helsley [mailto:] Sent: 21. november 2001 02:41 To: '; Carsten Borg Subject: Re: [c54x] DMA synch event The sync event bit patterns are different for the 5410 compared to the 5402. Make sure you check to be sure your DSYN is set properly (you probably already did this, but this is all that comes to mind right now). Everything else should be the same... HTH, Dave Helsley ----- Original Message ----- From: "Carsten Borg" <> To: "'" <> Sent: Tuesday, November 20, 2001 8:08 AM Subject: [c54x] DMA synch event > I have written a small piece of assembly code, that sets up the c5402 DMA > channel 1 to transfer data from DSP memory to McBSP0. Each transfer is > synchronised by a Timer0 interrupt (at a 48kHz rate), and everything works > fine. > > However, when trying to use the same code on a c5410 target something goes > wrong. When displaying the McBSP0 FS signal on an oscilloscope I can see, > that the DMA initiates a transfer at a rate of 735.3kHz. Somehow the DSP > ignores the Timer interrupt synch event that I have defined in the DMSFC1 > register (DSYN01h). In fact, I can write anything to the DMSFC1 register > and the DMA transfer still occours at the 735.5kHz rate (I guess that this > rate corresponds to the "free-running" mode that is DMSFC1 register is > initialised to upon reset). > > Has anybody out there got any suggestions? > > Regards, > > Carsten Borg > --- > Carsten Borg, M.Sc.EE. > > Digital Audio Processing > > Oticon A/S > Strandvejen 58 > DK-2900 Hellerup > Denmark > > mailto: > Tel: +45 39 17 71 00 > Direct: +45 39 13 83 05 > Fax: +45 39 27 79 00 > http://www.oticon.com > --- > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c54x > > Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ > |