Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore หน่วยที่1

หน่วยที่1

Published by chairaeng, 2019-11-16 10:47:05

Description: ebook_unit1

Search

Read the Text Version

หน่วยที่ 1 ไมโครคอนโทรลเลอร์

หน่วยที่ 1 เร่อื ง ไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ ปัจจุบันไมโครคอนโทรลเลอร์ถูกนำมำใช้อย่ำงกว้ำงขวำงในงำนด้ำนอิเล็กทรอนิกส์ เพรำะใช้ งำนได้ ง่ำย สะดวก มีขนำดเล็ก รำคำถูก และท่ีสำคัญสำมำรถส่ังงำนให้ทำงำนตำมเงื่อนไขใหม่ตำม ผู้ใช้งำนโดยไม่จำเป็นต้องเปลี่ยนวงจรภำยนอก มีบริษัทผู้ผลิตไอซีไมโครคอนโทรลเลอร์ออกมำหลำย ตระกูล เช่น Z80, PIC, MCS51, AVR, ARM7, ARM9, 68HC แต่ละตระกูลก็จะมีคุณสมบัติต่ำงกัน ออกไป 1. โครงสร้างไมโครคอนโทรลเลอร์ 1.1 ควำมหมำยของไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ (Microcontroller) มำจำกคำว่ำไมโคร (Micro) หมำยถึงขนำดเล็ก ส่วนคำว่ำคอนโทรลเลอร์ (Controller) หมำยถึงตัวควบคุมหรืออุปกรณ์ควบคุมไมโครคอนโทรลเลอร์ จึงหมำยถึงอุปกรณ์ควบคุมขนำดเล็กท่ีสำมำรถควบคุมอุปกรณ์ภำยนอกได้ แต่ในตัวอุปกรณ์ควบคุม ขนำดเล็กน้ีได้บรรจุควำมสำมำรถท่ีคล้ำยคลึงกับระบบคอมพิวเตอร์ กล่ำวคือไมโครคอนโทรลเลอรไ์ ด้ รวมเอำซีพียู ( CPU ) หน่วยควำมจำ (Memory) อินพุต/เอำต์พุตพอร์ต (I/O Port) รีจิสเตอร์ (Register) วงจรผลิตสัญญำณ (Oscillator) และวงจรอิเล็กทรอนิกส์ เช่น วงจรแปลงจำกสัญญำณ อนำล็อกเป็นดิจิทัลวงจรสร้ำงสัญญำณ PWM (มีเฉพำะบำงเบอร์) ไมโครคอนโทรลเลอร์จึงสำมำรถ นำไปประยุกต์ใชง้ ำนควบคมุ ตำ่ ง ๆ ไดด้ ี 1.2 โครงสรำ้ งภำยในของไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์แต่ละเบอร์แต่ละตระกูลนั้นมีโครงสร้ำงภำยในแตกต่ำงกันข้ึนอยู่กับ บริษัทผู้ผลิตและจุดประสงค์ของกำรสร้ำงไมโครคอนโทรลเลอร์เบอร์น้ันๆ พ้ืนฐำนของโครงสร้ำง ภำยในของไมโครคอนโทรลเลอร์มีสว่ นประกอบดงั รูปที่ 1 รปู ท่ี 1.1 โครงสร้ำงของไมโครคอนโทรลเลอร์

