DSPRelated.com
Forums

DMA synch event

Started by Carsten Borg November 20, 2001
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
---



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/ >




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/ >