- ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์
- ปัจจัยที่ต้องพิจารณาเมื่อเลือก MPU หรือ MCU
- 1. พลังการประมวลผล
- 2. อินเทอร์เฟซ
- 3. หน่วยความจำ
- 4. อำนาจ
- สรุป
สมองของอุปกรณ์ฝังตัวซึ่งเป็นหน่วยประมวลผลเป็นตัวกำหนดความสำเร็จหรือความล้มเหลวของอุปกรณ์ในการทำงานให้สำเร็จตามที่ออกแบบไว้ หน่วยประมวลผลมีหน้าที่รับผิดชอบในทุกกระบวนการที่เกี่ยวข้องตั้งแต่อินพุตไปยังระบบจนถึงผลลัพธ์สุดท้ายดังนั้นการเลือกแพลตฟอร์มที่เหมาะสมสำหรับสมองจึงมีความสำคัญมากในระหว่างการออกแบบอุปกรณ์เนื่องจากสิ่งอื่น ๆ จะขึ้นอยู่กับความแม่นยำของการตัดสินใจนั้น
ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์
ส่วนประกอบการประมวลผลที่ใช้สำหรับอุปกรณ์ฝังตัวสามารถแบ่งออกเป็นสองประเภทกว้าง ๆ ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์
ไมโครคอนโทรลเลอร์เป็นอุปกรณ์คอมพิวเตอร์ขนาดเล็กบนชิปตัวเดียวที่มีคอร์ประมวลผลตั้งแต่หนึ่งคอร์ขึ้นไปโดยมีอุปกรณ์หน่วยความจำฝังอยู่ข้างพอร์ตอินพุตและเอาท์พุต (I / O) แบบพิเศษและเอนกประสงค์ที่ตั้งโปรแกรมได้ ใช้โดยเฉพาะอย่างยิ่งในแอปพลิเคชันที่ต้องทำเฉพาะงานซ้ำ ๆ เราได้พูดคุยเกี่ยวกับการเลือกไมโครคอนโทรลเลอร์ที่เหมาะสมสำหรับโครงการฝังตัวของคุณแล้ว
ในทางกลับกันไมโครโปรเซสเซอร์เป็นอุปกรณ์คอมพิวเตอร์ที่ใช้งานทั่วไปซึ่งรวมฟังก์ชันทั้งหมดของหน่วยประมวลผลกลางไว้บนชิป แต่ไม่รวมถึงอุปกรณ์ต่อพ่วงเช่นหน่วยความจำและขาอินพุตและเอาต์พุตเช่นไมโครคอนโทรลเลอร์
แม้ว่าตอนนี้ผู้ผลิตจะเปลี่ยนสิ่งต่างๆมากมายที่ทำให้เส้นแบ่งระหว่างไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์เบลอเช่นการใช้หน่วยความจำบนชิปสำหรับไมโครโปรเซสเซอร์และความสามารถของไมโครคอนโทรลเลอร์ในการเชื่อมต่อกับหน่วยความจำภายนอก แต่ความแตกต่างที่สำคัญยังคงมีอยู่ระหว่างส่วนประกอบเหล่านี้และผู้ออกแบบจะ ต้องเลือกสิ่งที่ดีที่สุดสำหรับโครงการใดโครงการหนึ่ง
เรียนรู้เพิ่มเติมเกี่ยวกับความแตกต่างระหว่างไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์
ปัจจัยที่ต้องพิจารณาเมื่อเลือก MPU หรือ MCU
ก่อนที่จะตัดสินใจเกี่ยวกับทิศทางที่จะดำเนินการเกี่ยวกับอุปกรณ์ประมวลผลที่จะใช้สำหรับการออกแบบผลิตภัณฑ์ฝังตัวสิ่งสำคัญคือต้องพัฒนาข้อกำหนดการออกแบบ การพัฒนาข้อกำหนดการออกแบบเป็นช่องทางสำหรับการออกแบบอุปกรณ์ล่วงหน้าซึ่งช่วยระบุรายละเอียดปัญหาที่ต้องแก้ไขวิธีแก้ไขเน้นส่วนประกอบที่จะใช้และอื่น ๆ อีกมากมาย สิ่งนี้ช่วยให้นักออกแบบสามารถตัดสินใจโดยทั่วไปเกี่ยวกับโครงการและช่วยกำหนดทิศทางที่จะเดินทางไปยังหน่วยประมวลผล
ปัจจัยบางประการในข้อกำหนดการออกแบบที่ต้องพิจารณาก่อนเลือกระหว่างไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์มีอธิบายไว้ด้านล่าง
1. พลังการประมวลผล
พลังในการประมวลผลเป็นหนึ่งในสิ่งสำคัญ (ถ้าไม่ใช่หลัก) ที่ต้องพิจารณาเมื่อเลือกระหว่างไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ เป็นหนึ่งในปัจจัยหลักที่ใช้กับไมโครโปรเซสเซอร์ในการเอียง มีการวัดเป็น DMIPS (Dhrystone Million of Instructions Per Seconds) และแสดงถึงจำนวนคำสั่งที่ไมโครคอนโทรลเลอร์หรือไมโครโปรเซสเซอร์สามารถประมวลผลได้ในหนึ่งวินาที โดยพื้นฐานแล้วเป็นการบ่งชี้ว่าอุปกรณ์สามารถทำงานที่มอบหมายให้สำเร็จได้เร็วเพียงใด
ในขณะที่การกำหนดพลังการคำนวณที่แน่นอนที่การออกแบบของคุณต้องการอาจเป็นงานที่ยากมาก แต่การคาดเดาอย่างมีความรู้สามารถทำได้โดยการตรวจสอบงานอุปกรณ์กำลังถูกสร้างขึ้นเพื่อดำเนินการและข้อกำหนดในการคำนวณของงานเหล่านั้นอาจเป็นอย่างไร ตัวอย่างเช่นการพัฒนาอุปกรณ์ที่ต้องใช้ระบบปฏิบัติการเต็มรูปแบบทั้ง Linux, windows CE หรือระบบปฏิบัติการอื่น ๆ จะต้องใช้พลังประมวลผลสูงถึง 500 DMIPS ซึ่งฟังดูคล้ายกับโปรเซสเซอร์? ใช่. หากต้องการเพิ่มระบบปฏิบัติการบนอุปกรณ์จะต้องใช้หน่วยจัดการหน่วยความจำ (MMU) ซึ่งจะเพิ่มพลังการประมวลผลที่ต้องการ แอปพลิเคชันอุปกรณ์ที่เกี่ยวข้องกับการคำนวณจำนวนมากยังต้องการDMIPS ที่สูงมากค่าและยิ่งการคำนวณทางคณิตศาสตร์ / ตัวเลขที่อุปกรณ์ต้องดำเนินการมากเท่าไหร่ข้อกำหนดในการออกแบบก็จะหันไปทางการใช้ไมโครโปรเซสเซอร์มากขึ้นเท่านั้นเนื่องจากต้องใช้พลังในการประมวลผล
หนึ่งความหมายหลักอื่น ๆ ของพลังการประมวลผลที่มีผลต่อการเลือกระหว่างไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์เป็นความซับซ้อนหรือความเรียบง่ายของสิ่งที่ต้องการการเชื่อมต่อผู้ใช้เป็นสิ่งที่พึงปรารถนาในปัจจุบันที่จะมี GUI ที่มีสีสันและโต้ตอบได้แม้กระทั่งสำหรับแอปพลิเคชันพื้นฐานส่วนใหญ่ ไลบรารีส่วนใหญ่ที่ใช้ในการสร้างอินเทอร์เฟซผู้ใช้เช่น QT ต้องการพลังในการประมวลผลมากถึง 80 - 100 DMIPS และยิ่งมีการแสดงภาพเคลื่อนไหวรูปภาพและเนื้อหามัลติมีเดียอื่น ๆ ก็จะยิ่งต้องใช้พลังการประมวลผลมาก อย่างไรก็ตามอินเทอร์เฟซผู้ใช้ที่เรียบง่ายขึ้นบนหน้าจอความละเอียดต่ำนั้นต้องการพลังในการประมวลผลเพียงเล็กน้อยและสามารถขับเคลื่อนโดยใช้ไมโครคอนโทรลเลอร์ได้เนื่องจากทุกวันนี้มีอินเทอร์เฟซแบบฝังเพื่อโต้ตอบกับจอแสดงผลต่างๆ
มานีบางส่วนของฟังก์ชั่นหลักดังกล่าวข้างต้นเป็นสิ่งสำคัญเพื่อสำรองบางพลังการประมวลผลสำหรับการสื่อสารและอุปกรณ์ต่อพ่วงอื่น ๆ แม้ว่าตัวอย่างส่วนใหญ่ที่ให้ไว้ข้างต้นมักจะสนับสนุนการใช้ไมโครโปรเซสเซอร์ แต่โดยทั่วไปแล้วจะมีราคาแพงกว่าเมื่อเทียบกับไมโครคอนโทรลเลอร์และจะใช้งานมากเกินไปเมื่อใช้ในโซลูชันบางอย่างเช่นการใช้ไมโครโปรเซสเซอร์ 500 DMIPS เพื่อทำให้หลอดไฟอัตโนมัติจะทำให้ต้นทุนโดยรวม ของผลิตภัณฑ์สูงกว่าปกติและอาจนำไปสู่ความล้มเหลวในตลาดในที่สุด
2. อินเทอร์เฟซ
อินเทอร์เฟซที่ใช้เชื่อมต่อองค์ประกอบต่างๆของผลิตภัณฑ์เป็นปัจจัยหนึ่งที่ต้องพิจารณาก่อนเลือกระหว่างไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ เป็นสิ่งสำคัญเพื่อให้แน่ใจว่าหน่วยประมวลผลที่จะใช้มีอินเทอร์เฟซที่ส่วนประกอบอื่น ๆ ต้องการ
ตัวอย่างเช่นจากจุดเชื่อมต่อและการสื่อสารไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ส่วนใหญ่มีอินเทอร์เฟซที่จำเป็นในการเชื่อมต่อกับอุปกรณ์สื่อสาร แต่เมื่ออุปกรณ์ต่อพ่วงการสื่อสารความเร็วสูงเช่นอินเทอร์เฟซ USB 3.0 ความเร็วสูงจำเป็นต้องมีพอร์ต 10/100 Ethernet หลายพอร์ตหรือพอร์ต Gigabit Ethernet เอียงไปตามทิศทางของไมโครโปรเซสเซอร์เนื่องจากอินเทอร์เฟซที่จำเป็นในการรองรับโดยทั่วไปจะพบได้เฉพาะในอุปกรณ์เหล่านี้เนื่องจากสามารถจัดการและประมวลผลข้อมูลจำนวนมากและความเร็วในการถ่ายโอนข้อมูล
ผลกระทบของโปรโตคอลที่ใช้สำหรับอินเทอร์เฟซเหล่านี้ต่อจำนวนหน่วยความจำที่จำเป็นสำหรับเฟิร์มแวร์ควรได้รับการยืนยันเนื่องจากมีแนวโน้มที่จะเพิ่มความต้องการหน่วยความจำ เป็นกฎทั่วไปที่การออกแบบโดยใช้ไมโครโปรเซสเซอร์ถูกนำมาใช้สำหรับแอปพลิเคชันที่ต้องการการเชื่อมต่อความเร็วสูงโดยมีการแลกเปลี่ยนข้อมูลจำนวนมากโดยเฉพาะเมื่อระบบเกี่ยวข้องกับการใช้ระบบปฏิบัติการ
3. หน่วยความจำ
อุปกรณ์ประมวลผลข้อมูลทั้งสองนี้จัดการหน่วยความจำและการจัดเก็บข้อมูลแตกต่างกัน ไมโครคอนโทรลเลอร์เช่นมาพร้อมกับอุปกรณ์หน่วยความจำแบบฝังตัวในขณะที่ไมโครโปรเซสเซอร์มาพร้อมกับอินเทอร์เฟซที่อุปกรณ์หน่วยความจำสามารถเชื่อมต่อได้ ผลกระทบที่สำคัญสองประการคือ
ค่าใช้จ่าย
ไมโครคอนโทรลเลอร์กลายเป็นโซลูชันที่ถูกกว่าเนื่องจากไม่จำเป็นต้องใช้อุปกรณ์หน่วยความจำเพิ่มเติมในขณะที่ไมโครโปรเซสเซอร์กลายเป็นโซลูชันราคาแพงที่ต้องนำมาใช้เนื่องจากข้อกำหนดเพิ่มเติมเหล่านี้
หน่วยความจำ จำกัด
หน่วยความจำคงที่บนไมโครคอนโทรลเลอร์ทำให้จำนวนข้อมูลที่สามารถจัดเก็บได้มี จำกัด นี่เป็นสถานการณ์ที่ใช้ไม่ได้กับโปรเซสเซอร์เนื่องจากมักจะเชื่อมต่อกับอุปกรณ์หน่วยความจำภายนอก ตัวอย่างที่ดีเมื่อข้อ จำกัด นี้อาจเป็นปัญหาได้คือเมื่อพัฒนาเฟิร์มแวร์สำหรับอุปกรณ์ การเพิ่มกิโลไบต์เพิ่มเติมให้กับขนาดรหัสอาจต้องมีการเปลี่ยนแปลงไมโครคอนโทรลเลอร์เพื่อใช้งาน แต่ถ้าการออกแบบขึ้นอยู่กับโปรเซสเซอร์เราจะต้องเปลี่ยนอุปกรณ์หน่วยความจำเท่านั้น ดังนั้นไมโครโปรเซสเซอร์ให้มีความยืดหยุ่นมากขึ้นด้วยหน่วยความจำ
มีปัจจัยอื่น ๆ อีกหลายขึ้นอยู่กับหน่วยความจำที่จะได้รับการพิจารณาเป็นหนึ่งในนั้นคือ(การบูต) เวลาเริ่มต้นขึ้น ไมโครโปรเซสเซอร์เช่นจะเก็บเฟิร์มแวร์ไว้ในหน่วยความจำภายนอก (โดยปกติจะเป็นหน่วยความจำ NAND ภายนอกหรือ Serial Flash) และในการบู๊ตเฟิร์มแวร์จะถูกโหลดลงใน DRAM ของโปรเซสเซอร์ แม้ว่าจะเกิดขึ้นภายในไม่กี่วินาที แต่อาจไม่เหมาะสำหรับบางแอปพลิเคชัน ไมโครคอนโทรลเลอร์ที่อื่น ๆ ใช้เวลาน้อยลง
สำหรับการพิจารณาความเร็วทั่วไปMCU มักจะชนะเนื่องจากความสามารถในการจัดการกับแอพพลิเคชั่นที่สำคัญที่สุดเนื่องจากแกนประมวลผลที่ใช้อยู่ในนั้นความจริงที่ว่าหน่วยความจำฝังอยู่และเฟิร์มแวร์ที่ใช้กับพวกเขามักจะเป็น RTOS หรือโลหะเปล่า ค.
4. อำนาจ
ประเด็นสุดท้ายที่ต้องพิจารณาคือการใช้พลังงาน แม้ว่าไมโครโปรเซสเซอร์จะมีโหมดพลังงานต่ำ แต่โหมดเหล่านี้จะมีไม่มากเท่ากับโหมดที่มีอยู่ใน MCU ทั่วไปและด้วยส่วนประกอบภายนอกที่จำเป็นโดยการออกแบบโดยใช้ไมโครโปรเซสเซอร์จึงมีความซับซ้อนกว่าเล็กน้อยเพื่อให้ได้โหมดพลังงานต่ำ นอกเหนือจากโหมดพลังงานต่ำแล้วปริมาณพลังงานที่ใช้จริงโดย MCU นั้นต่ำกว่าที่ไมโครโปรเซสเซอร์ใช้อย่างมากเนื่องจากความสามารถในการประมวลผลที่มากขึ้นปริมาณพลังงานที่ต้องใช้เพื่อให้โปรเซสเซอร์ทำงานได้มากขึ้น
ไมโครคอนโทรลเลอร์จึงมีแนวโน้มที่จะค้นหาแอปพลิเคชั่นที่ ต้องการหน่วยประมวลผลที่ใช้พลังงานต่ำเป็นพิเศษเช่นรีโมทคอนโทรลอุปกรณ์อิเล็กทรอนิกส์สำหรับผู้บริโภคและอุปกรณ์อัจฉริยะต่างๆที่เน้นการออกแบบเพื่อให้อายุการใช้งานแบตเตอรี่ยาวนานขึ้น นอกจากนี้ยังใช้ในกรณีที่จำเป็นต้องมีพฤติกรรมที่กำหนดไว้สูง
ในทางกลับกันไมโครโปรเซสเซอร์เหมาะอย่างยิ่งสำหรับการใช้งานในภาคอุตสาหกรรมและผู้บริโภคที่ต้องใช้ระบบปฏิบัติการมีการคำนวณที่เข้มข้นและต้องการการเชื่อมต่อความเร็วสูงหรืออินเทอร์เฟซผู้ใช้ที่มีข้อมูลสื่อจำนวนมาก
สรุป
มีปัจจัยอื่น ๆ อีกหลายอย่างที่ใช้เป็นตัวกำหนดในการเลือกระหว่างสองแพลตฟอร์มนี้และทั้งหมดอยู่ภายใต้ประสิทธิภาพความสามารถและงบประมาณ แต่การเลือกโดยรวมจะง่ายขึ้นเมื่อมีการออกแบบระบบล่วงหน้าที่เหมาะสมและข้อกำหนดที่ระบุไว้อย่างชัดเจน ไมโครคอนโทรลเลอร์ส่วนใหญ่จะใช้ในโซลูชันที่มีงบประมาณ BOM ที่ จำกัด มากและมีข้อกำหนดด้านพลังงานที่เข้มงวดในขณะที่ไมโครโปรเซสเซอร์ถูกใช้ในแอปพลิเคชันที่มีข้อกำหนดด้านการคำนวณและประสิทธิภาพสูง