You are on page 1of 54

MICROPROCESSORS ‫المعالجات‬

Microcontrollers ‫والمتحكمات‬
“Embedded Systems ‫”األنظمة الخفية‬
1

Slides by: Prof. Mohamed Eladawy


Instructor: Mohamed El-Dakroury, Assistant Professor
Adawy
Course Work, 2nd term 2020/2021, Spring 2024

2
Mid term: 40 marks Term project:10 marks Lab.:10 marks Lab. exam: 20 marks
Adawy
‫مقدمة ‪Introduction‬‬

‫المعالجات ‪ 8‬بت‬

‫المتحكم ‪8051‬‬
‫‪8 bit CPU‬‬

‫عائلة ‪PIC‬‬
‫المعالجات ‪ 16‬بت‬
‫عائلة ‪ATMEL‬‬
‫‪bit Microprocessors 16‬‬

‫باقى المعالجات حتى ‪P4‬‬ ‫‪3‬‬


‫‪Adawy‬‬
‫تطور الشرائح اإللكترونية من حيث كثافة المكونات‬
“I think there is a world
market for maybe five
computers.”
-Thomas Watson, Chairman of IBM, 1943 55 Million
Tr
AND P4 Proc.
Counters Processors
OR, ..
10-100Trans Registers Memories
SSI
100-1000Tr 10000-100000Tr
MSI LSI VLSI USI
1948 1960 1970 1975 1985 2001
4
Adawy
*Semiconductor Industry Association
(SIA projects 1 billion transistors produced per person by 2008.)

5
Adawy
Evolution of CPUs

6
Adawy
‫ما هو المعالج الدقيق ؟‬

‫‪Micro‬‬ ‫صغير أو دقيق ‪Small, Tiny,‬‬

‫‪Processor‬‬ ‫معالج ‪ ,‬منفذ‬


‫عمليات ‪ ،‬مشغل‬
‫‪7‬‬
‫‪Adawy‬‬
‫ما هى الوظيفة األساسية للمعالج (‪ )cpu‬؟‬

‫!‬ ‫إحضار األوامر من الذاكرة‬


‫ثم تنفيذها‬

‫الذاكرة‬
‫‪010101011‬‬
‫‪010111001‬‬
‫‪010001111‬‬
‫المعالج‬ ‫‪Program‬‬
‫‪0110100‬‬
‫‪1110011‬‬ ‫‪8‬‬
‫‪Adawy‬‬
‫ماذا يستطيع المعالج وحده أن يفعل ؟‬

‫!ال شىء‬
‫‪9‬‬
‫‪Adawy‬‬
MICROCOMPUTER

One board Fetching Instructions


‫الذاكرة‬
010101011
‫المعالج‬ 010111001
010001111
Program
0110100
1110011
I/P Port O/P Port

10
Adawy
MICRO CONTROLLER ‫المتحكمات‬

Fetching Instructions
‫الذاكرة‬
One chip 0101010110101
1100101000111
Program
‫المعالج‬ 0110100111001

A/D
1100010100010

I/P Port
O/P Port D/A
11
Adawy
‫المتحكمات ‪ ،‬يطلق عليها أحيانا األنظمة الخفية‬
‫‪Embedded systems‬‬

‫‪12‬‬
‫‪Adawy‬‬
‫هناك بعض المواصفات لألنظمة الخفية‬
‫‪embedded systems‬‬

‫‪ ‬النظام الخفى يكون مخصص للتحكم فى عملية أو جهاز واحد بعينه‬

‫‪ ‬النظام الخفى يكون ذاتى التشغيل والبدأ وال يحتاج لتدخل بشرى‬

‫‪ ‬المستخدم للنظام ال يستطيع أن يخبر بسهولة إن كان النظام به معالج خفى‬

‫‪13‬‬
‫‪Adawy‬‬
‫التطبيقات‬

‫!ال حصر لها‬


‫‪14‬‬
‫‪Adawy‬‬
‫األنظمة الخفية ‪embedded systems‬‬
‫موجودة حولنا فى حياتنا العملية‬

‫‪ ‬فى الميكروكومبيوتر هناك بجانب المعالج األساسى ‪ cpu‬هناك نظام خفى فى لوحة‬
‫المفاتيح ‪ ،‬وفى كارت الشاشة ‪ ،‬وفى الطابعة وفى كل جهاز يتقابل مع الحاسب‪.‬‬

‫‪‬فى األجهزة المنزلية (غسالة المالبس ‪ ،‬وغسالة األطباق ‪ ،‬وفرن الميكرويف ‪ ،‬وغيرها)‬
‫‪‬فى السيارة (التحكم فى خلط الهواء بالبنزين ‪ ،‬األمان ‪ ،‬واإلنذارات ‪ ،‬وغيرها) ‪ ،‬تحتوى‬
‫السيارة المتوسطة على حوالى ‪ 15‬متحكم ‪ ،‬المرسيدس ‪ 1999‬بها ‪ 63‬متحكم ‪ ،‬وال‬
‫‪ BMW 1999‬بها ‪ 65‬متحكم ‪.‬‬
‫‪ ‬فى لعب األطفال‬
‫‪‬ولقد بدأ المتحكم يغزوالجسم البشرى من خالل منظم ضربات القلب ‪ pacemaker‬الذى‬ ‫‪15‬‬
‫يعتبر المتحكم الجزء األساسى فيه ‪.‬‬ ‫‪Adawy‬‬
‫الميكروكومبيوتر نظام خفى ولكنه يختلف عن باقى‬
‫األنظمة الخفية ‪:‬‬

‫الميكروكومبيوتر‬ ‫األنظمة الخفية‬


‫‪‬به كمية كبيرة من الذاكرة ‪ RAM‬تقدر بالميجا‬ ‫‪‬كمية صغيرة جدا من الذاكرة ‪ RAM‬تقدر ببعض‬
‫أو الجيجا بايتس‬ ‫بايتات‬
‫‪‬له نظام تشغيل وسواقات صلبة ‪ HDD‬وكمية‬ ‫‪‬كمية قليلة من ال ‪ ROM‬تقدر ببعض الكيلوبايتات ‪.‬‬
‫كبيرة من ال ‪ROM‬‬
‫‪‬النظام الواحد يستخدم مع تطبيق واحد فقط وال يتعداه‬
‫‪‬يمكن استخدامه فى تنفيذ العديد من التطبيقات‬
‫العامة مثل معالجة النصوص والجداول والحسابات‬
‫المعقدة من خالل التعامل مع أنواع عديدة من‬
‫البيانات وبدقة عالية‬
‫‪16‬‬
‫‪Adawy‬‬
‫النظام الخفى ‪ embedded system‬إما أن يكون ‪:‬‬

‫مكونات مجمعة على لوحة ‪one board‬‬


‫مكونات مجمعة كلها على شريحة‬ ‫تحتوى ‪ cpu‬وكمية من الذاكرة (‪RAM,‬‬
‫واحدة ‪. microcontroller‬‬ ‫‪ )ROM‬وعدد من بوابات اإلدخال‬
‫واإلخراج ‪. I/O ports‬‬

‫‪17‬‬
‫‪Adawy‬‬
‫الفرق بين المعالج والمتحكم !‬

‫المعالج‬
‫‪ ،‬عام األغراض ‪ ،‬يحتاج لشرائح محيطة ليعمل ‪ ،‬عدد‬
‫كبير من خطوط اإلدخال واإلخراج ‪ ،‬سهولة فى البرمجة‬
‫المتحكم‬
‫‪ ،‬حاسب كامل على شريحة ‪ ،‬يحتاج للقليل من الشرائح‬
‫المحيطة ليعمل ‪ ،‬رخيص ‪ ،‬سريع ‪ ،‬عدد قليل من األوامر ‪ ،‬عدد‬
‫قليل من خطوط اإلدخال واإلخراج ‪ ،‬أصعب فى البرمجة‬
‫‪18‬‬
‫‪Adawy‬‬
‫نقدم فى هذا العرض وحدة‬
‫المعالجة المركزية ‪ cpu 8‬بت !!‬
‫والمتحكمات (‪8‬بت) !!‬

