DSPRelated.com
Forums

Add operations continually in a loop in 5416

Started by Fran...@hotmail.com April 14, 2008
My hardware is 5416DSK and AIC13, I want to used this to finish my project of echo cancellation. I have a sub-program there are over 100 times add operations and I sure this program affect my output signal, I don’t know how to make the add operations is more efficiency in C or C++. Somebody tell me can use the DMA, but I don’t know how to use that.
Are there someone shows me a program or some hints let me know how to make add operations more efficiency, thanks.
Frank-

> My hardware is 5416DSK and AIC13, I want to used this to finish my project
> of echo cancellation. I have a sub-program there are over 100 times add
> operations and I sure this program affect my output signal, I don't know
> how to make the add operations is more efficiency in C or C++. Somebody
> tell me can use the DMA, but I don't know how to use that.
> Are there someone shows me a program or some hints let me know how to
> make add operations more efficiency, thanks.

It's hard to help you without understanding the big picture of your situation. It
sounds like you were able to get your echo can project working using simulation
(non-real-time program), and now you have to run your code in real-time on the DSK
5416 board -- is that correct? If so, did you use the CCS simulator to get your
C/C++ code running? Or were you running your C/C++ code in a Win or Linux
environment?

-Jeff
Frank-

> --- In c..., Jeff Brower wrote:
> >
> > Frank-
> >
> > > My hardware is 5416DSK and AIC13, I want to used this to finish
> my project
> > > of echo cancellation. I have a sub-program there are over 100
> times add
> > > operations and I sure this program affect my output signal, I
> don't know
> > > how to make the add operations is more efficiency in C or C++.
> Somebody
> > > tell me can use the DMA, but I don't know how to use that.
> > > Are there someone shows me a program or some hints let me know
> how to
> > > make add operations more efficiency, thanks.
> >
> > It's hard to help you without understanding the big picture of your
> situation. It
> > sounds like you were able to get your echo can project working
> using simulation
> > (non-real-time program), and now you have to run your code in real-
> time on the DSK
> > 5416 board -- is that correct? If so, did you use the CCS
> simulator to get your
> > C/C++ code running? Or were you running your C/C++ code in a Win
> or Linux
> > environment?
> >
> > -Jeff
> >
> Jeff-
>
> I have simulated this echo cancellation program on matlab in windows
> system and I want to run my code in real-time on the DSK 5416 board.
> I have used CCS v2.0 to edit my C code.

In that case, I suggest to use the CCS simulator first, and make sure your algorithm
is running in real-time; i.e. within the 160 MIPS capability of the 5416. That step
will also ensure your code is fully migrated to CCS and any incompatibilities are
ironed out. Also, you will need to organize your code as frame-based, suitable for
real-time continuous processing, if you didn't do that already in MATLAB.

Then you can run on the DSK board and start using audio I/O.

-Jeff

PS. Please post to the group, not to me.
Siva-

> how to implement the real time situation in CCS simulator?

Using the CCS simulator you can measure how fast your code is running. For example, if you organize your code as
frame-based, then each frame you can measure the number of cycles / MIPS used. Since you know how much time (e.g. how
many msec, usec, etc of data) is represented by each frame, then you will know whether your code can "keep up". If
your code cannot finish one frame of data before another frame is ready, then the code is not running in real-time.
Some examples of frame length:

speech, 10 to 20 msec
video, 33 msec (30 frames per sec)
radar, from low usec to low msec

> how can we feed window based data ....r u suggesting file operations?????

Yes file I/O is typically used in simulations. At the start of each frame, the code can read another chunk of file data.

-Jeff

> On Thu, Apr 17, 2008 at 8:59 PM, Jeff Brower wrote:
>
>> Frank-
>> > --- In c... , Jeff Brower
>> wrote:
>> > >
>> > > Frank-
>> > >
>> > > > My hardware is 5416DSK and AIC13, I want to used this to finish
>> > my project
>> > > > of echo cancellation. I have a sub-program there are over 100
>> > times add
>> > > > operations and I sure this program affect my output signal, I
>> > don't know
>> > > > how to make the add operations is more efficiency in C or C++.
>> > Somebody
>> > > > tell me can use the DMA, but I don't know how to use that.
>> > > > Are there someone shows me a program or some hints let me know
>> > how to
>> > > > make add operations more efficiency, thanks.
>> > >
>> > > It's hard to help you without understanding the big picture of your
>> > situation. It
>> > > sounds like you were able to get your echo can project working
>> > using simulation
>> > > (non-real-time program), and now you have to run your code in real-
>> > time on the DSK
>> > > 5416 board -- is that correct? If so, did you use the CCS
>> > simulator to get your
>> > > C/C++ code running? Or were you running your C/C++ code in a Win
>> > or Linux
>> > > environment?
>> > >
>> > > -Jeff
>> > >
>> > Jeff-
>> >
>> > I have simulated this echo cancellation program on matlab in windows
>> > system and I want to run my code in real-time on the DSK 5416 board.
>> > I have used CCS v2.0 to edit my C code.
>>
>> In that case, I suggest to use the CCS simulator first, and make sure your
>> algorithm
>> is running in real-time; i.e. within the 160 MIPS capability of the 5416.
>> That step
>> will also ensure your code is fully migrated to CCS and any
>> incompatibilities are
>> ironed out. Also, you will need to organize your code as frame-based,
>> suitable for
>> real-time continuous processing, if you didn't do that already in MATLAB.
>>
>> Then you can run on the DSK board and start using audio I/O.
>>
>> -Jeff
>>
>> PS. Please post to the group, not to me.
>>
>
Siva-

