Hello, probably this question gets asked a lot but I was wondering what I would need to get started doing DSP programming. I want to make an OGG Vorbis player (eventually portable). I understand the programming end of things (for example, in C++ or assembler I can code the routines for a PC). I don't know, however, what equipment or resources I need to do the physical end of things. I imagine there are several things involved. Can anyone direct me to any resources regarding the following items: - parts (DSP chip, circuit board, etc) - writing the program (I assume it goes to eprom...) - power supply (some sort of rechargeable battery would be nice) - auxiliary storage (ex., compact flash memory) - converting the digital signal to audio output (ex., headphones) - making a case Other things I'm interested in would be USB, PCI cards, digital (fiber op) connections, TV tuners. Any help is appreciated. I tried walking into Radio Shack but they have nothing related to this type of project. After that, I'm just plain stumped where to go. Thanks --Jonathan
Beginning DSP
Started by ●July 3, 2005
Reply by ●July 3, 20052005-07-03
Jonathan: In a nutshell, WHEW! I don't know where to start, so I'll just pick things at random. As per what equipment and resources you'll need for the physical end of things, you'll need quite a bit, to say the least. A good oscilloscope, DVM, schematic design & capture software, soldering iron, etc. If you don't know what those items are, or haven't really had much training with them, you're going to need to gain knowledge on them. And those are things that unfortunately you're not going to able to pick up from a book. You might be able to pick up a good deal of the hardware basics at perhaps a community college. I have to tell you up front that what you're asking for, and from where it appears that you're currently at, you've certainly picked quite a challenge for yourself. And while I most definitely don't want to pour cold water on your idea - I mean it sounds great - you've got a long, long road ahead of you. And while I've heard of "one man band" operations, most likely your project is going to at the very least be partitioned by role: i.e., you're going to want a software engineer (yourself, but from the scope, you might want more), a hardware engineer to do the circuit design, and a mechanical engineer. As for understanding DSP in general, there are several good books, ranging from the theoritical underpinnings (Oppenheim comes to mind), to the more practical DSP implementations (Rulph Chassaing, definitely). Again, I'd push for the course work - you'll probably need to see about taking a course at a 4-year college. I would also highly recommend your going to web sites for Texas Instruments and Analog Devices, since they hold the largest market share for DSP chips and associated DACs, ADCs, etc. Yeah, you're not going to get very far with Radio Shack - maybe the soldering gun, wires, resistors, etc. You're most definitely looking at a rather large project. I'd check through the archives for comp.dsp - that will help a lot. Also, since it sounds like you need to come up to speed on embedded development, you might want to also check into comp.arch.embedded. For general hardware knowledge, sci.electronics. Hey, good luck - hope this helps somewhat. g. Jonathan Lee <paralysis@noospamshaw.ca> wrote in news:WQUxe.1859006 $Xk.496941@pd7tw3no:> Hello, > probably this question gets asked a lot but I was wondering what I > would need to get started doing DSP programming. I want to make an OGG > Vorbis player (eventually portable). I understand the programming endof> things (for example, in C++ or assembler I can code the routines for a > PC). I don't know, however, what equipment or resources I need to dothe> physical end of things. I imagine there are several things involved.Can> anyone direct me to any resources regarding the following items: > > - parts (DSP chip, circuit board, etc) > - writing the program (I assume it goes to eprom...) > - power supply (some sort of rechargeable battery would be nice) > - auxiliary storage (ex., compact flash memory) > - converting the digital signal to audio output (ex., headphones) > - making a case > > Other things I'm interested in would be USB, PCI cards, digital (fiber > op) connections, TV tuners. > > Any help is appreciated. I tried walking into Radio Shack but theyhave> nothing related to this type of project. After that, I'm just plain > stumped where to go. > > Thanks > --Jonathan >
Reply by ●July 3, 20052005-07-03
Thanks for you reply George. I honestly didn't think that what I was trying to do was that difficult. Admittedly, I'm pretty much ignorant about DSPs, but I thought I had an understanding of the underlying principles. For example, suppose I chose a less ambitious project: I just want to create a test tone off a speaker. I would expect it to work much like this: - DSP "wakes up" (power is turned on or whatever) - DSP reads from a base address in memory. I don't know if this would be on chip, or if this would be read from an EPROM, but regardless I equate this to some sort of BIOS or operating system startup - The program makes a jump to a loop that outputs a test tone to a DAC. Clearly some sort of timer is involved, but I think that's built into the DSP - The DAC translates the digital signal to audio and the speaker makes the tone. Is that grossly oversimplifying things? Cause from there I don't see what's very difficult about making a MP3/Vorbis player... I would expect that you'd add a compact flash card reader (I expect these are manufactured as a whole unit), a low level FAT driver to read the files, and the code to translate the file into a digital signal. Most of that is software related. What I was really worried about was the circuit board and that aspect of things. I know for PICs you can get starter kits so you can test things out on your desktop before etching a board. Is that not the case with DSPs?
Reply by ●July 3, 20052005-07-03
Jonathan Lee wrote:> Thanks for you reply George. > > I honestly didn't think that what I was trying to do was that difficult. > Admittedly, I'm pretty much ignorant about DSPs, but I thought I had an > understanding of the underlying principles. > > For example, suppose I chose a less ambitious project: I just want to > create a test tone off a speaker. > > I would expect it to work much like this: > > - DSP "wakes up" (power is turned on or whatever) > - DSP reads from a base address in memory. I don't know if this would be > on chip, or if this would be read from an EPROM, but regardless I equate > this to some sort of BIOS or operating system startup > - The program makes a jump to a loop that outputs a test tone to a DAC. > Clearly some sort of timer is involved, but I think that's built into > the DSP > - The DAC translates the digital signal to audio and the speaker makes > the tone. > > Is that grossly oversimplifying things? Cause from there I don't see > what's very difficult about making a MP3/Vorbis player... I would expect > that you'd add a compact flash card reader (I expect these are > manufactured as a whole unit), a low level FAT driver to read the files, > and the code to translate the file into a digital signal. Most of that > is software related. > > What I was really worried about was the circuit board and that aspect of > things. I know for PICs you can get starter kits so you can test things > out on your desktop before etching a board. Is that not the case with DSPs?There are kit boards for DSP. The chip manufacturers make some and other companies too. (Their DACs can drive a head phone. You need an amplifier for a speaker.) Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●July 3, 20052005-07-03
Jonathan Lee wrote:> I would expect it to work much like this: > > - DSP "wakes up" (power is turned on or whatever) > - DSP reads from a base address in memory. I don't know if this would be > on chip, or if this would be read from an EPROM, but regardless I equate > this to some sort of BIOS or operating system startup > - The program makes a jump to a loop that outputs a test tone to a DAC. > Clearly some sort of timer is involved, but I think that's built into > the DSP > - The DAC translates the digital signal to audio and the speaker makes > the tone. > > Is that grossly oversimplifying things?Yes. -- Bruce Fletcher Stronsay, Orkney <www.stronsay.co.uk/claremont>
Reply by ●July 3, 20052005-07-03
Bruce Fletcher wrote:> Jonathan Lee wrote: > >> I would expect it to work much like this: >> >> - DSP "wakes up" (power is turned on or whatever) >> - DSP reads from a base address in memory. I don't know if this would be >> on chip, or if this would be read from an EPROM, but regardless I equate >> this to some sort of BIOS or operating system startup >> - The program makes a jump to a loop that outputs a test tone to a DAC. >> Clearly some sort of timer is involved, but I think that's built into >> the DSP >> - The DAC translates the digital signal to audio and the speaker makes >> the tone. >> >> Is that grossly oversimplifying things? > > > Yes.alrighty...
Reply by ●July 3, 20052005-07-03
Jerry Avins wrote:> There are kit boards for DSP. The chip manufacturers make some and other > companies too. (Their DACs can drive a head phone. You need an amplifier > for a speaker.)Thank you, I will look into that. Can anyone tell me, would that kit be enough to create the above mentioned project (i.e., outputting a constant test tone to a headphone)? Or am I still underestimating the difficulty of this? --Jonathan
Reply by ●July 3, 20052005-07-03
"Jonathan Lee" <paralysis@noospamshaw.ca> wrote in message news:B9Zxe.152525$El.72945@pd7tw1no...> Jerry Avins wrote: >> There are kit boards for DSP. The chip manufacturers make some and other >> companies too. (Their DACs can drive a head phone. You need an amplifier >> for a speaker.) > > Thank you, I will look into that. > > Can anyone tell me, would that kit be enough to create the above > mentioned project (i.e., outputting a constant test tone to a > headphone)? Or am I still underestimating the difficulty of this?I think the earlier reply that this was a big huge deal was assuming you were going to design and build the whole thing yourself (including circuit board, mechanical package, etc.). If you are going to use a purchased DSP kit, that will simplify things quite a bit! Yes, with one of these kits, you should be able to send a test tone to a headphone without much difficulty. Most come with fully functional example programs that send the audio input through the audio output (sometimes called "talk through"), do simple processing, etc.. Of course, make sure you get a DSP kit with audio inputs/outputs (some have video or other connections instead). When you want to start making it portable, battery operated, adding a nice user interface etc., that when things will get more difficult.
Reply by ●July 4, 20052005-07-04
"Jonathan Lee" <paralysis@noospamshaw.ca> wrote in message news:WQUxe.1859006$Xk.496941@pd7tw3no...> Hello, > probably this question gets asked a lot but I was wondering what I > would need to get started doing DSP programming. I want to make an OGG > Vorbis player (eventually portable). I understand the programming end of > things (for example, in C++ or assembler I can code the routines for a > PC). I don't know, however, what equipment or resources I need to do the > physical end of things. I imagine there are several things involved. Can > anyone direct me to any resources regarding the following items: > > - parts (DSP chip, circuit board, etc) > - writing the program (I assume it goes to eprom...) > - power supply (some sort of rechargeable battery would be nice) > - auxiliary storage (ex., compact flash memory) > - converting the digital signal to audio output (ex., headphones) > - making a case > > Other things I'm interested in would be USB, PCI cards, digital (fiber > op) connections, TV tuners. > > Any help is appreciated. I tried walking into Radio Shack but they have > nothing related to this type of project. After that, I'm just plain > stumped where to go. > > Thanks > --JonathanTo make a music player you don't necessarily need a dsp. Can do it with a 8 , 16 or 32 bit micro. Atmel 8051 with mp3 hardware built-in. atmel avr + mp3 decoder chip microchip pic + separate mp3/ogg chip 8051 + separate mp3/ogg chip arm7 chip (philips lpc21xx) + separate chip You will find lots of similar projects on the net. 8051 based http://www.pjrc.com/ avr based http://www.myplace.nu/mp3/ atmel 8051 with mp3 decoder http://www.atmel.com/dyn/products/devices.asp?family_id=604 http://www.atmel.com/dyn/products/product_card.asp?part_id=3526 vsli mp3 decoder chips http://www.vlsi.fi/ http://www.vlsi.fi/player_vs10xx_proto/player.shtml others http://www.utdallas.edu/~erice/mp3project.html For starting with dsp Doesn't seem to be many cheap/low cost starter kits going at the moment. For a while Analog devices had their blackfin EZdsp kits for US$150 which are now at US$495. Cheapest for Analog Devices dsp's is the blackfin stamp at US$169 at digikey.com search on BF533-STAMP Have a choice of using blackfin-gcc or Visual dsp http://www.analog.com/en/prodDesc/0,2895,BF533%2DSTAMP%5F0,00.html http://www.analog.com/UploadedFiles/Technical_Articles/189464661uClinuxWhiteWP_WEB.pdf http://blackfin.uclinux.org/ http://blackfin.uclinux.org/projects/stamp/ http://www.analog.com/en/epHSProd/0,,BF533-STAMP,00.html http://www.analog.com/processors/processors/blackfin/crosscore/index.html would need the AD1836A Audio Codec Card for audio output I think Danville Signal had a offer on their dspstak 21261zx for a while http://www.danvillesignal.com/ TI dsp starter kits are also around US$495 Can get a board from freescale for their 56f8323 chip but I don't know if that would be powerful enough for a mp3 player http://www.freescale.com/webapp/sps/site/taxonomy.jsp?nodeId=0127956292 http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC56F8300DSK&nodeId=0162468636QNBX&tid=tdfp http://rocky.digikey.com/WebLib/Motorola/Web%20Data/MC56F8300DBUM.pdf http://rocky.digikey.com/WebLib/Motorola/Web%20Data/MC56F8300DEMOPB.pdf US$79 from digikey.com search on MC56F8300DSK Alex
Reply by ●July 4, 20052005-07-04
Jonathan: Sorry, but yes, if you choose a less ambitious scope for your project, such as using an off-the-shelf DSP kit from either TI or Analog Devices (like Jerry Avins suggested), then that is of course going to be much easier. You can't go wrong with that approach, and that would certainly help make you more knowledgeable about DSPs and it would give a head's up on what's involved in a production project. g. Jonathan Lee <paralysis@noospamshaw.ca> wrote in news:ZVXxe.1859455$Xk.451408@pd7tw3no:> Thanks for you reply George. > > I honestly didn't think that what I was trying to do was that > difficult. Admittedly, I'm pretty much ignorant about DSPs, but I > thought I had an understanding of the underlying principles. > > For example, suppose I chose a less ambitious project: I just want to > create a test tone off a speaker. > > I would expect it to work much like this: > > - DSP "wakes up" (power is turned on or whatever) > - DSP reads from a base address in memory. I don't know if this would > be on chip, or if this would be read from an EPROM, but regardless I > equate this to some sort of BIOS or operating system startup > - The program makes a jump to a loop that outputs a test tone to a > DAC. Clearly some sort of timer is involved, but I think that's built > into the DSP > - The DAC translates the digital signal to audio and the speaker makes > the tone. > > Is that grossly oversimplifying things? Cause from there I don't see > what's very difficult about making a MP3/Vorbis player... I would > expect that you'd add a compact flash card reader (I expect these are > manufactured as a whole unit), a low level FAT driver to read the > files, and the code to translate the file into a digital signal. Most > of that is software related. > > What I was really worried about was the circuit board and that aspect > of things. I know for PICs you can get starter kits so you can test > things out on your desktop before etching a board. Is that not the > case with DSPs? >






