Reply by Al Clark July 16, 20072007-07-16
Tomi Kinnunen <tkinnu@cs.joensuu.fi> wrote in
news:f7gh68$r93$1@news.cs.joensuu.fi: 

> Dear DSP gurus, > > Thanks for so many replies! Lots of new information > for me ... > > My primary goal is to learn and develop my skills in real-time DSP > programming rather than learn audio algorithms using PC and > soundcard (I have done that already). I hope to learn skills which > would be useful if I decide to step one day into DSP industry. > Whatever -- to get a new hobby if nothing else. :-) > > To be more precise, I wish to: > > (1) Learn some basic principles in programming chips, > (not necessarily DSP), how does this stuff work, > how is programming and debugging different from PCs, etc. > (2) Use some tool(s) which are sufficiently easy to learn and > don't get me too frustrated in the beginning. Something with good > support material, books, tutorials, code examples, whatever that > can help me to get started quickly. Something to have fun with! > (3) Use some tool(s) which are possibly used in the "real world". > > Based on your feedback and the website, some evaluation board/kit > from Analog Devices seems a good starting point. Any specific > recommendations? What is the main difference between Blackfin and > SHARC, for instance? Floating point arithmetics was mentioned with > SHARC, this sounds good to me..
Sharc is a 32 bit fixed and floating point DSP. For many situations it will be easier to program. Many audio applications require better math precision that 16 bits. With a Blackfin, this means coding with double precision which is more complicated. Floating point can also be very handy. This is a single instruction in a SHARC. OTOH, Blackfin is a very fast, low power DSP. If you want to run on batteries, this would be a good choice. If you go SHARC, I would go ADSP-21369. I don't have a strong preference in Blackfin.
> > .. And a few terrible newbie questions as well :-) > > 1) Are DSP chips usually programmed using high-level language, > assembler, > inline assembler?
DSPs are programmed in both C and assembly. The ADI assembly is very easy to learn and look a bit "C-Like".
> 2) What is VisualDSP++ and does it have some relation to Visual C++?
VDSP is ADI's development software. It includes support for C & Assembly. It has nothing in common with Visual C++
> 3) What is the difference between evaluation board and development > board? 4) Does an evaluation board/development board run also in > standalone mode, > without computer?
I think they are the same. The EZ Kit runs standalone. It includes a built in debugger that you will find very useful.
> > Again, thanks a lot for your information and guiding me > to right direction! > > Cheers, > Tomi > > > > > > > > > Tomi Kinnunen <tkinnu@cs.joensuu.fi> wrote: >: >: Dear DSP and audio gurus, >: >: I have a few years experience with DSP theory and practise, >: mostly in Matlab and related to speech processing. >: My original background is in computer science; I am familiar with >: some "real" programming also :-) I've implemented some simple audio >: effects like EQ, chorus/flanger, and compressor. >: >: I've been thinking to extend my DSP and programming know-how to some >: hardware-oriented / embedded / realtime programming. I was thinking >: maybe programming some audio effects to somekind of chip would >: be good project to learn some hardware-oriented realtime >: signal processing. What do you think? >: >: I am interested to purchase somekind of chip/board that I can >: connect easily to a computer (e.g. via USB), where I can >: program my own stuff. However, this device should be operating >: totally without computer after it has been programmed -- e.g., >: to be used as a guitar or karaoke effect. What is this kind of >: device called, does there exist one? :-) Please help me to get >: started with some basic terminology so that I know what I need to >: look for. >: >: Thank you ! >: Tomi Kinnunen >
-- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
Reply by Tomi Kinnunen July 16, 20072007-07-16
Dear DSP gurus,

Thanks for so many replies! Lots of new information 
for me ...

My primary goal is to learn and develop my skills in real-time DSP 
programming rather than learn audio algorithms using PC and 
soundcard (I have done that already). I hope to learn skills which 
would be useful if I decide to step one day into DSP industry.
Whatever -- to get a new hobby if nothing else. :-)

To be more precise, I wish to:

(1) Learn some basic principles in programming chips, 
    (not necessarily DSP), how does this stuff work, 
    how is programming and debugging different from PCs, etc.
