DSPRelated.com
Forums

Voice over ip..

Started by Raghavan.Praveen December 10, 2000
Hi everyone..

WE are doing a project. The project is sumthing like this:
(1) firstly we implemented voice over ip between 2 pcs. This was done
using java at both ends .
(2) then we were to implement the same between a pc and a cell phone.
It is assumed that the cell phone contains a c6x chip.

We have a c6201 evm . This is present in a pc in a pci slot.
The pc runs code composer.
Now firstly we tried to play the java end's sample on the dsp OFFLINE.
For this we copied the samples on a file then played the sample .
This worked perfectly.
Then we tried the reverse. i.e we played the samples captured by the
c6201 and played it as a file on the java running machine.
This too was successful.

Then we tried it ONLINE.

THIS IS WHAT WE DID:
The pc having the evm is connected to the network using a ethernet
card. When data is received the data packet from the pc (java) end we
used another java program to write the sample on to a file.
Then we used the "open" and "read" methods on the code composer to
open and play the samples. THIS IS WHERE THE PROBLEM CAME.
All we could hear was illegible. (blurts of sound).
To sync. the two we even kept flags. This did not work either.

WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ THE
DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.

PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
WILL BE EFFECTIVE:

(1) USING THE PCI .

(2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)

(3) IS THERE ANY OTHER METHOD.

................................................................
PLEASE SUGGEST SUMTHING...
We have a deadline which is fast approaching .!!!!
Thanking u all in anticipation,

DSP PROJECT GROUP



Raghavan,

I believe that the CC open/read method stops the DSP everytime
it gets to that point in your code. This would definitely cause problems
in a real-time application. You should use the PCI interface to transfer
data right into memory from the PC to the DSP. You should be able
to get 10 Mbyte/second transfer which should be plenty for this type
of application.

Brian

"Raghavan.Praveen" wrote:

