Problem using Sound Card on Roboard...

Based on DMP's Vortex processor / SoC this board is a full computer capable of running a standard Windows and Linux installation on the backpack of your robot.
18 postsPage 1 of 21, 2
18 postsPage 1 of 21, 2

Problem using Sound Card on Roboard...

Post by PaulL » Sun Jul 25, 2010 9:32 pm

Post by PaulL
Sun Jul 25, 2010 9:32 pm

I have found what appears to be an issue with how the sound card works under Windows XP. Either opening the Speech Properties in Control Panel with SAPI 5.0 installed, or opening Sound Recorder and recording sound produces spikes at regular intervals at near 100% CPU utilization in the System process under Task Manager.

This causes me a number of problems. I'm wondering if I can either find a mini-PCI sound card, or a USB microphone to alleviate this problem.

Does anyone (Roboard) have any suggestions? Is this a driver issue, hardware issue, or what? Any help would be greatly appreciated.

Thanks,
Paul
I have found what appears to be an issue with how the sound card works under Windows XP. Either opening the Speech Properties in Control Panel with SAPI 5.0 installed, or opening Sound Recorder and recording sound produces spikes at regular intervals at near 100% CPU utilization in the System process under Task Manager.

This causes me a number of problems. I'm wondering if I can either find a mini-PCI sound card, or a USB microphone to alleviate this problem.

Does anyone (Roboard) have any suggestions? Is this a driver issue, hardware issue, or what? Any help would be greatly appreciated.

Thanks,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Sun Jul 25, 2010 10:29 pm

Post by PaulL
Sun Jul 25, 2010 10:29 pm

The Roboard appears to use a C-Media CM108 or CM108AH sound card chip (based on Vendor ID and Device ID for the device). I am going to see if I can find alternate (non-Microsoft) drivers for it.
The Roboard appears to use a C-Media CM108 or CM108AH sound card chip (based on Vendor ID and Device ID for the device). I am going to see if I can find alternate (non-Microsoft) drivers for it.
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by matt.stevenson » Sun Jul 25, 2010 10:43 pm

Post by matt.stevenson
Sun Jul 25, 2010 10:43 pm

I don't know how much I can help since I'm running linux, but I'm not sure it would necessarily be a driver issue.

You could check the CPU utilization on another PC, and see if it spikes. It could also be RAM utilization/paging. Is your memory use maxed out?

I've had no problems with the sound on linux. Playing mp3s and using FreeTTS have not had any problems. One downside to FreeTTS is that it doesn't give you viseme events (or I have not found out how to get them), but that's only a concern if you plan on having corresponding lip movements to the speech.
I don't know how much I can help since I'm running linux, but I'm not sure it would necessarily be a driver issue.

You could check the CPU utilization on another PC, and see if it spikes. It could also be RAM utilization/paging. Is your memory use maxed out?

I've had no problems with the sound on linux. Playing mp3s and using FreeTTS have not had any problems. One downside to FreeTTS is that it doesn't give you viseme events (or I have not found out how to get them), but that's only a concern if you plan on having corresponding lip movements to the speech.
matt.stevenson offline
Savvy Roboteer
Savvy Roboteer
Posts: 37
Joined: Thu Apr 29, 2010 9:29 pm

Post by PaulL » Sun Jul 25, 2010 10:54 pm

Post by PaulL
Sun Jul 25, 2010 10:54 pm

Hi Matt,

CPU on my desktop machine doesn't nudge at all in Sound Recorder or accessing the Speech properties in Control Panel. No spikes on my desktop. RAM is over 160 mb free on Roboard. I watched Performance Monitor monitoring Pages / Sec for Memory, % Processor Utilization, and Avg Disk Queue length. The only line that spikes is the CPU. I don't have my swap file turned on, as I don't want Windows writing to my MicroSD card more than it already does. :)

This is bugging me, not sure why the CPU utilization spikes like this. It's very consistent, a very regular pattern.

Thanks,
Paul
Hi Matt,

CPU on my desktop machine doesn't nudge at all in Sound Recorder or accessing the Speech properties in Control Panel. No spikes on my desktop. RAM is over 160 mb free on Roboard. I watched Performance Monitor monitoring Pages / Sec for Memory, % Processor Utilization, and Avg Disk Queue length. The only line that spikes is the CPU. I don't have my swap file turned on, as I don't want Windows writing to my MicroSD card more than it already does. :)

This is bugging me, not sure why the CPU utilization spikes like this. It's very consistent, a very regular pattern.

Thanks,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by matt.stevenson » Sun Jul 25, 2010 11:07 pm

Post by matt.stevenson
Sun Jul 25, 2010 11:07 pm

Ram doesn't seem to be an issue, and I have no swap for the same reason so that should be fine.

Did you have the same problem before installing SAPI?

I missed the part about Sound Recorder. Is the mic on the same chip as the sound out? I can't recall at the moment, but does the speech panel have any tabs for mics/recording/speech rec? I'm wondering if its a mic issue and not line out. I have not used the mic on mine yet so I don't know if there are any linux issues with it.
Ram doesn't seem to be an issue, and I have no swap for the same reason so that should be fine.

Did you have the same problem before installing SAPI?

I missed the part about Sound Recorder. Is the mic on the same chip as the sound out? I can't recall at the moment, but does the speech panel have any tabs for mics/recording/speech rec? I'm wondering if its a mic issue and not line out. I have not used the mic on mine yet so I don't know if there are any linux issues with it.
matt.stevenson offline
Savvy Roboteer
Savvy Roboteer
Posts: 37
Joined: Thu Apr 29, 2010 9:29 pm

Post by PaulL » Sun Jul 25, 2010 11:27 pm

Post by PaulL
Sun Jul 25, 2010 11:27 pm

I can't say if this happened before, never tried using Sound Recorder on the Roboard before.

I can say, I was doing text to speech in the past (no recognition, prior to installing SAPI 5.0) and the performance did not take a hit like this.

Mic in / Wave out are all done on this one chip. You can go in and select "Preferred Device", actual device, etc, nothing fancy there, and I've gone through those, no difference.

This chip is actually a USB device, which makes things more interesting.

On my desktop machine, I was using a USB Webcam's microphone for testing speech recognition. I'm curious what would happen if I set up the cam w/ mic on the Roboard. To test that, I need to look harder for the drivers, they're here somewhere...

Btw, Mic is the only selectable input device for recording source.
I can't say if this happened before, never tried using Sound Recorder on the Roboard before.

I can say, I was doing text to speech in the past (no recognition, prior to installing SAPI 5.0) and the performance did not take a hit like this.

Mic in / Wave out are all done on this one chip. You can go in and select "Preferred Device", actual device, etc, nothing fancy there, and I've gone through those, no difference.

This chip is actually a USB device, which makes things more interesting.

On my desktop machine, I was using a USB Webcam's microphone for testing speech recognition. I'm curious what would happen if I set up the cam w/ mic on the Roboard. To test that, I need to look harder for the drivers, they're here somewhere...

Btw, Mic is the only selectable input device for recording source.
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Mon Jul 26, 2010 1:37 am

Post by PaulL
Mon Jul 26, 2010 1:37 am

Well, two points here: 1, a Logitech QuickCam Pro 4000 WILL work on a Roboard, but the ImageStudio software doesn't seem happy, likely due to lack of MMX extensions or something. There was a preview window that did show camera images, probably VFW or whatever.

Next point, and this is interesting: USB microphone on the Web Cam DOES work on Roboard. It causes CPU spikes on Roboard (but not on my desktop), but not nearly as massive as recording from the mic plugged into the mic jack. And, playback spikes just as much as before, up to near 100%.

I think the USB sound card (actually USB in general) is taking a toll on the CPU. Just switching back and forth between the onboard mic and the webcam from Sound Recorder, I can watch the CPU spikes go from almost 50% to nearly 100%.

Got some more fiddling to do to make sense of this...
Well, two points here: 1, a Logitech QuickCam Pro 4000 WILL work on a Roboard, but the ImageStudio software doesn't seem happy, likely due to lack of MMX extensions or something. There was a preview window that did show camera images, probably VFW or whatever.

Next point, and this is interesting: USB microphone on the Web Cam DOES work on Roboard. It causes CPU spikes on Roboard (but not on my desktop), but not nearly as massive as recording from the mic plugged into the mic jack. And, playback spikes just as much as before, up to near 100%.

I think the USB sound card (actually USB in general) is taking a toll on the CPU. Just switching back and forth between the onboard mic and the webcam from Sound Recorder, I can watch the CPU spikes go from almost 50% to nearly 100%.

Got some more fiddling to do to make sense of this...
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by matt.stevenson » Mon Jul 26, 2010 1:40 am

Post by matt.stevenson
Mon Jul 26, 2010 1:40 am

I'd suggest uninstalling SAPI 5 and check if the problem persists.

Your comments make me suspicious of it, but the Sound Recorder issue is just confusing.
I'd suggest uninstalling SAPI 5 and check if the problem persists.

