- ปัจจัยสำคัญที่ต้องพิจารณาเมื่อเลือก MCU
- 1. ใบสมัคร
- 2. เลือกสถาปัตยกรรมไมโครคอนโทรลเลอร์
- 3. ขนาดบิต
- 4. อินเทอร์เฟซสำหรับการสื่อสาร
- 5. แรงดันไฟฟ้า
- 6. จำนวนพิน I / O
- 7. ข้อกำหนดหน่วยความจำ
- 8. ขนาดบรรจุภัณฑ์
- 9. การใช้พลังงาน
- 10. รองรับไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์เป็นคอมพิวเตอร์ขนาดเล็กบนชิปเช่นเดียวกับคอมพิวเตอร์ทุกเครื่องมีหน่วยความจำและมักจะตั้งโปรแกรมในระบบฝังตัวเพื่อรับอินพุตทำการคำนวณและสร้างเอาต์พุต แตกต่างจากโปรเซสเซอร์ตรงที่ประกอบด้วยหน่วยความจำซีพียู I / O และอุปกรณ์ต่อพ่วงอื่น ๆ บนชิปตัวเดียวดังที่แสดงในเค้าโครงด้านล่าง
การเลือกไมโครคอนโทรลเลอร์ที่เหมาะสมสำหรับโปรเจ็กต์นั้นเป็นการตัดสินใจที่ซับซ้อนเสมอเพราะมันเป็นหัวใจสำคัญของโปรเจ็กต์และความสำเร็จหรือล้มเหลวของระบบขึ้นอยู่กับมัน
ไมโครคอนโทรลเลอร์มีหลายพันประเภทแต่ละประเภทมีคุณสมบัติที่เป็นเอกลักษณ์หรือข้อได้เปรียบในการแข่งขันตั้งแต่ฟอร์มแฟคเตอร์ขนาดแพ็คเกจไปจนถึงความจุของ RAM และ ROM ที่ทำให้เหมาะสมกับแอพพลิเคชั่นบางตัวและไม่เหมาะสำหรับแอพพลิเคชั่นบางตัว บ่อยครั้งเพื่อหลีกเลี่ยงความปวดหัวที่มาพร้อมกับการเลือกสิ่งที่เหมาะสมนักออกแบบจึงเลือกใช้ไมโครคอนโทรลเลอร์ที่พวกเขาคุ้นเคยซึ่งในบางครั้งพวกเขาก็ไม่ได้เป็นไปตามข้อกำหนดของโครงการ บทความในวันนี้จะกล่าวถึงปัจจัยสำคัญบางประการที่ต้องพิจารณาเมื่อเลือกไมโครคอนโทรลเลอร์รวมถึงสถาปัตยกรรมหน่วยความจำอินเทอร์เฟซและอสังหาริมทรัพย์ I / O เป็นต้น
ปัจจัยสำคัญที่ต้องพิจารณาเมื่อเลือก MCU
ต่อไปนี้เป็นปัจจัยสำคัญบางประการที่ต้องพิจารณาเมื่อเลือกไมโครคอนโทรลเลอร์รวมถึงสถาปัตยกรรมหน่วยความจำอินเทอร์เฟซและอสังหาริมทรัพย์ I / O เป็นต้น
1. ใบสมัคร
สิ่งแรกที่ต้องทำก่อนที่จะเลือกไมโครคอนโทรลเลอร์สำหรับโครงการใด ๆ คือการพัฒนาความเข้าใจอย่างลึกซึ้งเกี่ยวกับงานที่จะต้องปรับใช้โซลูชันที่ใช้ไมโครคอนโทรลเลอร์ เอกสารข้อมูลจำเพาะทางเทคนิคได้รับการพัฒนาอยู่เสมอในระหว่างกระบวนการนี้และจะช่วยในการกำหนดคุณสมบัติเฉพาะของไมโครคอนโทรลเลอร์ที่จะใช้สำหรับโครงการ ตัวอย่างที่ดีของวิธีการที่แอปพลิเคชัน / การใช้งานอุปกรณ์กำหนดไมโครคอนโทรลเลอร์ที่จะใช้แสดงเมื่อนำไมโครคอนโทรลเลอร์ที่มีหน่วยทศนิยมมาใช้ในการออกแบบอุปกรณ์ที่จะใช้ในการดำเนินการที่เกี่ยวข้องกับตัวเลขทศนิยมจำนวนมาก
2. เลือกสถาปัตยกรรมไมโครคอนโทรลเลอร์
สถาปัตยกรรมของไมโครคอนโทรลเลอร์หมายถึงโครงสร้างของไมโครคอนโทรลเลอร์ภายใน มีสองสถาปัตยกรรมหลักที่ใช้ในการออกแบบไมโครคอนโทรลเลอร์
- สถาปัตยกรรมฟอนนอยมันน์
- สถาปัตยกรรมฮาร์วาร์ด
สถาปัตยกรรมฟอนนอยมันน์มีการใช้บัสเดียวกันในการส่งข้อมูลและดึงชุดคำสั่งจากหน่วยความจำ ดังนั้นจึงไม่สามารถดำเนินการถ่ายโอนข้อมูลและการดึงข้อมูลคำสั่งพร้อมกันได้และโดยปกติจะกำหนด ในทางกลับกันสถาปัตยกรรม Harvard มีการใช้บัสแยกต่างหากสำหรับการส่งข้อมูลและการดึงคำสั่ง
แต่ละสถาปัตยกรรมเหล่านี้มีข้อดีและข้อเสียของตัวเอง ตัวอย่างเช่นสถาปัตยกรรม Harvard เป็นคอมพิวเตอร์ RISC (Reduced instruction Set) และสามารถดำเนินการคำสั่งได้มากขึ้นโดยมีรอบการทำงานต่ำกว่าคอมพิวเตอร์ CISC (Complex instruction Set) ซึ่งใช้สถาปัตยกรรม von Neumann ข้อได้เปรียบที่สำคัญอย่างหนึ่งของไมโครคอนโทรลเลอร์ที่ใช้ Harvard (RISC) คือความจริงที่ว่าการมีบัสที่แตกต่างกันสำหรับข้อมูลและชุดคำสั่งทำให้สามารถแยกการเข้าถึงหน่วยความจำและการทำงานของหน่วยเลขคณิตและตรรกะ (ALU) ซึ่งจะช่วยลดปริมาณพลังงานในการคำนวณที่ไมโครคอนโทรลเลอร์ต้องการและนำไปสู่การลดต้นทุนการใช้พลังงานต่ำและการกระจายความร้อนซึ่งทำให้เหมาะสำหรับการออกแบบอุปกรณ์ที่ใช้แบตเตอรี่ ARM จำนวนมากไมโครคอนโทรลเลอร์ AVR และ PIC ใช้สถาปัตยกรรมของฮาร์วาร์ด ตัวอย่างไมโครคอนโทรลเลอร์ที่ใช้สถาปัตยกรรม Von Neumann ได้แก่ 8051, zilog Z80 เป็นต้น
3. ขนาดบิต
ไมโครคอนโทรลเลอร์สามารถเป็น 8 บิต 16 บิต 32 บิตและ 64 บิตซึ่งเป็นขนาดบิตสูงสุดในปัจจุบันที่ไมโครคอนโทรลเลอร์ครอบครอง ขนาดบิตของไมโครคอนโทรลเลอร์แสดงถึงขนาดของ "คำ" ที่ใช้ในชุดคำสั่งของไมโครคอนโทรลเลอร์ ซึ่งหมายความว่าในไมโครคอนโทรลเลอร์ 8 บิตการแสดงทุกคำสั่งที่อยู่ตัวแปรหรือรีจิสเตอร์จะใช้เวลา 8 บิต นัยสำคัญประการหนึ่งของขนาดบิตคือความจุหน่วยความจำของไมโครคอนโทรลเลอร์ ตัวอย่างเช่นในไมโครคอนโทรลเลอร์ 8 บิตมีตำแหน่งหน่วยความจำที่ไม่ซ้ำกัน 255 ตำแหน่งตามขนาดบิตในขณะที่ในไมโครคอนโทรลเลอร์ 32 บิตมีตำแหน่งหน่วยความจำที่ไม่ซ้ำกัน 4,294,967,295 ตำแหน่งซึ่งหมายความว่ายิ่งขนาดบิตสูงเท่าใดจำนวนที่ไม่ซ้ำกันก็จะยิ่งสูงขึ้นเท่านั้น ตำแหน่งหน่วยความจำที่พร้อมใช้งานสำหรับไมโครคอนโทรลเลอร์ ผู้ผลิตทุกวันนี้กำลังพัฒนาวิธีในการเข้าถึงตำแหน่งหน่วยความจำเพิ่มเติมให้กับไมโครคอนโทรลเลอร์ขนาดบิตที่เล็กกว่าผ่านการเพจและการกำหนดแอดเดรสเพื่อให้ไมโครคอนโทรลเลอร์ 8 บิตกลายเป็นแอดเดรส 16 บิต แต่มีแนวโน้มที่จะทำให้การเขียนโปรแกรมซับซ้อนสำหรับนักพัฒนาซอฟต์แวร์ฝังตัว
ผลกระทบของขนาดบิตน่าจะเกิดขึ้นอย่างมากเมื่อพัฒนาเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์โดยเฉพาะสำหรับการคำนวณทางคณิตศาสตร์ ประเภทข้อมูลต่างๆมีขนาดหน่วยความจำที่แตกต่างกันสำหรับขนาดบิตไมโครคอนโทรลเลอร์ที่แตกต่างกัน ตัวอย่างเช่นการใช้ตัวแปรที่ประกาศเป็นจำนวนเต็มที่ไม่ได้ลงนามซึ่งเนื่องจากชนิดข้อมูลจะต้องใช้หน่วยความจำ 16 บิตในรหัสที่ดำเนินการบนไมโครคอนโทรลเลอร์ 8 บิตจะนำไปสู่การสูญเสียไบต์ที่สำคัญที่สุดในข้อมูลซึ่งในบางครั้งอาจเป็น มีความสำคัญอย่างยิ่งต่อความสำเร็จของงานที่จะใช้อุปกรณ์ที่จะใช้ไมโครคอนโทรลเลอร์ได้รับการออกแบบ
มันเป็นสิ่งสำคัญที่ทำให้การเลือกไมโครคอนโทรลเลอร์ที่มีขนาดบิตที่ตรงกับที่ของข้อมูลที่ต้องดำเนินการ
อาจเป็นเรื่องสำคัญที่ต้องทราบว่าแอปพลิเคชันส่วนใหญ่ในปัจจุบันอยู่ระหว่างไมโครคอนโทรลเลอร์ 32 บิตและ 16 บิตเนื่องจากความก้าวหน้าทางเทคโนโลยีที่รวมอยู่ในชิปเหล่านี้
4. อินเทอร์เฟซสำหรับการสื่อสาร
การสื่อสารระหว่างไมโครคอนโทรลเลอร์กับเซ็นเซอร์และแอคชูเอเตอร์บางตัวที่จะใช้สำหรับโครงการอาจต้องใช้อินเทอร์เฟซระหว่างไมโครคอนโทรลเลอร์กับเซ็นเซอร์หรือตัวกระตุ้นเพื่ออำนวยความสะดวกในการสื่อสาร ยกตัวอย่างเช่นในการเชื่อมต่อเซ็นเซอร์อะนาล็อกกับไมโครคอนโทรลเลอร์จะต้องให้ไมโครคอนโทรลเลอร์มี ADC เพียงพอ (ตัวแปลงอนาล็อกเป็นดิจิตอล) หรือตามที่ฉันได้กล่าวไว้ก่อนหน้านี้การเปลี่ยนแปลงความเร็วของมอเตอร์ DC อาจต้องใช้อินเทอร์เฟซ PWM บนไมโครคอนโทรลเลอร์ ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องยืนยันว่าไมโครคอนโทรลเลอร์ที่จะเลือกมีอินเทอร์เฟซที่จำเป็นเพียงพอรวมถึง UART, SPI, I2C เป็นต้น
5. แรงดันไฟฟ้า
แรงดันไฟฟ้าที่ใช้งานคือระดับแรงดันไฟฟ้าที่ระบบออกแบบมาให้ทำงาน นอกจากนี้ยังเป็นระดับแรงดันไฟฟ้าที่เกี่ยวข้องกับลักษณะบางอย่างของระบบ ในการออกแบบฮาร์ดแวร์แรงดันไฟฟ้าในการทำงานในบางครั้งจะกำหนดระดับตรรกะที่ไมโครคอนโทรลเลอร์สื่อสารกับส่วนประกอบอื่น ๆ ที่ประกอบขึ้นเป็นระบบ
ระดับแรงดันไฟฟ้า 5V และ 3.3V เป็นแรงดันไฟฟ้าที่ใช้สำหรับไมโครคอนโทรลเลอร์และควรตัดสินใจว่าจะใช้ระดับแรงดันไฟฟ้าใดในระหว่างขั้นตอนการพัฒนาข้อกำหนดทางเทคนิคของอุปกรณ์ การใช้ไมโครคอนโทรลเลอร์ที่มีแรงดันไฟฟ้า 3.3V ในการออกแบบอุปกรณ์ที่ส่วนประกอบภายนอกเซ็นเซอร์และแอคชูเอเตอร์ส่วนใหญ่จะทำงานในระดับแรงดัน 5V จะไม่ใช่การตัดสินใจที่ชาญฉลาดมากนักเนื่องจากจะต้องใช้ระดับลอจิก ชิฟเตอร์หรือตัวแปลงเพื่อให้สามารถแลกเปลี่ยนข้อมูลระหว่างไมโครคอนโทรลเลอร์และส่วนประกอบอื่น ๆ ซึ่งจะเพิ่มต้นทุนการผลิตและต้นทุนโดยรวมของอุปกรณ์โดยไม่จำเป็น
6. จำนวนพิน I / O
จำนวนพอร์ตอินพุต / เอาท์พุตวัตถุประสงค์ทั่วไปหรือพิเศษและ (หรือ) พินที่มีอยู่ในไมโครคอนโทรลเลอร์เป็นปัจจัยที่สำคัญที่สุดอย่างหนึ่งที่มีผลต่อการเลือกไมโครคอนโทรลเลอร์
หากไมโครคอนโทรลเลอร์ต้องมีคุณสมบัติอื่น ๆ ทั้งหมดที่กล่าวถึงในบทความนี้ แต่มีพิน IO ไม่เพียงพอตามที่โครงการต้องการก็จะไม่สามารถใช้งานได้ เป็นสิ่งสำคัญที่ไมโครคอนโทรลเลอร์จะต้องมีพิน PWM เพียงพอเพื่อควบคุมจำนวนมอเตอร์กระแสตรงซึ่งความเร็วจะแตกต่างกันไปตามอุปกรณ์ แม้ว่าจำนวนพอร์ต I / O บนไมโครคอนโทรลเลอร์จะสามารถขยายได้โดยใช้ shift register แต่ก็ไม่สามารถใช้กับแอปพลิเคชันทุกประเภทและเพิ่มต้นทุนของอุปกรณ์ที่ใช้ ดังนั้นจึงเป็นการดีกว่าที่จะตรวจสอบให้แน่ใจว่าไมโครคอนโทรลเลอร์ที่เลือกสำหรับการออกแบบมีจำนวนพอร์ต I / O วัตถุประสงค์ทั่วไปและวัตถุประสงค์พิเศษที่ต้องการสำหรับโครงการ
สิ่งสำคัญอีกประการหนึ่งที่ควรคำนึงถึงเมื่อกำหนดจำนวนพิน I / O วัตถุประสงค์ทั่วไปหรือวัตถุประสงค์พิเศษที่จำเป็นสำหรับโปรเจ็กต์คือการปรับปรุงในอนาคตที่อาจเกิดขึ้นกับอุปกรณ์และการปรับปรุงเหล่านั้นอาจส่งผลต่อจำนวนพิน I / O อย่างไร จำเป็น
7. ข้อกำหนดหน่วยความจำ
มีหน่วยความจำหลายประเภทที่เกี่ยวข้องกับไมโครคอนโทรลเลอร์ที่นักออกแบบควรระวังเมื่อทำการเลือก สิ่งที่สำคัญที่สุดคือ RAM, ROM และ EEPROM จำนวนความทรงจำที่จำเป็นเหล่านี้อาจเป็นเรื่องยากที่จะประมาณจนกว่าจะถูกใช้ แต่การตัดสินปริมาณงานที่ต้องการของไมโครคอนโทรลเลอร์สามารถคาดเดาได้ อุปกรณ์หน่วยความจำที่กล่าวถึงข้างต้นสร้างข้อมูลและโปรแกรมหน่วยความจำของไมโครคอนโทรลเลอร์
หน่วยความจำโปรแกรมของไมโครคอนโทรลเลอร์จะจัดเก็บเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ดังนั้นเมื่อตัดการเชื่อมต่อไฟจากไมโครคอนโทรลเลอร์เฟิร์มแวร์จะไม่สูญหาย จำนวนหน่วยความจำโปรแกรมที่ต้องการขึ้นอยู่กับจำนวนข้อมูลเช่นไลบรารีตารางไฟล์ไบนารีสำหรับรูปภาพและอื่น ๆ ที่จำเป็นเพื่อให้เฟิร์มแวร์ทำงานได้อย่างถูกต้อง
ในทางกลับกันหน่วยความจำข้อมูลจะถูกใช้ในระหว่างเวลาทำงาน ตัวแปรและข้อมูลทั้งหมดที่สร้างขึ้นจากการประมวลผลระหว่างกิจกรรมอื่น ๆ ระหว่างรันไทม์จะถูกเก็บไว้ในหน่วยความจำนี้ ดังนั้นความซับซ้อนของการคำนวณที่จะเกิดขึ้นระหว่างรันไทม์จึงสามารถใช้เพื่อประมาณจำนวนหน่วยความจำข้อมูลที่จำเป็นสำหรับไมโครคอนโทรลเลอร์
8. ขนาดบรรจุภัณฑ์
ขนาดบรรจุภัณฑ์หมายถึงฟอร์มแฟคเตอร์ของไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์โดยทั่วไปมาในแพ็คเกจตั้งแต่ QFP, TSSOP, SOIC ไปจนถึง SSOP และแพ็คเกจ DIP ปกติซึ่งทำให้การติดตั้งบนเขียงหั่นขนมเพื่อการสร้างต้นแบบเป็นเรื่องง่าย สิ่งสำคัญคือต้องวางแผนล่วงหน้าในการผลิตและคาดการณ์ว่าแพ็คเกจใดจะดีที่สุด
9. การใช้พลังงาน
นี่เป็นปัจจัยที่สำคัญที่สุดอย่างหนึ่งที่ต้องพิจารณาเมื่อเลือกไมโครคอนโทรลเลอร์โดยเฉพาะอย่างยิ่งเมื่อต้องใช้งานในแอพพลิเคชั่นที่ใช้แบตเตอรี่เช่นอุปกรณ์ IoT ซึ่งต้องการให้ไมโครคอนโทรลเลอร์มีพลังงานต่ำที่สุด แผ่นข้อมูลของไมโครคอนโทรลเลอร์ส่วนใหญ่มีข้อมูลเกี่ยวกับฮาร์ดแวร์และ (หรือ) เทคนิคต่างๆที่ใช้ซอฟต์แวร์ซึ่งสามารถใช้เพื่อลดปริมาณพลังงานที่ไมโครคอนโทรลเลอร์ใช้ในโหมดต่างๆ ตรวจสอบให้แน่ใจว่าไมโครคอนโทรลเลอร์ที่คุณเลือกตรงตามความต้องการพลังงานสำหรับโครงการของคุณ
10. รองรับไมโครคอนโทรลเลอร์
สิ่งสำคัญคือไมโครคอนโทรลเลอร์ที่คุณเลือกใช้งานมีการรองรับที่เพียงพอรวมถึง ตัวอย่างโค้ดการออกแบบอ้างอิงและหากเป็นไปได้ในชุมชนออนไลน์ขนาดใหญ่ การทำงานกับไมโครคอนโทรลเลอร์เป็นครั้งแรกอาจมาพร้อมกับความท้าทายที่แตกต่างกันและการเข้าถึงทรัพยากรเหล่านี้จะช่วยให้คุณเอาชนะได้อย่างรวดเร็ว ในขณะที่ใช้ไมโครคอนโทรลเลอร์รุ่นล่าสุดเนื่องจากคุณสมบัติใหม่ ๆ ที่มาพร้อมกับสิ่งที่ดีขอแนะนำให้ตรวจสอบให้แน่ใจว่าไมโครคอนโทรลเลอร์มีอายุการใช้งานอย่างน้อย 3-4 เดือนเพื่อให้แน่ใจว่าปัญหาส่วนใหญ่ในช่วงต้นที่อาจเกี่ยวข้องกับไมโครคอนโทรลเลอร์ จะได้รับการแก้ไขเนื่องจากลูกค้าหลายรายได้ทำการทดสอบไมโครคอนโทรลเลอร์กับแอพพลิเคชั่นต่างๆมากมาย
สิ่งสำคัญคือต้องเลือกไมโครคอนโทรลเลอร์ที่มีชุดประเมินผลที่ดีเพื่อให้คุณสามารถเริ่มสร้างต้นแบบและทดสอบคุณสมบัติต่างๆได้อย่างรวดเร็ว ชุดประเมินผลเป็นวิธีที่ดีในการรับประสบการณ์ทำความคุ้นเคยกับห่วงโซ่เครื่องมือที่ใช้ในการพัฒนาและประหยัดเวลาในระหว่างการพัฒนาอุปกรณ์
การเลือกไมโครคอนโทรลเลอร์ที่เหมาะสมสำหรับโครงการจะยังคงเป็นปัญหาต่อไปนักออกแบบฮาร์ดแวร์ทุกคนจะต้องแก้ไขและในขณะที่มีปัจจัยอื่น ๆ อีกเล็กน้อยที่อาจส่งผลต่อการเลือกไมโครคอนโทรลเลอร์ แต่ปัจจัยเหล่านี้ที่กล่าวถึงข้างต้นก็สำคัญที่สุด