Embedded project development

Thread Starter

Parth786

Joined Jun 19, 2017
642
Hi

There are two methods to develop embedded project
1. Using the microcontroller and other device
2. Using the microprocessor, memory and other device

In first method, microcontroller and other device such as sensor keypad LCD.. etc use to develop embedded project. In second method, microprocessor, memory and other device use to develop embedded project. Generally I understand the basic difference between microcontroller and microprocessor. In microcontroller, memory is inbuilt on same chip and processor need external memory
my question is that if we can develop embedded project with first method using microcontroller than what is the use of second method. I don't understand why we use both method. why we don't use only first or second method?
 
In computer evolution #2 came before #1.

Microcontrollers have all sorts of stuff in them like rotary encoder interfaces, Native I2C, A/D, D/A. The ability to map pins, add pull-ups, pull-downs. That wasn't true early on. Everything was separate.

A Linux based router takes a lot more resources than a Microwave TV.

Intel still lives on. There is some memory inside the processor which runs faster that what's outside. It's definately not a microcontroller.
 

Thread Starter

Parth786

Joined Jun 19, 2017
642
.Ok still confused on the use of processor and microcontroller in embedded system. ok if microcontroller is so powerful then why don’t they use a microcontroller instead of microprocessor for desktops and laptops.
 
then why don’t they use a microcontroller instead of microprocessor for desktops and laptops.
it's not fast. Not, say, a 2.5 Ghz clock and can;t have 32 GB of RAM for example.

There's another aspect that you missed and that's the PLC or Programmable Logic Controller. These are typically expandable. Check out www.automationdirect.com.

A Tiny PLC is say the Idec Smart relay.

"Computers" have operating systems. Back in the day I used RT-11 on a micro-computer which was a real Time operating system where there is a guaranteed response time to an event. With Windows, that isn't possible.
So, now we put the "smarts" in the device and have Windows issue commands to that device, like "Move to X wavelength".

You should check out National Instruments Labview which is a "data-flow" programming language. It's extremely easy to write multi-threaded programs. In fact, you have to worry about race-conditions. It basically works as follows. A routine (vi) executes when all the data is available, The program is graphically wired like a schematic.
See http://store.digilentinc.com/labview-home-bundle/ The package is really expensive for Industry.
 

MrChips

Joined Oct 2, 2009
30,824
How much memory is on your computer? 4GB-8GB is typical today.
You cannot find an MCU with that amount of memory. MCUs with 4MB or greater of SRAM are not common.

PCs don't usually require much, if any, Flash memory for program storage.
Embedded systems store the program in flash memory. 64MB is about the max you will find on an MCU.
Embedded systems usually have a single application stored in flash memory. Compare that with a PC that will multitask many different applications using its 8GB DRAM and virtually memory by doing memory swap with its hard disk drive. An embedded MCU does not need DRAM nor a hard disk drive in most applications. When more memory or resources are required in an embedded system, a PC motherboard might be the simplest and cost effective solution, such as in a web-server, network server, or point-of-sale (POS) system.
 

Thread Starter

Parth786

Joined Jun 19, 2017
642
How much memory is on your computer? 4GB-8GB is typical today.
You cannot find an MCU with that amount of memory. MCUs with 4MB or greater of SRAM are not common.

PCs don't usually require much, if any, Flash memory for program storage.
Embedded systems store the program in flash memory. 64MB is about the max you will find on an MCU.
Embedded systems usually have a single application stored in flash memory. Compare that with a PC that will multitask many different applications using its 8GB DRAM and virtually memory by doing memory swap with its hard disk drive. An embedded MCU does not need DRAM nor a hard disk drive in most applications. When more memory or resources are required in an embedded system, a PC motherboard might be the simplest and cost effective solution, such as in a web-server, network server, or point-of-sale (POS) system.
I agree but can you tell me reason why we don't use microcontroller with a big memory for desktop or leptop. I mean why microcontroller with big memory doesn't use instead of microprocessor for desktops and laptops. is there any specif reason?
 

JohnInTX

