introduction to microprocessors · 2018-01-05 ·...
TRANSCRIPT
Supayotin na [email protected]
Introduction to Microprocessors
วตถประสงค
•สถาปตยกรรมภายในไมโครโพรเซสเซอร
• โครงสรางของบส
• เทคโนโลยของไมโครโปรเซสเซอรรนตางๆ
•หลกการการเขยนโปรแกรม
•หลกการออกแบบระบบไมโครคอนโทรลเลอรและการเขยนโปรแกรมควบคม
•หลกการอนเตอรเฟสเบองตนกบฮารดแวรตาง ๆ
ไมโครโปรเซสเซอรคออะไร
• ไมโครโปรเซสเซอรหรอหนวยประมวลผลกลาง (Central Processing Unit: CPU) เปรยบเสมอนสมองควบคมการทางานของคอมพวเตอรทกเครองรวมถงอปกรณอเลกทรอนกสอกหลายชนดเชน
โทรศพทมอถอ, โทรทศน, เครองปรบอากาศ เปนตน
•ดงนนเพอทาความเขาใจจนถงขนสามารถออกแบบสวนควบคมการทางานของอปกรณเหลานน จงจาเปนตองศกษาการทางานและการออกแบบระบบ
ไมโครโปรเซสเซอรใหเขาใจอยางถองแท
โครงสรางของระบบไมโครคอมพวเตอร
D0…Dd-1
Memory PeripheralDevice
DecoderResetCircuit
A0…Aa-1
Reset
D0…Dd-1
A0…Aa-1
CPU
RDWR
Oscillator
Chip Enable Signal
www.kmitl.ac.th/~klthurds
โครงสรางของระบบไมโครคอมพวเตอร
หนวยประมวลผลกลาง (CPU) หรอไมโครโปรเซสเซอร
• เปนหวใจของระบบไมโครโปรเซสเซอร หนาทของ CPU มดงนสงสญญาณควบคมการทางานของระบบไมโครโปรเซสเซอรทงหมด
ทางานตามคาสงทเขยนไวในโปรแกรม
ประมวลผลทางคณตศาสตร และตรรกศาสตร
รบสงขอมลระหวาง CPU กบหนวยความจาและอปกรณตอพวง
โครงสรางของ CPU
INST REG
DECODER
CONTROLLER
SEQUENCER
ACCTMP
MUX
+1 PC
DPTR
SP
+
FLAG
ALU
R0
…
R7
BUF
BUF
BUF
โครงสรางของระบบไมโครคอมพวเตอร
หนวยประมวลผลกลาง (CPU)• โครงสรางของ CPU ประกอบดวย
Arithmetic Logic Unit (ALU) เปนวงจรดจตอลททาหนาคานวณทางคณตศาสตร (+-*/) และตรรกศาสตร (AND, OR, XOR, SHIFT, ROTATE)เนองจากขอมลทอยใน Data Bus มการเปลยนแปลงตลอดเวลาในระหวางท
ALU กาลงคานวณ ดงนนขอมลทใชในการคานวณจะตองถกพกไวท Accumulator และ Temporary Register กอนเสมอ เพอไมใหผลการคานวณผดพลาดได
โครงสรางของระบบไมโครคอมพวเตอร
ผลลพธของการคานวณจะถกนาไปเกบไวท Accumulatorสถานะของการคานวณเชน ผลลพธเทากบ 0 หรอ เกด Overflow จะถกเกบไว
ใน Flag RegisterRegister ใชงานทวไป ทาหนาทคลายกบหนวยความจาภายนอก
เนองจาก Register ทางานเรวกวาแตมจานวนนอยกวาหนวยความจาภายนอก จงนยมใช Register เปนทพกขอมลชวคราวระหวางท CPU กาลงทางานหรอคานวณ เพอใหโปรแกมทางานไดเรวขน
โครงสรางของระบบไมโครคอมพวเตอร
Register พเศษ มอยหลายตวดวยกน เชนAccumulator เปนทพกขอมลชวคราวระหวางท ALU กาลงคานวณ และใช
เปนทเกบผลลพธของการคานวณ
Flag หรอ Status Register ใชเกบสถานะของผลลพธ เชนผลลพธเปน 0หรอเกด Overflow เปนตน
Program Counter (PC) ทาหนาทเกบ Address ของคาสงถดไปทCPU จะตองดง (Fetch) มาทางาน
Stack Pointer (SP) ใชเกบ Address ของขอมลตวสดทายทเกบอยใน Stack Memory
โครงสรางของระบบไมโครคอมพวเตอร
Data Pointer ใชเกบ Address เรมตนของขอมลทมการใชแบบ ArrayControl Unit (CU) ทาหนาทในการควบคมการทางานทงหมดของ
CPU ภายในประกอบดวยInstruction Register ใชเปนทพกชวคราวของ Machine Code ทถก
ดงมาจาก Program Memory กอนสงไปใหวงจร Decoder ของ Control UnitDecoder ทาหนาทถอดรหส Machine Code ทเกบอยใน Instruction
Register ใหเปนคาสงท CPU สามารถทางานได
Controller Sequencer เปนวงจรททาหนาทควบคมการทางานของ CPU ใหเปนไปตามคาสงทถกถอดรหสได
โครงสรางของระบบไมโครคอมพวเตอร
Internal Bus ทาหนาทในการรบสงสญญาณตางๆทอยภายใน CPU แบงออกเปนData Bus เปนบสแบบ 2 ทศทาง ใชในการรบสงขอมลระหวางหนวยความจา
ภายนอกกบ CPU หรอระหวาง Register กบ Register ขนาดของ Data Bus เปนตวกาหนดขนาดของ Register และขนาดสงสดของขอมลท CPU สามารถทางานไดในแตละครง หรอเรยกวา Word SizeAddress Bus เปนบสแบบทางเดยว ใชในการสง Address ของ Data
หรอ Program Memory ท CPU ตองการตดตอ ขนาดของ Address Bus เปนตวกาหนดขนาดสงสดของหนวยความจาท CPU สามารถใชงานได เชน CPU ทม Address Bus ขนาด 32 bit สามารถอางหนวยความจาไดสงสด 4 GB เปนตน
โครงสรางของระบบไมโครคอมพวเตอร
Internal Bus ทาหนาทในการรบสงสญญาณตางๆทอยภายใน CPU แบงออกเปนControl Bus เปนบสทใชในการรบหรอสงสญญาณควบคมเชนสญญาณ
Read/Write ของ CPU ไปใหกบอปกรณภายนอกเชน หนวยความจา, วงจร Decoder หรออปกรณตอพวงตางๆ
โครงสรางของระบบไมโครคอมพวเตอร
•ขนตอนการทางานของ CPU แบงออกเปน 3 ขนตอนคอ Fetch, Decode, ExecuteFetch : เปนการดง Machine Code (คาสงทเกบในรปเลขฐาน
2) ทเกบใน Program Memory มาพกไวท Instruction Registerทกครงท CPU ไดรบสญญาณ Reset มาจากวงจร Reset คาทเกบอยใน PC
จะถกรเซทเปน 0000H เสมอAddress ทเกบไวใน PC จะถกสงผาน Address Bus ไปยง Program
Memory พรอมกบสญญาณ Control เชน Read และ Output Enable เปนตน
โครงสรางของระบบไมโครคอมพวเตอร
คา Address ทเกบไวใน PC จะเพมขน 1 เพอชไปยง Address ของคาสงถดไป
Program Memory จะสง Machine Code ทเกบไวใน Address ทตองการกลบไปให CPU แลวจงนาไปเกบไวใน Instruction Register
Decode : วงจร Decoder ของ CU จะทาการถอดรหส Machine Code ใหเปนคาสงท CPU สามารถเขาใจได
Execute : CU จะควบคมการทางานของ CPU ใหเปนไปตามคาสงทถกถอดรหสได จากนน CPU จะเกบผลลพธของคาสงนนไวใน Accumulator และเกบสถานะของผลลพธไวใน Flag Register
โครงสรางของระบบไมโครคอมพวเตอร
หนวยประมวลผลกลาง (CPU)• เราสามารถแบงชนดของ CPU ตามสถาปตยกรรมของ CPU หรอแบง
ตามทฤษฎทใชในการออกแบบ CPUSingle Instruction Single Data Stream (SISD) เปนการ
ออกแบบ CPU ใหสามารถทางานไดครงละ 1 คาสงและคาสงแตละคาสงสามารถคานวณขอมลไดเพยง 1 ชด เปนสถาปตยกรรมแบบทงายทสด ไมโครคอนโทรลเลอรทวไปเชน MCS51, PIC จะออกแบบ CPU แบบ SISD
โครงสรางของระบบไมโครคอมพวเตอร
Multiple Instruction Single Data Stream (MISD) เปนการออกแบบใหในการทางานแตละครง CPU สามารถใชหลายๆคาสงสามารถคานวณขอมลเพยงชดเดยว CPU แบบนไมเปนทนยมใชกนSingle Instruction Multiple Data Stream (SIMD) เปน
การออกแบบ CPU ใหสามารถทางานไดครงละ 1 คาสง โดยทแตละคาสงสามารถคานวณขอมลไดหลายๆชดพรอมกน เหมาะสาหรบงานทตองการการคานวณทางคณตศาสตรจานวนมากเชนการประมวลผลภาพCPU แบบ SIMD คอ Pentium III, Pentium 4, Core 2 Duo, Core i3, i5, i7 เปนตน
โครงสรางของระบบไมโครคอมพวเตอร
• Multiple Instruction Multiple Data Stream (MIMD) เปนการออกแบบ CPU ใหสามารถทางานไดครงละหลายคาสง โดยแตละคาสงจะคานวณขอมลคนละชด แยกออกจากกน CPU แบบนกาลงเปนทนยมมากในปจจบน เนองจากสามารถประมวลผลขอมลจานวนมากไดอยางรวดเรว และมความยดหยนสงกวา CPU แบบอนๆ
โครงสรางของระบบไมโครคอมพวเตอร
•Complex Instruction Set Computing (CISC) เปนการออกแบบ CPU ใหมคาสง Assembly ใหเลอกใชจานวนมาก และคาสงแตละคาสงจะมการทางานทซบซอน
ขอดเขยนโปรแกรมไดงาย และโปรแกรมมขนาดเลก เนองจากมคาสงใหเลอกใชเยอะ
สามารถออกแบบ CPU รนใหมทเขากนไดกบ CPU รนเกา ทาใหสามารถนาเอาโปรแกรมทเคยเขยนไว มาใชงานบน CPU รนใหมไดโดยไมตองเขยนโปรแกรมใหม
ขอเสยคาสงแตละคาสงใชเวลาในการทางานหลายรอบสญญาณนาฬกา
โครงสรางของระบบไมโครคอมพวเตอร
• Reduce Instruction Set Computing (RISC) เปนการออกแบบ CPU ใหวงจรดจตอลของคาสง Assembly แตละคาสงสามารถทางานเสรจภายใน 1 รอบสญญาณนาฬกา ขอดโปรแกรมสามารถทางานไดอยางรวดเรวเทยบกบ CPU ชนด CISC
ขอเสยเนองจากตองการออกแบบวงจรของคาสงใหทางานไดเรว ดงนนจงตองใชวงจรขนาดใหญ
ดงนน CPU ประเภทนจงมคาสงใหเลอกใชนอยเนองจากตองการออกแบบวงจรคาสงใหสามารถทางานเสรจภายใน 1 รอบสญญาณ
นาฬกา ดงนนจงไมสามารถออกแบบวงจรสาหรบคาสงทมการทางานหลายขนตอนได ยกตวอยางเชน การออกแบบวงจรสาหรบการคณ
โครงสรางของระบบไมโครคอมพวเตอร
ตวอยางเชน
var1 = var1*varถาเปน CPU แบบ RISC จะตองแบงคาสงคณออกเปน 3 ขนตอนคอ
1. reg1 = var1, reg2 = var2นาคา var1 และ var2 ทเกบไวในหนวยความจามาพกไวในรจสเตอร reg1 และ reg2 ภายใน CPU
2. reg1 = reg1*reg2คานวณคาของ reg1*reg2 และนาไปเกบไวใน reg1
3. var1 = reg1นาคาใน reg1 ไปเกบไวใน var1
โครงสรางของระบบไมโครคอมพวเตอร
โปรแกรมทเขยนสาหรบ CPU แบบ RISC จะมขนาดใหญกวาแบบ CISCCPU แบบ RISC เขยนโปรแกรมยากกวา CPU แบบ CISCการออกแบบ CPU รนใหมใหเขากนไดกบ CPU รนเกาทาไดยาก ดงนนใน
บางครง ถาตองการเปลยนไปใช CPU รนใหมจาเปนจะตองเขยนโปรแกรมใหมทงหมด
โครงสรางของระบบไมโครคอมพวเตอร
หนวยความจา (Memory)• ทาหนาทเกบโปรแกรมและขอมล
• หนวยความจาสามารถแบงออกไดเปนRead Only Memory (ROM) เปนหนวยความทอานไดเพยงอยางเดยว
ไมสามารถเขยนได (การเขยนขอมลลงใน ROM จะตองใชวงจรททาหนาทเฉพาะสาหรบเขยนขอมลลงใน ROM) แตโปรแกรมหรอขอมลทเกบไวใน ROM จะไมสญหายไปถาไมมไฟเลยงตออย เหมาะสาหรบใชเกบโปรแกรม หรอขอมลทไมตองการใหสญหายไปเมอปดไฟเลยงRandom Access Memory (RAM) เปนหนวยความจาทอานและ
เขยนได ขอเสยคอขอมลทเกบไวจะหายไปถาไมมไฟเลยงตออย เหมาะสาหรบเกบขอมลทถกประมวลผลโดยโปรแกรม
โครงสรางของระบบไมโครคอมพวเตอร
•ประเภทของ ROMROM สามารถแบงออกเปนชนดทสรางโดยเทคโนโลย Bipolar คอ
Mask ROM และ PROM และชนดทสรางโดยเทคโนโลย Mask ROM, PROM, EPROM, EEPROMROM เปนหนวยความจาทขอมลหรอโปรแกรมทเกบไวใน ROM จะถกเขยนมา
จากโรงงาน ไมสามารถเขยนเองได เหมาะสาหรบการผลตเปนจานวนมากๆ เนองจากราคาถก
โครงสรางของระบบไมโครคอมพวเตอร
PROM (Programmable ROM) เปนหนวยความจาทสามารถเขยนเองได โดยเซลลทใชเกบขอมลแตละบตจะมฟวสอย เซลลทยงมฟวสตออยจะมโลจกเปน 1 แตถาฟวสขาดไปจะมโลจกเปน 0PROM ทผลตมาจากโรงงานจะมโลจกเปน 1 ทกบต เราสามารถเขยนขอมล โดยการ
ปอนพลสแรงดนสงเขาไป เพอทาใหฟวสของเซลลทตองการใหมโลจกเปน 0 ขาด
PROM จะสามารถเขยนโปรแกรมไดเพยงครงเดยว ดงนนในบางครง เราจะเรยกวา One-Time Programmable Non-Volatile Memory
โครงสรางของระบบไมโครคอมพวเตอร
EPROM (Erasable Programmable ROM) ปรบปรงจาก PROM ใหสามารถลบขอมลทเกบไวไดEPROM จะมชองหนาตาง เมอตองการลบขอมลจะตองฉายแสง UV ความเขมสงผาน
ชองหนาตางน ซงจะทาใหเซลลทกเซลลมโลจกกลบไปเปน 1เมอเขยนโปรแกรมลงไปใน EPROM และตองการนา EPROM ไปใชงาน จะตองปด
ชองหนาตางไมใหแสงลอดผานเขาไปได
โครงสรางของระบบไมโครคอมพวเตอร
EEPROM (Electrically Erasable Programmable ROM) เปน PROM ทสามารถลบขอมลโดยใชพลสแรงดนสง จงใชงานงายกวา EPROMFlash Memory เปน EEPROM ชนดพเศษทสามารถเกบขอมลไดมากกวา
EEPROM สามารถลบและเขยนใหมไดเรวกวา และจานวนครงในการลบและเขยนใหมมมากกวา EEPROM
โครงสรางของระบบไมโครคอมพวเตอร
•ประเภทของ RAMStatic RAM (SRAM) เปน RAM โดยทแตละเซลลจะใช
PMOS 2 ตวและ NMOS 2 ตวมาตอกน เปน Latch ทใชเกบขอมลและ NMOS อก 2 ตวในการอานและเขยนขอมลขอดคอสามารถทางานไดรวดเรว และขอมลทเกบไวในแตละเซลลจะไมสญหายถา
ยงจายไฟเลยงให
ขอเสยคอ เนองจากแตละเซลลใช MOS ทงหมด 6 ตว ดงนนจงเปลองพนทและกนไฟมาก จงไมสามารถสราง SRAM ทมความจสงได
โครงสรางของระบบไมโครคอมพวเตอร
•ประเภทของ RAMStatic RAM (SRAM) เปน RAM โดยทแตละเซลลจะ
ใช PMOS 2 ตวและ NMOS 2 ตวมาตอกน เปน Latch ทใชเกบขอมลและ NMOS อก 2 ตวในการอานและเขยนขอมลขอดคอสามารถทางานไดรวดเรว และขอมลทเกบไวในแตละเซลลจะ
ไมสญหายถายงจายไฟเลยงให
ขอเสยคอ เนองจากแตละเซลลใช MOS ทงหมด 6 ตว ดงนนจงเปลองพนทและกนไฟมาก จงไมสามารถสราง SRAM ทมความจสงได
โครงสรางของระบบไมโครคอมพวเตอร
•ประเภทของ RAMDynamic RAM (DRAM) เปน RAM โดยทแตละ
เซลลจะใชตวเกบประจในการเกบขอมล และ NMOS 1ตวสาหรบอานและเขยนขอมล ดงนนเซลลจงมขนาด เลกกวา SRAMขอดคอสามารถสราง DRAM ทมความจสงได
ขอเสยคอ เนองจากใชตวเกบประจในการเกบขอมล ดงนนการเขยนขอมลจงทาไดชากวา SRAM และตวเกบประจมกระแสรวไหลทาใหมการคายประจอยตลอดเวลา ดงนนขอมลทเกบไวมการสญหายได จงตองมการ Refresh ขอมลตลอดเวลา
โครงสรางของระบบไมโครคอมพวเตอร
DRAM มอยหลายชนดคอFast Page Mode DRAM (FPM DRAM) เปน DRAM ทเกาทสดทยงคง
มขายอยในปจจบนExtended Data Output RAM (EDO RAM) พฒนามาจาก FRM
DRAM ใชในคอมพวเตอรทใช Pentium MMX และ Pentium ProSynchronous DRAM (SDRAM) เปนการพฒนาใหทางานไดเรวขน ใชใน
คอมพวเตอรทใช Pentium II และ Pentium IIIDouble Data Rate Synchronous DRAM (DDR SDRAM) พฒนา
จาก SDRAM ใหทางานไดเรวกวา 2 เทาRambus DRAM (RDRAM) เปน RAM ทแตกตางจาก RAM อนๆ สามารถ
ทางานไดอยางรวดเรว แตมราคาแพงและมการใชงานทซบซอน จงไมเปนทนยมเทากบ SDRAM และ DDR SDRAM
โครงสรางของระบบไมโครคอมพวเตอร
อปกรณตอพวง (Peripheral Device)• เปนอปกรณใดๆทตอกบระบบ
ไมโครโปรเซสเซอร เพอทาใหระบบไมโครโปรเซสเซอรทางานใหเกดประโยชน เชน เมาส,คยบอรด, จอ LCD, เซนเซอรวดอณหภม, มอเตอร, เครองจบเวลา เปนตน
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
•อปกรณตอพวงสามารถแบงออกเปนหลายชนดคอ
อปกรณตอพวงทางดาน Output หมายถงอปกรณทรบขอมลจาก CPU เพอไปทางานบางอยางเชน จอ LCD, เซอรโวมอเตอร และลาโพง
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
อปกรณตอพวงทางดาน Input หมายถงอปกรณทวดการทางานเชน Encoder ทใชวดความเรวหรอตาแหนงของมอเตอร หรอวดสภาพแวด เชนเซนเซอรวดอณหภม แลวนาขอมลทวดไดสงกลบไปให CPU เพอไปประมวลผล
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
อปกรณตอพวงบางตวไมสามารถเชอมตอกบระบบไมโครโปรเซสเซอรไดโดยตรง จาเปนตองมวงจรพเศษทใชเชอมตอระหวางอปกรณตอพวงกบระบบไมโครโปรเซสเซอร
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
เซนเซอรวดอณหภมแบบอนาลอก จะแปลงอณหภมเปนแรงดนอนาลอก แรงดนนไมสามารถปอนใหกบ CPU ไดโดยตรง ดงนนจงจาเปนตองมวงจรทแปลงสญญาณอนาลอกใหเปนสญญาณดจตอล (ADC) กอนสงใหกบ CPU
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
เซอรโวมอเตอรแบบ AC 3 เฟส ตองการแรงดนไฟ AC 3 เฟสเพอควบคมตาแหนงและความเรวของการหมนมอเตอร ดงนนจงตองมวงจรขบมอเตอรเพอเปลยนขอมลตาแหนงและความเรวทไดมาจาก CPU ใหเปนแรงดนไฟ AC 3 เฟสทมอเตอรตองการ
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
ระบบไมโครโปรเซสเซอรจาเปนตองมวงจรแปลงสญญาณดจตอลเปนสญญาณอนาลอก (DAC) กอนปอนใหกบลาโพง
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
เนองจากระบบไมโครโปรเซสเซอรอาจจะมอปกรณตอพวงมากกวา 1 ตว ดงนนจงจาเปนตองวงจร Port Mapped I/O เพอใชเลอกอปกรณตอพวงทระบบไมโครโปรเซสเซอรตองการตดตอดวย
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
Bus คอสายรบสงสญญาณระหวาง CPU กบหนวยความจาและอปกรณตอพวง เพอรบสงขอมล หรอเพอควบคมการทางานของหนวยความจาและอปกรณตอพวง
ROM RAM
Control Bus
Address Bus
CPU
Data Bus
เซนเซอร มภหณ อด ว
จอ LCD
Port
Map
ped
I/O
เซอรโว
มอเตอร
วงจรขบ
มอเตอร
Encoder
ง พโา ลวงจร
DAC
วงจร
ADC
โครงสรางของระบบไมโครคอมพวเตอร
Bus•Data Busเปนบสแบบ 2 ทศทาง (Bidirectional Bus) ใชในการรบหรอสง
ขอมลระหวาง CPU กบหนวยความจาและอปกรณตอพวงขนาดของ Data Bus (D0-Dd-1) เปนตวกาหนดขนาดของขอมลทใช
ในการรบสงขอมลในแตละครง และสวนใหญจะหมายถงขนาดของขอมลท CPU สามารถประมวลผลในแตละคาสง Assemblyตวอยางเชน PIC หรอ MCS51 ม Data Bus ขนาด 8 bit (D0-D7) จะรบสงขอมลและประมวลผลขอมลไดครงละ 8 bit หรอ 1Byte
โครงสรางของระบบไมโครคอมพวเตอร
Bus•Address Busเปนบสแบบทศทางเดยว (Unidirectional Bus) ใชในการสง
Address ของหนวยความจาหรออปกรณตอพวงท CPU ตองการตดตอดวยขอมลในหนวยความจาทก Byte และอปกรณตอพวงทกตวจะม
Address เฉพาะของตวเอง เมอ CPU ตองการอานหรอเขยนหนวยความจา หรอตองการรบสงขอมลกบอปกรณตอพวง กจะสง Address ของขอมลหรอของอปกรณตอพวงออกไปท AddressBus
โครงสรางของระบบไมโครคอมพวเตอร
ขนาดของ Address Bus (A0-Aa-1) เปนตวกาหนดขนาดสงสดของหนวยความจาหรอจานวนอปกรณตอพวงท CPU สามารถตดตอไดตวอยางเชนMCS51 ม Address Bus ขนาด 16 bit สามารถตดตอหนวยความจา
ขนาด 216 = 64 kBytePIC 18F8722 ม Address Bus ขนาด 21 bit สามารถตดตอ
หนวยความจาขนาด 221 = 2 MByte
โครงสรางของระบบไมโครคอมพวเตอร
Bus•Control Busเปนบสทใชสงสญญาณควบคมการทางานของหนวยความจา และ
อปกรณตอพวง เชน PIC 18F8722 มสญญาณ Control ดงตอไปน /OE เปนสญญาณควบคมการอานหนวยความจา
/WRH, /WRL เปนสญญาณควบคมการเขยนหนวยความจาดาน Byte สงและดาน Byte ตาตามลาดบ
/CE เปนสญญาณกระตนการทางานของหนวยความจา
การแบงกลมคอมพวเตอร
•Supercomputer• เปนคอมพวเตอรขนาดใหญ ราคาแพงและมประสทธภาพสง ถก
ออกแบบมาเพอใหสามารถคานวณไดเรวทสด
• ใชในการคานวณงานวจยทางวทยาศาสตรเชนงานอตนยมวทยา ทานายแผนดนไหว หรอการสารวจอวกาศเปนตน
• ตวอยางเชน Tienhe 2 เปน Supercomputer ทเรวทสดในป 2015 ใช CPU XEON จานวน 32000 ตว
• สามารถคานวณเลขทศนยมลอยตว (Floating Point) ไดสงสดท54.9 PETAFLOPS (พนลานลานครงตอวนาท)
การแบงกลมคอมพวเตอร
•Mainframe Computer• เปนคอมพวเตอรขนาดใหญ มความเรวสงแตไมเทากบ
Supercomputer• นยมใชกนในงานธนาคาร ธรกจ และองคกรของรฐ ทตองการ
คอมพวเตอรความเรวสงและ Database ขนาดใหญ
•Minicomputer• เปนคอมพวเตอรขนาดเลกรองจาก Mainframe• นยมใชกนในธรกจขนาดเลกทตองการคอมพวเตอรความเรวสงทไม
สามารถซอ Mainframe มาใชงาน
การแบงกลมคอมพวเตอร
•Microcomputer• เปนคอมพวเตอรขนาดเลกสาหรบใชงานสวนบคคลเชน คอมพวเตอรตง
โตะ, โนตบค, แทบเลท และโทรศพทสมารทโฟน เปนตน
ในบทนจะกลาวถง
ความรพนฐานของไมโครโพรเซสเซอรและไมโครคอลโทรลเลอร
ไมโครโพรเซสเซอร Z-80 ไมโครคอนโทรลเลอรในตระกล MCS-51
โครงสรางพนฐานของไมโครคอนโทรลเลอรในตระกล MCS -51
โครงสรางพนฐานของไมโครคอนโทรล AT89C2051
โครงสรางพนฐานของไมโครคอนโทรลเลอร AT89C51
วงจรกาเนดสญญาณนาฬกาและวงจรรเซต
1.1ไมโครโพรเซสเซอรและไมโครคอนโทรลเลอร
• ไมโครโพรเซสเซอร (Microprocessor) คออปกรณอเลกทรอนกสชนดหนงซงมลกษณะโครงสรางเปนไอซ (IC :Integrate Circuit) หรอชพ (Chip) โครงสราง
ภายในจะเปนวงจรรวมขนาดใหญประกอบไปดวยหนวยคานวณทางคณตศาสตรและลอจก รจสเตอร บสขอมล
บสควบคม บสทอย รวมกนเปนไมโครโปรเซสเซอรหรอตวประมวลผลกลางเพอทาหนาทหลกในการประมวลผลตามโปรแกรม
ชพประมวลผลอยางหนง ซงจะทาหนาทประมวลผลตามโปรแกรมหรอชดคาสงโครงสรางภายใน จะเปนวงจรรวมขนาดใหญประกอบไปดวย หนวยคานวณทางคณตศาสตรและลอจก บสขอมล บสควบคม บสทอย พอรตขนาน พอรต
อนกรมรจสเตอร หนวยความจา วงจรนบ วงจรจบเวลาและวงจรอนๆรวมกนอยภายในชพ ไมโครคอนโทรลเลอรถกออกแบบมาเพอใชในงานควบคมสามารถตดตอกบอปกรณอนพตและเอาตพตไดสะดวกใชงานงาย สามารถทางานไดโดยใชชพเดยว
ไมโครคอนโทรลเลอร (Microcontroller) คอ
รปท 1.2 ไมโครคอนโทรลเลอร AT89C51 ของบรษท Atmel
รปท 1.1 ไมโครโปรเซสเซอร Z-80 ของบรษท Zilog
ไมโครคอนโทรลเลอร MCS-51 53
ไมโครโปรเซสเซอร คอ หนวยประมวลผลกลาง ในการใชงานจะตองตอกบหนวยความจาและอปกรณอนพต/เอาตพตภายนอกจงจะสามารถใชงานได
ไมโครคอนโทรลเลอร คอ อปกรณควบคมทรวมเอาหนวยประมวลผลกลาง หนวยความจา พอรตอนพต/เอาตพต ไวภายในไอซตวเดยวกน ในการใชงานเพยงเอาอปกรณภายนอกมาตอรวมเทานน
ไมโครโปรเซสเซอร
ไมโครคอนโทรลเลอร
1.2 ไมโครโปรเซสเซอร Z-80
• Z-80 เปนไมโครคอนโทรลเลอรขนาด 8 บตมจานวน 40 ขา
รป 1.3 โครงสรางและขาสญญาณของ Z-80
ขาสญญาณของ Z-80 จะแบงไดเปน 6 กลมดงน
• กลมท 1. บสขอมล
• กลมท 2. บสทอย
• กลมท 3. สญญาณควบคมระบบ
• กลมท 4. สญญาณควบคมซพย
• กลมท 5. สญญาณคมบส
• กลมท 6. สญญาณความถและแหลงจายไฟ
1.3 ไมโครคอนโทรลเลอรในตระกล MCS-51
MCS
- 51
XTAL2GND
XTAL1RD/P3.7WR/P3.6T1/P3.5T0/P3.4INT1/P3.3INT0/P3.2TXD/P3.1RXD/P3.0RSTP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0
ALE/PROG
VCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5
P0.6/AD6P0.7/AD7EA
PSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8
123456
1617181920
789101112131415
403938373635
2524232221
343332313029282726
รปท 1.4 ขาสญญาณของไมโครคอนโทรลเลอรในตระกล MCS-51
ตารางท 1.1 หนาทขาสญญาณของพอรต P3
พอรต สญญาณ หนาท
P3.0 RXD ขารบสญญาณของการสอสารพอรตอนกรม
P3.1 TXD ขาสงสญญาณของการสอสารพอรตอนกรม
P3.2 /INT0 ขารบสญญาณอนเตอรรพตภายนอกตวท 0
P3.3 /INT1 ขารบสญญาณอนเตอรรพตภายนอกตวท 1
P3.4 T0 ขารบสญญาณอนพตภายนอกของวงจรตงเวลาตวท 0
P3.5 T1 ขารบสญญาณอนพตภายนอกของวงจรตงเวลาตวท 1
P3.6 /WR ควบคมการเขยนขอมลในหนวยความจาขอมลภายนอก
P3.7 /RD ควบคมการอานขอมลในหนวยความจาขอมลภายนอก
1.4 โครงสรางพนฐานของไมโครคอนโทรลเลอรในตระกล MCS-51
รปท 1.6 โครงสรางพนฐานของไมโครคอนโทรลเลอร
วงจรควบคม
อนเตอรรปต
Timer0
Timer1
Seraielหนวยความจา
โปรแกรม
หนวยความจา
ขอมล
INT0 INT1
หนวยประมวลผลกลาง
วงจรออสซเลเตอร วงจรควบคมบส พอรทขนาน พอรทอนกรม
วงจรนบ/จบเวลาวงจรนบ/จบเวลา
T1T2
ALE PSEN P0 P1 P2 RXD RSD
โครงสรางพนฐานของไมโครคอมพวเตอร
CPU DATA BUS
CONTROL BUS
ADDRESS BUS
หนวยความจา
โปรแกรม (ROM)
หนวยความจา
ขอมล (RAM)พอรตอนพตCLOCK พอรตเอาตพต
อปกรณอนพต อปกรณเอาตพต
ไมโครคอนโทรลเลอร MCS-51 59
ตารางท 1.3 ไมโครคอนโทรลเลอรในตระกล MCS–51 ของบรษทฟลลปท
ตารางท 1.4 ไมโครคอนโทรลเลอรในตระกล MCS–51 ของบรษทแอดเมล
1.6 โครงสรางพนฐานของไมโครคอนโทรล AT89C2051
• โครงสรางพนฐานของไมโครคอนโทรลเลอร AT89C2051 มขาสญญาจานวน 20 ขามหนวยความจาโปรแกรมภายในแบบแฟรชขนาด 2 กโลไบตเปนไมโครคอนโครลเลอรขนาด 8 บตสามารถตออนพตและเอาตพตได 15 บตมการจดตาแหนงขาสญญาณแสดงดงรปท 1.7 และมโครงสรางพนฐานแสดงดงรปท 1.8
รปท 1.7 การจดตาแหนงขาสญญาณของไมโครคอนโทรลเลอร AT89C2051
รปท 1.8 โครงสรางพนฐานของไมโครคอนโทรลเลอร AT89C2051
คณสมบตพนฐานของไมโครคอนโทรลเลอร AT89C2051
เปนไมโครคอนโทรลเลอรในตระกล MCS-51
มหนวยความจาแบบแฟรชขนาด 2 กโลไบต สามารถลบและเขยนไดถง 1000 ครง
ทางานในชวงแรงดงไฟ 2.7-6 โวลต
มหนวยความจาขอมลภายในขนาด 128 ไบต
สามารถตออนพตและเอาตพตได 15 บต
มวงจรนบและวงจรจบเวลาขนาด 16 บตจานวน 2 วงจร
สามารถอนเตอรรพตไดจาก 6 แหลง
สามารถโปรแกรมไดโดยผานพอรตอนกรม
มวงจรเปรยบเทยบแรงดนภายในตวไมโครคอนโทรลเลอร
1.7 โครงสรางพนฐานของไมโครคอนโทรลเลอร AT89C51
รปท 1.10 โครงสรางพนฐานของไมโครคอนโทรลเลอร AT89C51
คณสมบตของไมโครคอนโทรลเลอร AT89C51
เปนไมโครคอนโทรลเลอรในตระกล MCS-51
มหนวยความจาแบบแฟรชขนาด 32 กโลไบตสามารถลบและเขยนไดถง 1000 ครง
ทางานในแรงดงไฟ 4-5.5 โวลต
สามารถปองกบการโปรแกรมได 3 ระดบ
มหนวยความจาขอมลภายในขนาด 128 ไบต
มอนพตและเอาตพตขนาด 32 บต
มวงจรนบและจบเวลาขนาด 16 บต 3 วงจร
สามารถอนเตอรรพตไดจาก 8 แหลง
สามารถโปรแกรมไดโดยผานพอรตอนกรม
1.8 วงจรกาเนดสญญาณนาฬกา
MSC
- 51
XTAL1
XTAL2
C2
C1Crystals
11.0592 MHz
33 pF
33 pF
รปท 1.11 วงจรกาเนดสญญาณนาฬกา
1.9 วงจรรเซต
MSC -
51
RST
C 10 µFReset
+ 5V
R 4.7K
+
-
รปท 1.12 วงจรรเซต