Hi, Is it OK to implement VoIP protocol merely by an 8 bit MCU and an ethernet chip? The MCU speed is less than 10MHz. Or I need stronger MCU such as ARM? Thanks!
Soft VoIP
Started by ●December 21, 2004
Reply by ●December 21, 20042004-12-21
What sort of protocol do you intend to implement? The VoIP implementations I have seen in desktop phones used (8051) cores with custom DSP add-ons.
Reply by ●December 21, 20042004-12-21
may, or may not be shared by my employer, Atmel Sweden. <dereklai2k@yahoo.com.hk> skrev i meddelandet news:1103640575.120138.260700@c13g2000cwb.googlegroups.com...> Hi, > > Is it OK to implement VoIP protocol merely by an 8 bit MCU and an > ethernet chip? The MCU speed is less than 10MHz. Or I need stronger MCU > such as ARM? > > Thanks!The DSP is used mainly for compression and echo cancellation. You do not need the compression, if you can accept the problem with higher bandwidth, but you may have a problem with the echo so your sound could be terrible if you are not on the same physical network. If your network is heavily loaded, then you will have the same problem. Think you need a DSP and an ARM for proper quality unless you go with a real high end ARM. -- Best Regards Ulf at atmel dot com These comments are intended to be my own opinion and they
Reply by ●December 21, 20042004-12-21
larwe@larwe.com wrote:> > What sort of protocol do you intend to implement? The VoIP > implementations I have seen in desktop phones used (8051) cores with > custom DSP add-ons.Yep. IIRC, the Cisco phones use a 386sx (or used to) - even back before they had the fancy display. Probably using something even beefier now. It'd depend a lot on the CODEC. G.711 might be possible with a straight MCU + A/D, since it doesn't involve compression. At 8bits x 8Ksamples/sec, it seems possible on the surface. It'd be an interesting attempt.
Reply by ●December 21, 20042004-12-21
Reply by ●December 21, 20042004-12-21
Well, it's better classified as a 16-bit CPU, since (a) it's not an MCU, (b) it's slower, clock-for-clock than its pure-16bit parent the 80286, and (c) it has 16-bit external buses. But the point in this specific topic is that a bare 8-bit core is probably not sufficient for a credible VoIP implementation. You need either a meatier core or external DSP assistance.
Reply by ●December 21, 20042004-12-21
dereklai2k@yahoo.com.hk wrote:> But a 386sx is a 32 bits MCU!Ditto what Lewin said. My point was that even back before the displays and on-phone apps, they were using a beefy CPU. But, they also supported G.729 compressed CODECs then, which I expect is no lightweight job. Look under the hood at the H.323 protocols, and evaluate: * What kind of tasks need to be done every X milliseconds * Roughly, how many cycles you'd need to do each one * How much latitude is there in the timing (e.g., jitter) * How many cycles will it take to encode and decode the audio streams? For example, 8000x/second you need to read and encode a sample, and presumably decode and playback another. 50-100x/second you need to send and receive UDP Ethernet packets. Good news is that UDP transport has little overhead once you've built the data payload. Things would get more complex as you add more features like silence suppression, jitter buffering, error recovery, call initiation, etc. I think the real question is the effort involved in encoding the 8Ksamples/sec into G.711 packets. It's possible that a basic G.711 VoIP phone could be within the grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 CODEC, it would only be useful in a LAN environment, not across the Internet (G.711 is a ~64Kbps stream). Cheers, Richard
Reply by ●December 22, 20042004-12-22
"Richard H." <rh86@no.spam> wrote :> It's possible that a basic G.711 VoIP phone could be within the > grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 > CODEC, it would only be useful in a LAN environment, not across > the Internet (G.711 is a ~64Kbps stream).It would still be great to build it in sub $10-20 range and use with Asterisk backend. Hmm sounds like a profitable project. Any takers ? Pozdrawiam. -- RusH // http://randki.o2.pl/profil.php?id_r=352019 Like ninjas, true hackers are shrouded in secrecy and mystery. You may never know -- UNTIL IT'S TOO LATE.
Reply by ●December 22, 20042004-12-22
"RusH" <logistyka1@pf.pl> schrieb im Newsbeitrag news:Xns95C74E8AFD208RusHcomputersystems@193.110.122.97...> "Richard H." <rh86@no.spam> wrote : > > >> It's possible that a basic G.711 VoIP phone could be within the >> grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 >> CODEC, it would only be useful in a LAN environment, not across >> the Internet (G.711 is a ~64Kbps stream). > > It would still be great to build it in sub $10-20 range and use with > Asterisk backend. Hmm sounds like a profitable project. Any takers ?8 Bit CPU maybe yes, but not with the usual 64k RAM. You do need an IP stack (propably even with TCP) and one of signalling protocols (SIP, H.323). I can assure you, this requires a significant amount of code and data memory. Even if only doing G.711 you might need to do DTMF and/or tone generation for your phone (not even thinking of stuff like echo cancellation, comfort noise generation, local echo, ...) Why not pick one of the existing VoIP solutions. I.e. TI has some stuff well suited for IP phones (Telogy). It's a bit overkill for your application but it comes with a MIPS R4000, TI DSP, Operating System and all required software. Just attach a speaker/headphone/keyboard and you're done. Pricing depends on volume, maybe 20..30US$. Yours - Rene (developing VoIP gateways/routers for the last 4 years) PS. I am not with TI.
Reply by ●December 22, 20042004-12-22
"Rene" <spam@see5.ch> wrote :> "RusH" <logistyka1@pf.pl> schrieb im Newsbeitrag>> It would still be great to build it in sub $10-20 range and use >> with Asterisk backend. Hmm sounds like a profitable project. Any >> takers ? > > 8 Bit CPU maybe yes, but not with the usual 64k RAMeven less> You do need > an IP stack4KB> (propably even with TCP)+2KB, but its luxury we dont need> and one of signalling > protocols (SIP, H.323)asterisk will take care of that>. I can assure you, this requires a > significant amount of code and data memory.thats why asterisk box would do that work> Even if only doing G.711 you might need to do DTMF and/or tone > generation for your phone (not even thinking of stuff like echo > cancellation, comfort noise generation, local echo, ...)all that done on asterisk box :)> Why not pick one of the existing VoIP solutions.pice ? >$60> I.e. TI has some > stuff well suited for IP phones (Telogy). It's a bit overkill for > your application but it comes with a MIPS R4000, TI DSP, Operating > System and all required software. Just attach a > speaker/headphone/keyboard and you're done. Pricing depends on > volume, maybe 20..30US$.with >10k volumes i presume :)> - Rene (developing VoIP gateways/routers for the last 4 years)And it shows, you are thinking one big fat box doing all the work. I'm thinking bunch of small rj45/rj11 dongles + one asterisk box doing backend. Those dongles would be /dev/dsp extenders. Even G.711 is not needed that badly. You see fancy display + Wifi + VPN while I see "lets scrap that rj11 circuit and build it inside the phone enclosure". Pozdrawiam. -- RusH // http://randki.o2.pl/profil.php?id_r=352019 Like ninjas, true hackers are shrouded in secrecy and mystery. You may never know -- UNTIL IT'S TOO LATE.