Joined Jun 26, 2012
4,787
I agree but can you tell me reason why we don't use microcontroller with a big memory for desktop or leptop. I mean why microcontroller with big memory doesn't use instead of microprocessor for desktops and laptops. is there any specif reason?
There aren't any microcontrollers with the kind of memory or processing power that is required of today's desktops. Look at @MrChips numbers again - several orders of magnitude between a big microcontroller and even a modest desktop.

There is some overlap but a microCONTROLLER contains lots of built in peripherals that are useful for control type operations. They are pretty much self contained with some internal memory so that the pins can be used to connect to devices to control - LEDs, displays etc. Processing power varies but is typically less than a desktop system because control tasks normally don't need a tremendous amount of processing power. This saves cost and power at the expense of raw computing horsepower. A microPROCESSOR is an integrated CPU with enough logic to interface with external memory and IO for much bigger systems. Desktop processing requires power and those CPUs are optimised to deliver that power but a complete system takes lots of external parts and lots of power to run it all. The reason for difference is driven by application. You wouldn't want to write an accounting system with a PIC and you wouldn't strap an i7 to your wrist for a heartbeat monitor.

These days, as in the past, there can be overlap if the cost/processing power/IO requirements are met. Back in the day, PDP-xx minicomputers found their way into control and general computing applications. Today, ARMs are cheap enough to fit into all kinds of microcontroller applications but are also common in things like RPi, BeagleBone and other single board linux systems that are capable of modest general purpose computing - word processing, web browsing etc.

The lines then as now can be blurry when you get into the overlap. But when you want a low cost/low power controller or want a fire-breathing desktop you get away from the blurry middle and firmly into specific microcontroller/microprocessor ranges.

My .02
 

WBahn

Joined Mar 31, 2012
30,088
Hi

There are two methods to develop embedded project
1. Using the microcontroller and other device
2. Using the microprocessor, memory and other device

In first method, microcontroller and other device such as sensor keypad LCD.. etc use to develop embedded project. In second method, microprocessor, memory and other device use to develop embedded project. Generally I understand the basic difference between microcontroller and microprocessor. In microcontroller, memory is inbuilt on same chip and processor need external memory
my question is that if we can develop embedded project with first method using microcontroller than what is the use of second method. I don't understand why we use both method. why we don't use only first or second method?
Adding to what others have said, different jobs need a different mix of resources and capabilities. Some things need very fast processing, some things need lots of memory, some things need to control a lot of different devices, some things need to drive high current loads. There are also all kinds of different processing tasks. Some things need to do the same computations on lots of different data, some things need to do lots of floating point calculations, some things need to do a lot of multiply-and-accumulate operations. Some things need to be very low power. Some things need to be very low cost. Some things need to be very tiny.

In an ideal world, each project would have a processor that was the exact combinations of things it needed. But we are no where near that world. Some projects, for various reasons, do in fact pay for a processor that is the exact combination of what they want -- but the upfront NRE costs and time are prohibitive for the vast majority of projects. Similarly, if you tried to design a chip that could be used for every project it would be unusable for the vast majority of them, if for no reason that the chip would be way to big for many applications, way to expensive for others, and way to power hungry for yet others. The intersection of projects for which it did not exceed one or more acceptable limits would be miniscule.

So we have evolved a constantly shifting set of general groups -- microcontrollers, microprocessors, digital signal processors, field programmable gate arrays, programmable logic devices, and others -- that aim to serve a sufficiently large subset of the total project space while keeping the capabilities sufficiently narrow so as to present an acceptable option for many of those projects. This is then broken down even further within each group with a myriad of choices that make different tradeoffs so as to be acceptable for an even larger fraction of projects.
 

MrChips

Joined Oct 2, 2009
30,824
@JohnInTX and @WBahn are both on the right track.
There is no one-size fits all.

And another difference, pin-count and pin functions.
You will notice MCU have lower pin-count and the pin functions are input-output and peripheral functions. Generally speaking, MCUs do not have address and data lines. MCUs are available in 8-pin packages. You will never find a μP in a 8-pin package.

μPs need to bring out all the memory address and data lines and hence need a lot of pins. Intel Core i9 chips have a whopping 2066 pins.
 
Top