(2) Use some tool(s) which are sufficiently easy to learn and 
    don't get me too frustrated in the beginning. Something with good 
    support material, books, tutorials, code examples, whatever that
    can help me to get started quickly. Something to have fun with!
(3) Use some tool(s) which are possibly used in the "real world".

Based on your feedback and the website, some evaluation board/kit 
from Analog Devices seems a good starting point. Any specific recommendations? 
What is the main difference between Blackfin and SHARC, for instance? Floating 
point arithmetics was mentioned with SHARC, this sounds good to me..

.. And a few terrible newbie questions as well :-)

1) Are DSP chips usually programmed using high-level language, assembler,
   inline assembler?
2) What is VisualDSP++ and does it have some relation to Visual C++?
3) What is the difference between evaluation board and development board?
4) Does an evaluation board/development board run also in standalone mode, 
   without computer? 

Again, thanks a lot for your information and guiding me 
to right direction!

Cheers,
Tomi








Tomi Kinnunen <tkinnu@cs.joensuu.fi> wrote:
: 
: Dear DSP and audio gurus,
: 
: I have a few years experience with DSP theory and practise,
: mostly in Matlab and related to speech processing.
: My original background is in computer science; I am familiar with 
: some "real" programming also :-) I've implemented some simple audio effects 
: like EQ, chorus/flanger, and compressor. 
: 
: I've been thinking to extend my DSP and programming know-how to some 
: hardware-oriented / embedded / realtime programming. I was thinking 
: maybe programming some audio effects to somekind of chip would
: be good project to learn some hardware-oriented realtime 
: signal processing. What do you think?
: 
: I am interested to purchase somekind of chip/board that I can 
: connect easily to a computer (e.g. via USB), where I can 
: program my own stuff. However, this device should be operating 
: totally without computer after it has been programmed -- e.g., 
: to be used as a guitar or karaoke effect. What is this kind of 
: device called, does there exist one? :-) Please help me to get 
: started with some basic terminology so that I know what I need to 
: look for.
: 
: Thank you !
: Tomi Kinnunen

-- 
Reply by robert bristow-johnson July 13, 20072007-07-13
On Jul 12, 6:44 pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> robert bristow-johnson wrote: > > i see no reason why the DSP manufacturers (like TI, ADI) don't have > > something that is completely self-contained, at least for assembly > > language) that talks to the PC (via USB, whatever) and has C-callable > > libraries for PC/DSP communications, for loading and launching DSP > > code, and some diagnostics for stopping, breakpoints, and single- > > stepping. you should be able to get all of this for $200 or $300. > > You pretty much described what is a modern DSP eval board offered by ADI > or TI.
i realize that, but two issues: price and closely related was the ability to do serious *program* debugging (as opposed to hardware) with the cheap board. in the olden days, ADI's SHArC boards required a very expensive emulator to attach to it to do breakpoints and single- stepping. that functionality (along with register/memory examine and modify and instruction disassembly) should be standard for the cheap eval board.
> They also provide for several megabytes of flash memory, so the > board can run as a standalone. Th=E5 typical price is at the order of $50=
0=2E
> > > even if the manufacturer loses a little money on the EVM kits, it's > > really just the cost of advertizing because the manufacturer with the > > most accessable development resources is likely to be the manufacturer > > that "wins" and the engineer who gets the EVM kit will be biased in > > favor of that particular chip or family thereof. > > I don't need those kits, and I don't know how those kits can help me in > the development of hw and sw. It is like playing in a sand box instead > of doing the actual construction.
if there is sufficient memory on the eval board, you can have the algorithm/DSP/software guys developing and testing algorithms for the target device while the hardware guys are developing and testing the hardware of the target device (unless there is some outboard ASIC that is intrinsically used in the algs). the migration of the algs from the eval board to the target would be, if you keep your ducks in line, relatively painless. r b-j
Reply by Steve Underwood July 12, 20072007-07-12
robert bristow-johnson wrote:
> anyway, that gave me a yardstick to compare other dev systems to. i > see no reason why the DSP manufacturers (like TI, ADI) don't have > something that is completely self-contained, at least for assembly > language) that talks to the PC (via USB, whatever) and has C-callable > libraries for PC/DSP communications, for loading and launching DSP > code, and some diagnostics for stopping, breakpoints, and single- > stepping. you should be able to get all of this for $200 or $300. > even if the manufacturer loses a little money on the EVM kits, it's > really just the cost of advertizing because the manufacturer with the > most accessable development resources is likely to be the manufacturer > that "wins" and the engineer who gets the EVM kit will be biased in > favor of that particular chip or family thereof.
EVMs are available for most major DSPs, but they cost about twice your target price. The usual target is to sell them around break even. Makers want them cheap and accessible, so lots of students get to play with them. They don't want to price them too high. On the other hand, the world's universities will absorb tens of thousands, so they don't want a significant per unit loss, either. I don't think companies who are going to buy significant quantities care too much about EVMs these days. They care a lot about effective and cost effective development tools, but not so much about EVMs. I think they are more for colleges and training courses. Steve
Reply by Vladimir Vassilevsky July 12, 20072007-07-12

robert bristow-johnson wrote:

> i > see no reason why the DSP manufacturers (like TI, ADI) don't have > something that is completely self-contained, at least for assembly > language) that talks to the PC (via USB, whatever) and has C-callable > libraries for PC/DSP communications, for loading and launching DSP > code, and some diagnostics for stopping, breakpoints, and single- > stepping. you should be able to get all of this for $200 or $300.
Robert, You pretty much described what is a modern DSP eval board offered by ADI = or TI. They also provide for several megabytes of flash memory, so the=20 board can run as a standalone. Th=E5 typical price is at the order of $50= 0.
> even if the manufacturer loses a little money on the EVM kits, it's > really just the cost of advertizing because the manufacturer with the=
> most accessable development resources is likely to be the manufacturer > that "wins" and the engineer who gets the EVM kit will be biased in > favor of that particular chip or family thereof.
I don't need those kits, and I don't know how those kits can help me in=20 the development of hw and sw. It is like playing in a sand box instead=20 of doing the actual construction. There are many different reasons to=20 prefer a chip, a family or a manufacturer. The availability of the eval=20 board would be the least valid reason for me. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by robert bristow-johnson July 12, 20072007-07-12
On Jul 12, 9:08 am, "Vladimir Vassilevsky"
<antispam_bo...@hotmail.com> wrote:
> > The best thing for learning and programming the audio algorithms is a PC > with a sound card.
and either a C compiler/IDE (like VC++) and/or MATLAB (or Octave). but then you are processing sound files and not doing real-time processing, unless you can efficiently hook up to the sound card and deal with the latency crap from the PC.
> The standalone DSP is pretty much the same thing, PLUS > messing up with the implementation issues like linker files, memory > sections, low level i/o and assembly level optimization. You can enjoy the > later with any embedded MCU, not necessarily a DSP. The real question is > what goal are you trying to accomplish.
this is old stuff now, but some of the issues are timeless. about a decade ago i (with a little help from two of the Turtle Beach engineers that i got to know) reverse engineered the Turtle Beach Multisound or Tahiti cards enough that i could, via the ISA bus, reset the DSP56001 and load my own boot code into it. this boot code, after initializing all of the hardware it needed to, took care of the sample I/O and host communications (for coefficients/parameters), so the user didn't have to. it also had an optional debugger (with a disassembler) that you could use to even single step your code. the sound card was $200 and everything else was free or stealable (like the Mot assembler the PC C compiler). sometime later, Mot came out with a little stand-alone EVM board for $150. anyway, that gave me a yardstick to compare other dev systems to. i see no reason why the DSP manufacturers (like TI, ADI) don't have something that is completely self-contained, at least for assembly language) that talks to the PC (via USB, whatever) and has C-callable libraries for PC/DSP communications, for loading and launching DSP code, and some diagnostics for stopping, breakpoints, and single- stepping. you should be able to get all of this for $200 or $300. even if the manufacturer loses a little money on the EVM kits, it's really just the cost of advertizing because the manufacturer with the most accessable development resources is likely to be the manufacturer that "wins" and the engineer who gets the EVM kit will be biased in favor of that particular chip or family thereof. r b-j r b-j
Reply by Roman Rumian July 12, 20072007-07-12
Vladimir Vassilevsky napisa&#4294967295;(a):
(...)
> The best thing for learning and programming the audio algorithms is a PC > with a sound card. The standalone DSP is pretty much the same thing, PLUS > messing up with the implementation issues like linker files, memory > sections, low level i/o and assembly level optimization. You can enjoy the > later with any embedded MCU, not necessarily a DSP. The real question is > what goal are you trying to accomplish.
The goal is "(...)somekind of chip/board that I can connect easily to a computer (e.g. via USB), where I can program my own stuff. However, this device should be operating totally without computer after it has been programmed -- e.g., to be used as a guitar or karaoke effect (...)" So, you are right that maybe ARM, 32-bit AVR or dsPIC would be also good, because of cheap(free ?) and good development tools (IDE, debugger/emulator interfaces), but they have fixed-point architecture. Regards Roman Rumian
Reply by Vladimir Vassilevsky July 12, 20072007-07-12
"Andor" <andor.bariska@gmail.com> wrote in message
news:1184246371.444002.224250@57g2000hsv.googlegroups.com...
> > Don't forget that VisualDSP comes with a free RTOS (VDK) with built-in > debugger support.
VDK is pathetic.
> However, for the problem at hand, either ForEver > (tm) or WhileOne (c) should suffice as well.
Very true. VLV
Reply by Andor July 12, 20072007-07-12
On 12 Jul., 02:05, Al Clark <acl...@danvillesignal.com> wrote:
> "Michael K. O'Neill" <mikeathon2...@nospam.hotmail.com> wrote innews:Kp6li.8069$bz7.1241@newssvr22.news.prodigy.net: > > > > > > > > > "Jim Thomas" <jtho...@bittware.com> wrote in message > >news:1399raltddmdf70@corp.supernews.com... > >> Tomi Kinnunen wrote: > >> > I am interested to purchase somekind of chip/board that I can > >> > connect easily to a computer (e.g. via USB), where I can > >> > program my own stuff. However, this device should be operating > >> > totally without computer after it has been programmed -- e.g., > >> > to be used as a guitar or karaoke effect. > > >> An eval board from a DSP chip vendor is likely to do what you're > >> asking. > >> Check for appropriate audio interfaces before purchasing though. > > >> A better solution could be one of the offerings from Danville Signal > >> Processinghttp://www.danvillesignal.com/- the principal there is Al > >> Clark, a regular here on comp.dsp. > > >> Good luck, and have fun with this. > > >> -- > >> Jim Thomas Principal Applications Engineer Bittware, Inc > >> jtho...@bittware.com http://www.bittware.com (603) 226-0404 x536 > >> Failure is always an option > > > The offerings from Danville seem a bit pricey for a hobbyist, > > particularly when you consider that he also needs a development > > environment, RTOS etc. > > I agree that an eval board from one of the DSP manufacturers may be a > good choice. Analog Devices is the dominant player in audio (discounting > telephony). I would go this route over TI or NXP. The major cost of any > board purchase will be the time spent using it. I think you will get more > benefit by developing skills with a popular family of devices. > > Eval boards typically include some dev tools. In the ADI case, this > includes a Kit version of Visual DSP and a built-in debugger (ICE). We > license the same debugger from ADI and also include a KIT license of > Visual DSP with our dspstak 21369 with ICE boards.
Don't forget that VisualDSP comes with a free RTOS (VDK) with built-in debugger support. However, for the problem at hand, either ForEver (tm) or WhileOne (c) should suffice as well. :-) Regards Andor
Reply by Vladimir Vassilevsky July 12, 20072007-07-12
"Roman Rumian" <usun_torumian@agh.edu.pl> wrote in message
news:f74l45$a8r$1@news.agh.edu.pl...
a popular family of devices.
> > I agree, that The SHARC evalutaion board is the best platform for Tomi. > > > Why not TI C6713 ? > > Its not so perfect for audio (hardware architecture, easy of > programming) like SHARC. > > Anyway, TI chips are cheapest, so may be interesting for big volume > production, but this is not the case. >
The best thing for learning and programming the audio algorithms is a PC with a sound card. The standalone DSP is pretty much the same thing, PLUS messing up with the implementation issues like linker files, memory sections, low level i/o and assembly level optimization. You can enjoy the later with any embedded MCU, not necessarily a DSP. The real question is what goal are you trying to accomplish. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com