รูปที่ 1.2 โครงสร้ำงพ้ืนฐำนของไมโครคอนโทรลเลอร์ โครงสร้ำงโดยท่วั ไปของไมโครคอนโทรลเลอรน์ น้ั สำมำรถแบ่งออกมำไดเ้ ป็น 5 สว่ นใหญ่ๆ ดงั ต่อไปน้ี 1. หน่วยประมวลผลกลางหรือซีพียู (CPU: Central Processing Unit) ทำหน้ำที่เป็น ศูนย์กลำงควบคุมกำรทำงำนของระบบคอมพิวเตอร์ท้ังหมด โดยนำข้อมูลจำกอุปกรณ์รับข้อมูลมำ ทำงำนประมวลผลข้อมูลตำมคำสงั่ ของโปรแกรม และส่งผลลัพธ์ออกไปหน่วยแสดงผลโดยกำรทำงำน ของซพี ยี ูมี 2 จงั หวะ 1.1 เฟตซ์ (Fetch) คือ กำรอ่ำนคำสั่งโปรแกรมแล้วทำกำรถอดรหัสคำส่งั เป็นภำษำเครื่อง 1.2 เอ็กซิคิวต์ (Executed) คือ กำรทำตำมคำส่งั โปรแกรมทีถ่ อดรหสั แลว้ 2. หน่วยความจา (Memory) สำมำรถแบง่ ออกเป็น 2 สว่ น คือ 1.2.1 หน่วยควำมจำท่ีมีไว้สำหรับเก็บโปรแกรมหลัก (Program Memory) เปรียบเสมือน ฮำร์ดดิสก์ของเครื่องคอมพิวเตอร์ต้ังโต๊ะ คือข้อมูลใดๆ ที่ถูกเก็บไว้ในนี้จะไม่สูญหำยไปแม้ไม่มีไฟเลี้ยง อีกส่วนหนึ่งคือ 1.2.2 หน่วยควำมจำข้อมูล (Data Memory) ใช้เป็นเหมือนกระดำษทดในกำรคำนวณของ ซีพียู และเป็นท่ีพักข้อมูลช่ัวครำวขณะทำงำน แต่หำกไม่มีไฟเลี้ยง ข้อมูลก็จะหำยไปคล้ำยกับหน่วย ควำมแรม (RAM) ในเคร่ืองคอมพิวเตอร์ทั่วๆ ไป แต่สำหรับไมโครคอนโทรลเลอร์สมัยใหม่ หน่วยควำมจำข้อมูลจะมีท้ังที่เป็นหน่วยควำมจำแรมซึ่งข้อมูลจะหำยไปเมื่อไม่มีไฟเลี้ยง และเป็นอีอี พรอม (EEPROM: Erasable Electrically Read-Only Memory) ซ่ึงสำมำรถเก็บข้อมูลได้แม้ไม่มี ไฟเลี้ยง

3. ส่วนตดิ ต่อกบั อุปกรณภ์ ายนอก หรือพอร์ต (Port) มี 2 ลกั ษณะคอื พอรต์ อนิ พตุ (Input Port) และพอร์ตส่งสัญญำณหรือพอร์ตเอำต์พุต (Output Port) ส่วนนี้จะใช้ในกำรเชื่อมต่อกับ อุปกรณ์ภำยนอก ถือว่ำเป็นส่วนที่สำคัญมำก ใช้ร่วมกันระหว่ำงพอร์ตอินพุตเพื่อรับสัญญำณ อำจจะ ด้วยกำรกดสวิตช์เพ่ือนำไปประมวลผลและส่งไปพอร์ตเอำต์พุต เพ่ือแสดงผลเช่น กำรติดสว่ำงของ หลอดไฟ เปน็ ต้น 4. ช่องทางเดินของสัญญาณ หรือบัส (BUS) คือเส้นทำงกำรแลกเปลี่ยนสัญญำณข้อมูล ระหว่ำง ซีพียู หน่วยควำมจำและพอร์ต เป็นลักษณะของสำยสัญญำณ จำนวนมำกอยู่ภำยในตัว ไมโครคอนโทรลเลอร์ โดยแบ่งเป็นบัสข้อมูล (Data Bus), บัสแอดเดรส (Address Bus) และบัส ควบคุม (Control Bus) รปู ที่ 1.3 กำรติดต่อของไมโครคอนโทรลเลอร์ 1.3.1) บัสตำแหน่ง (Address Bus) จะเปน็ กลุม่ สำยสัญญำณทีใ่ ช้สำหรบั กำหนดตำแหน่งของ ข้อมูลในหน่วยควำมจำ หรือระบุตำแหน่งที่อยู่ของอุปกรณ์ภำยนอกต่ำงๆ โดยบัสตำแหนง่ จะเป็นเส้น ทำงที่ใช้ส่งข้อมูลออกจำกไมโครโพรเซสเซอรเ์ พียงทศิ ทำงเดียว โดยใช้เพื่อระบุตำแหน่งของอุปกรณท์ ี่ ต้องกำรจะตดิ ตอ่ ด้วยเท่ำน้นั 1.3.2) บัสข้อมูล (Data Bus) จะเป็นกลุ่มสำยสัญญำณที่ใช้ในกำรรับส่งข้อมูลหรือรหัสคำส่ัง ต่ำงๆระหว่ำงไมโครโพรเซสเซอร์กับหน่วยควำมจำโปรแกรมหนว่ ยควำมจำข้อมูล อุปกรณ์อินพุตและ อปุ กรณเ์ อำต์พตุ ทุกตัวทีต่ ่อพ่วงอยู่กบั ระบบ โดยบัสขอ้ มลู นีจ้ ะเป็นแบบสองทิศทำงสำมำรถรับและส่ง ข้อมูลทั้งไปและกลับได้ในสำยสัญญำณเดียวกัน โดยบัสข้อมูลเปรียบเสมือนช่องทำงเดิน รถถ้ำมีมำก จะทำใหก้ ำรตดิ ต่อทำได้รวดเร็วขึน้ เช่น บัสขอ้ มลู แบบ 8 บติ จะทำงำนได้เรว็ กวำ่ บัสข้อมลู แบบ 4 บิต 1.3.3) บัสควบคุม (Control Bus) จะเป็นกลุ่มสำยสัญญำณท่ีส่งสัญญำณควบคุมกำรทำงำน ต่ำงๆ ของระบบ โดยไมโครโพรเซสเซอร์สำมำรถส่งสัญญำณไปควบคุมหน่วยควำมจำและอุปกรณ์ อินพุต/เอำต์พุตภำยนอกเพื่ออ่ำนหรือเขียนข้อมูลได้ และอุปกรณ์ภำยนอกสำมำรถส่งสัญญำณมำ ควบคมุ กำรทำงำนของไมโครโพรเซสเซอร์ได้เช่น กำรรเี ซต

