Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Ads

Discussion Groups

Discussion Groups | TMS320C55x | Re: Re: Re: Re: query regarding interfacing of ADC/DAC for speech i/p and o/p

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

Re: Re: Re: Re: query regarding interfacing of ADC/DAC for speech i/p and o/p - Jeff Brower - Oct 19 10:26:08 2006



Umer-

> Sorry I was out of town so didn't respond you timely
> No it is not working....even after outptr=1.....now what to do. Ok just
> ell me is there any other way..or how can we improve it..

Please explain "not working".  What happens?

> .what is the purpose of software delay loop...can't we use it?

I thought that's what you wanted, a long delay between output and input.

-Jeff

> >It was pointed out to me that outptr should be initialized to 1 to get the
> >full 4 sec delay:
> >
> >  inptr = 0;
> >  outptr = 1;
> >
> >Let me know if it works, or at least gets you closer.
> >
> >-Jeff
> >
> >---------------------------- Original Message ----------------------------
> >Subject: Re: [c55x] Re:  Re: query regarding interfacing of ADC/DAC for
> >speech      i/p and o/p From:    "Jeff Brower"
> >Date:    Thu, October 12, 2006 7:18 pm
> >To:      "Umer Khan"
> >Cc:      c...@yahoogroups.com
> >--------------------------------------------------------------------------
> >
> >Umer-
> >>  I couldn't get your second hint related to single circular ....I/O
> >pointer shifted tio each others.So far as your point of not debugging my
> >assignment is concerned, let me tell you that after this preliminay set
> >up (just to verify the correct working of DSK's CODEC) I have to undergo
> >a detailed course of DSP alongwith DSK training. So plz change your mind
> >that i am getting my assignment done from you. If you dont help me I
> >will do it after 6 months. I just want to show it to my advisor.
> >Otherwise i will just show him the loopback working. I was trying to
> >show him a good piece of work by looping it back after some seconds.
> >Also I have the Java experiance not for C.So I would be happy if you
> >help me getting it done. Otherwise no prob.,,,
> >
> >Ok ok... something like the code example below.  For a sampling rate of 8
> >kHz, output will be delayed from input by 4 sec.  I only stored left
> >channel.  I didn't test the code.
> >
> >-Jeff
> >define #BUFLEN 16384  /* must be power of 2 */
> >short left, right, inptr, outptr;
> >short buf[BUFLEN];
> >
> >  inptr = 0;
> >  outptr = BUFLEN-1;
> >
> >  while (TRUE) {
> >
> >    while (!DSK5510_AIC23_read16(hCodec, &left));
> >    while (!DSK5510_AIC23_read16(hCodec, &right));
> >
> >    buf[inptr++] = left;
> >    inptr &= BUFLEN-1;
> >
> >    left = buf[outptr++];
> >    outptr &= BUFLEN-1;
> >
> >    while(!DSK5510_AIC23_write16(hCodec, left));
> >    while(!DSK5510_AIC23_write16(hCodec, right));
> > }
> >
> >>  Jeff Brower    wrote:
> >>
> >>       Umer-
> >>
> >>       >  Thanks for ur reply. The code snippet that u have mentioned (i.e.
> >loopback) is already working and i hav already tried it out. But
> >I just
> >>
> >>       >  want to store the audio input in some buffer array or any thing
> >else.
> >>       And
> >>       >  then I want to loop it back after sometime (in seconds just like
> >after introducing some delay). Please look in to my code to
> >understand wht i am trying to do. This is my first assignment to
> >configure DSK and a preliminary demo (abt which my question is).
> >After that i will start learning DSP concepts and tutorials and
> >manuals of CCS. So kindly help me to get this first step.
> >>
> >>       I know what you're trying to do, and I know what's wrong with your
> >code. But I'm not
> >>       going to debug your assignment for you.
> >>
> >>       The point of my reply is to show that you are assuming too many
> >steps between the
> >>       initial working code, and your objective -- which is a typical
> >student error. If you
> >>       go carefully, step-by-step, then you can figure it out. I'll give
> >you 2 hints: a)
> >>       don't make separate for-loops, and b) use a single, circular buffer
> >with input and
> >>       output pointers shifted from each other.
> >>
> >>       Good luck!
> >>
> >>       -Jeff
> >>
> >>       >  Umer-
> >>       >  >
> >>       >  > >  So did u find answer to your query? I am really a new
comer in
> >DSP domain and unknown to working C5510 in detail. I want to
> >read audio input from mic and store it.Then i want to play it
> >back to headphone.
> >>       >  > >
> >>       >  > >  This is my main():
> >>       >  >
> >>       >  > First I would try something very simple to verify your DSK
> >board, tool
> >>
> >>       >  > set-up, build options, memory map, and other basic factors are
Ok:
> >>       >  >
> >>       >  > void main() {
> >>       >  >
> >>       >  > DSK5510_AIC23_CodecHandle hCodec;
> >>       >  > Int16 left,right;
> >>       >  >
> >>       >  >  /* Initialize the board support library, must be called first
> >*/ DSK5510_init();
> >>       >  >
> >>       >  >  /* Start the codec */
> >>       >  >  hCodec = DSK5510_AIC23_openCodec(0, &config);
> >>       >  >
> >>       >  >  /* Audio loopback */
> >>       >  >  while (TRUE) {
> >>       >  >
> >>       >  >  while (!DSK5510_AIC23_read16(hCodec, &left));
> >>       >  >  while (!DSK5510_AIC23_read16(hCodec, &right));
> >>       >  >
> >>       >  >  while(!DSK5510_AIC23_write16(hCodec, left));
> >>       >  >  while(!DSK5510_AIC23_write16(hCodec, right));
> >>       >  >  }
> >>       >  >
> >>       >  >  DSK5510_AIC23_closeCodec(hCodec);
> >>       >  > }
> >>       >  >
> >>       >  > This should enable audio loopback -- you should hear whatever is
on
> >>       the
> >>       >  > inputs. Does that much work? If so, then you can go step-by-step
to
> >>       add
> >>       >  > the functionality you need, testing each step carefully.
> >>       >  >
> >>       >  > Also, here is a nice page for generating a sine wave with DSK
5510:
> >>       >  >
> >>       >  > 
http://www.tkt.cs.tut.fi/kurssit/3516/exercises/fall05/test_audioIO.c
> >>
> >>       >  >
> >>       >  > -Jeff
> >>       >  > >  void main()
> >>       >  > >  {
> >>       >  > >
> >>       >  > >  DSK5510_AIC23_CodecHandle hCodec;
> >>       >  > >  Int16 i,j,k,left,right;
> >>       >  > >  Int16 input1[8000];
> >>       >  > >  Int16 input2[8000];
> >>       >  > >  /* Initialize the board support library, must be called
first
> >*/ DSK5510_init();
> >>       >  > >
> >>       >  > >  /* Start the codec */
> >>       >  > >  hCodec = DSK5510_AIC23_openCodec(0, &config);
> >>       >  > >
> >>       >  > >  /* Generate a 1KHz sine wave for 5 seconds */
> >>       >  > >  for (i = 0; i  < 10; i++)
> >>       >  > >  {
> >>       >  > >  for (j = 0; j  < 8000; j++)
> >>       >  > >  {
> >>       >  > >  /* Read a sample from left channel */
> >>       >  > >  while (!DSK5510_AIC23_read16(hCodec, &left));
> >>       >  > >  input1[j]=left;
> >>       >  > >
> >>       >  > >  /* Read a sample from right channel */
> >>       >  > >  while (!DSK5510_AIC23_read16(hCodec, &right));
> >>       >  > >  input2[j]= right;
> >>       >  > >  }
> >>       >  > >
> >>       >  > >  }
> >>       >  > >  for (i = 0; i  < 10; i++)
> >>       >  > >  {
> >>       >  > >  for(k=0; k {
> >>       >  > >  while(!DSK5510_AIC23_write16(hCodec, input1[k]));
> >>       >  > >  /* Send a sample to the right channel */
> >>       >  > >  while(!DSK5510_AIC23_write16(hCodec, input2[k]));
> >>       >  > >  }
> >>       >  > >  }
> >>       >  > >  /* Close the codec */
> >>       >  > >  DSK5510_AIC23_closeCodec(hCodec);
> >>       >  > >  }
> >>       >  > >
> >>       >  > >  But it is not giving any output. What to do?
> >>       >  > >  kindly help me where i am going wrong. I will be waiting
for ur
> >>       reply
> >>       >  > >
> >>       >  > >  regards,
> >>       >  > >  Umer
> >>       >  > >  >
> >>       >  > >  >  hello everybody
> >>       >  > >  >  i m an student doing project "Real time
> >>       >  > >  >  implementation of G.723.1 on TMS320VC5510"
> >>       >  > >  >  right now i am ready with optimised code which is
> >>       >  > >  >  running in CCS simulator by taking i/p from file and
putting
> >o/p in2 file
> >>       >  > >  >  but now my next step is to run it in to DSK board
for that i
> >have to take i/p from mike and taken o/p from headphone
> >>       >  > >  >  and for that i have to interface adc/dac of that
> >>       >  > >  >  particular board which uses AIC23 as a codec.
> >>       >  > >  >  i tried 2 get some idea from audio project available
in TI
> >but not getting the flow as i don't aquant with DSP-BIOS
> >also
> >>       >  > >  >  please any1 sugest me how to proceed or else can
> >>       >  > >  >  anybody send me programme to interface codec
withought using
> >DSP-BIOS
> >>       >  > >  >
> >>       >  > >  >  sorry for long mail
> >>       >  > >  >  waiting for early reply as i have to submit my
project bbye
> >>       >  > >  >  Alpana
> >>       >  > >  >  M.E.(GCOEP)
> >>       >  > >  >  Pune
> >>
> >
>



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )