PDA

View Full Version : New FSRW and PSM Audio



Rayman
07-19-2009, 03:15 AM
Just typed up a WAV player for the PSM that included variable attenuation...

That's when I noticed a buzz when the volume was turned down...
Figured out that it's coming from the SD card interface!
I'm still sorting out how exactly it's happening· (so turn it up loud!)

Anyway, on a hunch I tried it with the new FSRW and sure enough the buzz was lessened at lot.· I was speculating that a higher frequency interface would do that...

But...· Something in the new FSRW is interfering with the LCD (causing the screen to go white).
I'll have to ask Rokicki and Lonesock what's up in their thread...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Rayman
07-19-2009, 06:08 AM
Ok, we've found the problem in the new FSRW! I'll post the driver soon.
I think I may have made a mistake using pins for audio adjacent to pins for SD...
But, at least it's much better with the new FSRW.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Mike Huselton
07-19-2009, 06:37 AM
Rayman,

Great sleuthing!

I hate RFI, grounding and shielding problems with a passion. Must come from my years as a recording engineer.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH

Peter Jakacki
07-19-2009, 07:02 AM
Ray,
I've been using the new fsrw drivers in a WAV player I've just knocked together. There certainly is that buzz at very low levels but since I've got mine made up on a bit of matrix board that would be understandable. The final pcb should not have any such noise in it (other than what may be playing from the card). What method did you use for attenuation? Did you just use signed binary shifts?

Rather than running software tests for Rokicki's and lonesock's fsrw I am actually measuring the raw rates on the scope so I will post my findings up when I'm done. So far I think driver is performing as well as it ever could at the SPI level but I would also like to have at least two files open and perhaps use simple handles to distinguish between them.

I'm also experimenting with dual DAC's running at different output sampling rates and selectively summing these so that I can combine the higher frequencies at less resolution with the lower frequencies.

At the moment I'm just looking at reading the track title by embedding it in the header or at the end of the file rather than a separate list. I cheated with the display and used one of my serial backpacks. As for wav FILE conversion on Linux I have found MPG123 command line tool works very well but I also run NCH's SWITCH under Wine as it allows me to do large batches of files using a GUI dialog.

*Peter*

Cluso99
07-19-2009, 07:39 AM
The SD card should have a good bulk decoupling cap for the power right at the socket. This may help.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:

· Home of the MultiBladeProps: TriBladeProp (http://forums.parallax.com/showthread.php?p=786418), RamBlade (http://forums.parallax.com/showthread.php?p=810753), TwinBlade (http://forums.parallax.com/showthread.php?p=806697),·SixBlade (http://forums.parallax.com/showthread.php?p=780033), website (http://bluemagic.biz/cluso.htm)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator) (http://forums.parallax.com/showthread.php?p=790917)
· Prop Tools under Development or Completed (Index) (http://forums.parallax.com/showthread.php?p=753439)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index (http://forums.parallax.com/showthread.php?p=778427)) ZiCog (Z80), MoCog (6809)
· Search the Propeller forums (via Google) (http://search.parallax.com/search?site=parallax&client=parallax&output=xml_no_dtd&proxystylesheet=parallax&proxycustom=<HOME/>&ie=&oe=&lr=)
My cruising website is: ·www.bluemagic.biz (http://www.bluemagic.biz)·· MultiBladeProp is: www.bluemagic.biz/cluso.htm (http://www.bluemagic.biz/cluso.htm)

Rayman
07-19-2009, 08:05 AM
I haven't proven it yet, but I don't think bypassing is the problem... I'm pretty sure the problem is pin-to-pin coupling inside the Prop... There's no fix except to keep SD pins seperate from audio pins.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Peter Jakacki
07-19-2009, 09:15 AM
I use a 10uf tantalum right at the socket but this is mainly for supply droop. The noise issue is usually to do with layout especially the analog and digital grounds. For this purpose the analog ground is actually the Propeller due to it acting as a DAC and the SD card ground should have it's own path back to supply as these devices can draw large bursts of current thus inducing "spikey" noise in the ground path. You can however just ensure that the DAC capacitor goes to a clean ground away from the SD.

Naturally it pays to give the SD card it's own regulator too which only needs to be the small SOT-23 kind. If you can't use a separate regulator then a suggestion is to include a small inductor of a few uHs in the supply to the SD card which should include the 0.1uF and 10uf (or more) decoupling right across the socket.

*Peter*

Rayman
07-19-2009, 07:35 PM
Here's a new wav player for the PSM.

It fixes the skipping problem with computer generated wav files.· Also, adds some volume control.
(Also uses the new FSRW and gives less background hiss).

I'll update the OBEX version with this new code soon.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Post Edited (Rayman) : 7/21/2009 12:29:55 AM GMT

Rayman
07-19-2009, 08:52 PM
Ok, All better!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

Post Edited (Rayman) : 7/21/2009 12:30:18 AM GMT

Rayman
07-21-2009, 07:29 AM
Thanks to lonesock and Rokicki for providing this new FSRW that is much faster!

I've updated the files posted above with the latest version...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm