คำตอบสำหรับคำถามของคุณนั้นแตกต่างกันไปขึ้นอยู่กับว่าเป้าหมายของคุณคืออะไร หากคุณต้องการอุปกรณ์เหล่านี้เพียงไม่กี่ชิ้นคุณควรทำให้การพัฒนาง่ายขึ้นและไม่ต้องกังวลกับต้นทุนชิ้นส่วน หากคุณจะทำสิ่งเหล่านี้เป็นพันหรือมากกว่าสิ่งเหล่านี้คุ้มค่าที่จะวิเคราะห์ความต้องการของคุณและลดต้นทุนของฮาร์ดแวร์อุปกรณ์
ปริมาณเล็กน้อย
หากคุณกำลังใช้อุปกรณ์เหล่านี้เพียงครั้งเดียวหรือใช้งานไม่นานความพยายามในการพัฒนาของคุณกำลังจะทวีคูณต้นทุนต่อรายการของคุณและคุณควรมุ่งเน้นไปที่สิ่งที่ง่ายที่สุด / เร็วที่สุดสำหรับการพัฒนาของคุณแทนที่จะเป็นต้นทุน / ขนาดของไมโครอิเล็กทรอนิกส์
ในการห่อหุ้มทั่วไปสามารถลดความซับซ้อนเพิ่มผลผลิตของคุณ หากคุณมีข้อกำหนดแบบเรียลไทม์ที่ยากเช่นการควบคุม BLDC, PID ลูป ฯลฯ คุณอาจพบว่าการใช้ตัวควบคุมแยกต่างหากสำหรับงานที่สื่อสารกับตัวควบคุมที่คุณเก็บอินเทอร์เฟซผู้ใช้และอื่น ๆ งานเวลา
ดังนั้นในกรณีนี้คำตอบสำหรับคำถามของคุณคือ:
วิธีการแบบ all-in-one เป็นความคิดที่ดีเมื่อต้องทำมัลติทาสกิ้งจำนวนมากหรือดีกว่าที่จะแบ่งส่วนและแยกและ
เคล็ดลับระดับเล็กน้อยต่อการแบ่งส่วนและการแยก เหตุผลหลักคือการแก้ไขข้อบกพร่องของระบบแบบเรียลไทม์อาจใช้เวลานานมากและการรักษางานดังกล่าวด้วยตัวประมวลผลของตนเองจะ จำกัด ตัวแปรที่คุณต้องวัดหรือควบคุมเมื่อพยายามค้นหาสาเหตุที่บางอย่างทำงานไม่ถูกต้อง
ฉันจะรู้ได้อย่างไรว่าไมโครคอนโทรลเลอร์ที่ฉันกำลังดูมีพลังในการคำนวณเพียงพอที่จะทำสิ่งที่ฉันต้องการจากรายการงานของฉันได้อย่างไร
ในกรณีนี้ความแตกต่างของราคาระหว่างโปรเซสเซอร์ 32 บิตพร้อมทรัพยากรจำนวนมากและโปรเซสเซอร์ 8 บิตที่มีทรัพยากร จำกัด มีขนาดเล็กเมื่อเทียบกับระยะเวลาที่คุณต้องใช้ในการพัฒนา มีเหตุผลเพียงเล็กน้อยที่จะลองและคิดออกว่าคุณต้องการพลังงานมากเพียงใดเพียงรับโปรเซสเซอร์ที่ใหญ่ที่สุดที่คุณรู้สึกว่าคุณสามารถพัฒนาและใช้งานได้ หากในภายหลังคุณจำเป็นต้องเสียค่าใช้จ่ายในการออกแบบให้เหมาะสมที่สุดมันค่อนข้างง่ายในการวัดการใช้ทรัพยากรตัวประมวลผลจริงจากนั้นเลือกโปรเซสเซอร์ตัวประมวลผลที่สามารถจัดการกับโหลดจริงได้ จนกว่าจะถึงตอนนี้ใช้อันที่ใหญ่ที่สุดและไม่ต้องกังวลกับการหา "แบบที่ดีที่สุด"
การผลิตจำนวนมาก
หากคุณวางแผนที่จะสร้างอุปกรณ์เหล่านี้จำนวนมากการวิเคราะห์อย่างระมัดระวังจะทำให้ประหยัดต้นทุนได้มาก โดยทั่วไปการพูดไมโครคอนโทรลเลอร์ขนาดใหญ่จะมีราคาน้อยกว่าไมโครคอนโทรลเลอร์สองตัวที่สามารถแทนที่ไมโครคอนโทรลเลอร์เดี่ยวได้แม้ว่าจะมีข้อยกเว้นแน่นอนขึ้นอยู่กับงานเฉพาะที่ต้องการ ในปริมาณเหล่านี้ต้นทุนของฮาร์ดแวร์จะมีขนาดใหญ่กว่าค่าใช้จ่ายในการพัฒนาดังนั้นคุณควรคาดว่าจะใช้เวลาวิเคราะห์ความต้องการของคุณและทำการพัฒนามากกว่าที่คุณต้องการหากคุณทำเพียงไม่กี่อย่าง
แนวทางแบบ all-in-one เป็นความคิดที่ดีเมื่อต้องทำมัลติทาสกิ้งจำนวนมากหรือดีกว่าที่จะแบ่งกลุ่มและแยกกันหรือไม่?
วิธีการแบบ all-in-one โดยทั่วไปจะมีราคาถูกกว่าตลอดอายุการใช้งานของโครงการทั้งหมดกว่าตัวประมวลผลหลายตัว มันจะต้องใช้เวลาในการพัฒนาและการดีบักมากขึ้นเพื่อให้แน่ใจว่างานต่าง ๆ จะไม่ขัดแย้งกัน แต่การออกแบบซอฟต์แวร์ที่เข้มงวดจะ จำกัด ว่าเกือบเท่าที่มีฮาร์ดแวร์แยกต่างหาก
ฉันจะรู้ได้อย่างไรว่าไมโครคอนโทรลเลอร์ที่ฉันกำลังดูมีพลังในการคำนวณเพียงพอที่จะทำสิ่งที่ฉันต้องการจากรายการงานของฉันได้อย่างไร
คุณจะต้องเข้าใจงานที่คุณต้องการดำเนินการและจำนวนทรัพยากรที่พวกเขาทำ สมมติว่าต่อไปนี้เป็นจริง:
รูทีน BLDC PI ของคุณจะใช้เวลาประมวลผล X รอบ 100 ครั้งต่อวินาทีและแต่ละอันต้องการ RAM ประมาณ 50 ไบต์สำหรับการทำงาน, EEPROM 16 ไบต์สำหรับการปรับจูนและแฟลช 1k สำหรับรหัส พวกเขาแต่ละคนต้องการอุปกรณ์ต่อพ่วง PWM 3 16 บิตในไมโครคอนโทรลเลอร์ คุณอาจต้องระบุความกระวนกระวายใจซึ่งจะมีข้อกำหนดเรื่องเวลาในการตอบโต้การขัดจังหวะโดยเฉพาะ
USB และชุดคำสั่งแบบอนุกรมของคุณจะใช้เวลาของรอบตัวประมวลผล Y ตามความจำเป็น, RAM 2k, EEPROM 64 ไบต์และแฟลช 8k มันจะต้องใช้อุปกรณ์ต่อพ่วง USB และอนุกรม
GUI ของคุณจะใช้พลังประมวลผล Z รอบ 30 ครั้งต่อวินาทีและจะต้องใช้ RAM 2k, EEPROM 128 ไบต์และแฟลช 10k มันจะใช้ 19 I / O สำหรับการสื่อสารกับ LCD, ปุ่ม, ลูกบิด, ฯลฯ
เมื่อคุณเริ่มต้นครั้งแรกอาจเป็นเรื่องยากที่จะเข้าใจว่า X, Y, Z คืออะไรจริงและสิ่งนี้จะเปลี่ยนแปลงเล็กน้อยขึ้นอยู่กับสถาปัตยกรรมของโปรเซสเซอร์ อย่างไรก็ตามคุณควรจะสามารถเข้าใจได้ภายในประมาณการของ ballpark จำนวน ram, eeprom และ flash ที่การออกแบบของคุณต้องการและอุปกรณ์ต่อพ่วงที่คุณต้องการ คุณสามารถเลือกตระกูลโปรเซสเซอร์ที่ตรงกับหน่วยความจำและอุปกรณ์ต่อพ่วงและมีตัวเลือกประสิทธิภาพที่หลากหลายภายในตระกูลนั้น ณ จุดนี้เพื่อการพัฒนาคุณสามารถใช้โปรเซสเซอร์ที่ทรงพลังที่สุดในตระกูล เมื่อคุณออกแบบการใช้งานของคุณคุณสามารถย้ายครอบครัวในแง่ของพลังงานไปยังตัวเลือกต้นทุนที่ต่ำกว่าโดยไม่ต้องเปลี่ยนสภาพแวดล้อมการออกแบบหรือการพัฒนาของคุณ
หลังจากที่คุณออกแบบเหล่านี้เสร็จแล้วคุณจะสามารถประมาณ X, Y และ Z ได้ดีขึ้น คุณจะรู้ว่ากิจวัตร BLDC PI แม้ว่าจะทำงานบ่อยครั้งนั้นค่อนข้างเล็กและต้องใช้รอบน้อยมาก USB และรูทีนแบบอนุกรมต้องใช้รอบจำนวนมาก แต่เกิดขึ้นไม่บ่อยนัก อินเทอร์เฟซผู้ใช้ต้องการรอบสองสามครั้งบ่อยครั้งเพื่อค้นหาการเปลี่ยนแปลง แต่จะต้องใช้รอบจำนวนมากไม่บ่อยนักในการอัปเดตจอแสดงผล