Your comments make me suspicious of it, but the Sound Recorder issue is just confusing.
matt.stevenson offline
Savvy Roboteer
Savvy Roboteer
Posts: 37
Joined: Thu Apr 29, 2010 9:29 pm

Post by PaulL » Sat Jul 31, 2010 1:01 pm

Post by PaulL
Sat Jul 31, 2010 1:01 pm

Matt,

I don't think it's SAPI causing the problem, the CPU utilization on my desktop doesn't budge during speech / voice recognition, and Sound Recorder isn't using anything speech-related. I'd really like for someone else running XP to open sound recorder, record sound (don't even need a mic attached) and watch CPU utilization in Task Manager...

With the sound recorder doing what it's doing, it seems like the bandwidth that the sound card (which is interfaced to the Vortex86DX through USB) uses, and the overhead of the built-in USB is higher than I would have expected, so much so as to be problematic for me.

What have I done? I ordered a mini-PCI board with sound and video capture. At best, it will solve my problem, at worst, I put the card on Ebay and sell it. The internal block diagram for the Vortex shows the USB section tied to the PCI bus internally. I'm hoping with the sound on the PCI bus, that I can realize better performance than with the sound via an onboard USB interface. I suspect that I will see an improvement, but I can't speculate further, I have to try it and see how it does.

It would be a bit unfortunate if I have to use the one PCI slot for a sound / capture card, but it's a small sacrifice, I can go with some other means for connecting wirelessly.

If the video capture part of this board works as nicely as I hope, it should be a good alternative to a USB webcam for video, as it takes NTSC input (small cameras are available that put out NTSC video).

Still waiting on the board to arrive, perhaps next week.

Take Care,
Paul
Matt,

I don't think it's SAPI causing the problem, the CPU utilization on my desktop doesn't budge during speech / voice recognition, and Sound Recorder isn't using anything speech-related. I'd really like for someone else running XP to open sound recorder, record sound (don't even need a mic attached) and watch CPU utilization in Task Manager...

With the sound recorder doing what it's doing, it seems like the bandwidth that the sound card (which is interfaced to the Vortex86DX through USB) uses, and the overhead of the built-in USB is higher than I would have expected, so much so as to be problematic for me.

What have I done? I ordered a mini-PCI board with sound and video capture. At best, it will solve my problem, at worst, I put the card on Ebay and sell it. The internal block diagram for the Vortex shows the USB section tied to the PCI bus internally. I'm hoping with the sound on the PCI bus, that I can realize better performance than with the sound via an onboard USB interface. I suspect that I will see an improvement, but I can't speculate further, I have to try it and see how it does.

It would be a bit unfortunate if I have to use the one PCI slot for a sound / capture card, but it's a small sacrifice, I can go with some other means for connecting wirelessly.

If the video capture part of this board works as nicely as I hope, it should be a good alternative to a USB webcam for video, as it takes NTSC input (small cameras are available that put out NTSC video).

Still waiting on the board to arrive, perhaps next week.

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by matt.stevenson » Sat Jul 31, 2010 10:06 pm

Post by matt.stevenson
Sat Jul 31, 2010 10:06 pm

Ok, you sound much more knowledgeable in this area than I am.
My background is purely in CS, and I'm teaching myself the hardware stuff as I go.

Do you have a link for the miniPCI card you ordered? I intend to one day do audio/video recording and this sounds useful.

Also, let me know how it works out for you.
Ok, you sound much more knowledgeable in this area than I am.
My background is purely in CS, and I'm teaching myself the hardware stuff as I go.

Do you have a link for the miniPCI card you ordered? I intend to one day do audio/video recording and this sounds useful.

Also, let me know how it works out for you.
matt.stevenson offline
Savvy Roboteer
Savvy Roboteer
Posts: 37
Joined: Thu Apr 29, 2010 9:29 pm

Post by PaulL » Sun Aug 08, 2010 12:55 am

Post by PaulL
Sun Aug 08, 2010 12:55 am

Matt,

I ended up buying a card that uses an AC'97 codec, but the board isn't compatible with it. I have spent a LOT of time in the past couple weeks working on this issue. I didn't realize the AC'97 problem until after I ordered the card. It's a combo capture card / AC '97 codec card, MP-878AS. It is out of production, as is the MP-878S (a version of this same card with an ALS4000 chip that was BEFORE the whole AC '97 junk came out).

In short, I am skeptical that a Mini PCI sound card was EVER built, other than the now out-of-production and impossible-to-find MP-878S from Commwell.

The MP-878A, AS, and S, all use the same PCB. From the only picture I've been able to find of the MP-878S, it looks like the only difference between an AS (the one I bought w/ AC'97 codec) and an S (uses the ALS4000 chip) is that the capture chip is removed, its crystal / oscillator is removed, and the AC'97 codec is removed, and the spot for the ALS4000 is populated, along with the crystal / oscillator at 14.318 Mhz for the ALS4000 (codec uses a 24 mhz something or other).

I got the bright idea in my head to find an ALS4000 chip, remove the codec chip, and swap out the oscillator / crystal. I can't order the chip from anywhere in the states that I can find- it, too, is out of production. Consequently, the ALS4000 was originally produced by Avance Logic (no D in the name), which apparently got bought by Realtek at some point (that's where the ALS4000 documentation can be found).

I bought a few sound cards off Ebay in a lot of "PCI Sound cards", one of which I knew to have an ALS4000 on it from the listing. To my luck, I received TWO ALS4000-based cards. Or maybe it wasn't luck, I can't say for sure at this point.

I removed the codec chip from the MP-878AS, painstakingly removed the ALS4000 from one of the sound cards and installed it on the MP-878AS (that was a lot of work, but I'll skip the ugly details), and guessed by tracing the board that the oscillator / crystal was just a crystal by tracing what traces on the board I could see (it's also a multi-layer board). I used the crystal from one of the sound cards, 14.318 Mhz (just what an ALS4000 needs). I left the BT878 capture chip, hoping I could retain that capability along with sound on one card.

I put the card in my Roboard, powered it on, and only got the Red LED, the green one stayed off. The card kept the Roboard from booting. So, in frustration, I removed the BT878 and its oscillator from the board in such a way that it will never go back on this board (or any board) again. I made sure no shorts were left from removing the BT878, and tried again. No boot. The ALS4000 chip (the only one left on the board other than the headphone amp chip) gets warm when it sits for a bit, but not enough to fry it.

I have one of several problems at this point:

1- the ALS4000 I used is fried / damaged, either from the shock of removing it, too much thermal exposure, static, or blown prior to my receiving it on its sound card. I will never know for sure what went wrong with it.

2- the crystal SHOULD be an oscillator. The connections to the ALS4000 run to the bottom left / top right connections where the crystal / oscillator is surface-mounted, it shouldn't be like this for an OSC, and none of the pads tie to ground, which would be quite odd. Also, I can not look up the OSC, I can not identify the manufacturer, or they've got out of business- "TQG".

3- the board isn't compatible with the ALS4000 due to some BIOS issue. Possible, but I have no way of knowing that.

A footnote, the ALS4000 was one of few sound card chips that incorporated an entire sound card in one chip.

I have checked and rechecked my soldering job on the ALS4000, visually, and with a meter, a couple times around the chip. This chip has 100 pins, and definitely isn't for the faint of heart when it comes to soldering.

I could have started with a bad ALS4000, which really will tick me off if I removed the BT878 capture chip for nothing. But, I just don't have enough information to determine that right now.

I have considered purchasing a Mini PCI to PCI slot adapter that would attach to Roboard and provide two standard PCI slots to test my 2nd ALS4000, but at more than $200 USD, that's really steep just to check to see if it works. At that point, the original MP-878AS, the sound card lot, and a mini-PCI to PCI board, would cost more than the entire Roboard.

Here's the Mini-PCI to PCI adapter:

Image

The only site I can find that actually has them wants over $230 USD something for them.

Part of me is considering trying to obtain some "fresh" unmounted ALS4000's, and designing and building some sound cards around them. But, if this doesn't solve my sound problem, the whole exercise would be a whole lot of time and effort for nothing (and it already is a good bit of that so far, out of $100 US with a card that can prevent the Roboard from booting).

Yeah, I'm frustrated.

Good news? I didn't fry my Roboard. :)

Paul
Matt,

I ended up buying a card that uses an AC'97 codec, but the board isn't compatible with it. I have spent a LOT of time in the past couple weeks working on this issue. I didn't realize the AC'97 problem until after I ordered the card. It's a combo capture card / AC '97 codec card, MP-878AS. It is out of production, as is the MP-878S (a version of this same card with an ALS4000 chip that was BEFORE the whole AC '97 junk came out).

In short, I am skeptical that a Mini PCI sound card was EVER built, other than the now out-of-production and impossible-to-find MP-878S from Commwell.

The MP-878A, AS, and S, all use the same PCB. From the only picture I've been able to find of the MP-878S, it looks like the only difference between an AS (the one I bought w/ AC'97 codec) and an S (uses the ALS4000 chip) is that the capture chip is removed, its crystal / oscillator is removed, and the AC'97 codec is removed, and the spot for the ALS4000 is populated, along with the crystal / oscillator at 14.318 Mhz for the ALS4000 (codec uses a 24 mhz something or other).

