นี่คือคำแนะนำสองสามข้อที่ฉันสามารถให้ได้ ข้อมูลจำเพาะที่ NXP มีให้สำหรับชิปทั้งหมดของพวกเขา (คอร์หน่วยความจำอุปกรณ์ต่อพ่วง) ข้อมูลจำเพาะที่ ARM มอบให้นั้นขึ้นอยู่กับแกนหลักเท่านั้น เนื่องจากตัวเลขได้มาต่างกันมันยากที่จะทำการเปรียบเทียบ
ดังนั้นฉันเสนอให้เราย้อนกลับไปดูอุปกรณ์สองชิ้น MCU ที่ใช้ NXP M0 และ MCU ที่ใช้ MXP M3
สำหรับ MCU ที่ใช้ M0 ลองดูที่ LPC1111 เมื่อ MCU ตัวนี้กำลังทำงานลูปที่ไม่ว่างก็จะใช้กระแส 3mA ที่อัตรานาฬิกา 12MHz สิ่งนี้ให้ผล 250uA / MHz ซึ่งที่ 3.3V คือ 825uW / MHz
สำหรับ MCU ที่ใช้ M3 ลองดูที่ LPC1311 เมื่อ MCU ตัวนี้กำลังทำงานลูปที่ไม่ว่างอันเดียวกันมันจะใช้กระแส 4mA ที่ 12MHz ผลผลิต 333.3uA / MHz ซึ่งเป็น 1.1mW / MHz
ถ้าเราดูที่ MSP430C1101 MCU (16 บิต) เราจะเห็นว่ามันจะใช้ 240uA ที่ 1MHz เมื่อแรงดันไฟฟ้าเป็น 3V อัตราผลตอบแทน 720uW / MHz
ต่อไปให้หันมาใช้ ATMega328 (ใช้ใน Arduino Uno) เราเห็นว่า 200uA ใช้ที่ 1MHz ด้วยแรงดัน 2V สิ่งนี้ให้ผล 400uA / MHz
ควรสังเกตว่า MSP430 และ AVR นั้นมีความจำเพาะแตกต่างกัน การใช้พลังงานของพวกเขาจะได้รับที่ 1MHz ซึ่งเป็น M0 และ M3 จะได้รับที่ 12MHz ซึ่งหมายความว่า M0 และ M3 มีความไร้ประสิทธิภาพในการปรับขนาดได้สูงสุด 12MHz ที่อบเข้าไปในตัวเลข
ค่าเหล่านี้เป็นหมายเลขการใช้ปัจจุบันทั้งหมดที่ใช้งานอยู่ หากคุณดูปริมาณการใช้ไฟฟ้าในปัจจุบันเมื่ออุปกรณ์อยู่ในสถานะสลีปคุณจะเห็นลำดับการใช้พลังงานน้อยลง ข้อดีที่ 32 บิต M0 มอบให้คือสามารถทำงานได้มากขึ้นในเวลาน้อยกว่า MCU 8 และ 16 บิต นี่หมายความว่าเวิร์กโหลดที่กำหนดจะใช้เวลามากขึ้นในสถานะสลีป M0 ในมือของวิศวกรที่ดีมักจะได้รับประสิทธิภาพการใช้พลังงานที่ดีกว่า MCU 8 บิตในมือของวิศวกรที่มีทักษะน้อยกว่าแม้ว่าความแตกต่างของการใช้พลังงานจะแตกต่างกัน
จากประสบการณ์ของฉัน M0 นั้นใกล้เคียงกับการใช้พลังงาน 16 และ 8 บิตที่คุณสามารถชดเชยความแตกต่างได้มากมาย นอกจากนี้หลายครั้งที่การใช้พลังงานของทุกสิ่งที่คุณได้แขวนอยู่กับ MCU ก็แคระ MCU ดังนั้นสำหรับแอปพลิเคชั่นจำนวนมากที่แก้ปัญหาประสิทธิภาพของ MCU ไม่ใช่สิ่งที่สำคัญที่สุด
ฉันหวังว่าจะช่วย เป็นทางยาวที่จะบอกว่าการใช้พลังงานนั้นแย่ลงเล็กน้อย แต่คุณทำได้มากขึ้นกับวงจรนาฬิกาเหล่านั้นมากกว่าชิปอื่น ๆ ดังนั้นมันขึ้นอยู่กับใบสมัครของคุณ