Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

WHICH ONE ? EITHER MICROPROCESSOR OR MICROCONTROLLER....

Status
Not open for further replies.

Avito

New Member
I have THREE questions:

(1)In any company that manufactures Computers, they would hire a lot of Programmers to write standard DOS programs for each computer and these programs are stored on ROM chips. Now, assume that a single computer software is stored on a few ROM chips. When building the second computer, why can't we just write a program to copy the entire software programs as written for the first computer onto New ROM chips?
Most of the companies make the programmers to type out the entire programs again.Instead, we can copy Data from one ROM chip to another by using Two Data pointers(one for pointing to the Source location and another pointing towards the Destination location) and also a Counter to Tranfer data from the required number of locations from one ROM chip to another. In this way, Production can be increased.

(2)Is it possible to connect external memory to a Microcontroller in case the Memory on the Microcontroller chip is not sufficient? If yes, then why don't the computer companies use Microcontrollers for building their computers? It would be more convenient to use Microcontrollers as the harware required would be less.

(3)What is the principle that is used in Face Recognition in Robot vision systems? How do you write the Assembly Program for this using a PIC16F84 microcontroller?
 
2. Microcontrollers are designed to be self sufficient, so usually you can't connect external memory to it (except 8051s or PIC17, maybe others...). What exactly you want that space for? You can get more than 1 Mbit PIC18, that's a lot!

And I don't think you can expect PC CPU with 80GB program memory on chip :lol: . I hope you know whats the difference between program and data memory...
 
(1) No idea what you are asking.
(2) The basic idea is that a uP takes one instruction cycle to access its memory, while a uC may take many cycles to access external memory. Speed is the issue.
(3) Those often involve image processing algorithms which is an entire field of study by itself, and mostly require tons of RAM, probably much more than a humble 16F84 can handle.
 
Avito said:
I have THREE questions:

(1)In any company that manufactures Computers, they would hire a lot of Programmers to write standard DOS programs for each computer and these programs are stored on ROM chips. Now, assume that a single computer software is stored on a few ROM chips. When building the second computer, why can't we just write a program to copy the entire software programs as written for the first computer onto New ROM chips?
Why use many ROM chips? Today, the bios is software stored on ONE ROM CHIP. What you are asking is possible, but it costs money, time, and possibly sanity.

Most of the companies make the programmers to type out the entire programs again.Instead, we can copy Data from one ROM chip to another by using Two Data pointers(one for pointing to the Source location and another pointing towards the Destination location) and also a Counter to Tranfer data from the required number of locations from one ROM chip to another. In this way, Production can be increased.
and your point is?

(2)Is it possible to connect external memory to a Microcontroller in case the Memory on the Microcontroller chip is not sufficient? If yes, then why don't the computer companies use Microcontrollers for building their computers? It would be more convenient to use Microcontrollers as the harware required would be less.
The instructions would be tedious, and because a real computer identifies components by addresses, some bits are required from the microcontroller for the addresses. This is possible.

(3)What is the principle that is used in Face Recognition in Robot vision systems? How do you write the Assembly Program for this using a PIC16F84 microcontroller?
You could create an array of Photo Detectors, but it is costly.
 
(1) There should b a way, though I have never tried it

(2) It's surely possible, but the uC is slow in accessing external memory. I use this for small scale projects, but if it's a wider scale, u'll definitely feel the difference...

(3) Try checking in MatLab the resources manual, if u have it... They have interfaces for Image recognition and picture analysis u could use in Robot vision systems.
 
There's a few different types of facial recognition. One of the more popular methods is looking for certain points on a face... a private technology called FACE-IT which is used often by the FBI and by many commercial vendors use this software.

What it does, is first it has to DETECT the face. There's a whole feild devoted simply to facial detection. What it does here, is it runs an image through a series of gaussian filters to detect the face... Basically, a whole lot of digital processing and filtering.

After the face is found, then the background is removed. The size is normalized (or scaled to be the same size that the images stored in the database are), the lighting is normalized, and the face is "rotated" to be looking straight at you. The rotation is done by finding the eyes and the mouth and lining them up straight in proportion to the outsides of the face, etc... the idea is to use the symetry of the eyes to rotate the face so it's always one direction. Of course, when it's rotated you'll lose skin tone and what not, but it's really not necessary to have that at this point. The FACE-IT system claims it can recognize a face if it's looking within 35 degree's of the camera... so you can only rotate it so much.

After all that is done... then you can begin finding the features of the face. First, the "First Order" features are found. This involves finding just the different features, the eyes, eyebrows, mouth, and face. The first order features are those 4 things, there lengths, area, and angles.

Next, the "Second Order" features are found. The second order features are basically the spacial relationships of the first order features. For example, the distance from the mouth to the left side of the face is one second order feature. The angle between the left eye and the right eyebrow is another one... and so fourth. These can get to be pretty numerous, I think FACE-IT finds over 90 different features.

After all this is found, all those measurements are stored in an array or something similar would be my guess. Using correlation, this array is compared to values of known faces in a database, and a match is either found or isn't. FACE-IT claims it only needs like 15 features to make a positive match.

Now... this is just one method (probably the more popular method). FACE-IT is a private, so even though I can tell you how it works, all the code, filters, etc. it uses are completely private. I also want to point out that Facial Recognition is still in it's infancy, isn't accurate at all, and can easily be fooled (with all the steps involved, it's easy to see where so many things can go wrong... starting from if someone shaves there eyebrows or if there is poor lighting and whatever else).

When it all comes down to it, after a positive match has been made by a facial recognition software, there's still a human behind the computer to confirm it.

The whole point of this entire post really, is to let you know what you're going to be getting into if you try it. There's plenty of code and references available on if you use google diligently... since it's still a technology in it's infancy, there's alot of open research around the net if you just look hard enough. You probably won't find everything you need for a complete system though. It involves a LOT of DSP though... so you'd probably need a pretty powerfull DSP processor, not just a simple little PIC.
 
Avito said:
(1)In any company that manufactures Computers, they would hire a lot of Programmers to write standard DOS programs for each computer and these programs are stored on ROM chips. Now, assume that a single computer software is stored on a few ROM chips. When building the second computer, why can't we just write a program to copy the entire software programs as written for the first computer onto New ROM chips?

1. ROM in computers does not contain DOS programs or any programs for that matter; ROM generally contains BIOS (Basic Input Output System) and is responsible for initializing each and every peripheral (e.g. RAM, interrupts, timer, ports) used by the system and provide routines to access peripherals. Once the initialization is done it tries to load the operating system. New computer is developed because existing one lacks something so some peripherals are improved (e.g. Original parallel port was not supporting bi-directional communication but new one does) some peripherals are added (USB, Firewire) and some peripherals are removed. Thus you code also need changes to take care of these changes so what they do is they use the existing code and update/add it.

2. Once the programming is done ROM can be manufactured or programmed with required code very easily.

Avito said:
(2)Is it possible to connect external memory to a Microcontroller in case the Memory on the Microcontroller chip is not sufficient? If yes, then why don't the computer companies use Microcontrollers for building their computers? It would be more convenient to use Microcontrollers as the harware required would be less.

Yes it is possible to connect external memory to some Microcontrollers. You need to define what you mean by computer to properly answer your question.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top