I got the bright idea in my head to find an ALS4000 chip, remove the codec chip, and swap out the oscillator / crystal. I can't order the chip from anywhere in the states that I can find- it, too, is out of production. Consequently, the ALS4000 was originally produced by Avance Logic (no D in the name), which apparently got bought by Realtek at some point (that's where the ALS4000 documentation can be found).

I bought a few sound cards off Ebay in a lot of "PCI Sound cards", one of which I knew to have an ALS4000 on it from the listing. To my luck, I received TWO ALS4000-based cards. Or maybe it wasn't luck, I can't say for sure at this point.

I removed the codec chip from the MP-878AS, painstakingly removed the ALS4000 from one of the sound cards and installed it on the MP-878AS (that was a lot of work, but I'll skip the ugly details), and guessed by tracing the board that the oscillator / crystal was just a crystal by tracing what traces on the board I could see (it's also a multi-layer board). I used the crystal from one of the sound cards, 14.318 Mhz (just what an ALS4000 needs). I left the BT878 capture chip, hoping I could retain that capability along with sound on one card.

I put the card in my Roboard, powered it on, and only got the Red LED, the green one stayed off. The card kept the Roboard from booting. So, in frustration, I removed the BT878 and its oscillator from the board in such a way that it will never go back on this board (or any board) again. I made sure no shorts were left from removing the BT878, and tried again. No boot. The ALS4000 chip (the only one left on the board other than the headphone amp chip) gets warm when it sits for a bit, but not enough to fry it.

I have one of several problems at this point:

1- the ALS4000 I used is fried / damaged, either from the shock of removing it, too much thermal exposure, static, or blown prior to my receiving it on its sound card. I will never know for sure what went wrong with it.

2- the crystal SHOULD be an oscillator. The connections to the ALS4000 run to the bottom left / top right connections where the crystal / oscillator is surface-mounted, it shouldn't be like this for an OSC, and none of the pads tie to ground, which would be quite odd. Also, I can not look up the OSC, I can not identify the manufacturer, or they've got out of business- "TQG".

3- the board isn't compatible with the ALS4000 due to some BIOS issue. Possible, but I have no way of knowing that.

A footnote, the ALS4000 was one of few sound card chips that incorporated an entire sound card in one chip.

I have checked and rechecked my soldering job on the ALS4000, visually, and with a meter, a couple times around the chip. This chip has 100 pins, and definitely isn't for the faint of heart when it comes to soldering.

I could have started with a bad ALS4000, which really will tick me off if I removed the BT878 capture chip for nothing. But, I just don't have enough information to determine that right now.

I have considered purchasing a Mini PCI to PCI slot adapter that would attach to Roboard and provide two standard PCI slots to test my 2nd ALS4000, but at more than $200 USD, that's really steep just to check to see if it works. At that point, the original MP-878AS, the sound card lot, and a mini-PCI to PCI board, would cost more than the entire Roboard.

Here's the Mini-PCI to PCI adapter:

Image

The only site I can find that actually has them wants over $230 USD something for them.

Part of me is considering trying to obtain some "fresh" unmounted ALS4000's, and designing and building some sound cards around them. But, if this doesn't solve my sound problem, the whole exercise would be a whole lot of time and effort for nothing (and it already is a good bit of that so far, out of $100 US with a card that can prevent the Roboard from booting).

Yeah, I'm frustrated.

Good news? I didn't fry my Roboard. :)

Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by PaulL » Fri Aug 13, 2010 3:39 am

Post by PaulL
Fri Aug 13, 2010 3:39 am

An update regarding my endeavors with sound on Roboard:

Side note- I have found in a few places on the 'net, mention of USB sound cards using more CPU than PCI-based sound cards.

Firstly, I was uninformed in trying to use the BT878 and the ALS4000 on the same board. The two can not run on the same PCI card unless a PCI bridge is used to provide separate PCI interfaces to each. I guess Commell never solved that problem. It is unlikely that this caused damage to the ALS4000.

I went ahead and purchased the overly expensive Mini-PCI to PCI card adapter in the picture in my previous post. I simply can not know if the card will work, let alone solve my problem, without doing this. If I put another ALS4000 onto the MP-878AS board, it may also end up damaged, and I will be without a working ALS4000 sound card to test.

My basic plan is this:

1- Test the ALS4000 on the standard PCI sound card in a standard computer, make sure it works.
2- When this adapter arrives, plug in the standard PCI ALS-4000-based sound card, and see if it works, and if it works, if it solves the sound resource issue.
3- If the ALS4000 on the PCI sound card solves the sound resource issue, verify pins and PCI edge connector mapping on the MP-878AS, maybe buy an oscillator for the ALS4000.
4- If the MP-878AS STILL doesn't work, pull the chip from the PCI card and put it on the Mini PCI MP-878AS.
5- If I STILL can't get the ALS4000 to work on the MP-878AS, design a mini-PCI board using either an ALS4000 OR a Creative Labs / ESS-based sound solution, something using a sound controller chip.

In the end, if my sound card problem isn't resolved by using an "old school" PCI-based sound card, I will have to put up with waiting for him to halt or complete whatever action before I turn on voice recognition, only using voice recognition or sound recording when standing still.

If the sound card DOES solve the problem and I still can't get the ALS4000 to work on the MP-878AS, count on me building a custom Mini PCI sound card. I'll likely integrate a few other "features" specific to my application. If I am having to build a custom board, I might as well get as much use out of it as I can since I'm working with a space-constrained application.

Possibilities for circuitry on the board include: Audio amp for driving a full speaker, with separate power taps to provide the needed power (Mini PCI has low current limits). Power management circuitry for powering servos via DC to DC converters with the ability to control the power output incrementally (digital potentiometer or possibly an optoisolator to set the voltage control for the DC to DC converter). Integrate an accelerometer. Some of these will likely be separate circuits with jumpers to the Roboard. Unless I use a transparent PCI to PCI bridge to expand the PCI "slots", I won't be able to add anything other than sound to this board via the PCI bus, all other circuits would just be using space on the board.

I'll know some time next week if the sound card problem I'm experiencing is due to the sound on Roboard being USB-based or completely an unavoidable resource issue in Windows XP.

I'm feeling better about it, at least I have a process in motion to see if my efforts are completely futile or not. A bit more expensive, but I think at this point, it was necessary to get the Mini PCI to PCI adapter.

If I end up building a sound card (and whatever else ends up on such a board), you can bet I'll build more than 1, and will likely sell them to whoever wants one, from small batches, once they're built. Designing such a board isn't rocket science, the ALS4000 (and a select few other sound chips) is made for this kind of work.

Meanwhile, if anyone can locate a Mini PCI sound card for sale, I would be quite happy, and most impressed. :)

Take Care,
Paul
An update regarding my endeavors with sound on Roboard:

Side note- I have found in a few places on the 'net, mention of USB sound cards using more CPU than PCI-based sound cards.

Firstly, I was uninformed in trying to use the BT878 and the ALS4000 on the same board. The two can not run on the same PCI card unless a PCI bridge is used to provide separate PCI interfaces to each. I guess Commell never solved that problem. It is unlikely that this caused damage to the ALS4000.

I went ahead and purchased the overly expensive Mini-PCI to PCI card adapter in the picture in my previous post. I simply can not know if the card will work, let alone solve my problem, without doing this. If I put another ALS4000 onto the MP-878AS board, it may also end up damaged, and I will be without a working ALS4000 sound card to test.

My basic plan is this:

1- Test the ALS4000 on the standard PCI sound card in a standard computer, make sure it works.
2- When this adapter arrives, plug in the standard PCI ALS-4000-based sound card, and see if it works, and if it works, if it solves the sound resource issue.
3- If the ALS4000 on the PCI sound card solves the sound resource issue, verify pins and PCI edge connector mapping on the MP-878AS, maybe buy an oscillator for the ALS4000.
4- If the MP-878AS STILL doesn't work, pull the chip from the PCI card and put it on the Mini PCI MP-878AS.
5- If I STILL can't get the ALS4000 to work on the MP-878AS, design a mini-PCI board using either an ALS4000 OR a Creative Labs / ESS-based sound solution, something using a sound controller chip.

In the end, if my sound card problem isn't resolved by using an "old school" PCI-based sound card, I will have to put up with waiting for him to halt or complete whatever action before I turn on voice recognition, only using voice recognition or sound recording when standing still.

If the sound card DOES solve the problem and I still can't get the ALS4000 to work on the MP-878AS, count on me building a custom Mini PCI sound card. I'll likely integrate a few other "features" specific to my application. If I am having to build a custom board, I might as well get as much use out of it as I can since I'm working with a space-constrained application.

