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


Discussion Groups

Discussion Groups | TMS320C55x | c55x o/p ports control

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

  

Post a new Thread

c55x o/p ports control - tarigb - Mar 26 9:18:11 2007



Hi,
I am a new member.
I am working with the TMS320C5510. I noticed that when I read an audio 
input using while (!DSK5510_AIC23_read16(hCodec, &left)), and loop it 
out via while (!DSK5510_AIC23_write16(hCodec, left)), the sound 
appears at both left and right channels. Does anybody have an 
interpretation for this? How can I direct the o/p to a single o/p port?

Thanks & Regards,
-Tarig

______________________________
New Year Gift for Members of DSPRelated.com.  Details here.


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

Re: c55x o/p ports control - Jeff Brower - Mar 26 11:44:32 2007

Tarig-

> I am a new member.
> I am working with the TMS320C5510. I noticed that when I read an audio
> input using while (!DSK5510_AIC23_read16(hCodec, &left)), and loop it
> out via while (!DSK5510_AIC23_write16(hCodec, left)), the sound
> appears at both left and right channels. Does anybody have an
> interpretation for this? How can I direct the o/p to a single o/p port?

What you are actually hearing is output sound sampled at half the desired rate; i.e. even
samples are going to the
line-out channel and odd samples are going to the headphone-out channel.  My guess is your
"sound" is something like
speech or sine wave or other low bandwidth audio signal so you are not able to hear the loss of
higher frequencies.

You need two (2) sets of calls in each loop:

  loop code {

    while (!DSK5510_AIC23_read16(hCodec, &left));
    while (!DSK5510_AIC23_read16(hCodec, &right));

    ... some processing code ...

    while (!DSK5510_AIC23_write16(hCodec, left));
    while (!DSK5510_AIC23_write16(hCodec, right));
  }

Note the "16" suffix in the API names.  If you study to what the 16 refers, then you
know why.

-Jeff

______________________________
New Year Gift for Members of DSPRelated.com.  Details here.


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