Hi, I am collaborating with my friend to create a custom-made amplifier; we are going to add a programmable effects feature to it. Even if my friend is enough experienced with "normal" processors, we know very little about the DSP world (most theorical knowledge, not practical). I have a few questions whose answers should allow us to finish our design stage: 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* 2) Do modern DSPs have an internal MCU? 3) What protocols are usually available to link the DSP to my main CPU? 4) What do you suggest me to read about interfacing a DSP to a "normal" CPU? We have already made two amplifiers without DSPs so what we need now is some knowledge to "fill the gap", even if I am sure we can't really get it without experience. Thank you -- Daniele C.
Need help for DSP interfacing (newbie)
Started by ●December 5, 2006
Reply by ●December 5, 20062006-12-05
Daniele C. wrote:> Hi, > > I am collaborating with my friend to create a custom-made amplifier; we > are going to add a programmable effects feature to it. Even if my > friend is enough experienced with "normal" processors, we know very > little about the DSP world (most theorical knowledge, not practical). > > I have a few questions whose answers should allow us to finish our > design stage: > > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* > 2) Do modern DSPs have an internal MCU? > 3) What protocols are usually available to link the DSP to my main CPU? > 4) What do you suggest me to read about interfacing a DSP to a "normal" > CPU? > > We have already made two amplifiers without DSPs so what we need now is > some knowledge to "fill the gap", even if I am sure we can't really get > it without experience.I'd like to suggest, if it doesn't discourage you, that you consult here not only about how to implement an architecture, but also about how to choose one. I deduce from your question about D/A and A/D that the amplifiers you built are analog, but from your questions about interfacing a typical DSP to another processor that there is a computer involved somehow. Can you explain? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●December 5, 20062006-12-05
Daniele C. wrote:> Hi, > > I am collaborating with my friend to create a custom-made amplifier; we > are going to add a programmable effects feature to itWhat effects exactly are you trying to implement?> Even if my > friend is enough experienced with "normal" processors, we know very > little about the DSP world (most theorical knowledge, not practical). > > I have a few questions whose answers should allow us to finish our > design stage: > > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* > 2) Do modern DSPs have an internal MCU? > 3) What protocols are usually available to link the DSP to my main CPU? > 4) What do you suggest me to read about interfacing a DSP to a "normal" > CPU?Judging on your extremely naive questions, I can suggest you one of the two options: * Buying a DSP board such as eZDSP 55xx or BlackFin EZ Kit lite, or All Clark's SHARC board. * Using all-in-one DAP such as TI TAS3004.> We have already made two amplifiers without DSPs so what we need now is > some knowledge to "fill the gap", even if I am sure we can't really get > it without experience.I see. You have one advantage compared to the others: your experience grows at every minute :) Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●December 5, 20062006-12-05
Daniele C. wrote:> Hi, > > I am collaborating with my friend to create a custom-made amplifier; we > are going to add a programmable effects feature to it. Even if my > friend is enough experienced with "normal" processors, we know very > little about the DSP world (most theorical knowledge, not practical). > > I have a few questions whose answers should allow us to finish our > design stage:> > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes*On occasion. Mostly, interestingly, no. [not surprising for a number of reasons I won't go into now]> 2) Do modern DSPs have an internal MCU?By definition they have a processor that might be called an MCU. Do you mean 'do they have a separate MCU'? in which case the answer is 'rarely'.> 3) What protocols are usually available to link the DSP to my main CPU?The standard ones are almost always available; SPI, I2C, UARTS. Shared memory (via BRQ, BGNT) may or may not be available. What do you need to connect and at what bandwidth?> 4) What do you suggest me to read about interfacing a DSP to a "normal" > CPU?A DSP is an ordinary CPU with a different instruction set. The devices reflect this, of course, in the IO pins available. As there is no 'standard' DSP CPU just as there is no 'standard' CPU it would help if you were more forthcoming on details :) As noted above the amount of data you need to transfer or share is of paramount inportance.> > We have already made two amplifiers without DSPs so what we need now is > some knowledge to "fill the gap", even if I am sure we can't really get > it without experience.This shows you have some wisdom :) Cheers PeteS> > Thank you > -- > Daniele C.
Reply by ●December 9, 20062006-12-09
Yes, the amplifiers are analog. Sorry for my *bad* questions...that's probably because I miss experience. The fact is that the other guy is the electronic engineer but cannot speak english while I am just the programmer...so even if I basically understand how things work I can rarely find the correct term to describe them to other people (and with no success at all, when other people have experience as you have). There will be a microcomputer with a listening software that will catch (via IrDA) amplifier commands and programs that will use the DSP processor to make effects. This is mostly a sperimental project for ourselves. Thanks. -- Daniele Jerry Avins ha scritto:> Daniele C. wrote: > > Hi, > > > > I am collaborating with my friend to create a custom-made amplifier; we > > are going to add a programmable effects feature to it. Even if my > > friend is enough experienced with "normal" processors, we know very > > little about the DSP world (most theorical knowledge, not practical). > > > > I have a few questions whose answers should allow us to finish our > > design stage: > > > > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* > > 2) Do modern DSPs have an internal MCU? > > 3) What protocols are usually available to link the DSP to my main CPU? > > 4) What do you suggest me to read about interfacing a DSP to a "normal" > > CPU? > > > > We have already made two amplifiers without DSPs so what we need now is > > some knowledge to "fill the gap", even if I am sure we can't really get > > it without experience. > > I'd like to suggest, if it doesn't discourage you, that you consult here > not only about how to implement an architecture, but also about how to > choose one. I deduce from your question about D/A and A/D that the > amplifiers you built are analog, but from your questions about > interfacing a typical DSP to another processor that there is a computer > involved somehow. Can you explain? > > Jerry > -- > Engineering is the art of making what you want from things you can get. > =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF==AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
Reply by ●December 9, 20062006-12-09
PeteS ha scritto:> Daniele C. wrote: > > > Hi, > > > > I am collaborating with my friend to create a custom-made amplifier; we > > are going to add a programmable effects feature to it. Even if my > > friend is enough experienced with "normal" processors, we know very > > little about the DSP world (most theorical knowledge, not practical). > > > > I have a few questions whose answers should allow us to finish our > > design stage: > > > > > > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* > > On occasion. Mostly, interestingly, no. [not surprising for a number of > reasons I won't go into now]Ok, thanks. Will further investigate.> > > 2) Do modern DSPs have an internal MCU? > By definition they have a processor that might be called an MCU. Do you > mean 'do they have a separate MCU'? in which case the answer is > 'rarely'. >Yes I meant a /common/ MCU whose task would have been to /drive/ the DSP, but as the below answer clarifies there's no need for such an unit.> > 3) What protocols are usually available to link the DSP to my main CPU? > The standard ones are almost always available; SPI, I2C, UARTS. Shared > memory (via BRQ, BGNT) may or may not be available. What do you need to > connect and at what bandwidth? >Uhm...I cannot yet answer because we have not choosen the main CPU; I think we will use I2C because other peripherals already use that.> > 4) What do you suggest me to read about interfacing a DSP to a "normal" > > CPU? > > A DSP is an ordinary CPU with a different instruction set. The devices > reflect this, of course, in the IO pins available. As there is no > 'standard' DSP CPU just as there is no 'standard' CPU it would help if > you were more forthcoming on details :)Well...I will have to read something about having the DSP run a program loaded by the CPU. As you would probably say, Google's my friend :)> > As noted above the amount of data you need to transfer or share is of > paramount inportance. >We will handle 2 channels (left+right) at the same time, they will be converted to digital and then converted back to analog after DSP processing. The amount of data will depend from the sampling rate we are going to use (correct?).> > > > > We have already made two amplifiers without DSPs so what we need now is > > some knowledge to "fill the gap", even if I am sure we can't really get > > it without experience. > > This shows you have some wisdom :)Yeees, a drop of water in the ocean!> > Cheers > > PeteSMany thanks! -- Daniele> > > > > > Thank you > > -- > > Daniele C.
Reply by ●December 9, 20062006-12-09
Vladimir Vassilevsky ha scritto:> Daniele C. wrote: > > > Hi, > > > > I am collaborating with my friend to create a custom-made amplifier; we > > are going to add a programmable effects feature to it > > What effects exactly are you trying to implement? >Real-time (not really, but with a delay of 0.5 s ca. I suppose) DSP effects, the program would be transferred via IrDA to the DSP (passing through the MCU first).> > > Even if my > > friend is enough experienced with "normal" processors, we know very > > little about the DSP world (most theorical knowledge, not practical). > > > > I have a few questions whose answers should allow us to finish our > > design stage: > > > > 1) Do modern DSPs have ADC and DAC integrated? I suppose *yes* > > 2) Do modern DSPs have an internal MCU? > > 3) What protocols are usually available to link the DSP to my main CPU? > > 4) What do you suggest me to read about interfacing a DSP to a "normal" > > CPU? > > Judging on your extremely naive questions, I can suggest you one of the > two options: > > * Buying a DSP board such as eZDSP 55xx or BlackFin EZ Kit lite, or All > Clark's SHARC board. >Hey, that would steal us all the fun! :)> * Using all-in-one DAP such as TI TAS3004. >Uhm...I have already heard that, I can't remember the (technical) reason why we chose not to use it.> > > We have already made two amplifiers without DSPs so what we need now is > > some knowledge to "fill the gap", even if I am sure we can't really get > > it without experience. > > I see. You have one advantage compared to the others: your experience > grows at every minute :) >Yes, that's why we started this experimental project :)> > Vladimir Vassilevsky > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.comThank you!!! -- Daniele
Reply by ●December 9, 20062006-12-09
Daniele C. wrote:> Yes, the amplifiers are analog. Sorry for my *bad* questions...that's > probably because I miss experience. The fact is that the other guy is > the electronic engineer but cannot speak english while I am just the > programmer...so even if I basically understand how things work I can > rarely find the correct term to describe them to other people (and with > no success at all, when other people have experience as you have). > > There will be a microcomputer with a listening software that will catch > (via IrDA) amplifier commands and programs that will use the DSP > processor to make effects. This is mostly a sperimental project for > ourselves.I appreciate your difficulty. Let me assure that we aren't too proud help you in your own terms, but we need to know what you want to do. Also, in order to communicate with us, you will need to learn a little of our language. As a programmer, you undoubtedly know what a flow chart is. For other systems, we call those block diagrams, and we use fewer stylized symbols and maybe more words. I suggest that you think through the system you want to build well enough so that you can draw a block diagram to represent it. Then we can get down to the business of filling in the digital blocks. DSP chips have special hardware to expedite the execution of common signal processing algorithms, and they tend to use less power than general-purpose CPUs of the same clock speed. There is nothing they can do that other processors can't if speed and power are ignored. Consider the software synthesizers that run on desktop computers: one could be proud to build something as good. If a desktop computer will be part of the system you envision, it's likely that you'll need nothing more. (Your sound card has the A/D and D/A you need.) There are several freeware sound manipulation programs available for download. I don't use any enough to be able to compare, so I'll leave recommendations to others. It will help them to know what you want to accomplish. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●December 10, 20062006-12-10
Jerry Avins ha scritto:> Daniele C. wrote: > > Yes, the amplifiers are analog. Sorry for my *bad* questions...that's > > probably because I miss experience. The fact is that the other guy is > > the electronic engineer but cannot speak english while I am just the > > programmer...so even if I basically understand how things work I can > > rarely find the correct term to describe them to other people (and with > > no success at all, when other people have experience as you have). > > > > There will be a microcomputer with a listening software that will catch > > (via IrDA) amplifier commands and programs that will use the DSP > > processor to make effects. This is mostly a sperimental project for > > ourselves. > > I appreciate your difficulty. Let me assure that we aren't too proud > help you in your own terms, but we need to know what you want to do. > Also, in order to communicate with us, you will need to learn a little > of our language. > > As a programmer, you undoubtedly know what a flow chart is. For other > systems, we call those block diagrams, and we use fewer stylized symbols > and maybe more words. I suggest that you think through the system you > want to build well enough so that you can draw a block diagram to > represent it. Then we can get down to the business of filling in the > digital blocks.The engineer is already on that...unfortunately I cannot post an URL to the work-in-progress diagram for now.> > DSP chips have special hardware to expedite the execution of common > signal processing algorithms, and they tend to use less power than > general-purpose CPUs of the same clock speed. There is nothing they can > do that other processors can't if speed and power are ignored.Their biggest difference is (for me) the parallel execution feature; when programming them (I haven't yet) I will consider the circular buffers too.> Consider > the software synthesizers that run on desktop computers: one could be > proud to build something as good. If a desktop computer will be part of > the system you envision, it's likely that you'll need nothing more. > (Your sound card has the A/D and D/A you need.) >Uhm...there will be no desktop computer in this system; this system will be a "normal" amplifier with an infrared remote control. The same infrared port will be used to interface with a PC and transfer small programs into the device. Once finished the program transfer, those little programs will exist on a memory chip inside the amplifier and ready to run on user's selection. Actually, each program will generate a DSP effect.> There are several freeware sound manipulation programs available for > download. I don't use any enough to be able to compare, so I'll leave > recommendations to others. It will help them to know what you want to > accomplish.I have used (professionally) SoundForge in the past, and I think it is still one of the best (now it has been bought by Sony if I remember correctly); this project is more a training exercise rather than a professional attempt to create something. For example, we should have had to use switching-mode power supply if we were going to make something better...> > Jerry > -- > Engineering is the art of making what you want from things you can get. > =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF==AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF Thank you Jerry! You have been very kind and explanatory, and your patience is great too! I know how bad sound technical terms written by me :) -- Daniele
Reply by ●December 10, 20062006-12-10
Daniele C. wrote:> Jerry Avins ha scritto:...>> I suggest that you think through the system you >> want to build well enough so that you can draw a block diagram to >> represent it. Then we can get down to the business of filling in the >> digital blocks. > > The engineer is already on that...unfortunately I cannot post an URL to > the work-in-progress diagram for now. > >> DSP chips have special hardware to expedite the execution of common >> signal processing algorithms, and they tend to use less power than >> general-purpose CPUs of the same clock speed. There is nothing they can >> do that other processors can't if speed and power are ignored. > > Their biggest difference is (for me) the parallel execution feature; > when programming them (I haven't yet) I will consider the circular > buffers too.Parallel execution need not be a conceptual hurdle. Consider the MAC instruction. It fetches two values from locations specified by pointers in registers and then increments those registers. It also multiplies them and adds the product to an accumulator. Whether those actions are performed sequentially or in a single machine cycle is merely a matter of how fast is happens and how many instructions are needed to specify it.>> Consider >> the software synthesizers that run on desktop computers: one could be >> proud to build something as good. If a desktop computer will be part of >> the system you envision, it's likely that you'll need nothing more. >> (Your sound card has the A/D and D/A you need.) >> > > Uhm...there will be no desktop computer in this system; this system > will be a "normal" amplifier with an infrared remote control. The same > infrared port will be used to interface with a PC and transfer small > programs into the device. Once finished the program transfer, those > little programs will exist on a memory chip inside the amplifier and > ready to run on user's selection. Actually, each program will generate > a DSP effect.If the programs are not computed during a performance, why not have the programs all permanently resident where they will be used. Memory is cheap. People throw away the little 16-Mbyte cards that come in Digital cameras to make room for Gbyte cards. Don't think too small. ...> Thank you Jerry! You have been very kind and explanatory, and your > patience is great too! I know how bad sound technical terms written by > me :)You're certainly welcome. Technical terms facilitate communication. We don't seem to suffer for their lack. :-) Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������






