Professional Documents
Culture Documents
Microcontrollers والمتحكمات
“Embedded Systems ”األنظمة الخفية
1
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
5
Adawy
Evolution of CPUs
6
Adawy
ما هو المعالج الدقيق ؟
الذاكرة
010101011
010111001
010001111
المعالج Program
0110100
1110011 8
Adawy
ماذا يستطيع المعالج وحده أن يفعل ؟
!ال شىء
9
Adawy
MICROCOMPUTER
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
التطبيقات
فى الميكروكومبيوتر هناك بجانب المعالج األساسى cpuهناك نظام خفى فى لوحة
المفاتيح ،وفى كارت الشاشة ،وفى الطابعة وفى كل جهاز يتقابل مع الحاسب.
فى األجهزة المنزلية (غسالة المالبس ،وغسالة األطباق ،وفرن الميكرويف ،وغيرها)
فى السيارة (التحكم فى خلط الهواء بالبنزين ،األمان ،واإلنذارات ،وغيرها) ،تحتوى
السيارة المتوسطة على حوالى 15متحكم ،المرسيدس 1999بها 63متحكم ،وال
BMW 1999بها 65متحكم .
فى لعب األطفال
ولقد بدأ المتحكم يغزوالجسم البشرى من خالل منظم ضربات القلب pacemakerالذى 15
يعتبر المتحكم الجزء األساسى فيه . Adawy
الميكروكومبيوتر نظام خفى ولكنه يختلف عن باقى
األنظمة الخفية :
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
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
?
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
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
لغة اآللة
HEX
Compiler Assembler Loader
39
Adawy
مجموعة األوامر INSTRUCTION SET
41
Adawy
-2ذاكرة قراءة فقط قابلة للبرمجة
Programmable ROM, PROM
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
نوع خاص جدا من الذاكرة االستاتيكية 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