Vous êtes sur la page 1sur 4

Configurable Multiprocessor Platform without

RTOS for Distributed Interfacing and


Controlling
Ramchand Hablani1, Nilesh Chaurasia2
Asst. Prof, Comp. Engg. Deptt, Shri Vaishnav Institute of Tech. & Sc., Indore
Asst. Prof, Elec. & Comm. Engg. Deptt., Shri Vaishnav Institute of Tech. & Sc., Indore
Email: (hablani_ram@rediffmail.com, nileshchaurasia@rediffmail.com)

We
propose
an
interface
of
microcontrollers with the standard serial
communication interface for autonomous robots
and industrial control; also we have developed a
hardware for industrial controlling that is
controlled through one main controller and other
controller will support the main controller to
control the overall system.

Abstract
This paper presents the design and full prototype
implementation of a configurable multiprocessor
platform that supports distributed interfacing and
controlling. It is very difficult to implement the
system with distributed and discrete set of
devices and work in coordination with each
other, especially in the field industrial control
and robotics. Keeping this in mind we have
developed a framework with a standard Intel
8051 architecture microcontroller (which is one
of the most versatile microcontroller families)
and well known Keil software for programming
in C. We have chosen this microcontroller
because this contains variety of interfaces and
many digital I/Os. And it is easily available. We
have chosen the C language because C is one of
powerful language to test and verify algorithms
and designs for embedded domains too. In this
work we have interfaced microcontrollers with
standard serial communication interface and
written C source code for program running on
different controllers in the multiprocessor
environment

We have worked on the self developed 8051


microcontroller kit which is equipped with
Philips P89v51RD2 microcontroller which is a
standards 8051 microcontroller with some added
features. With this kit we have first developed
the different controlling system, which is
equipped with the sensor, (for measuring status
of complete system).

1. Introduction
Use of microcontroller for the solution of
problems associated in the robotics and industrial
control domain is a quite important because in
robotics and industrial control it is required to
execute the different algorithms to control and
sense the different parameters, and digitally
control the operations and devices. The Intel
8051 Architecture has many digital I/Os,
Interfaces like Timer/Counters and Interrupts. [1]

Figure 1. A robot of NXT

In our work we have interfaced more then one


microcontroller and controlled the standard
LEDs display boards. It was really difficult to
interface the LEDs display with microcontroller
because it requires many digital I/O lines, thats

why normally multiplexed display are connected


even then also the requirement of I/Os are much
higher if one wants to interface large number of
LEDs which is the case in commercial LEDs
display systems.
Each processor has a local copy of dedicated
standalone software for the required function one
has to do. The mapping of an application into the
multiprocessor
environment
platform
is
presented in this paper.

2. Background

Figure 2. Creating a new project in Keil

As we all know that Microcontroller


/microprocessor are the way to implements
flexible digital systems. Keil is an interactive,
integrated, environment for development of
programs for Intel 8051 microcontroller based
solutions [4].
We have used Philips P89v51RD2 based self
developed microcontroller kit. The Philips
P89v51RD2 is a Intel 8051 architecture based
advanced processor. One can use any other
standard 8051 microcontroller. We have used this
particular controller because it has ISP feature,
which makes it easy for downloading of the
application program. The microprocessor can be
programmed to exhibit any kind of autonomous
behavior using a PC. After building a hardware
users creates a program with easy-to-use,
feature-rich Keil software. You can program the
microcontroller hardware for actively interact
with surrounding and take the decisions and
control the devices attached with.

Users with serial communication enabled


computer hardware (or using COM dongle) can
transfer their programs to the microcontroller by
wire communication.

The Keil environment is rich in features in which


we can program different sensors and actuators.
We have shown in figure 2 that how we can
build a program and in figure 3 add the source
file in the project in the Keil software and in
figure 4 build the application. In that way we can
program the microcontroller with the help of
Keil software. But this program is run on a single
microcontroller. [4]

Figure 3. Adding the source in the project

Keil supports two programming languages


Assembly and C. Assembly is the low level
programming language that provide good level
of control and efficiency of microcontroller, but
it suffer from the low development speed. Where
as C is a high-level programming language. That
supports fast development of application
program. After generating the source code one
has to compile it. And after compilation the HEX
file will be generated by the Keil and which has
to be downloaded in the microcontroller. But the
generated code with C dont have good use of
architecture but when we consider time to market
matrix, C is one of the accepted language among
the developers. [4]

Figure 4. Build an application in keil


Figure 5. Multiprocessor Environment

But due to limited I/Os capability and limitation


in the computational power a single
microcontroller have it is difficult to interface
I/O intensive applications that required executing
more complex algorithms, we have to switch to
multiprocessor environment.

Figure 5 shows the proposed multiprocessor


framework. One microcontroller work as a
master of the multiprocessor framework and all
other processor are working as slave processors.
In this framework all the processor are
interconnected
with
standard
serial
communication interface (TXD, RXD lines),
which is actually a two wire interface as shown
in the figure 5.
All slave processor for seeking the
commands from the master processor and master
processor have a program (Program 0) to give
commands to the slave processor.
Each processor having local copy of
there own program but that program is not a
common one each program in the processor
having some thing special according to the task
required to it.
Each processor in this framework
having there ID that also be referred as the
address of the processor. And that address is
mentioned in every communication done by the
master on the bus. Table 1 shows the typical
addressing scheme one can adapt.

Disciplined approaches are required when


designing increasingly complex digital systems.
Design abstraction using multi-processor system
model hides the complexity of underlying work
and makes design simple and more efficient.

3. Proposed Model
To develop a complex digital system, for that
many I/Os and computational power is required.
To incorporate this kind of capablities in the
system, the single microcontroller is not
sufficient because of its processing, memory and
I/Os limitations. [2]
We think to develop an application which
requires high I/Os and we wanted to explore the
capabilities of multi-processor platform.
Therefore we proposed an interface between
multiple microcontrollers with the help of serial
communication interface. We have written
functions in C using that utilize serial port
capabilities of microcontrollers. [3]

Table 1 Typical addressing scheme

S. No.
1
2
3
4

Device
Master
Slave 1
Slave 2
Slave 3

ID(Address)
000
001
010
100

Table 2 Integration of address, command and data

D7

D6 D5
Address

D4
D3
Command

D2

D1 D0
Data

Each communication has three information


address, command and data. After receiving the

communication by the slave it analyze the


communication and run accordingly, if it is
intended for that slave otherwise it will ignore
that communication.

Also we have observed that due to delay in the


processing in slave processor accessing of fast
devices is required special attention.
In the slave devices some times the
behavior required is not fully satisfactory. And
we will say that in high speed environment the
application of this solution is not acceptable.

3.1 Prototype Application Developed


In this work we have developed a
multiprocessor LED display hardware and
software for this hardware.

Also with the integration of multiple processor in


the single application with serial communication
interface makes a great sense for hobbyists and
students.

5. Future Scope
We are in process of designing a robot
which can stand as well as move on. In this robot
we incorporate the concept of multiprocessor
digital control.

REFERENCES
[1]

Figure 6. Hardware of rolling display

In this prototype application we have


used two microcontrollers. Master controller are
assigned two work one is to control one slave
and one more task is two refresh the data on the
display. The slave processor is actually control
the column of the display. The master will give
the necessary commands to the slave to enable
and disable the appropriate column. [3]

[2]

[3]

[4]

Figure 7. Data displayed on rolling display

Figure 6 and figure 7 shows the connection and


the data displayed on the display.

4. Conclusion
We found that the framework which we
have developed supports development of
multiprocessor platform for industrial and
robotics control.

8051 Microcontroller - Kenneth J. Ayala,


Penram International/ Thomson, 3rd
Edition, 2005.
Simulated Performance Analysis of
Multiprocessor Dynamic Space-Sharing
Scheduling policy. By Amit Chhabra,
Gurvinder Singh, Gaurav Kumar, Citation
Vol. 9 No. 2 pp. 326-332. International
journal of computer science and network
security (IJCSNS.org).
D. G. Beetner, H. J. Pottinger, and K.
Mitchel, Laboratories Teaching Concepts
in Microcontrollers and HardwareSoftware Co-Design, 30th ASEE/IEEE
Frontiers in Education Conference, pp.
SIC/1-5, 2000.
Keil software website for online help
(http://www.keil.com/support/man/docs/c5
1/,
http://www.keil.com/support/man_c51.htm
)

Vous aimerez peut-être aussi