Ch3 Spring99
Ch3 Spring99
فصل سوم
ميكروكنترلرها و سيستمهاي تعبيهشده
محمدعلي شفيعيان
http://shafieian-education.ir
1
2
1
4/24/2020
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
3
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
عيب
ﻓقﻂ در سيستم هايي ﺑا توﻟيد ﺑاﻻ مانﻨد • هزيﻨه اوﻟيه طراحي مهﻨدسي ﺑاﻻ
ﮔوشي هاي تلفن همراه يا كارﺑردهاي
نظامي كه كارآيي و قاﺑليﺖ اطميﻨان
• طي نمودن پروسه زمان ﺑر و پرهزيﻨه
اهميﺖ دارد ،استفاده مي شود. طراحي تراشه در زمان ارتقاي سيستم
4
2
4/24/2020
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
عيب
• ﺑه دﻟيل تعداد اﻟمان هاي زياد مورد استفاده ،اﺑعاد و صرف توان سيستم ﺑسيار
امروزه ﺑه ندرت از اين روش استفاده مي شود اﻓزايش مي ياﺑد
5
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
مزايا
6
3
4/24/2020
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
• اﺑعاد ﺑزرگ و مصرف توان ﺑاﻻي سيستم ﺑاعﺚ مي شود كه در ﺑسياري از
سيستم هاي كم مصرف و قاﺑل حمل نتوان از اين روش استفاده كرد.
• سيستم عامل هاي معمول مانﻨد ويﻨدوز قاﺑليﺖ اطميﻨان ﺑاﻻيي ندارند و
نمي توان در كارﺑردهاي حساس از آن ها استفاده كرد.
• ﺑه صورت ﺑﻼدرنگ ) (Real Timeعمل نمي كﻨﻨد كه همين امر ،كارﺑرد آنها را
محدود مي كﻨد.
7
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
كمتر ﺑه عﻨوان كﻨترل كﻨﻨده اصلي • مصرف توان تراشه هاي FPGAﺑيش از
سيستم در ادوات تعبيه شده
استفاده مي شوند. ميكروكﻨترﻟرها اسﺖ
8
4
4/24/2020
روش هاي پياده سازي سخت افزار در سيستم هاي تعبيه شده
9
ميكروپروسسورها
• نﺨستين ميكروپروسسور در سال ١٩٧٤توسﻂ شركﺖ Intelﺑه ﺑازار عرضه
شد.
٨ﺑيتي ١٦ﺑيتي ٣٢ﺑيتي ٣٢ﺑيتي ٦٤ﺑيتي
افزايش سرعت
10
5
4/24/2020
معماري ميكروپروسسورها
Address Bus
Program Counter
ALU Register
Instruction Decoder
Data Bus
11
معماري ميكروپروسسورها
• در حاﻟﺖ كلي ،پردازنده ها داراي ادوات داخلي يا ادوات ورودي ـ خروجي
نمي ﺑاشﻨد و از ﮔذرﮔاه هاي داده و آدرس ﺑراي ارتباط ﺑا اجزاي جانبي
استفاده مي كﻨﻨد.
12
6
4/24/2020
Program
Data Bus Memory
Processor
Data
Address Bus Memory
13
عيب
14
7
4/24/2020
Unused
0x F000 0000
I/O Ports
ADC
Peripherals
CAN
0x FFFF FFFF
15
Harvard معماري
.ﮔذرﮔاه آدرس و داده ﺑراي دسترسي ﺑه حاﻓظه كد و حاﻓظه داده جدا اسﺖ
16
8
4/24/2020
معماري Harvard
مزايا
17
18
9
4/24/2020
CISC RISC
Complex Instruction Set Reduced Instruction Set
Computer Computer
19
20
10
4/24/2020
21
22
11
4/24/2020
23
ميكروكنترلرها
• ﺑا اﻓزودن حاﻓظه و ادوات I/Oﺑه ميكروپروسسورها و قرار
دادن آنها در يك تراشه ،ميكروكﻨترﻟرها ﺑه وجود
مي آيﻨد.
• عملكرد آنها مشاﺑه ﺑا كامپيوترهاي شﺨصي و ادوات جانبي
در مقياس كوچكتر مي ﺑاشد.
• ﺑه دﻟيل ﺑرخورداري از كليه ﺑﺨش هاي مورد نياز ،استفاده
از آنها در سيستم هاي تعبيه شده ﺑسيار رايج اسﺖ.
24
12
4/24/2020
ميكرو كنترلرها
• ﺑلوك هايي كه معموﻻً در ميكروكﻨترﻟرها مورد استفاده قرار
مي ﮔيرند:
– مبدل ADC
– پورت سريال
تايمر )(Timer –
موﻟد PWM –
پورت هاي موازي –
كﻨترل كﻨﻨده وقفه –
– Watch dog Timer
25
26
13
4/24/2020
27
28
14
4/24/2020
29
Address Bus
CPU Serial
General- I/O COM
RAM ROM Ports
Timer
Purpose Ports
Microprocessor
Data Bus
30
15
4/24/2020
I/O Serial
and Timer COM
ADC Port
31
ميكروكنترلر AVR
• معماري اوﻟيه AVRتوسﻂ دو دانشﺠوي مﺆسسه ﻓن آوري نروژ
) (NHTﺑه نام هاي Alf Egil Bogenو Vegard Wallanطراحي و
سپس در سال ١٩٩٦توسﻂ شركﺖ ايﻨتل خريداري و توﻟيد شد.
• معﻨاي كلمه AVRﺑر كسي معلوم نيسﺖ .شركﺖ Atmelمي ﮔويد كه
كلمه AVRچيزي غير از نام يك محصول نيسﺖ.
• اﻟبته ﺑرخي ﺑر اين ﺑاور هستﻨد كه كلمه AVRمﺨفﻒ عبارت
Advanced Virtual RISCيا Alf, Vegard, RISCاسﺖ.
32
16
4/24/2020
ميكروكنترلر AVR
• انواع مﺨتلفي از AVRﺑا ويژﮔي هاي متفاوت وجود دارد.
• داده هاي ﺑزرﮔتر از ٨ﺑيﺖ ﺑه ﺑﺨش هاي ٨ﺑيتي تقسيم شده و ﺑه وسيله
CPUپردازش مي شوند.
33
34
17
4/24/2020
35
MCU
36
18
4/24/2020
واحد MCU
حاﻓظه FLASH
حاﻓظه داده حاﻓظه داده
يا
SRAM EEPROM
حاﻓظه ﺑرنامه
واحد
Data Bus ﮔذرﮔاه داده
CPU
37
38
19
4/24/2020
39
YH YL
R29 R28 ﺛبات Y
ZH ZL
R31 R30 ﺛبات Z
40
20
4/24/2020
SRAMداده
41
٦٤ﺛبات I/O
• حاﻓظه داده
حاﻓظه داده داخلي SRAM
42
21
4/24/2020
حافظه داده
R0 0000 H
0000 H
R1 0001 H
٣٢ﺑايﺖ
رجيستر عمومي
085F H
43
حافظه داده
سازمان دهي حاﻓظه ﺑدون
0000 H
رجيسترهاي I/Oتوسعه ياﻓته
٣٢ﺑايﺖ )در ﺑرخي ميكروكﻨترﻟرها(
رجيستر عمومي
001F H
٦٤ﺑايﺖ
رجيستر I/O
اين قسمﺖ ،مرﺑوط ﺑه ﺑرخي ميكروكﻨترﻟرها
005F H
١٦٠ﺑايﺖ نظير ATMEGA64و ATMEGA162مي ﺑاشد
رجيستر I/O كه ﺑه دﻟيل نياز ﺑه ﺑيش از ٦٤رجيستر I/Oﺑه
توسعه ياﻓته آن اضاﻓه شده اسﺖ و اندازه كل رجيسترهاي
00FF H
I/Oﺑه ٢٢٤رجيستر اﻓزايش ياﻓته اسﺖ.
حاﻓظه داده
داخلي SRAM
44
22
4/24/2020
45
46
23
4/24/2020
47
48
24
4/24/2020
49
50
25
4/24/2020
51
ALU
R30
R31
ﺛبات هاي عمومي حاﻓظه داده SRAM
52
26
4/24/2020
ﺛبات هاي عمومي SRAM ﺛبات هاي I/O حاﻓظه داده شماره قطعه
)ﺑايﺖ( + )ﺑايﺖ( + )ﺑايﺖ( =
53
54
27
4/24/2020
55
56
28
4/24/2020
57
0000 H
حاﻓظه ﺑرنامه
ﺑا استفاده از ﻓيوز ﺑيﺖ هاي
كارﺑردي
BOOTSZ1و BOOTSZ2
مي توان اندازه حاﻓظه BOOT
3BFF H
را مشﺨص نمود.
حاﻓظه ﺑرنامه
BOOT
3FFF H
58
29
4/24/2020
59
ثبات وضعيت
• ﺛبات وضعيﺖ ) (SREGيك ﺛبات ٨ﺑيتي اسﺖ كه ﺑه ﺛبات پرچم
نيز معروف اسﺖ.
• ﺑيﺖ هاي اين ﺛبات تحﺖ تأﺛير ﺑرخي عمليات ) CPUرياضي و
مﻨطقي( ﻓعال مي شوند ﺑدين معﻨا كه ﺑرخي از شرايطي كه پس از
اجراي يك دستور ﺑه وجود مي آيﻨد را نشان مي دهﻨد.
Bit 7 6 5 4 3 2 1 0
I T H S V N Z C SREG
60
30
4/24/2020
ثبات وضعيت
I T H S V N Z C SREG
• پرچم نقلي ) :(Cاين پرچم هﻨگام خارج شدن رقم نقلي از ﺑيﺖ هفتم،
يك مي شود .اين پرچم ﺑين انﺠام عمل محاسباتي و مﻨطقي تأﺛير
مي پذيرد.
• پرچم صفر ) :(Zاين پرچم ،هﻨگام صفر شدن عمليات محاسباتي يا
مﻨطقي ،يك خواهد شد.
• پرچم مﻨفي ) :(Nاين پرچم ،هﻨگام مﻨفي شدن عمليات محاسباتي يا
مﻨطقي ،يك خواهد شد.
• پرچم سرريز ) :(Vاين پرچم هﻨگامي كه نتيﺠه عمليات عﻼمﺖ دار،
ﺑزرﮔتر از ٨ﺑاشد ،يك مي شود .يك شدن اين ﺑيﺖ ﺑيانگر اين اسﺖ كه
نتيﺠه محاسباتي صحيﺢ نيسﺖ.
61
ثبات وضعيت
I T H S V N Z C SREG
• پرچم عﻼمﺖ ) :(Sاين پرچم همواره نتيﺠه XORﺑين پرچم هاي Vو N
مي ﺑاشد.
• پرچم نيم نقلي )نقلي كمكي( ) :(Hاﮔر هﻨگام عمليات جمﻊ ،يك انتقال از ﺑيﺖ
٣ﺑه ٤در يكي از ﺛبات هاي عمومي يا نتيﺠه نيم ﺑايﺖ پايين )ﺑيﺖ هاي ٠تا
(٣ﺑزرﮔتر از ٩ﺑاشد ،پرچم Hيك خواهد شد و ﺑراي محاسبه ﺑه صورت
BCDمفيد اسﺖ.
• پرچم موقﺖ ) :(Tهﻨگام استفاده از دستورهاي اسمبلي كپي كردن ﺑيﺖ ها ،از
اين ﺑيﺖ ﺑه عﻨوان مبدأ يا مقصد استفاده مي شود.
• پرچم ﻓعال ساز وقفه سراسري ) :(Iدر صورت يك كردن اين ﺑيﺖ ،وقفه
سراسري ﻓعال مي شود .اﮔر اين ﺑيﺖ صفر ﺑاشد ،هيچ وقفه اي رخ نمي دهد.
62
31
4/24/2020
پورت I/O
• پورت ها امكان دسترسي ميكروكﻨترﻟر ﺑا دنياي خارج را ﻓراهم مي كﻨﻨد.
• يك ميكروكﻨترﻟر ﺑه كمك پورت هاي I/Oمي تواند داده هاي مﺨتلفي را از
دنياي خارج درياﻓﺖ يا ﺑه دنياي خارج ارسال نمايد.
• در ميكروكﻨترﻟرهاي AVRﺑا توجه ﺑه نوع ميكروكﻨترﻟر ،تعداد پورت ها
متفاوت مي ﺑاشد.
63
64
32
4/24/2020
65
66
33
4/24/2020
67
68
34
4/24/2020
69
در اين مثال ،پايه هاي ٠و ١و ٢و ٦از پورت Aﺑه صورت خروجي و پايه هاي ٣
و ٤و ٥و ٧ﺑه صورت ورودي تعريﻒ مي شود.
70
35
4/24/2020
71
• رجيستر SFIOR
Bit 7 6 5 4 3 2 1 0
ADTS2 ADTS1 ADTS0 - ACME PUD PSR2 PSR10 SFIOR
72
36
4/24/2020
0 1
DDRx.n
PORTx.n
0 ورودي و امپدانس ﺑاﻻ خروجي ﺑا مقدار صفر
1 ورودي ﺑا ﻓعال ﺑودن ١ خروجي ﺑا مقدار
مقاومﺖ ﺑاﻻكش
73
74
37
4/24/2020
75
PORTB = C9 H 1 1 0 0 1 0 0 1
در اين مثال ،پايه هاي ٠و ١و ٢و ٦از پورت Bﺑه صورت خروجي و ﺑقيه پايه مطاﺑق جدول •
زير ﺑه صورت ورودي تعريﻒ مي شود :
76
38
4/24/2020
PORTx.n
داخل تراشه
ميكرو دنياي خارج از
ميكرو
77
DDRx.n=0
PINx.y Data
داخل تراشه
ميكرو دنياي خارج از
ميكرو
78
39
4/24/2020
79
80
40
4/24/2020
81
دياﮔرام بلوكي
AVR
Atmega32
82
41
4/24/2020
Atmega32
83
84
42
4/24/2020
http://shafieian-education.ir
85
43