โครงสร้างของไมโครคอนโทรลเลอร์ จากบทความก่อนหน้านี้ผมได้เขียนถึงความแตกต่างระหว่างไมโครคอนโทรลเลอร์และ ไมโครโพรเซสเซอร์มาแล้ว ทำให้เห็นได้ว่าไมโครคอนโทรลเลอร์จะมีส่วนประกอบต่าง ๆ ไม่ว่าจะเป็นในส่วนของหน่วยประมวลผล(CPU) หน่วยความจำหลัก(RAM) และพอร์ตการเชื่อมต่อกับอุปกรณ์ภายนอกทุกอย่างจะอยู่ในตัวถังเดียวกันทั้งหมด ในบทความนี้ผมจะนำเสนอเกี่ยวกับส่วนประกอบของไมโครคอนโทรลเลอร์ ว่ามีองค์ประกอบอะไรบ้าง และแต่ล่ะองค์ประกอบนั้นมีคุณสมบัติอย่างไร ซึ่งโดยทั่วไปแล้วไมโครคอนโทรลเลอร์จะมีโครงสร้าง 5 ส่วนดังต่อไปนี้
1. หน่วยประมวลผลกลาง(Central Processing Unit : CPU) ทำหน้าที่เป็นสมองของคอมพิวเตอร์ ไมโครคอนโทรลเลอร์ ก็เช่นเดียวกัน ซึ่งปัจจุบันหน่วยประมวลผลกลางอยู่ในยุคที่ 4 เป็นยุคของวงจรรวม โดยหน้าที่หลักของหน่วยประมวลผลคือ การตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมาจากการเขียนโปรแกรมสั่งงาน เช่น การเปรียบเทียบ การเรียงลำดับ การจัดกลุ่ม รวมไปถึงการคำนวณทางคณิตศาสตร์ โดยจะมีขบวนการพื้นฐาน หรือที่เราเรียนกันว่าวัฎจักรคำสั่ง (Machine cycle) โดยส่วนใหญ่ไมโครคอนโทรลเลอร์ในปัจจุบันจะมีความเร็วในการประมวลผลอยู่ที่เมdกะเฮิร์ต (MHz) หรือ ล้านคำสั่งต่อวินาที
2.หน่วยความจำ (Memory) จะแบ่งการทำงานออกเป็น 2 ส่วน กล่าวคือส่วนแรกจะใช้เก็บโปรแกรมหลัก(Program Memory) เช่น Flash Memory ลักษณะการทำงานของหน่วยความจำประเภทนี้จะเป็นการอ่านและเขียนข้อมูลด้วยไฟฟ้าซึ่งลักษณะจะใกล้เคียงหลักการทำงานของฮาร์ดดิสก์ในเครื่องคอมพิวเตอร์ เวลาที่เราทำการบันทึกข้อมูลเมื่อทำงานเสร็จข้อมูลนั้นจะถูกเก็บไว้ในฮาร์ดดิสก์ จะไม่สูญหายไปแม้ไม่มีไฟเลี้ยงขณะที่เราปิดเครื่องก็ตาม และหน่วยความจำอีกส่วนหนึ่งก็คือหน่วยความจำข้อมูล (Data Memory) เปรียบเสมือนกับกระดาษทดในการคำนวณของซีพียูนั้นเอง เมื่อการทำงานนั้นเป็นเพียงที่พักข้อมูลชั่วคราวขณะทำงาน ถ้าไม่มีไฟเลี้ยงข้อมูลจะหายไป หลักการนี้จะคล้ายกับหน่วยความจำแรม (RAM) ในเครื่องคอมพิวเตอร์นั่นเอง แต่ในปัจจุบันไมโครคอนโทรลเลอร์จะมีหน่วยความจำข้อมูลมีทั้งที่เป็นหน่วยความจำแบบชั่วคราวซึ่งข้อมูลจะหายไปเมื่อไม่มีไฟเลี้ยง และหน่วยความจำแบบอีอีพรอม (Erasable Electrically Read-Only Memory : EEPROM) ซึ่งสามารถเก็บข้อมูลได้แม้ไม่มีไฟเลี้ยงก็ตาม ในอดีตหน่วยความจำโปรแกรมจะเป็นแบบ EPROM ซึ่งหน่วยความจำประเภทนี้จะทำการลบข้อมูลด้วยแสงอัลตราไวโอเลตความเข้มข้นสูง
3.ส่วนติดต่อกับอุปกรณ์ภายนอก
หรือพอร์ต (Port) ส่วนติดต่อกับอุปกรณ์ภายนอกจะมี 2 ลักษณะคือ พอร์ตอินพุต(Input Port) มีหน้าที่รับสัญญาณจากอุปกรณ์ภายนอก ไม่ว่าจะอยู่ในรูปแบบสัญญาณอนาล็อก หรือดิจิตอล เพื่อนำสัญญาณดังกล่าวส่งต่อไปยังหน่วยประมวลผลกลางทำการประมวลผลต่อไป และเมื่อมีการประมวลผลเสร็จเรียบร้อยและจะมีการจัดเก็บในหน่วยความจำส่วนหนึ่ง และอีกส่วนหนึ่งจะส่งสัญญาณออกไปที่พอร์ตเอาต์พุต(Output Port) ส่วนนี้จะใช้ในการเชื่อมต่อกับอุปกรณ์ภายนอกเพื่อใช้ในการแสดงผล เช่น การติด-ดับของหลอดไฟแอดอีดี สัญญาณเสียงจากลำโพง เป็นต้น
4.ช่องทางเดินของสัญญาณหรือบัส (BUS) ช่องทางเดินของสัญญาณคือเส้นทางการแลกเปลี่ยนสัญญาณข้อมูลระหว่างหน่วยประมวลผลกับ หน่วยความจำและพอร์ตต่าง ๆ จะเป็นลักษณะของสายสัญญาณาจำนวนมากอยู่ภายใน ไมโครคอนโทรลเลอร์จะแบ่งช่องทางเดินของข้อมูลดังกล่าวออกเป็น 3 ประเภท ตามลักษณะการทำงานดังต่อไปนี้
- บัสตำแหน่ง(Address Bus) จะเป็นกลุ่มสายสัญญาณที่ใช้สำหรับกำหนดตำแหน่งของข้อมูลในหน่วยความจำ หรือระบุตำแหน่งที่อยู่ของอุปกรณ์ภายนอกต่าง ๆ โดยบัสตำแหน่งจะเป็นเส้นทางที่ใช้ส่งข้อมูลออกจากหน่วยประมวลผลเพียงทิศทางเดียว โดยใช้เพื่อระบุ ตำแหน่งของอุปกรณ์ที่ต้องการจะติดต่อด้วยเท่านั้น
- บัสข้อมูล(Data Bus) จะเป็นกลุ่มสายสัญญาณที่ใช้ในการรับส่งข้อมูลหรือรหัสคำสั่ง ต่าง ๆ ระหว่างหน่วยประมวลผลกับหน่วยความจำโปรแกรม หน่วยความจำข้อมูล อุปกรณ์อินพุตและอุปกรณ์เอาต์พุตทุกตัวที่ต่อพ่วงอยู่กับระบบ โดยบัสข้อมูลนี้จะเป็นแบบสองทิศทางสามารถรับและส่งข้อมูลทั้งไปและกลับในสายสัญญาณเดียวกัน โดยบัสข้อมูลเปรียบเสมือนช่องทางเดินรถ ถ้ามีจำนวนมากจะทำให้การติดต่อทำได้รวดเร็วขึ้น เช่น บัสข้อมูลแบบ 8 บิตจะทำงานได้เร็วกว่าบัสข้อมูลแบบ 4 บิต
- บัสควบคุม (Control Bus) จะเป็นกลุ่มสายสัญญาณที่ส่งสัญญาณควบคุมการทำงานต่าง ๆ ของระบบ โดยมีหน่วยประมวลผลกลางสามารถส่งสัญญาณไปควบคุมหน่วยความจำและอุปกรณ์อินพุต/เอาต์พุตภายนอกเพื่ออ่านหรือเขียนข้อมูล และอุปกรณ์ภายนอกก็สามารถส่งสัญญาณมาควบคุมการทำงานของหน่วยประมวลผลกลางได้เช่น การรีเซต เป็นต้น
5.วงจรกำเนิดสัญญาณนาฬิกา (Clock) วงจรกำเนิดสัญญาณนาฬิกา เป็นส่วนสำคัญอีกอย่างหนึ่ง เนื่องจากการทำงานที่เกิดขึ้นในตัวไมโครคอนโทรลเลอร์จะขึ้นอยู่กับการกำหนดจังหวะ ของสัญญาณนาฬิกา หากสัญญาณนาฬิกามีความถี่สูง จังหวะการทำงานก็ถี่ขึ้น ส่งผลให้ไมโครคอนโทรลเลอร์ตัวนั้นมีความเร็วในการประมวลผลสูงตามไปด้วย
ความคิดเห็น
แสดงความคิดเห็น