One correction -- each frame would use some number of cycles or instructions, not MIPS.

MIPS is a measure or relative performance, or processing rate -- not absolute time.

-Jeff
-------- Original Message ---------
Subject: Re: [c54x] Re: Add operations continually in a loop in 5416
From: "Jeff Brower"
Date: Sat, April 19, 2008 1:02 pm
To: "Siva Anne"
Cc: c...


Siva-

> how to implement the real time situation in CCS simulator?

Using the CCS simulator you can measure how fast your code is running. For example, if you organize your code as
frame-based, then each frame you can measure the number of cycles / MIPS used. Since you know how much time (e.g. how
many msec, usec, etc of data) is represented by each frame, then you will know whether your code can "keep up". If
your code cannot finish one frame of data before another frame is ready, then the code is not running in real-time.
Some examples of frame length:

speech, 10 to 20 msec
video, 33 msec (30 frames per sec)
radar, from low usec to low msec

> how can we feed window based data ....r u suggesting file operations?????

Yes file I/O is typically used in simulations. At the start of each frame, the code can read another chunk of file data.

-Jeff

> On Thu, Apr 17, 2008 at 8:59 PM, Jeff Brower wrote:
>
>> Frank-
>> > --- In c... , Jeff Brower
>> wrote:
>> > >
>> > > Frank-
>> > >
>> > > > My hardware is 5416DSK and AIC13, I want to used this to finish
>> > my project
>> > > > of echo cancellation. I have a sub-program there are over 100
>> > times add
>> > > > operations and I sure this program affect my output signal, I
>> > don't know
>> > > > how to make the add operations is more efficiency in C or C++.
>> > Somebody
>> > > > tell me can use the DMA, but I don't know how to use that. Are there someone shows me a program or some hints
let me know
>> > how to
>> > > > make add operations more efficiency, thanks.
>> > >
>> > > It's hard to help you without understanding the big picture of your
>> > situation. It
>> > > sounds like you were able to get your echo can project working
>> > using simulation
>> > > (non-real-time program), and now you have to run your code in real-
>> > time on the DSK
>> > > 5416 board -- is that correct? If so, did you use the CCS
>> > simulator to get your
>> > > C/C++ code running? Or were you running your C/C++ code in a Win
>> > or Linux
>> > > environment?
>> > >
>> > > -Jeff
>> > >
>> > Jeff-
>> >
>> > I have simulated this echo cancellation program on matlab in windows system and I want to run my code in
real-time on the DSK 5416 board. I have used CCS v2.0 to edit my C code.
>>
>> In that case, I suggest to use the CCS simulator first, and make sure your algorithm
>> is running in real-time; i.e. within the 160 MIPS capability of the 5416. That step
>> will also ensure your code is fully migrated to CCS and any
>> incompatibilities are
>> ironed out. Also, you will need to organize your code as frame-based, suitable for
>> real-time continuous processing, if you didn't do that already in MATLAB.
>>
>> Then you can run on the DSK board and start using audio I/O.
>>
>> -Jeff
>>
>> PS. Please post to the group, not to me.
>>
>
how to implement the real time situation in CCS simulator?
how can we feed window based data ....r u suggesting file operations?????

Anne

real

On Thu, Apr 17, 2008 at 8:59 PM, Jeff Brower wrote:

> Frank-
> > --- In c... , Jeff Brower
> wrote:
> > >
> > > Frank-
> > >
> > > > My hardware is 5416DSK and AIC13, I want to used this to finish
> > my project
> > > > of echo cancellation. I have a sub-program there are over 100
> > times add
> > > > operations and I sure this program affect my output signal, I
> > don't know
> > > > how to make the add operations is more efficiency in C or C++.
> > Somebody
> > > > tell me can use the DMA, but I don't know how to use that.
> > > > Are there someone shows me a program or some hints let me know
> > how to
> > > > make add operations more efficiency, thanks.
> > >
> > > It's hard to help you without understanding the big picture of your
> > situation. It
> > > sounds like you were able to get your echo can project working
> > using simulation
> > > (non-real-time program), and now you have to run your code in real-
> > time on the DSK
> > > 5416 board -- is that correct? If so, did you use the CCS
> > simulator to get your
> > > C/C++ code running? Or were you running your C/C++ code in a Win
> > or Linux
> > > environment?
> > >
> > > -Jeff
> > >
> > Jeff-
> >
> > I have simulated this echo cancellation program on matlab in windows
> > system and I want to run my code in real-time on the DSK 5416 board.
> > I have used CCS v2.0 to edit my C code.
>
> In that case, I suggest to use the CCS simulator first, and make sure your
> algorithm
> is running in real-time; i.e. within the 160 MIPS capability of the 5416.
> That step
> will also ensure your code is fully migrated to CCS and any
> incompatibilities are
> ironed out. Also, you will need to organize your code as frame-based,
> suitable for
> real-time continuous processing, if you didn't do that already in MATLAB.
>
> Then you can run on the DSK board and start using audio I/O.
>
> -Jeff
>
> PS. Please post to the group, not to me.
>
>