EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Is 8051 enough?

Started by xelon February 3, 2006
I'm working on my final year project. I have to receive voice(8KHz and
8-bit is enough) with an ADC and send it to a computer via Internet. So
I have to choose a microcontroller.

The embedded system that I want to design includes:
1. ADC and DAC
2. Network Controller
3. Graphical LCD

*I have experience with 8051. Do you think 8051 is enough for this
project? I have doubt about required number of I/O pins especially.

*Also I think I'm going to use CS8900A network controller. Is there any
other network controller that you advice?

P.S : I am going to design PCB from scratch. Please don't offer any
evalution board.

Thanks for your help

Hey there !

According to Shannon's Theorem, to transfer a sample of sound reliably, the 
sampling speed must be at least twice the bandwidth (highest frequency). 
This means your ADC unit must be able to sample at least 16 ksps (thousand 
samples per second). Since you want 8-bit word length, it's going to be a 
8-bit ADC with a sampling rate at least 16 ksps. Quite straightforward, no ? 
:)

The CS8900A network controller is designed to attach into an ISA bus, having 
20 address pins (1 Mb memory space) with 16-bit word length. This means the 
microcontroller driving this chip must have at least 36 pins just for the 
address and data output. Added to this, the memory read and memory write 
pins, IRQ pins and possible DMA pins, the pin requirement on the host climbs 
over 40 I/O pins. A standard 8051 controller does not have this many pins 
directly, as they generally have a maximum of 4 8-bit I/O ports, totalling 
32 pins. So, if you plan to use this network controller, 8051 is not the 
best possible choice. Using a multiplexing mechanism such as one indicated 
in http://tparker.customer.netspace.net.au/projects/ether/simmstick/ can 
solve the problem, but it's highly inefficient throughput-wise.

Instead, Dallas Semiconductors has a ready solution for you: a 
8051-compatible controller with in-built Ethernet and TCP/IP stack in ROM, 
the DSC80C400. Additionally it has 64 free I/O pins for external devices 
(such as the ADC/DAC and the LCD display). Read more about it in 
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3609
If I was in your shoes, this might be a good choice. It might cost a little 
more than an ordinary 8051 ($10.50 per chip if ordering 1-24 chips), but 
considering all the nice stuff you get in-built (such as the stack and 
ready-to-boot Ethernet software in ROM), I wouldn't mind the price. As an 
added bonus, Dallas has a huge collection of application notes and examples 
to get you going in a swift motion.

Since you're doing a thesis/final year project, your very best option is to 
request sample chips. Getting, say, a quantity of 5 sample chips is not a 
big hassle for a big company such as Dallas. This will help you cut the 
costs of the project even more.

Also, for the PCB. Have you considered any options on how you're planning to 
get it made ? Do you have tools and tech to make the boards yourself ? Since 
the DSC80C400 comes in an LQFP 100-pin package, using a home-brewn PCB, such 
as a distilled/etched one, might not be a wise idea. Fear not, solution is 
at hand, though. Have a look at http://www.futurlec.com
These guys create anything from one to thousand PCBs. Send in an 
EAGLE-format board layout that matches their techical requirements (size, 
drill size etc), and they'll get you a board done quite cheaply. When I 
ordered my protoboards, I got a batch of 5 for ~$50, excluding shipping & 
handling. The boards had a solder mask on them, making soldering of SMT 
components quite a breeze with a standard Weller workstation, a small 
soldering tip and a good microscope. That's what I'd call a bargain :)

Hope this helps you !

- Antti Keskinen


"xelon" <tolgaonbay@gmail.com> wrote in message 
news:1139015502.752140.137100@z14g2000cwz.googlegroups.com...
> I'm working on my final year project. I have to receive voice(8KHz and > 8-bit is enough) with an ADC and send it to a computer via Internet. So > I have to choose a microcontroller. > > The embedded system that I want to design includes: > 1. ADC and DAC > 2. Network Controller > 3. Graphical LCD > > *I have experience with 8051. Do you think 8051 is enough for this > project? I have doubt about required number of I/O pins especially. > > *Also I think I'm going to use CS8900A network controller. Is there any > other network controller that you advice? > > P.S : I am going to design PCB from scratch. Please don't offer any > evalution board. > > Thanks for your help >
Addendum:

At the Futurlec's site, see the Services -> PCB Manufacturing part. Futurlec 
has other services as well, such as a large catalogue of electronic 
components, but that wasn't the main point :)

- Antti Keskinen


On 2006-02-04, xelon <tolgaonbay@gmail.com> wrote:

> I'm working on my final year project. I have to receive > voice(8KHz and 8-bit is enough) with an ADC and send it to a > computer via Internet. So I have to choose a microcontroller. > > The embedded system that I want to design includes: > 1. ADC and DAC > 2. Network Controller > 3. Graphical LCD > > *I have experience with 8051. Do you think 8051 is enough for this > project?
Probably, but it would be a lot easier using something like an ARM with a built-in Ethernet controller. -- Grant Edwards grante Yow! Will it improve my at CASH FLOW? visi.com
Thank you for your reply. It helps me a lot.

I didn't read the datasheet of DS80C400, just looked at the features.
But It really looks great for my project. I can't find any project
includes this uC on the Internet. Is DS80C400 difficult to make a
project? And the uC runs with 3.3V, can i interface DS80C400 with chips
running on 5V?(I know this is a newbie question :)  )

There is a big electronic company in my country, I talked with them.
All I have to do is to design the schematics, and they are going to
build the PCB.

>Probably, but it would be a lot easier using something like an >ARM with a built-in Ethernet controller.
Thanks for your reply also. I wanted to start with an ARM uC. I asked questions about ARM to this group, people always suggested me to use an evaluation board. So I decided to continue with simpler uCs. I am going to learn it after I finish this project. (I hope I can finish :) ) Thanks again
Grant Edwards wrote:

> > I'm working on my final year project. I have to receive > > voice(8KHz and 8-bit is enough) with an ADC and send it to a > > computer via Internet. So I have to choose a microcontroller. > > Probably, but it would be a lot easier using something like an > ARM with a built-in Ethernet controller.
There are ASSPs, based on 8051 cores, for VoIP.
In article <1139015502.752140.137100@z14g2000cwz.googlegroups.com>,
xelon <tolgaonbay@gmail.com> writes
>I'm working on my final year project. I have to receive voice(8KHz and >8-bit is enough) with an ADC and send it to a computer via Internet. So >I have to choose a microcontroller. > >The embedded system that I want to design includes: >1. ADC and DAC >2. Network Controller >3. Graphical LCD > >*I have experience with 8051. Do you think 8051 is enough for this >project? I have doubt about required number of I/O pins especially. > >*Also I think I'm going to use CS8900A network controller. Is there any >other network controller that you advice? > >P.S : I am going to design PCB from scratch. Please don't offer any >evalution board. > >Thanks for your help
Try the TI MSC1210/12 parts. They will do what you want I think. BTW you are far better starting with an eval board. This gives you a known working board. This is helpful for several reasons, you can start the SW in parallel to the hardware and there are often useful pointers in the way the eval board was designed that will help with your design unless you are an experienced designer of boards for this type of part and application. I would not start a new, time constrained, project without an off the shelf dev kit. They save so much time and help reduce errors. Even experienced designers have a prototype, pre-production and production boards. It is rare anyone gets it right first time. Also no one designs a board from scratch. As with SW you usually have examples and parts of the system borrowed from app notes and other information the silicon company supplies. These eval kits usually come with example code, tools and utilities which give you quite a boost at the start.... especially the errata :-) As it is a final year project you don't have the luxury of being able to over run. SO do What the industry does. Take all the help you can get. -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
xelon wrote:

> Thank you for your reply. It helps me a lot. > > I didn't read the datasheet of DS80C400, just looked at the features. > But It really looks great for my project. I can't find any project > includes this uC on the Internet. Is DS80C400 difficult to make a > project? And the uC runs with 3.3V, can i interface DS80C400 with chips > running on 5V?(I know this is a newbie question :) ) >
All these questions are answered in the data sheet. It makes fascinating reading. Ian
>All these questions are answered in the data sheet. It makes fascinating >reading.
Yesterday, I looked deeply on DS80C400. And I find that it takes much more effort. For MAC address one more IC, For MII interface one more IC. So I changed my idea, I'm going to use CS8900A, because there are lots of projects on the web using 8-bit uC and CS8900A.
>Try the TI MSC1210/12 parts. They will do what you want I think.
Yes, I found it yesterday. I think it can help me.
>BTW you are far better starting with an eval board. This gives you a >known working board. This is helpful for several reasons, you can start >the SW in parallel to the hardware and there are often useful pointers >in the way the eval board was designed that will help with your design >unless you are an experienced designer of boards for this type of part >and application >I would not start a new, time constrained, project without an off the >shelf dev kit. They save so much time and help reduce errors. Even >experienced designers have a prototype, pre-production and production >boards. It is rare anyone gets it right first time.
I have an 8051 evaluation board includes TI MSC1200Y3. I think that is enough for me. Thanks for your reply...
>The CS8900A network controller is designed to attach into an ISA bus, having >20 address pins (1 Mb memory space) with 16-bit word length. This means the >microcontroller driving this chip must have at least 36 pins just for the >address and data output. Added to this, the memory read and memory write >pins, IRQ pins and possible DMA pins, the pin requirement on the host climbs >over 40 I/O pins.
Even though I do not have anything against the dallas semiconductor chip you propose and agree it would be a good candidate, above statement is really very wrong. The CS8900a can easily be run in 8 bit mode with 3 address lines and the usual control lines. There are many sample applications around showing it's use. I found the slaa137 technote from TI extremly helpfull here. Among many other places you find it here: http://www.softbaugh.com/downloads/slaa137.pdf HTH Markus

Memfault Beyond the Launch