ข้ามไปที่เนื้อหาหลัก

โครงสร้างของไมโครคอนโทรลเลอร์

       โครงสร้างของไมโครคอนโทรลเลอร์ จากบทความก่อนหน้านี้ผมได้เขียนถึงความแตกต่างระหว่างไมโครคอนโทรลเลอร์และ ไมโครโพรเซสเซอร์มาแล้ว ทำให้เห็นได้ว่าไมโครคอนโทรลเลอร์จะมีส่วนประกอบต่าง ๆ ไม่ว่าจะเป็นในส่วนของหน่วยประมวลผล(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) วงจรกำเนิดสัญญาณนาฬิกา เป็นส่วนสำคัญอีกอย่างหนึ่ง เนื่องจากการทำงานที่เกิดขึ้นในตัวไมโครคอนโทรลเลอร์จะขึ้นอยู่กับการกำหนดจังหวะ ของสัญญาณนาฬิกา หากสัญญาณนาฬิกามีความถี่สูง จังหวะการทำงานก็ถี่ขึ้น ส่งผลให้ไมโครคอนโทรลเลอร์ตัวนั้นมีความเร็วในการประมวลผลสูงตามไปด้วย








ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

หลอด LED หรือ ไดโอดเปล่งแสง

หลอด LED หรือ ไดโอดเปล่งแสง      ไดโอดเปล่งแสง (light-emitting diode) เรียกย่อ ๆ ว่า LED คือ เป็นอุปกรณ์อิเล็กทรอนิกส์จำพวกสารกึ่งตัวนำซึ่งสามารถเปล่งแสงออกมาได้แสงที่เปล่งออกมาประกอบด้วยคลื่นความถี่เดียวและเฟสต่อเนื่องกัน ซึ่งต่างกับแสงธรรมดาที่ตาคนมองเห็นโดยหลอด LED สามารถเปล่งแสงได้เมื่อจ่ายกระแสไฟฟ้าเข้าเพียงเล็กน้อยเท่านั้น และประสิทธิภาพในการให้แสงสว่างก็ยังดีกว่าหลอดไฟขนาดเล็กทั่ว ๆ ไป LED เป็นอุปกรณ์อิเล็กทรอนิกส์ชนิดหนึ่งที่ให้แสงสว่างซึ่งมีหลายขนาดและมีรูปร่างหลายแบบขึ้นอยู่กับลักษณะการใช้งานหลอด LED สามารถให้แสงได้หลายๆ ความยาวคลื่น เช่น สามารถให้แสงสีแดง, แสงสีน้ำเงิน, แสงสีเขียว, แสงสีขาว ฯลฯ       โดยทั่วไปมี 2 ชนิดใหญ่ ๆ คือ LED ชนิดที่ตาคนเห็นได้ กับชนิดที่ตาคนมองไม่เห็นต้องใช้ทรานซิสเตอร์มาเป็นตัวรับแสงแทนตาคน       ปัจจุบันจากความก้าวหน้าอย่างรวดเร็วของเทคโนโลยีเซมิคอนดักเตอร์ ทำให้เทคโนโลยีของ LED ก้าวหน้าอย่างรวดเร็วตามไปด้วย. LED ได้ถูกพัฒนาขึ้นเรื่อย ๆ ทั้งในด้านสีของแสงที่เปล่งออกมา ไม่ว่าจะเป็นสีแดง ,สีเขียว ,สีส้ม หรือที่ผลิตได้ท้ายสุด และทำให้วงการแอลอีดีพัฒน

ไมโครคอนโทรลเลอร์ Arduino Mega 2560

ไมโครคอนโทรลเลอร์ Arduino Mega 2560        บอร์ด Arduino Mega 2560 จะเหมือนกับ Arduino MEGA ADK ต่างกันตรงที่บนบอร์ดไม่มี USB Host มาให้ การโปรแกรมยังต้องทำผ่านโปรโตคอล UART อยู่ บนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega2560 ข้อมูลจำเพาะ      1. ชิปไอซีไมโครคอนโทรเลอร์ ATmega2560      2. ใช้แรงดันไฟฟ้า 5V      3. รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ) 7 – 12V      4. รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด) 6 – 20V      5. พอร์ต Digital I/O 54 พอร์ต (มี 15 พอร์ต PWM output)      6. พอร์ต Analog Input 16 พอร์ต      7. กระแสไฟฟ้ารวมที่จ่ายได้ในทุกพอร์ต 40mA      8. กระแสไปที่จ่ายได้ในพอร์ต 3.3V 50mA      9. พื้นที่โปรแกรมภายใน 256KB แต่ 8KB ถูกใช้โดย Bootloader      10. พื้นที่แรม 8KB      11. พื้นที่หน่วยความจำถาวร (EEPROM) 4KB      12. ความถี่คริสตัล 16MHz ขอขอบคุณข้อมูลจาก http://www.ioxhop.com/

มอเตอร์ไฟฟ้ากระแสตรง (DC Motor)

มอเตอร์ไฟฟ้ากระแสตรง (DC Motor)        มอเตอร์ไฟฟ้ากระแสตรง (Direct current motor) หรือเรียกว่า ดี.ซี มอเตอร์ (D.C. MOTOR) เป็นเครื่องกลไฟฟ้ากระแสตรงที่เปลี่ยนพลังงานไฟฟ้าเป็นพลังงานกลมีทั้งชนิดกระตุ้นฟีลด์จากภายนอก (Separated excited motor) และชนิดกระตุ้นฟีลด์ด้วยตัวเอง (Self excited motor) มอเตอร์ไฟฟ้ากระแสตรงเป็นต้นกำลังขับที่สำคัญอย่างหนึ่งในโรงงานอุตสาหกรรมเพราะ มีคุณสมบัติที่เด่นในด้านการปรับความเร็วรอบตั้งแต่ความเร็วรอบต่ำสุดไปจนถึงความเร็วรอบสูงสุด นิยมใช้ในโรงงานทอผ้า โรงงานเส้นใยโพลี เอสเตอร์ โรงงานถลุงโลหะ และเป็นต้นกำลังขับในรถไฟฟ้า       หลักการทำงานของมอเตอร์ไฟฟ้ากระแสตรง (Direct current motor) เมื่อแรงดันไฟฟ้ากระแสตรงเข้าไปในมอเตอร์ ส่วนหนึ่งจะ แปรงถ่านผ่านคอมมิวเตเตอร์เข้าไปในขดลวดอาร์มาเจอร์สร้างสนามแม่เหล็กขึ้น และกระแสไฟฟ้าอีกส่วนหนึ่งจะไหลเข้าไปในขดลวดสนามแม่เหล็ก (Field coil) สร้างขั้วเหนือ-ใต้ขึ้น จนเกิดสนามแม่เหล็ก 2 สนาม ในขณะเดียวกันตามคุณสมบัติของเส้นแรง แม่เหล็กจะไม่ตัดกัน ทิศทางตรงข้ามจะหักล้างกันและทิศทางเดียวจะเสริมแรงกัน ทำให้เกิดแรงบิดในตัวอาร์มาเจอร์ ท