Possibilities for circuitry on the board include: Audio amp for driving a full speaker, with separate power taps to provide the needed power (Mini PCI has low current limits). Power management circuitry for powering servos via DC to DC converters with the ability to control the power output incrementally (digital potentiometer or possibly an optoisolator to set the voltage control for the DC to DC converter). Integrate an accelerometer. Some of these will likely be separate circuits with jumpers to the Roboard. Unless I use a transparent PCI to PCI bridge to expand the PCI "slots", I won't be able to add anything other than sound to this board via the PCI bus, all other circuits would just be using space on the board.

I'll know some time next week if the sound card problem I'm experiencing is due to the sound on Roboard being USB-based or completely an unavoidable resource issue in Windows XP.

I'm feeling better about it, at least I have a process in motion to see if my efforts are completely futile or not. A bit more expensive, but I think at this point, it was necessary to get the Mini PCI to PCI adapter.

If I end up building a sound card (and whatever else ends up on such a board), you can bet I'll build more than 1, and will likely sell them to whoever wants one, from small batches, once they're built. Designing such a board isn't rocket science, the ALS4000 (and a select few other sound chips) is made for this kind of work.

Meanwhile, if anyone can locate a Mini PCI sound card for sale, I would be quite happy, and most impressed. :)

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Roboard Sound Card Issue Progress...

Post by PaulL » Sat Aug 21, 2010 4:10 am

Post by PaulL
Sat Aug 21, 2010 4:10 am

Well, another update...

Bear in mind, this is all diagnostic work.

I received the IM380A from InterfaceMasters this evening. It "sort of" works. It doesn't provide 12v to the PCI slot. On 2 different PCI sound cards (FULL PCI, not MiniPCI), I have no actual sound. BUT, the devices are found, detected, drivers installed, show properly in device manager (minus the gameport- for some reason these cards, an SB PCI ESS1373 based card and an Avance Logic ALS4000 based sound card both have resource issues with the gameport, but I don't need or want that capability).

This IM380A interface has a PCI to PCI bridge built in to wire full sized PCI slots (one 3v and one 5v) to the MiniPCI Type IIIB port on Roboard. The IM380 seems to work fine with Roboard, minus the supply voltage issue I believe is causing problems (Both sound cards have 5v regulators on them likely powered from the +12v PCI pin, I need to follow some traces to pin down their affect, or just wire in 12V and see what happens... ;) ).

These are both used Ebay cards, and I haven't put them in a regular PC to see what they do.

Anyway, on to the details:

The ALS4000 will not even record, it just sits there, like it's not getting its clock signal, which is possible, as I used its crystal on the MP-878AS board, and put it back when it didn't work there.

HOWEVER, the Creative / ESS card DOES record, and seems to work fine except for mic / spk jacks not functioning (possibly attributed to lack of +12v supply voltage). I can watch CPU, and it hits the CPU MUCH less than with the Roboard's onboard USB sound chip. Dramatically so. Enough to push me to build a custom sound card for Roboard.

In short, I have a solution for the performance issue: disable onboard USB sound, and use a MiniPCI card with sound on it.

Even testing text-to-speech is MUCH less CPU utilization. I believe the performance hit I see using the integrated USB sound card is directly attributed to the sound being via USB.

So, now I will test further, resolve the 12v issue with the IM380, and see if I can actually get audio and get the mic to work. I see that it's working much better, but I can't hear it yet.

Once I have sound working on these full sized PCI cards (I will also try the ALS4000 in a full sized PC to see if it works there to verify crystal / chip operation) on Roboard via the IM380A, I will likely make one more attempt at moving an ALS4000 chip to the MP-878AS. Even still, I'll most likely end up building a MiniPCI sound card, after I source some "ancient" chips for the task.

If the Vortex86 was AC'97 compliant and the Roboard didn't use USB sound, this would have been a much different scenario.

Part of the problem is that the Vortex86 is basically an overclocked 486. What was once "old" sound card technology (full sound controllers on separate chips, not integrated into the motherboard chipset, the pre-AC'97 days) is now key to solving CPU utilization issues on a very modern Roboard. The chips that can do this that I'm aware of are long since out of production. This will be an interesting endeavor. :)

Take Care,
Paul
Well, another update...

Bear in mind, this is all diagnostic work.

I received the IM380A from InterfaceMasters this evening. It "sort of" works. It doesn't provide 12v to the PCI slot. On 2 different PCI sound cards (FULL PCI, not MiniPCI), I have no actual sound. BUT, the devices are found, detected, drivers installed, show properly in device manager (minus the gameport- for some reason these cards, an SB PCI ESS1373 based card and an Avance Logic ALS4000 based sound card both have resource issues with the gameport, but I don't need or want that capability).