‫لماذا ؟‬ ‫‪19‬‬
‫‪Adawy‬‬
)CPU( ‫نظرة خارجية على أطراف المعالج‬
? Pins
U?
40 ‫ طرف ؟‬40
27 30
M1 A0 31
19 A1 32
20 MREQ A2 33

?
22 IORQ A3 34
21 WR A4 35
RD A5 36
28 A6 37
REFSH A7 38
18 A8 39

‫؟‬
HALT A9 40
24 A10 1
WAIT A11 2
16 A12 3
17 INT A13 4
NMI A14 5
26 A15
RESET 14

?
25 D0 15
23 BUSRQ D1 12
BUSAK D2 8
6 D3 7
CLK D4 9
D5
D6
10 20
13
D7
Adawy
Z80-CPU
MICROPROCESSOR TERMINALS ‫أطراف المعالج‬
U?
27 30
M1 A0 31
19 A1 32
20 MREQ A2 33
22 IORQ A3 34
21 WR A4 35
RD A5 36
Control bus 28 A6 37

18
REFSH A7
A8
38
39
Address bus
HALT A9 40
24 A10 1
WAIT A11 2
16 A12 3
17 INT A13 4
NMI A14 5
26 A15
RESET 14
25 D0 15
23 BUSRQ D1 12

6
BUSAK D2
D3
8
7
Data bus
CLK D4 9
D5 10
D6 13
D7

Z80-CPU 21
Adawy
‫نظرة خارجية على أطراف المتحكم‬
! ‫ كمثال‬8051
VS S VCC RS T

P0.7
XTAL1 P0.6 P
P0.5 O ADDRES S
P0.4 R AND
XTAL2 P0.3 T DATA BUS
P0.2
P0.1 0
P0.0
EA

PS EN P1.7
P1.6 P
ALE P1.5 O
P1.4 R
P1.3 T
P1.2 1
P1.1
P1.0

RxD P3.7 P2.7


TxD P P3.6 P2.6 P ADDRES S
S ECONDARY INT0 O P3.5 P2.5 O BUS
FUNCTIONS
INT1 P3.4 P2.4 R
R P3.3 P2.3
T0 T
T1 T P3.2 P2.2
WR 3 P3.1 P2.1 2
RD P3.0 P2.0 22
Adawy
ADDRESS BUS ‫مسار العناوين‬
‫مسار العناوين‬ ‫الذاكرة‬ Add lines Memory
4 16
A0 0 5 32
1 6 64

A0 00 7 128

A1 01 8 256
10 9 512
11 10 1024(1K)

000 11 2K

A0 001 12 4K

A1 010 13 8k

A2 011 14 16K

101 15 32K

110 16 64k

111 … …
20 1M
24 16M
30 1G 23
Amount of memory= 2 number of address lines
36 64G
Adawy
‫مسار البيانات ‪DATA BUS‬‬
‫‪11011101‬‬ ‫‪11011101‬‬
‫‪11011101‬‬
‫المعالج‬
‫الذاكرة‬

‫ثنائى االتجاه‬

‫‪11011101‬‬ ‫‪11011101‬‬
‫‪11011101‬‬
‫المعالج‬
‫الذاكرة‬ ‫‪24‬‬
‫‪Adawy‬‬
WRITING ‫التسجيل فى الذاكرة‬
E100
Address bus
E100 E100

RA
E100 55

M
‫المعالج‬ 1
55

55 WR
Data bus
2
55

Control bus
25
3 Adawy
READING ‫القراءة من الذاكرة‬
E100
Address bus
E100 E100

RA
E100 55

M
‫المعالج‬ 1
55
WR RD
55
Data bus
3 55
55

Control bus
26
2 Adawy
‫الهيكلة فى نظام فان نيومان‬
‫‪Van Neumann bussing system‬‬
‫مسار البيانات‬

‫‪CPU‬‬ ‫‪Program‬‬
‫‪and Data‬‬
‫مسار العناوين‬ ‫‪Memory‬‬

‫‪ ‬ذاكرة واحدة للبرامج والبيانات ‪.‬‬


‫‪ ‬مسار بيانات واحد ومسار عناوين واحد ‪.‬‬
‫‪ ‬بايت الذاكرة تتكون من ‪ 8‬بت ‪.‬‬
‫‪27‬‬
‫‪ ‬األوامر يمكن أن تأخذ أكثر من بايت ويتم جلبها فى أكثر من مشوار‬
‫‪Adawy‬‬
‫الهيكلة فى نظام هارفارد‬
‫‪Harvard bussing system‬‬

‫مسار البيانات‬ ‫مسار البيانات‬


‫‪Program‬‬ ‫‪ 14‬بت‬ ‫‪Data‬‬
‫‪CPU‬‬
‫‪Memory‬‬ ‫‪Memory‬‬
‫مسار العناوين‬ ‫مسار العناوين‬

‫‪ ‬ذاكرة للبرامج وأخرى البيانات ‪.‬‬


‫‪ ‬كل منهما له مسار للبيانات ومسار عناوين خاص به ‪.‬‬
‫‪ ‬بايت ذاكرة البيانات تتكون من ‪ 8‬بت ‪ ،‬وبايت ذاكرة البرامج تتكون من أكثر من ‪8‬‬
‫بت ‪.‬‬
‫‪28‬‬
‫‪ ‬األوامر تأخذ بايت واحدة فى ذاكرة البرمجة ويتم جلبها فى مشوار واحد‬
‫‪Adawy‬‬
CPU ‫التركيب الداخلى للمعالج‬
MP ARCHITECTURE
U?
27 30
M1 A0 31
19 A1 32
20 MREQ A2 33
22 IORQ A3 34
21 WR A4 35
RD A5 36
28 A6 37
REFSH A7 38

?
18 A8 39
HALT A9 40
24 A10 1
WAIT A11 2
16 A12 3
17 INT A13 4
NMI A14 5
26 A15
RESET 14
25 D0 15
23 BUSRQ D1 12
BUSAK D2 8
6 D3 7
CLK D4 9
D5 10
D6
D7
13 29
Z80-CPU Adawy
Counters and register set ‫مجموعة مسجالت وعدادات‬ 
Arithmetic and logic unit ‫وحدة الحساب والمنطق‬ 
Control and timing unit ‫وحدة التحكم والتزامن‬ 

30
Adawy
‫أى عملية يجريها المعالج‬
‫البد أن تتوافق مع نبضة‬
‫التزامن‬ ‫تزامن‬

T
Clock = 2Mhz T=0.5 u Second

If four pulses per instruction


0.5 Million instruction per second

31
Adawy
ALU ‫وحدة الحساب والمنطق‬

Operand1

+- AND OR
Operand2

ALU Accumulator

Result 32
Adawy
‫أنواع المسجالت داخل المعالج‬

‫مسجالت عامة‬
‫‪General purpose‬‬
‫مسجالت خاصة‬
‫‪Special purpose‬‬ ‫‪33‬‬
‫‪Adawy‬‬
ACCUMULATOR, A ‫مسجل التراكم‬

‫مسجل التراكم‬
O/P Port
I/P Port ‫يت‬ A8

OR

-
AND Operand
Accumulator

+
Result
ALU 34
Adawy
‫عداد البرنامج ‪PROGRAM COUNTER,‬‬
‫‪PC‬‬

‫المعالج‬ ‫الذاكرة‬
‫‪A‬‬

‫‪Program‬‬
‫‪PC=E100‬‬ ‫‪E100‬‬ ‫‪3F‬‬

‫عنوان األمر الذى‬


‫عليه الدور فى التنفيذ‬

‫‪35‬‬
‫‪Adawy‬‬
INSTRUCTION REGISTER, ‫مسجل األوامر‬
IR

‫المعالج‬ ‫الذاكرة‬
A

Program
PC=E100 E100 3F

IR 3F 3F
3F

Instruction
decoder

36
Adawy
STATUS REGISTER, SR ‫مسجل الحالة‬
v ee f 11
rrrryy a i
t tiv e o
rr of
0
==0 a
cca n eegg a m bb e
l t t s aa l t n nu m
r eessuul r e
eere
i is
r esesuult e
vvenn nu
1 ifif r t hh i f
i f r i f ee
==1 1 ifif t ==11 ==11 if
==1

ZF CF HCF SF PF

=1 if there is a carry
from bit 3 to bit 4 37
Adawy
‫مجموعة مسجالت المعالجات ‪ 8‬بت‪8 BIT MP REGISTER SET‬‬

‫‪38‬‬
‫‪Adawy‬‬
PROGRAMMING MP ‫برمجة المعالج‬
Machine codes
High level
language Assembly codes HEX codes
‫لغة اآللة‬

MOV A,M CC 11001100


MOV C,A 55 01010101

X=A+B INX HL E3 11100011


ADD M 00 00000000
MOV M,A F8 11111000

HEX
Compiler Assembler Loader
39
Adawy
‫مجموعة األوامر ‪INSTRUCTION SET‬‬

‫أوامر‬ ‫أوامر القفز‬ ‫أوامر‬ ‫أوامر‬ ‫أوامر نقل‬


‫اإلدخال‬ ‫المنطق‬ ‫الحساب‬ ‫البيانات‬
‫‪JP….‬‬
‫واإلخراج‬ ‫‪AND….‬‬ ‫‪ADD….‬‬ ‫‪LD….‬‬
‫… ‪JPNZ‬‬
‫‪IN…..‬‬ ‫… ‪OR‬‬ ‫…‪SUB‬‬ ‫…‪MOV‬‬
‫‪JPC….‬‬
‫…‪OUT‬‬ ‫‪XOR….‬‬ ‫‪CP….‬‬ ‫‪MVI….‬‬
‫…‪JPNC‬‬
‫……‬ ‫……‬ ‫‪…..‬‬ ‫‪40‬‬
‫……‬
‫‪Adawy‬‬
‫أنواع الذاكرة ‪Types of Memory‬‬

‫‪ -1‬ذاكرة قراءة فقط ‪Read Only Memory, ROM‬‬


‫‪‬ال تفقد محتوياتها عند انقطاع القدرة ‪Nonvolatile‬‬
‫‪‬غالبا تبرمج عن طريق المصنع‬
‫‪‬تعرف بأنها ‪One Time Programmable, OTP‬‬
‫‪‬رخيصة الثمن‬
‫‪‬تستخدم فى حالة المنتجات الكبيرة ‪Mass Production‬‬

‫‪41‬‬
‫‪Adawy‬‬
‫‪ -2‬ذاكرة قراءة فقط قابلة للبرمجة‬
‫‪Programmable ROM, PROM‬‬

‫‪‬تبرمج لمرة واحدة ‪ OTP‬مثل النوع السابق‬


‫‪‬يمكن برمجتها عن طريق المستخدم ألن بتاتها تكون عبارة عن فيوزات يتم حرقها بتمرير‬
‫تيار كهربى باستخدام جهاز خاص‬
‫‪‬ال يمكن مسح محتوياتها‬

‫‪42‬‬
‫‪Adawy‬‬
‫‪ -3‬ذاكرة قراءة فقط قابلة للمسح وللبرمجة‬
‫‪Erasable Programmable ROM, EPROM‬‬
‫‪‬يمكن برمجتها عن طريق المستخدم ألن بتاتها تكون عبارة عن فيوزات يتم حرقها بتمرير تيار‬
‫كهربى باستخدام جهاز خاص‬
‫‪‬يمكن مسح محتوياتها بتعريضها ألشعة فوق بنفسجية لمدة حوالى ‪ 20‬دقيقة من خالل نافذة‬
‫زجاجية‬
‫‪‬البد أن تنزع من مكانها حتى يتم مسحها أو برمجتها ‪.‬‬
‫‪‬ال يمكن تعديل محتوياتها ولكن فقط يتم مسحها وإعادة برمجتها‬

‫‪43‬‬
‫‪Adawy‬‬
‫‪ -4‬ذاكرة قراءة فقط قابلة للمسح وللبرمجة كهربيا‬
‫‪Electrically Erasable Programmable ROM, EEPROM‬‬
‫‪‬يمكن برمجتها عن طريق المستخدم ألن بتاتها تكون عبارة عن فيوزات يتم حرقها بتمرير‬
‫تيار كهربى باستخدام جهاز خاص‬
‫‪‬يمكن مسح محتوياتها بتمرير تيار كهربى أيضا‬
‫‪‬بتجهيزات معينة يمكن برمجتها وهى فى نفس مكانها فى التطبيق ‪.‬‬
‫‪‬يمكن تعديل محتوياتها دون الحاجة لمسح محتوياتها كلها ‪.‬‬

‫‪44‬‬
‫‪Adawy‬‬
‫‪ -5‬الذاكرة اللحظية ‪Flash Memory‬‬

‫‪‬يمكن برمجتها عن طريق المستخدم ألن بتاتها تكون عبارة عن فيوزات يتم حرقها بتمرير تيار‬
‫كهربى باستخدام جهاز خاص أسرع بكثير من النوع السابق‬
‫‪‬يمكن مسح محتوياتها بتمرير تيار كهربى أيضا بسرعة مسح أكبر بكثير‬
‫‪‬بتجهيزات معينة يمكن برمجتها وهى فى نفس مكانها فى التطبيق ‪.‬‬
‫‪‬يمكن تعديل محتوياتها دون الحاجة لمسح محتوياتها كلها ‪.‬‬
‫‪ ‬كثر استخدامها هذه األيام وقريبا ستحل محل السواقة الصلبة فى أجهزة الحاسب‬
‫‪45‬‬
‫‪Adawy‬‬
‫‪ -6‬ذاكرة القراءة والكتابة‬
‫‪Read/Write Memory, RAM‬‬

‫‪ ‬يمكن التسجيل فيها ومسحها‬


‫تفقد محتوياتها بانقطاع القدرة ‪Volatile‬‬ ‫‪‬‬
‫منها الذاكرة االستاتيكية ‪ Static RAM, SRAM‬حيث وحدة التخزين فيها هى القالب‬ ‫‪‬‬
‫‪Flip flop‬‬
‫منها أيضا الذاكرة الديناميكية ‪ Dynamic RAM, DRAM‬حيث وحدة التخزين فيها هى‬ ‫‪‬‬
‫المكثف ‪.‬‬
‫‪46‬‬
‫‪Adawy‬‬
‫‪ -7‬ذاكرة القراءة والكتابة التى ال تفقد محتوياتها‬
‫‪Nonvolatile Read/Write Memory, NVRAM‬‬

‫‪ ‬نوع خاص جدا من الذاكرة االستاتيكية ‪ SRAM‬المصنعة بتكنولوجيا خاصة تستهلك القدرة‬
‫بكفاءة عالية جدا ‪.‬‬
‫تزود ببطارية للحفاظ على محتوياتها فى حالة انقطاع القدرة ‪.‬‬ ‫‪‬‬
‫مزودة بدوائر خاصة تجعلها تستهلك القدرة من المصدر الخارجى فى حالة وجوده وفى حالة‬ ‫‪‬‬
‫عدم وجود المصدر الخارجى تنتقل إلى البطارية ‪.‬‬
‫بعضها مزود ببطارية تكفى لمدة عشر سنوات ‪.‬‬ ‫‪‬‬ ‫‪47‬‬
‫‪Adawy‬‬
embedded system ‫خطوات تصميم نظام خفى‬
User needs
1 Requirements Analysis

2 Specification

3 System Architecture

4 HW Design 4 SW Design

5 HW Implementation 5 SW Implementation

6 HW Testing 6 SW Testing

7 System Integration
48
8 System Validation Adawy
‫كيف تختار المعالج الذى‬
‫ستستخدمه فى النظام الخفى‬
‫!! المراد تصميه‬

‫عوامل كثيرة ومهمة تؤثر فى اختيارك لهذا المعالج‬

‫‪49‬‬
‫‪Adawy‬‬
‫عدد خطوط إدخال وإخراج البيانات ‪1-‬‬

‫‪‬هذا العدد يعتمد أوال وأخيرا على التطبيق المستخدم ولكن عامة فى حالة المتحكمات يكون هذا‬
‫العدد محدودا ‪ ،‬ولكن باستخدام المعالجات يمكن الحصول على أعداد كبيرة جدا من هذه الخطوط ‪.‬‬
‫‪‬المتحكم ‪ 8051‬به ‪ 32‬خط يمكن أن تنقص إلى حوالى ‪ 12‬فى حالة توصيل ذاكرة خارجية ‪.‬‬
‫‪‬المتحكم ‪ Pic16F84‬به ‪ 13‬خط مقسمة على بوابتين‬
‫‪‬المعالج ‪ Z80‬او ‪ 8085‬يمكن الحصول منهم على ‪ 256‬بوابة إدخال و‪ 256‬بوابة إخراج كل منها‬
‫‪ 8‬بت‬
‫‪‬فما بالك بالمعالج ‪ 8086‬الذى يصل معه هذا العدد من البوابات إلى ‪ 64‬كيلو من هذه البوابات ‪.‬‬
‫‪50‬‬
‫‪Adawy‬‬
‫‪ -2‬هل البيانات التى ستتعامل معها متوازية أم متتالية‬

‫‪ ‬جميع المعالجات والمتحكمات يمكن التعامل معها من خالل البيانات المتوازية ‪ ،‬ولكن ليس كلها‬
‫يمكن التعامل معه من خالل بيانات متتالية ‪.‬‬
‫‪‬المعالج ‪ z80‬ال يتعامل مع البيانات المتتالية ‪ ،‬بينما المعالج ‪ 8085‬يمكنه ذلك ‪.‬‬
‫‪‬المتحكم ‪ 8051‬يمكنه التعامل مع البيانات المتتالية بينما المتحكم ‪ pic16f84‬ال يمكنه ذلك ‪.‬‬
‫‪‬أحيانا تكون هناك متطلبات خاصة فى البيانات المخرجة من المعالج مثل اإلشارات التى تكون‬
‫نبضات معدلة الزمن ‪ . Pulse Width Modulated‬هناك بعض المتحكمات التى توفر مثل هذه‬
‫اإلشارات مباشرة دون جهد برمجة كبير مثل المتحكم ‪ AT8515‬ومعظم متحكمات ‪. AVR‬‬

‫‪51‬‬
‫‪Adawy‬‬
‫‪ -3‬كمية الذاكرة المطلوبة للنظام‬

‫‪‬يجب أن تختار معالج بكمية ذاكرة كافية للتطبيق المقترح من حيث الكمية والكيفية‬
‫‪ ‬اختيار معالجات بكميات كبيرة غير مستخدمة يعتبر اهدارا للممصروفات فى موقف يجب فيه تقليل‬
‫التكلفة بقدر اإلمكان‬
‫‪ ‬اختيارك لكمية ذاكرة تساوى تماما للكمية المطلوبة قد يضعك فى مأزق عند البرمجة مما يضطرك‬
‫لتغيير المعالج‬
‫‪‬كمية ال ‪ RAM‬تتوقف على كمية المتغيرات التى يتعامل معها البرنامج زائد المكدسة ‪ stack‬فى‬
‫حالة استخدام برامج فرعية أو مقاطعة ‪ .‬فى العادة تكون هذه الكمية قليلة فى حدود الواحد كيلو بايت‬
‫‪‬فى العادة تحتاج معظم التطبيقات لكميات أكبر من ال ‪ ROM‬التى تكفى للبرنامج باإلضافة إلى‬
‫جداول البحث ‪ Look up tables‬فى حالة الحاجة لذلك‬
‫‪52‬‬
‫‪‬إذا كان التطبيق المقترح سيستخدم حوالى ‪ %80‬من الذاكرة الملحقة بالمعالج ‪ ،‬فهذا المعالج غير مناسب‬
‫‪Adawy‬‬
‫‪ -4‬طريقة كتابة البرنامج‬

‫‪‬البرنامج يمكن كتابته بلغة التجميع ‪ assembly language‬وهذه الطريقة تستهلك أقل كمية من‬
‫ذاكرة البرمجة ‪.‬‬
‫‪‬كما يمكن كتابة البرناج بأحد اللغات عالية المستوى مثل لغة ‪ C‬و ‪ BASIC‬ولكن هذه الطريقة‬
‫تستهلك كمية كبيرة من الذاكرة عند عملية تحويل البرنامج من هذه اللغة إلى لغة التجميع أو لغة اآللة‬
‫الخاصة بالمعالج المستخدم‬
‫‪ -5‬عدد خطوط المقاطعة‬

‫‪‬كلما أمكنك االستغناء عن المقاطعة ‪ ،‬كلما كان ذلك أفضل من حيث مشاكل البرمجة واستخراج‬
‫أخطائها ‪.‬‬
‫‪ ‬إذا كنت تحتاج الستخدام المقاطعة فهل المعالج المقترح يوفر لك ذلك أم ال ‪ ،‬وهل عدد هذه الخطوط‬
‫‪53‬‬
‫كافى أم ال ؟‬
‫‪Adawy‬‬
‫‪ -6‬المعالجة فى الزمن الحقيقى ‪Real time processing‬‬

‫‪ ‬هناك الكثير من التطبيقات تتطلب العمل فى الزمن الحقيقى وهذا يضع حدا لسرعة المعالج الذى‬
‫سيتم اختياره‬
‫‪ ‬زمن قراءة عينة ‪ +‬زمن معالجة هذه العينة ‪ +‬إخراج قرار على ضوء هذه المعالجة ‪ ،‬هذه األزمنة‬
‫البد أن تكون أقل من معدل التغير فى اشارة الدخل حتى نضمن أن النظام سيعمل فى الزمن الحقيقى‬
‫‪‬الحظ أن دورة الماكينة ‪ machine cycle‬فى الغالب تكون هى وحدة التعبير عن أنشطة‬
‫المعالجات بدال من دورة الساعة ‪ . clock cycle‬دورة اآللة فى المتحكم ‪ 8051‬تتكون من ‪ 12‬نبضة‬
‫ساعة ‪ ،‬بينما فى ال ‪ pic‬فتكون ‪ 4‬نبضات‬
‫‪‬فى المتحكم ‪ 8051‬ألكثير من األوامر تنفذ فى أكثر من دورة آلة ‪ ،‬بينما فى المتحكمات ‪ pic‬فإن كل‬
‫األوامر تنفذ فى دورة أمر واحدة‬
‫‪54‬‬
‫‪Adawy‬‬

You might also like