> Hi everyone..
>
> WE are doing a project. The project is sumthing like this:
> (1) firstly we implemented voice over ip between 2 pcs. This was done
> using java at both ends .
> (2) then we were to implement the same between a pc and a cell phone.
> It is assumed that the cell phone contains a c6x chip.
>
> We have a c6201 evm . This is present in a pc in a pci slot.
> The pc runs code composer.
> Now firstly we tried to play the java end's sample on the dsp OFFLINE.
> For this we copied the samples on a file then played the sample .
> This worked perfectly.
> Then we tried the reverse. i.e we played the samples captured by the
> c6201 and played it as a file on the java running machine.
> This too was successful.
>
> Then we tried it ONLINE.
>
> THIS IS WHAT WE DID:
> The pc having the evm is connected to the network using a ethernet
> card. When data is received the data packet from the pc (java) end we
> used another java program to write the sample on to a file.
> Then we used the "open" and "read" methods on the code composer to
> open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> All we could hear was illegible. (blurts of sound).
> To sync. the two we even kept flags. This did not work either.
>
> WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ THE
> DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
>
> PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
> WILL BE EFFECTIVE:
>
> (1) USING THE PCI .
>
> (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
>
> (3) IS THERE ANY OTHER METHOD.
>
> ................................................................
> PLEASE SUGGEST SUMTHING...
> We have a deadline which is fast approaching .!!!!
> Thanking u all in anticipation,
>
> DSP PROJECT GROUP
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com



Hi,

I've seen a similar system feching packets through the PCI
(sent by the host) with no problems.
However I don't know the details.

Are you sure that the problem is the time it takes for the
DSP to read the file? What if you use a big input buffer
on the DSP, does it work then?

Juan.

----- Original Message -----
From: "Raghavan.Praveen " <>
To: <>
Sent: 10 December 2000 08:06
Subject: [c6x] Voice over ip.. > Hi everyone..
>
> WE are doing a project. The project is sumthing like this:
> (1) firstly we implemented voice over ip between 2 pcs. This was done
> using java at both ends .
> (2) then we were to implement the same between a pc and a cell phone.
> It is assumed that the cell phone contains a c6x chip.
>
> We have a c6201 evm . This is present in a pc in a pci slot.
> The pc runs code composer.
> Now firstly we tried to play the java end's sample on the dsp OFFLINE.
> For this we copied the samples on a file then played the sample .
> This worked perfectly.
> Then we tried the reverse. i.e we played the samples captured by the
> c6201 and played it as a file on the java running machine.
> This too was successful.
>
> Then we tried it ONLINE.
>
> THIS IS WHAT WE DID:
> The pc having the evm is connected to the network using a ethernet
> card. When data is received the data packet from the pc (java) end we
> used another java program to write the sample on to a file.
> Then we used the "open" and "read" methods on the code composer to
> open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> All we could hear was illegible. (blurts of sound).
> To sync. the two we even kept flags. This did not work either.
>
> WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ THE
> DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
>
> PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
> WILL BE EFFECTIVE:
>
> (1) USING THE PCI .
>
> (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
>
> (3) IS THERE ANY OTHER METHOD.
>
> ................................................................
> PLEASE SUGGEST SUMTHING...
> We have a deadline which is fast approaching .!!!!
> Thanking u all in anticipation,
>
> DSP PROJECT GROUP >
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com
>



hi juan,
Yes i am pretty sure that the problem is bcos of read operation.
What exactly do u mean by using a big i/p buffer?
does it mean i read larger amt of data each time?
But i want it to be real time.
thanx
praveen --- In , "Juan Solano" <jsolan1@y...> wrote:
> Hi,
>
> I've seen a similar system feching packets through the PCI
> (sent by the host) with no problems.
> However I don't know the details.
>
> Are you sure that the problem is the time it takes for the
> DSP to read the file? What if you use a big input buffer
> on the DSP, does it work then?
>
> Juan.
>
> ----- Original Message -----
> From: "Raghavan.Praveen " <raghavan_praveen@h...>
> To: <>
> Sent: 10 December 2000 08:06
> Subject: [c6x] Voice over ip.. > > Hi everyone..
> >
> > WE are doing a project. The project is sumthing like this:
> > (1) firstly we implemented voice over ip between 2 pcs. This was
done
> > using java at both ends .
> > (2) then we were to implement the same between a pc and a cell
phone.
> > It is assumed that the cell phone contains a c6x chip.
> >
> > We have a c6201 evm . This is present in a pc in a pci slot.
> > The pc runs code composer.
> > Now firstly we tried to play the java end's sample on the dsp
OFFLINE.
> > For this we copied the samples on a file then played the sample .
> > This worked perfectly.
> > Then we tried the reverse. i.e we played the samples captured by
the
> > c6201 and played it as a file on the java running machine.
> > This too was successful.
> >
> > Then we tried it ONLINE.
> >
> > THIS IS WHAT WE DID:
> > The pc having the evm is connected to the network using a
ethernet
> > card. When data is received the data packet from the pc (java)
end we
> > used another java program to write the sample on to a file.
> > Then we used the "open" and "read" methods on the code composer
to
> > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > All we could hear was illegible. (blurts of sound).
> > To sync. the two we even kept flags. This did not work either.
> >
> > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ
THE
> > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> >
> > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING
METHODS
> > WILL BE EFFECTIVE:
> >
> > (1) USING THE PCI .
> >
> > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> >
> > (3) IS THERE ANY OTHER METHOD.
> >
> > ................................................................
> > PLEASE SUGGEST SUMTHING...
> > We have a deadline which is fast approaching .!!!!
> > Thanking u all in anticipation,
> >
> > DSP PROJECT GROUP
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > To Join: Send an email to
> >
> > To Post: Send an email to
> >
> > To Leave: Send an email to
> >
> > Archives: http://www.egroups.com/group/c6x
> >
> > Other Groups: http://www.dsprelated.com
> >




On Sun, 10 Dec 2000, Raghavan.Praveen wrote:

> The pc having the evm is connected to the network using a ethernet
> card. When data is received the data packet from the pc (java) end we
> used another java program to write the sample on to a file.
> Then we used the "open" and "read" methods on the code composer to
> open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> All we could hear was illegible. (blurts of sound).
> To sync. the two we even kept flags. This did not work either.

This does not sound like your doing it in realtime. The problem here is
that you have conflicting file formats... Let's say that your file format
is simple a sequence of 8-bit samples (8Khz sampling rate) Little ENDIAN.
Make sure that your C6x is set in Little ENDIAN too. Upon reading the
samples from the file, you don't just send it to the EVM CODEC just like
that. Remember, the CODEC accepts a 32-bit word per sample. The format of
this word is 16-bit left then 16-bit right. You could amplify your 8-bit
sample by multiplying a constant. Put that new 16-bit word on both the
left and the right halves of the 32-bit word. That 32-bit word will then
be the one to be sent to the EVM CODEC. > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ THE
> DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
>
> PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
> WILL BE EFFECTIVE:
>
> (1) USING THE PCI .
>
> (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
>
> (3) IS THERE ANY OTHER METHOD.
>

If you want real-time performance, I suggest you check out the RTDX
capabilities rather than use file open/read.

--emer


Hi Raghavan,

I just meant that you should make sure that when buffering the
DSP input into a big chunk of data, although it is not real time
anymore, the DSP should be able to play the samples.
Sorry but I am not familiar with the open and read methods, and
anyway, I think you got some e-mails from other people that
are more helpful.

Good luck.
Juan.

----- Original Message -----
From: "Raghavan.Praveen " <>
To: <>
Sent: 11 December 2000 09:17
Subject: [c6x] Re: Voice over ip.. > hi juan,
> Yes i am pretty sure that the problem is bcos of read operation.
> What exactly do u mean by using a big i/p buffer?
> does it mean i read larger amt of data each time?
> But i want it to be real time.
> thanx
> praveen > --- In , "Juan Solano" <jsolan1@y...> wrote:
> > Hi,
> >
> > I've seen a similar system feching packets through the PCI
> > (sent by the host) with no problems.
> > However I don't know the details.
> >
> > Are you sure that the problem is the time it takes for the
> > DSP to read the file? What if you use a big input buffer
> > on the DSP, does it work then?
> >
> > Juan.
> >
> > ----- Original Message -----
> > From: "Raghavan.Praveen " <raghavan_praveen@h...>
> > To: <>
> > Sent: 10 December 2000 08:06
> > Subject: [c6x] Voice over ip..
> >
> >
> > > Hi everyone..
> > >
> > > WE are doing a project. The project is sumthing like this:
> > > (1) firstly we implemented voice over ip between 2 pcs. This was
> done
> > > using java at both ends .
> > > (2) then we were to implement the same between a pc and a cell
> phone.
> > > It is assumed that the cell phone contains a c6x chip.
> > >
> > > We have a c6201 evm . This is present in a pc in a pci slot.
> > > The pc runs code composer.
> > > Now firstly we tried to play the java end's sample on the dsp
> OFFLINE.
> > > For this we copied the samples on a file then played the sample .
> > > This worked perfectly.
> > > Then we tried the reverse. i.e we played the samples captured by
> the
> > > c6201 and played it as a file on the java running machine.
> > > This too was successful.
> > >
> > > Then we tried it ONLINE.
> > >
> > > THIS IS WHAT WE DID:
> > > The pc having the evm is connected to the network using a
> ethernet
> > > card. When data is received the data packet from the pc (java)
> end we
> > > used another java program to write the sample on to a file.
> > > Then we used the "open" and "read" methods on the code composer
> to
> > > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > > All we could hear was illegible. (blurts of sound).
> > > To sync. the two we even kept flags. This did not work either.
> > >
> > > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ
> THE
> > > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> > >
> > > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING
> METHODS
> > > WILL BE EFFECTIVE:
> > >
> > > (1) USING THE PCI .
> > >
> > > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> > >
> > > (3) IS THERE ANY OTHER METHOD.
> > >
> > > ................................................................
> > > PLEASE SUGGEST SUMTHING...
> > > We have a deadline which is fast approaching .!!!!
> > > Thanking u all in anticipation,
> > >
> > > DSP PROJECT GROUP
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > To Join: Send an email to
> > >
> > > To Post: Send an email to
> > >
> > > To Leave: Send an email to
> > >
> > > Archives: http://www.egroups.com/group/c6x
> > >
> > > Other Groups: http://www.dsprelated.com
> > >
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com
>


Hi Brain,
As you said that the cc read/open methods stop the dsp and hence
cause delay the process loses the real time property.
Hence i guess u suggested using "PCI" . I do not have much idea on to
how we can use PCI to do the data transfer from the host to the dsp.
Could you please throw some light on to this.

Thanking you in anticipation,
Raghavan
--- In , Brian Carlson <b.g.carlson@i...> wrote:
> Raghavan,
>
> I believe that the CC open/read method stops the DSP everytime
> it gets to that point in your code. This would definitely cause
problems
> in a real-time application. You should use the PCI interface to
transfer
> data right into memory from the PC to the DSP. You should be able
> to get 10 Mbyte/second transfer which should be plenty for this type
> of application.
>
> Brian
>
> "Raghavan.Praveen" wrote:
>
> > Hi everyone..
> >
> > WE are doing a project. The project is sumthing like this:
> > (1) firstly we implemented voice over ip between 2 pcs. This was
done
> > using java at both ends .
> > (2) then we were to implement the same between a pc and a cell
phone.
> > It is assumed that the cell phone contains a c6x chip.
> >
> > We have a c6201 evm . This is present in a pc in a pci slot.
> > The pc runs code composer.
> > Now firstly we tried to play the java end's sample on the dsp
OFFLINE.
> > For this we copied the samples on a file then played the sample .
> > This worked perfectly.
> > Then we tried the reverse. i.e we played the samples captured by
the
> > c6201 and played it as a file on the java running machine.
> > This too was successful.
> >
> > Then we tried it ONLINE.
> >
> > THIS IS WHAT WE DID:
> > The pc having the evm is connected to the network using a ethernet
> > card. When data is received the data packet from the pc (java)
end we
> > used another java program to write the sample on to a file.
> > Then we used the "open" and "read" methods on the code composer to
> > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > All we could hear was illegible. (blurts of sound).
> > To sync. the two we even kept flags. This did not work either.
> >
> > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ
THE
> > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> >
> > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
> > WILL BE EFFECTIVE:
> >
> > (1) USING THE PCI .
> >
> > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> >
> > (3) IS THERE ANY OTHER METHOD.
> >
> > ................................................................
> > PLEASE SUGGEST SUMTHING...
> > We have a deadline which is fast approaching .!!!!
> > Thanking u all in anticipation,
> >
> > DSP PROJECT GROUP
> >
> > To Join: Send an email to
> >
> > To Post: Send an email to
> >
> > To Leave: Send an email to
> >
> > Archives: http://www.egroups.com/group/c6x
> >
> > Other Groups: http://www.dsprelated.com


You can use the EVM's Win32 DLL calls related to the HPI
to read and write DSP memory over the PCI bus through the HPI.

Here are the function prototypes:

DLL32_ENTRY LPVOID evm6x_hpi_open(HANDLE h_device);
DLL32_ENTRY BOOL evm6x_hpi_close(LPVOID h_hpi_map);
DLL32_ENTRY BOOL evm6x_hpi_read(LPVOID h_hpi_map, PULONG p_buffer,
PULONG p_length, ULONG src_addr);
DLL32_ENTRY BOOL evm6x_hpi_write(LPVOID h_hpi_map, PULONG p_buffer,
PULONG p_length, ULONG dest_addr);
DLL32_ENTRY BOOL evm6x_hpi_read_single(LPVOID h_hpi_map, LPVOID p_data,
int i_size, ULONG src_addr);
DLL32_ENTRY BOOL evm6x_hpi_write_single(LPVOID h_hpi_map, ULONG ul_data,
int i_size, ULONG dest_addr);
DLL32_ENTRY BOOL evm6x_hpi_fill(LPVOID h_hpi_map, ULONG fill_value,
PULONG p_length, ULONG dest_addr);
DLL32_ENTRY BOOL evm6x_hpi_generate_int(LPVOID h_hpi_map);

You can make the interface on the DSP side simple by checking a memory location
(polling), or use the evm6x_hpi_generate_int() function and use an interrupt
handler
on the DSP side to process the data.

Regards,
Brian

"Raghavan.Praveen" wrote:

> Hi Brain,
> As you said that the cc read/open methods stop the dsp and hence
> cause delay the process loses the real time property.
> Hence i guess u suggested using "PCI" . I do not have much idea on to
> how we can use PCI to do the data transfer from the host to the dsp.
> Could you please throw some light on to this.
>
> Thanking you in anticipation,
> Raghavan
>
> --- In , Brian Carlson <b.g.carlson@i...> wrote:
> > Raghavan,
> >
> > I believe that the CC open/read method stops the DSP everytime
> > it gets to that point in your code. This would definitely cause
> problems
> > in a real-time application. You should use the PCI interface to
> transfer
> > data right into memory from the PC to the DSP. You should be able
> > to get 10 Mbyte/second transfer which should be plenty for this type
> > of application.
> >
> > Brian
> >
> > "Raghavan.Praveen" wrote:
> >
> > > Hi everyone..
> > >
> > > WE are doing a project. The project is sumthing like this:
> > > (1) firstly we implemented voice over ip between 2 pcs. This was
> done
> > > using java at both ends .
> > > (2) then we were to implement the same between a pc and a cell
> phone.
> > > It is assumed that the cell phone contains a c6x chip.
> > >
> > > We have a c6201 evm . This is present in a pc in a pci slot.
> > > The pc runs code composer.
> > > Now firstly we tried to play the java end's sample on the dsp
> OFFLINE.
> > > For this we copied the samples on a file then played the sample .
> > > This worked perfectly.
> > > Then we tried the reverse. i.e we played the samples captured by
> the
> > > c6201 and played it as a file on the java running machine.
> > > This too was successful.
> > >
> > > Then we tried it ONLINE.
> > >
> > > THIS IS WHAT WE DID:
> > > The pc having the evm is connected to the network using a ethernet
> > > card. When data is received the data packet from the pc (java)
> end we
> > > used another java program to write the sample on to a file.
> > > Then we used the "open" and "read" methods on the code composer to
> > > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > > All we could hear was illegible. (blurts of sound).
> > > To sync. the two we even kept flags. This did not work either.
> > >
> > > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO READ
> THE
> > > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> > >
> > > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING METHODS
> > > WILL BE EFFECTIVE:
> > >
> > > (1) USING THE PCI .
> > >
> > > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> > >
> > > (3) IS THERE ANY OTHER METHOD.
> > >
> > > ................................................................
> > > PLEASE SUGGEST SUMTHING...
> > > We have a deadline which is fast approaching .!!!!
> > > Thanking u all in anticipation,
> > >
> > > DSP PROJECT GROUP
> > >
> > > To Join: Send an email to
> > >
> > > To Post: Send an email to
> > >
> > > To Leave: Send an email to
> > >
> > > Archives: http://www.egroups.com/group/c6x
> > >
> > > Other Groups: http://www.dsprelated.com
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com



Hi again brain,
If u had read my original mail .
I had written that i did not have the file windows.h
this file i beleive is needed 2 b included.
I do have the evm6xdll.h etc
but i cannot use these functions.
It gives me an error during linking sayin it does not have the
dll. when i keep the dll in the same directory it still gives me
errors.
What are the required files needed for this operation?
ie using these functions that u have shown?
If it is possible could u please attach it to an mail
to my mail id...
thanx in advance
praveen --- In , Brian Carlson <b.g.carlson@i...> wrote:
> You can use the EVM's Win32 DLL calls related to the HPI
> to read and write DSP memory over the PCI bus through the HPI.
>
> Here are the function prototypes:
>
> DLL32_ENTRY LPVOID evm6x_hpi_open(HANDLE h_device);
> DLL32_ENTRY BOOL evm6x_hpi_close(LPVOID h_hpi_map);
> DLL32_ENTRY BOOL evm6x_hpi_read(LPVOID h_hpi_map, PULONG p_buffer,
> PULONG p_length, ULONG src_addr);
> DLL32_ENTRY BOOL evm6x_hpi_write(LPVOID h_hpi_map, PULONG p_buffer,
> PULONG p_length, ULONG dest_addr);
> DLL32_ENTRY BOOL evm6x_hpi_read_single(LPVOID h_hpi_map, LPVOID
p_data,
> int i_size, ULONG src_addr);
> DLL32_ENTRY BOOL evm6x_hpi_write_single(LPVOID h_hpi_map, ULONG
ul_data,
> int i_size, ULONG
dest_addr);
> DLL32_ENTRY BOOL evm6x_hpi_fill(LPVOID h_hpi_map, ULONG fill_value,
> PULONG p_length, ULONG dest_addr);
> DLL32_ENTRY BOOL evm6x_hpi_generate_int(LPVOID h_hpi_map);
>
> You can make the interface on the DSP side simple by checking a
memory location
> (polling), or use the evm6x_hpi_generate_int() function and use an
interrupt
> handler
> on the DSP side to process the data.
>
> Regards,
> Brian
>
> "Raghavan.Praveen" wrote:
>
> > Hi Brain,
> > As you said that the cc read/open methods stop the dsp and hence
> > cause delay the process loses the real time property.
> > Hence i guess u suggested using "PCI" . I do not have much idea
on to
> > how we can use PCI to do the data transfer from the host to the
dsp.
> > Could you please throw some light on to this.
> >
> > Thanking you in anticipation,
> > Raghavan
> >
> > --- In , Brian Carlson <b.g.carlson@i...> wrote:
> > > Raghavan,
> > >
> > > I believe that the CC open/read method stops the DSP everytime
> > > it gets to that point in your code. This would definitely cause
> > problems
> > > in a real-time application. You should use the PCI interface to
> > transfer
> > > data right into memory from the PC to the DSP. You should be
able
> > > to get 10 Mbyte/second transfer which should be plenty for this
type
> > > of application.
> > >
> > > Brian
> > >
> > > "Raghavan.Praveen" wrote:
> > >
> > > > Hi everyone..
> > > >
> > > > WE are doing a project. The project is sumthing like this:
> > > > (1) firstly we implemented voice over ip between 2 pcs. This
was
> > done
> > > > using java at both ends .
> > > > (2) then we were to implement the same between a pc and a cell
> > phone.
> > > > It is assumed that the cell phone contains a c6x chip.
> > > >
> > > > We have a c6201 evm . This is present in a pc in a pci slot.
> > > > The pc runs code composer.
> > > > Now firstly we tried to play the java end's sample on the dsp
> > OFFLINE.
> > > > For this we copied the samples on a file then played the
sample .
> > > > This worked perfectly.
> > > > Then we tried the reverse. i.e we played the samples captured
by
> > the
> > > > c6201 and played it as a file on the java running machine.
> > > > This too was successful.
> > > >
> > > > Then we tried it ONLINE.
> > > >
> > > > THIS IS WHAT WE DID:
> > > > The pc having the evm is connected to the network using a
ethernet
> > > > card. When data is received the data packet from the pc (java)
> > end we
> > > > used another java program to write the sample on to a file.
> > > > Then we used the "open" and "read" methods on the code
composer to
> > > > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > > > All we could hear was illegible. (blurts of sound).
> > > > To sync. the two we even kept flags. This did not work either.
> > > >
> > > > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO
READ
> > THE
> > > > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> > > >
> > > > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING
METHODS
> > > > WILL BE EFFECTIVE:
> > > >
> > > > (1) USING THE PCI .
> > > >
> > > > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > > > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> > > >
> > > > (3) IS THERE ANY OTHER METHOD.
> > > >
> > >
> ................................................................
> > > > PLEASE SUGGEST SUMTHING...
> > > > We have a deadline which is fast approaching .!!!!
> > > > Thanking u all in anticipation,
> > > >
> > > > DSP PROJECT GROUP
> > > >
> > > > To Join: Send an email to
> > > >
> > > > To Post: Send an email to
> > > >
> > > > To Leave: Send an email to
> > > >
> > > > Archives: http://www.egroups.com/group/c6x
> > > >
> > > > Other Groups: http://www.dsprelated.com
> >
> > To Join: Send an email to
> >
> > To Post: Send an email to
> >
> > To Leave: Send an email to
> >
> > Archives: http://www.egroups.com/group/c6x
> >
> > Other Groups: http://www.dsprelated.com



Raghavan,

The windows.h file is provided by your Windows compiler vendor. It is a
standard
Win32 include file. You must also include the evm6x.lib file in your project so

that it can link in the export calls in the evm6x.dll. If you don't do this
you
will get unresolved references. This is all standard Windows compilation
stuff, so it is not particular to the EVM support software. Refer to your
Windows
compiler documentation for more details.

Brian

wrote:

> Hi again brain,
> If u had read my original mail .
> I had written that i did not have the file windows.h
> this file i beleive is needed 2 b included.
> I do have the evm6xdll.h etc
> but i cannot use these functions.
> It gives me an error during linking sayin it does not have the
> dll. when i keep the dll in the same directory it still gives me
> errors.
> What are the required files needed for this operation?
> ie using these functions that u have shown?
> If it is possible could u please attach it to an mail
> to my mail id...
> thanx in advance
> praveen
>
> --- In , Brian Carlson <b.g.carlson@i...> wrote:
> > You can use the EVM's Win32 DLL calls related to the HPI
> > to read and write DSP memory over the PCI bus through the HPI.
> >
> > Here are the function prototypes:
> >
> > DLL32_ENTRY LPVOID evm6x_hpi_open(HANDLE h_device);
> > DLL32_ENTRY BOOL evm6x_hpi_close(LPVOID h_hpi_map);
> > DLL32_ENTRY BOOL evm6x_hpi_read(LPVOID h_hpi_map, PULONG p_buffer,
> > PULONG p_length, ULONG src_addr);
> > DLL32_ENTRY BOOL evm6x_hpi_write(LPVOID h_hpi_map, PULONG p_buffer,
> > PULONG p_length, ULONG dest_addr);
> > DLL32_ENTRY BOOL evm6x_hpi_read_single(LPVOID h_hpi_map, LPVOID
> p_data,
> > int i_size, ULONG src_addr);
> > DLL32_ENTRY BOOL evm6x_hpi_write_single(LPVOID h_hpi_map, ULONG
> ul_data,
> > int i_size, ULONG
> dest_addr);
> > DLL32_ENTRY BOOL evm6x_hpi_fill(LPVOID h_hpi_map, ULONG fill_value,
> > PULONG p_length, ULONG dest_addr);
> > DLL32_ENTRY BOOL evm6x_hpi_generate_int(LPVOID h_hpi_map);
> >
> > You can make the interface on the DSP side simple by checking a
> memory location
> > (polling), or use the evm6x_hpi_generate_int() function and use an
> interrupt
> > handler
> > on the DSP side to process the data.
> >
> > Regards,
> > Brian
> >
> > "Raghavan.Praveen" wrote:
> >
> > > Hi Brain,
> > > As you said that the cc read/open methods stop the dsp and hence
> > > cause delay the process loses the real time property.
> > > Hence i guess u suggested using "PCI" . I do not have much idea
> on to
> > > how we can use PCI to do the data transfer from the host to the
> dsp.
> > > Could you please throw some light on to this.
> > >
> > > Thanking you in anticipation,
> > > Raghavan
> > >
> > > --- In , Brian Carlson <b.g.carlson@i...> wrote:
> > > > Raghavan,
> > > >
> > > > I believe that the CC open/read method stops the DSP everytime
> > > > it gets to that point in your code. This would definitely cause
> > > problems
> > > > in a real-time application. You should use the PCI interface to
> > > transfer
> > > > data right into memory from the PC to the DSP. You should be
> able
> > > > to get 10 Mbyte/second transfer which should be plenty for this
> type
> > > > of application.
> > > >
> > > > Brian
> > > >
> > > > "Raghavan.Praveen" wrote:
> > > >
> > > > > Hi everyone..
> > > > >
> > > > > WE are doing a project. The project is sumthing like this:
> > > > > (1) firstly we implemented voice over ip between 2 pcs. This
> was
> > > done
> > > > > using java at both ends .
> > > > > (2) then we were to implement the same between a pc and a cell
> > > phone.
> > > > > It is assumed that the cell phone contains a c6x chip.
> > > > >
> > > > > We have a c6201 evm . This is present in a pc in a pci slot.
> > > > > The pc runs code composer.
> > > > > Now firstly we tried to play the java end's sample on the dsp
> > > OFFLINE.
> > > > > For this we copied the samples on a file then played the
> sample .
> > > > > This worked perfectly.
> > > > > Then we tried the reverse. i.e we played the samples captured
> by
> > > the
> > > > > c6201 and played it as a file on the java running machine.
> > > > > This too was successful.
> > > > >
> > > > > Then we tried it ONLINE.
> > > > >
> > > > > THIS IS WHAT WE DID:
> > > > > The pc having the evm is connected to the network using a
> ethernet
> > > > > card. When data is received the data packet from the pc (java)
> > > end we
> > > > > used another java program to write the sample on to a file.
> > > > > Then we used the "open" and "read" methods on the code
> composer to
> > > > > open and play the samples. THIS IS WHERE THE PROBLEM CAME.
> > > > > All we could hear was illegible. (blurts of sound).
> > > > > To sync. the two we even kept flags. This did not work either.
> > > > >
> > > > > WE BELEIVE THAT THIS IS BECAUSE THE TIME TAKEN BY THE DSP TO
> READ
> > > THE
> > > > > DATA FROM THE HOST IS LARGE. WE WANT TO REDUCE THIS.
> > > > >
> > > > > PLEASE SUGGEST A METHOD TO DO THIS. WHICH OF THE FOLLOWING
> METHODS
> > > > > WILL BE EFFECTIVE:
> > > > >
> > > > > (1) USING THE PCI .
> > > > >
> > > > > (2) CONNECTING THE PC'S "PARRALLEL PORT" WITH THE EXPANSION
> > > > > PERIPHERAL INTERFACE(ON THE EVM pins J6 and J7)
> > > > >
> > > > > (3) IS THERE ANY OTHER METHOD.
> > > > >
> > > >
> > ................................................................
> > > > > PLEASE SUGGEST SUMTHING...
> > > > > We have a deadline which is fast approaching .!!!!
> > > > > Thanking u all in anticipation,
> > > > >
> > > > > DSP PROJECT GROUP
> > > > >
> > > > > To Join: Send an email to
> > > > >
> > > > > To Post: Send an email to
> > > > >
> > > > > To Leave: Send an email to
> > > > >
> > > > > Archives: http://www.egroups.com/group/c6x
> > > > >
> > > > > Other Groups: http://www.dsprelated.com
> > >
> > > To Join: Send an email to
> > >
> > > To Post: Send an email to
> > >
> > > To Leave: Send an email to
> > >
> > > Archives: http://www.egroups.com/group/c6x
> > >
> > > Other Groups: http://www.dsprelated.com
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.egroups.com/group/c6x
>
> Other Groups: http://www.dsprelated.com