This IM380A interface has a PCI to PCI bridge built in to wire full sized PCI slots (one 3v and one 5v) to the MiniPCI Type IIIB port on Roboard. The IM380 seems to work fine with Roboard, minus the supply voltage issue I believe is causing problems (Both sound cards have 5v regulators on them likely powered from the +12v PCI pin, I need to follow some traces to pin down their affect, or just wire in 12V and see what happens... ;) ).

These are both used Ebay cards, and I haven't put them in a regular PC to see what they do.

Anyway, on to the details:

The ALS4000 will not even record, it just sits there, like it's not getting its clock signal, which is possible, as I used its crystal on the MP-878AS board, and put it back when it didn't work there.

HOWEVER, the Creative / ESS card DOES record, and seems to work fine except for mic / spk jacks not functioning (possibly attributed to lack of +12v supply voltage). I can watch CPU, and it hits the CPU MUCH less than with the Roboard's onboard USB sound chip. Dramatically so. Enough to push me to build a custom sound card for Roboard.

In short, I have a solution for the performance issue: disable onboard USB sound, and use a MiniPCI card with sound on it.

Even testing text-to-speech is MUCH less CPU utilization. I believe the performance hit I see using the integrated USB sound card is directly attributed to the sound being via USB.

So, now I will test further, resolve the 12v issue with the IM380, and see if I can actually get audio and get the mic to work. I see that it's working much better, but I can't hear it yet.

Once I have sound working on these full sized PCI cards (I will also try the ALS4000 in a full sized PC to see if it works there to verify crystal / chip operation) on Roboard via the IM380A, I will likely make one more attempt at moving an ALS4000 chip to the MP-878AS. Even still, I'll most likely end up building a MiniPCI sound card, after I source some "ancient" chips for the task.

If the Vortex86 was AC'97 compliant and the Roboard didn't use USB sound, this would have been a much different scenario.

Part of the problem is that the Vortex86 is basically an overclocked 486. What was once "old" sound card technology (full sound controllers on separate chips, not integrated into the motherboard chipset, the pre-AC'97 days) is now key to solving CPU utilization issues on a very modern Roboard. The chips that can do this that I'm aware of are long since out of production. This will be an interesting endeavor. :)

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by matt.stevenson » Sat Aug 21, 2010 5:51 am

Post by matt.stevenson
Sat Aug 21, 2010 5:51 am

Thanks for the update. I'm looking forward to the next installment.

If you wind up building a soundcard, could you post pictures?
Thanks for the update. I'm looking forward to the next installment.

If you wind up building a soundcard, could you post pictures?
matt.stevenson offline
Savvy Roboteer
Savvy Roboteer
Posts: 37
Joined: Thu Apr 29, 2010 9:29 pm

Post by PaulL » Thu Aug 26, 2010 11:51 am

Post by PaulL
Thu Aug 26, 2010 11:51 am

I'll do a bit more than post picture... :) Right now, I've settled on using the Cirrus Logic CS4281, and have a few chips on the way. These require a codec, unlike the ALS4000. I have a few quotes from overseas for the ALS4000, but I do not know if these chips are genuine, or if I'll send off my money never to see it again.

I will end up building a few sound cards, and see if anyone wants to buy them. I'll likely take advantage of the board for other features built-in, adding things specific to robotic endeavors as I mentioned in another post.

I've already begun looking at PCB vendors regarding capabilities- trace width and spacing along with smallest via sizes will be critical. Not sure if I will need multilayer yet or not, that gets more pricey.

Knowing this will solve my problem makes it easier for me to go ahead with development. I have already started working on the schematic / board design. It will take some time to get it right, and I'll post as I go.

Take Care,
Paul
I'll do a bit more than post picture... :) Right now, I've settled on using the Cirrus Logic CS4281, and have a few chips on the way. These require a codec, unlike the ALS4000. I have a few quotes from overseas for the ALS4000, but I do not know if these chips are genuine, or if I'll send off my money never to see it again.

I will end up building a few sound cards, and see if anyone wants to buy them. I'll likely take advantage of the board for other features built-in, adding things specific to robotic endeavors as I mentioned in another post.

I've already begun looking at PCB vendors regarding capabilities- trace width and spacing along with smallest via sizes will be critical. Not sure if I will need multilayer yet or not, that gets more pricey.

Knowing this will solve my problem makes it easier for me to go ahead with development. I have already started working on the schematic / board design. It will take some time to get it right, and I'll post as I go.

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Next
Next
18 postsPage 1 of 21, 2
18 postsPage 1 of 21, 2