5. วงจรกาเนดิ สัญญาณนาฬกิ า นบั เปน็ ส่วนประกอบที่สำคญั มำกอกี ส่วนหนึง่ เนือ่ งจำกกำร ทำงำนที่เกิดข้ึนในตัวไมโครคอนโทรลเลอร์ จะข้ึนอยู่กับกำรกำหนดจังหวะ หำกสัญญำณนำฬิกำมี ควำมถส่ี งู จงั หวะกำรทำงำนกจ็ ะสำมำรถทำได้ถี่ขึ้นสง่ ผลให้ไมโครคอนโทรลเลอร์ตัวนั้น มีควำมเรว็ ใน กำรประมวลผลสงู ตำมไปดว้ ย 1.3 โครงสรา้ งภายนอกของไมโครคอนโทรลเลอร์ ในปัจจุบันผู้ผลิตไอซีไมโครคอนโทรลเลอร์ได้สร้ำงโครงสร้ำงขำเพ่ือต่อใช้งำนหลำยลักษณะ เชน่ โครงสรำ้ งแบบ SOIC, PDIP, PLCC และ TQFP 1) โครงสร้ำงแบบ SOIC (Small Outline Integrated Circuit) รปู ท่ี 1.4 โครงสรำ้ งแบบ SOIC 2) โครงสร้ำงแบบ PDIP (Plastic Dual In-line Package) รปู ท่ี 1.5 โครงสรำ้ งแบบ PDIP 3) โครงสร้ำงแบบ PLCC (Plastic Leaded Chip Carrier) รปู ท่ี 1.6 โครงสรำ้ งแบบ PLCC

4) โครงสรำ้ งแบบ TQFP (Thin Quad Flat Packages) รูปที่ 1.7 โครงสรำ้ งแบบ TQFP 2. สถาปัตยกรรมของไมโครคอนโทรลเลอร์ สถำปตั ยกรรมของไมโครคอนโทรลเลอร์มี 2 แบบ คือ 2.1 สถาปัตยกรรมวอนนวิ แมนน์ (Von-Newman Architecture) ไมโครคอนโทรลเลอร์ท่ีใชส้ ถำปัตยกรรมน้ี ซพี ียูจะติดตอ่ กับหนว่ ยควำมจำผ่ำนบัสขอ้ มูลเพียง 8 บิต ทำให้ซีพียูไม่สำมำรถอ่ำนหรือเขียนข้อมูลกับหน่วยควำมจำได้ในเวลำเดียวกัน กำรทำงำนจึง ค่อนขำ้ งช้ำ รูปท่ี 1.8 สถำปัตยกรรมวอนนิวแมนน์ 2.2 สถาปัตยกรรมฮาร์วารด์ (Harvard Architecture) ไมโครคอนโทรลเลอร์ท่ีใช้สถำปัตยกรรมนี้จะมีบัสข้อมูลสองทำง ส่วนแรกคือซีพียูจะติดต่อ กับหน่วยควำมจำแรมผำ่ นบสั ข้อมูล 8 บิต และส่วนท่ีสองคือซีพียูจะติดต่อกับหน่วยควำมจำรอมผำ่ น บสั ขอ้ มูล 12, 14, 16 บิต ซพี ียจู ึงสำมำรถอ่ำนและเขำ้ ถงึ หนว่ ยควำมจำแรมและหนว่ ยควำมจำรวมได้ ในเวลำเดยี วกนั ทำใหก้ ระบวนกำรทำคำสั่งลดขั้นตอนลงไมโครคอนโทรลเลอร์จงึ ทำงำนได้เร็วขน้ึ รูปที่ 1.9 สถำปตั ยกรรมฮำรว์ ำรด์

ประเภทของไมโครคอนโทรลเลอรเ์ มอ่ื แบ่งสถำปตั ยกรรมกำรประมวลผล 1. ไมโครคอนโทรลเลอร์ 8 บิต 2. ไมโครคอนโทรลเลอร์ 12 บิต 3. ไมโครคอนโทรลเลอร์ 14 บิต 4. ไมโครคอนโทรลเลอร์ 16 บิต 5. ไมโครคอนโทรลเลอร์ 32 บิต ประเภทของไมโครคอนโทรลเลอร์เม่อื แบง่ สถำปัตยกรรมผู้ผลติ 1. ไมโครคอนโทรลเลอรต์ ระกูล PIC (บรษิ ทั ผผู้ ลติ Microchip ไมโครชปิ ) 2. ไมโครคอนโทรลเลอรต์ ระกูล MCS51 (บรษิ ัทผผู้ ลิต Atmel, Phillips) 3. ไมโครคอนโทรลเลอรต์ ระกูล AVR (บริษทั ผผู้ ลิต Atmel) 4. ไมโครคอนโทรลเลอร์ตระกูล ARM7, ARM9 5. ไมโครคอนโทรลเลอรต์ ระกูล Basic Stamp (บริษทั ผู้ผลติ Parallax) 6. ไมโครคอนโทรลเลอรต์ ระกูล PSOC (บรษิ ัทผ้ผู ลิต CYPRESS) 7. ไมโครคอนโทรลเลอร์ตระกูล MSP (บริษทั ผู้ผลติ Texas Instruments) 8. ไมโครคอนโทรลเลอร์ตระกูล 68HC (บริษทั ผูผ้ ลิต MOTOROLA) 9. ไมโครคอนโทรลเลอร์ตระกูล H8 (บรษิ ทั ผผู้ ลิต Renesas) 10. ไมโครคอนโทรลเลอรต์ ระกูล RABBIT 11. ไมโครคอนโทรลเลอร์ตระกูล Z80 (บริษทั ผู้ผลติ Zilog) ไมโครคอนโทรลเลอรต์ ระกูลต่ำงๆ ท่ไี ดร้ ับควำมนิยมและมีพัฒนำกำรมำจนถึงปัจจบุ ันมีดังนี้ Z-80 ไมโครคอนโทรลเลอร์ที่นิยมใช้กัน เร่ิมตั้งแต่ตัวแรกท่ีเป็นลักษณะของ CPU ไม่ถึงข้ันเรียกว่ำ ไมโครคอนโทรลเลอร์ ก็คือ ตระกูล Z80 เป็นลักษณะของ CPU เล็ก ๆ ที่ต้องอำศัย อินพุต/เอำต์พุต ต่ำงๆ เพ่ิมเติมเข้ำมำมำก จึงทำให้บอร์ดมีขนำดค่อนข้ำงใหญ่ จัดได้ว่ำเป็นกำรเริ่มต้นกำรเรียนรู้ท่ีดี ของยคุ สมัยนน้ั ทำให้ได้เรยี นรู้ ชุดคำส่งั ที่เปน็ Op Code รูปที่ 1.10 ไมโครคอนโทรลเลอร์ Z-80

รปู ท่ี 1.11 ตวั อย่ำงกำรใช้งำน Z-80 บนบอรด์ ทดลองจรงิ MCS-51 บริษัทท่ีสร้ำงไมโครคอนโทรลเลอร์ตระกูล MCS-51 เป็นบริษัทแรกคือบริษัท Intel ตระกูล MCS-51 เป็นตระกูลทพ่ี ัฒนำต่อจำก Z80 ทำให้กำรศกึ ษำเรียนรู้ไมโครคอนโทรลเลอรง์ ่ำยขึ้นกว่ำเดิม ไม่ว่ำจะเป็นกำรเขียนโปรแกรมในลักษณะของ Assembly Code แล้วโหลดลงบอร์ดเพ่ือใช้งำน ตลอดจนสถำปัตยกรรมในกำรออกแบบ ไมโครคอนโทรลเลอร์รุ่นน้ีจะช่วยลดอุปกรณ์รอบข้ำงลงไป ไดม้ ำกเหมำะที่จะนำไปใช้งำนจรงิ รูปที่ 1.12 ไมโครคอนโทรลเลอร์ MCS-51 ตวั อยำ่ งกำรต่อใชง้ ำน MCS-51 บนบอร์ดทดลองจรงิ อปุ กรณ์รอบขำ้ งจะนอ้ ยกวำ่ Z-80 มำก ทำให้ ออกแบบวงจรได้ง่ำยข้ึนมำก รปู ท่ี 1.13 ตวั อยำ่ งกำรตอ่ ใชง้ ำน MCS-51 บนบอรด์ ทดลอง

PIC บริษัท Microchip Technology เป็นผู้สร้ำงและผลิต PIC เป็นไมโครคอนโทรลเลอร์ยุค ต่อมำที่ ได้รับควำมนิยมสูงอีกตระกูลหน่ึง ต้ังแต่อดีตจนถึงปัจจุบัน คำว่ำ PIC ย่อมำจำกคำว่ำ (Peripheral Interface Controller) ไมโครคอนโทรลเลอร์ตระกูลน้ี มีกำรพัฒนำเทคโนโลยีขึ้นในทกุ ด้ำนทำให้ได้รับควำมนิยมกวำ่ ไมโครคอนโทรลเลอร์ยคุ เก่ำ เพรำะในเร่ืองของอุปกรณ์ต่อพ่วงทม่ี ีนอ้ ย ประกอบกบั มีหนว่ ยควำมจำ EEPROM ในตวั จงึ ทำให้งำ่ ยตอ่ กำรบันทึกและจัดเก็บข้อมลู และ PORT ตำ่ งๆ ได้มกี ำร latch ในตวั IC อยู่ แล้วจงึ สำมำรถตอ่ ออกมำใช้งำนภำยนอกไดโ้ ดยตรง มีกระแสและ ไมโครคอนโทรลเลอรไ์ ด้ จึงทำให้ง่ำยในกำรโหลดโปรแกรมเข้ำไปจำกคอมพวิ เตอรโ์ ดยผ่ำนทำง Serial Port และกดปุ่ม Reset เพยี งอยำ่ งเดียวไม่ต้องกำรเครอื่ งโปรแกรม IC เพมิ่ เติม อยำ่ งทตี่ ้องมีกับระบบ ไมโครคอนโทรลเลอรร์ นุ่ เก่ำอย่ำง MCS-51 รูปที่ 1.14 ไมโครคอนโทรลเลอร์ PIC ตัวอย่ำงกำรต่อใช้งำน PIC กับบอร์ดทดลองจริง ฟังก์ช่ันกำรใช้งำนค่อนข้ำงครบ และ โปรแกรมงำ่ ย โดย CCS, HI-TECH C Compiler, C18 C Compile, C30 C Compiler, MPLAB เป็น ตน้ รูปท่ี 1.15 ตวั อยำ่ งกำรตอ่ ใช้งำน PIC

AVR เป็นไมโครคอนโทรลเลอร์รุ่นต่อมำที่มีกำรพัฒนำต่อมำจำก MCS-51 โดยบริษัท ATMEL อัน เนื่องมำจำกว่ำ MCS-51 ยุคหลังน้ีไม่ค่อยมีคนใช้งำนจริง และมีใช้งำนแต่เฉพำะ ในสถำบันกำรศึกษำ เป็น เชน่ น้กี ็เพรำะว่ำกำรออกออกแบบวงจรท่ีค่อนข้ำงยุ่งยำก และต้องอำศยั กำรต่ออุปกรณร์ ่วมเยอะ น้ันเอง ดังนั้น AVR จึงเข้ำมำเป็นที่นิยมในกำรทำงำนด้ำนน้ี โดยคุณสมบัติหลัก ที่น่ำสนใจก็คือ สำมำรถ Interface ผ่ำน USB ได้โดยตรง ซึ่งไมโครคอนโทรลเลอร์ยุคเก่ำทำได้ โดยต่อผ่ำนพอร์ต RS-232 แต่เน่ืองด้วย คอมพวิ เตอรย์ ุคใหม่ พอรต์ RS-232 เรม่ิ หำยำก ดังนัน้ AVR จึงไดร้ บั ควำมนิยม รูปที่ 1.16 ไมโครคอนโทรลเลอร์ AVR ตัวอย่ำงกำรต่อ AVR ใช้งำนบนบอร์ดที่มลี ักษณะใกล้เคยี งกับไมโครคอมพวิ เตอร์ รปู ท่ี 1.17 ตัวอยำ่ งกำรตอ่ ใชง้ ำน AVR

Arduino Arduino เป็นไมโครคอนโทรลเลอร์บอร์ดแบบสำเร็จรูปในยุคปัจจุบัน ซ่ึงถูกสร้ำงมำจำก Controller ตระกูล AVR ของ ATMEL ข้อดีของไมโครคอนโทรลเลอร์บอร์ดคือเรื่องของ Open Source ที่สำมำรถนำไปพัฒนำต่อเป็นอุปกรณ์ต่ำงๆ ได้และควำมสำมำรถในกำรเพิ่ม Boot Loader เข้ำไปที่ตัว AVR จึงทำให้กำร Upload Code เข้ำตัวบอร์ดสำมำรถทำได้ง่ำยขึ้น และยังมีกำรพัฒนำ Software ท่ีใช้ในกำรควบคุมตัวบอร์ด ของ Arduino มีลักษณะเป็นภำษำ C++ ที่โปรแกรมเมอร์มี ควำมคุ้นเคยในกำรใช้งำน ตัวบอร์ดสำมำรถนำโมดูลมำต่อเพิ่ม ซ่ึงทำงำน Arduino เรียกว่ำเป็น shield เพอ่ื เพิม่ ควำมสำมำรถเพิม่ ข้นึ รูปท่ี 1.18 ไมโครคอนโทรลเลอร์Arduino รูปท่ี 1.19 ตวั อย่ำงกำรตอ่ ใชง้ ำน Arduino บนบอรด์ Shield

ไมโครคอนโทรลเลอร์ Raspberry Pi Raspberry Pi เป็นไมโครคอนโทรลเลอร์ Board ยุคน้ีเหมือนกัน ใช้ Controller ตระกูล ARM เช่นกัน ที่น่ำสนใจสำหรับบอร์ด Raspberry Pi ก็คือกำรจำลองตัวมันเองให้เป็นระบบ คอมพิวเตอร์เคร่ืองเล็กๆ เคร่ืองหน่ึง ที่สำมำรถรันระบบ Linux ได้ในตัวน้ันก็หมำยถึงกำรดึงระบบ ต่ำงๆ เพ่ือมำใช้งำนใน board ทำให้มีควำมสะดวกมำกเพรำะมี OS Linux ทำงำนให้แทนอยู่แล้ว อย่ำงเช่นกำรติดต่อกับระบบ Network กำรติดต่อกับระบบจอภำพ กำรติดต่อระบบเสียง ตลอดจน กำรติดต่อกับระบบกำรเก็บข้อมูลผ่ำน SD Card ซ่ึงสำมำรถทำได้ครบและครอบคลุม ด้วย ระบบปฏบิ ตั กิ ำร Linux ที่รนั อยูบ่ นตวั บอร์ด Raspberry Pi รูปที่ 1.20 ตวั อยำ่ งกำรประยุคใช้ Raspberry Pi เปน็ Smart TV ทั้งหมดน้ีก็คือวิวัฒนำกำรของระบบไมโครคอนโทรลเลอร์ จำกอดีตจนถึงปัจจุบันท่ีได้รับ ควำมนิยมแต่ยังมีอีกหลำยรุ่นท่ีมีกำรผลิตขึ้นมำใช้งำนและมิได้กล่ำวถึงในที่นี้ มีเฉพำะที่นิยมและรู้จัก กนั เปน็ วงกว้ำงในปัจจบุ ันเท่ำนน้ั 3. ไมโครคอนโทรลเลอรแ์ ละไมโครโพรเซสเซอร์ จำกกำรพัฒนำเทคโนโลยีในกำรผลิตไอซีรวมได้มีควำมก้ำวหน้ำขึ้นอย่ำงมำกมีกำรนำ ทรำนซสิ เตอรห์ ลำยๆตัวมำสร้ำงรวมไวด้ ้วยกนั และพัฒนำจนเป็นทรำนซิสเตอรล์ ้ำนๆตัวมำไว้ในวงจร รวมแบบ LSI (Large Scale integrated Circuit) ได้ และมกี ำรพฒั นำต่อไปโดยสำมำรถรวมเอำวงจร ที่ใช้เป็นหน่วยประมวลผลกลำงของระบบคอมพิวเตอร์ มำบรรจุอยู่ไว้ในไอซีโดยเรียกไอซีน้ีว่ำ ไมโครโพรเซสเซอร์ (Microprocessor) มำต่อนำไมโครโพรเซสเซอร์รว่ มกับหน่วยควำมจำ และหน่วย อินพุต/เอำต์พุต จะทำให้ได้เป็นระบบคอมพิวเตอร์ขนำดเล็กขึ้นมำเรียกว่ำ ไมโครคอมพิวเตอร์ (Microcomputer) คอื คอมพวิ เตอร์ท่ใี ชไ้ มโครโพรเซสเซอรเ์ ป็นหน่วยประมวลผลกลำง

ไมโครคอนโทรลเลอร์ (Microcontroller) คือ อุปกรณ์ควบคุมขนำดเล็กที่มีควำมสำมำรถ ใน กำรประมวลผลและตัดสินใจต่ำงๆ สำมำรถเขียนโปรแกรมควบคุมได้อย่ำงอิสระ ทำให้สำมำรถ นำไปใช้งำนแทนวงจรอิเล็กทรอนิกส์ท่ีซับซ้อนได้เป็นอย่ำงดี เหมำะกับกำรนำไปใช้ในงำนควบคุม ต่ำงๆ ซ่ึงภำยในตัวไมโครคอนโทรลเลอร์จะประกอบด้วย หน่วยประมวลผลกลำง หน่วยควำมจำ อุปกรณอ์ นิ พุต/เอำต์พุต และวงจรสญั ญำณนำฬิกำ เหมือนกบั นำระบบคอมพิวเตอร์ขนำดเล็กบรรจุไว้ ในไอซตี ัวเดียว ไมโครโพรเซสเซอร์ไม่สำมำรถต่อใช้งำนได้เพียงตัวเดียว จะต้องต่อกับหน่วยควำมจำและ อุปกรณ์อินพุต/เอำต์พุตจึงจะสำมำรถนำไปใช้งำนได้ แต่ตัวไมโครคอนโทรลเลอร์สำมำรถนำไปใช้ใน งำนควบคมุ ไดท้ นั ทเี พรำะภำยในได้รวมเอำหน่วยควำมจำ อปุ กรณอ์ ินพุต/เอำตพ์ ตุ และ วงจรท่ีจำเป็น บำงส่วนเข้ำไว้ภำยในตัวไอซีเรียบร้อยแล้ว โดยรูปร่ำงภำยนอกของไอซีไม่สำมำรถบอกได้ว่ำอุปกรณ์ ตวั นัน้ เปน็ ไมโครโพรเซสเซอร์หรอื ไมโครคอนโทรลเลอร์ จะต้องศึกษำเอกสำรรำยละเอยี ดจำกผผู้ ลิต 4. หลกั การทางานของไมโครคอนโทรลเลอร์ รูปท่ี 1.21 ตัวอยำ่ งกำรประยุกตใ์ ช้ Raspberry Pi เป็น Smart TV ไมโครคอนโทรลเลอร์มำจำกคำว่ำ ไมโคร (Micro) คือไมโครโพรเซสเซอร์และคอนโทรลเลอร์ (Controller) คือ ตัวควบคุม ไมโครคอนโทรเลอร์จึงเป็นไอซีหรือวงจรรวมที่บรรจุไมโครโพรเซสเซอร์ ไว้ภำยในสำมำรถเขียนโปรแกรมควบคุมกำรทำงำนได้ ไมโครคอนโทรเลอร์มีควำมสำมำรถด้ำนต่ำงๆ ท่ีรวมเข้ำไปอยู่ในตัวไอซี เช่น ADC (Analog to Digital) ส่วนภำครับสัญญำณอนำล็อกแปลงไปเป็น สัญญำณดิจิตอล, DAC (Digital to Analog) ส่วนภำคส่งสัญญำณดิจิตอลแปลงไปเป็นสัญญำณ

อนำลอ็ ก, I2C (Inter Integrate Circuit Bus) เป็นกำรสือ่ สำรอนกุ รม แบบซงิ โครนสั (Synchronous) เพือ่ ใช้ ติดต่อสอ่ื สำร ระหว่ำง ไมโครคอนโทรลเลอร์ (MCU) กบั อุปกรณ์ภำยนอก ซึง่ ถกู พัฒนำข้ึนโดย บริษัท Philips Semiconductors โดยใช้สำยสัญญำณเพียง 2 เส้นเท่ำนั้น คือ serial data (SDA) และสำย serial clock (SCL) ซึ่งสำมำรถ เช่ือมต่ออุปกรณ์ จำนวนหลำยๆ ตัว เข้ำด้วยกันได้ ทำให้ MCU ใช้พอร์ตเพียง 2 พอร์ตเท่ำน้ัน, SPI (Serial Peripheral Interface) เป็นกำรเชื่อมต่อกับ อุปกรณ์เพื่อรับส่งข้อมูลแบบซิงโครนัส (Synchronize) มีสัญญำณนำฬิกำเข้ำมำเก่ียวข้องระหว่ำง ไมโครคอนโทรลเลอร์ (Microcontroller) หรือจะเป็นอุปกรณ์ภำยนอกท่ีมีกำรรับส่งข้อมูลแบบ SPI อุปกรณ์ที่ทำหน้ำที่เป็นมำสเตอร์ (Master) โดยปกติแล้วจะเป็นไมโครคอนโทรลเลอร์ หรืออำจกล่ำว ได้วำ่ อปุ กรณ์ Master จะต้องควบคมุ อุปกรณ์ Slave ได้ โดยปกติตัว Slave มกั จะเปน็ ไอซี (IC) หนำ้ ที่ พิเศษต่ำงๆ เช่น ไอซีอุณหภูมิ, ไอซีฐำนเวลำนำฬิกำจริง (Real-Time Clock) หรืออำจเป็น ไมโครคอนโทรลเลอร์ท่ีทำหน้ำท่ีในโหมด Slave ก็ได้เช่นกัน , PWM (Pulse Width Modulation) กำรสรำ้ งสัญญำณพัลส์ ที่สำมำรถปรับเปล่ียนควำมถแ่ี ละ Duty Cycle ไดเ้ พอื่ นำไปควบอุปกรณ์ต่ำงๆ เช่น มอเตอร์, UART (Universal Asynchronous Receiver Transmitter) ทำหน้ำที่รับส่งข้อมูล แบบอะซิงโครนสั สำหรับมำตรฐำนกำรรับสง่ ขอ้ มูลแบบ RS-232


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook