Siemens เสนอทั้งสอง ซอฟต์แวร์ฝังยานยนต์ และ วิศวกรรมซอฟต์แวร์ฝังตัว โซลูชันSiemens ได้ยกเลิกการนำเสนอซอฟต์แวร์ฝังตัวแบบสแตนด์อโลนสำหรับ SoC ด้วยการเกษียณอายุในเดือนพฤศจิกายน 2023 ของผลิตภัณฑ์ Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux และ Sourcery CodeBench (รวมถึงส่วนเสริมที่เกี่ยวข้อง)สัญญาการสนับสนุนที่มีอยู่สำหรับผลิตภัณฑ์เหล่านี้ยังคงได้รับการยกย่องโปรดติดต่อ Siemens ศูนย์สนับสนุน สำหรับข้อมูลเพิ่มเติม
ซอฟต์แวร์ฝังตัวประเภทต่าง ๆ และวัตถุประสงค์ของซอฟต์แวร์มีอะไรบ้าง?
- ระบบปฏิบัติการ — ระบบปฏิบัติการ (OS) ในแง่ทั่วไปที่สุดคือซอฟต์แวร์ที่อนุญาตให้ผู้ใช้เรียกใช้แอปพลิเคชันอื่น ๆ บนอุปกรณ์คอมพิวเตอร์ระบบปฏิบัติการจัดการทรัพยากรฮาร์ดแวร์ของโปรเซสเซอร์ รวมถึงอุปกรณ์อินพุต เช่น แป้นพิมพ์และเมาส์ อุปกรณ์เอาต์พุต เช่น จอแสดงผลหรือเครื่องพิมพ์ การเชื่อมต่อเครือข่าย และอุปกรณ์จัดเก็บข้อมูล เช่น ฮาร์ดไดรฟ์และหน่วยความจำระบบปฏิบัติการยังให้บริการเพื่ออำนวยความสะดวกในการดำเนินการและการจัดการและการจัดสรรหน่วยความจำสำหรับโปรแกรมแอปพลิเคชันซอฟต์แวร์อย่างมีประสิทธิภาพ
- เฟิร์มแวร์ - เฟิร์มแวร์เป็นซอฟต์แวร์ประเภทหนึ่งที่เขียนโดยตรงสำหรับชิ้นส่วนของฮาร์ดแวร์มันทำงานโดยไม่ต้องผ่าน APIs ระบบปฏิบัติการ หรือไดรเวอร์อุปกรณ์ ซึ่งให้คำแนะนำและคำแนะนำที่จำเป็นในการสื่อสารกับอุปกรณ์อื่น ๆ หรือทำงานและฟังก์ชันพื้นฐานตามที่ตั้งใจไว้
- มิดเดิลแวร์ - มิดเดิลแวร์ เป็นเลเยอร์ซอฟต์แวร์ที่ตั้งอยู่ระหว่างแอปพลิเคชันและระบบปฏิบัติการมิดเดิลแวร์ มักใช้ในระบบกระจาย ซึ่งช่วยลดความยุ่งยากในการพัฒนาซอฟต์แวร์โดยให้สิ่งต่อไปนี้:
- ซ่อนความซับซ้อนของแอปพลิเคชันแบบกระจาย
- ปกปิดความแตกต่างของฮาร์ดแวร์ระบบปฏิบัติการและโปรโตคอล
- ให้บริการอินเทอร์เฟซที่สม่ำเสมอและระดับสูงที่ใช้ในการทำงานร่วมกันใช้ซ้ำและใช้งานแบบพกพา
- การส่งมอบชุดบริการทั่วไปที่ลดความพยายามซ้ำและเพิ่มความร่วมมือระหว่างแอปพลิเคชัน
- แอปพลิเคชัน — ผู้ใช้ปลายทางพัฒนาแอปพลิเคชันซอฟต์แวร์ขั้นสุดท้ายที่ทำงานบนระบบปฏิบัติการ ใช้หรือโต้ตอบกับมิดเดิลแวร์และเฟิร์มแวร์ และเป็นจุดโฟกัสหลักของฟังก์ชันเป้าหมายของระบบฝังตัวแอปพลิเคชันปลายทางแต่ละตัวมีเอกลักษณ์เฉพาะในขณะที่ระบบปฏิบัติการและเฟิร์มแวร์สามารถเหมือนกันได้จากอุปกรณ์ต่ออุปกรณ์
ซอฟต์แวร์ฝังตัวเทียบกับระบบฝังตัว
ส่วนประกอบฮาร์ดแวร์ภายในอุปกรณ์ที่ใช้ซอฟต์แวร์ฝังตัวเรียกว่า “ระบบฝังตัว”ตัวอย่างบางส่วนของส่วนประกอบฮาร์ดแวร์ที่ใช้ในระบบฝังตัว ได้แก่ วงจรแหล่งจ่ายไฟหน่วยประมวลผลส่วนกลางอุปกรณ์หน่วยความจำแฟลชตัวจับเวลาและพอร์ตการสื่อสารแบบอนุกรมในระหว่างขั้นตอนการออกแบบในช่วงแรกของอุปกรณ์ ฮาร์ดแวร์ที่จะประกอบเป็นระบบฝังตัว และการกำหนดค่าภายในอุปกรณ์ จะถูกตัดสินใจจากนั้นซอฟต์แวร์ฝังตัวจะถูกพัฒนาตั้งแต่เริ่มต้นเพื่อทำงานเฉพาะบนฮาร์ดแวร์นั้นในการกำหนดค่าที่แม่นยำนั้นสิ่งนี้ทำให้การออกแบบซอฟต์แวร์ฝังตัวเป็นสาขาเฉพาะที่ต้องการความรู้ลึกซึ้งเกี่ยวกับความสามารถของฮาร์ดแวร์และการเขียนโปรแกรมคอมพิวเตอร์
ตัวอย่างฟังก์ชันซอฟต์แวร์แบบฝังตัว
อุปกรณ์เกือบทุกเครื่องที่มีแผงวงจรและชิปคอมพิวเตอร์มีส่วนประกอบเหล่านี้จัดเรียงเป็นระบบซอฟต์แวร์แบบฝังตัวเป็นผลให้ระบบซอฟต์แวร์ฝังตัวมีอยู่ทั่วทุกมุมในชีวิตประจำวันและพบได้ทั่วทั้งผู้บริโภค อุตสาหกรรม ยานยนต์ การบินและอวกาศ การแพทย์ การค้า การสื่อสารโทรคมนาคม และเทคโนโลยีทางทหาร
ตัวอย่างทั่วไปของคุณสมบัติซอฟต์แวร์แบบฝังตัว ได้แก่:
- ระบบประมวลผลภาพที่พบในอุปกรณ์ถ่ายภาพทางการแพทย์
- ระบบควบคุม fly-by-wire ที่พบในเครื่องบิน
- ระบบตรวจจับการเคลื่อนไหวในกล้องรักษาความปลอดภัย
- ระบบควบคุมการจราจรที่พบในสัญญาณไฟจราจร
- ระบบจับเวลาและระบบอัตโนมัติที่พบในอุปกรณ์สมาร์ทโฮม
ระบบฝังตัวประเภทต่าง ๆ มีอะไรบ้าง?
เมื่อขึ้นอยู่กับข้อกำหนดด้านประสิทธิภาพและการทำงานระบบฝังตัวมีห้าคลาสหลัก:
- ระบบฝังตัวแบบเรียลไทม์ทำงานให้เสร็จสมบูรณ์ในลักษณะที่กำหนดและทำซ้ำได้ ซึ่งได้รับผลกระทบจากสถาปัตยกรรมพื้นฐานและการจัดตารางเวลาของระบบปฏิบัติการ ตลอดจนประสิทธิภาพของเธรด การแตกแขนง และการหยุดชะงักระบบฝังตัวเอนกประสงค์ทั่วไปไม่มีข้อกำหนดแบบเรียลไทม์ และสามารถจัดการการหยุดชะงักหรือการแตกแขนงโดยไม่ต้องพึ่งพาเมื่อเสร็จสิ้นจอแสดงผลกราฟิกและการจัดการแป้นพิมพ์และเมาส์เป็นตัวอย่างที่ดีของระบบทั่วไป
- ระบบฝังตัวแบบสแตนด์อโลนสามารถทำงานให้เสร็จสมบูรณ์โดยไม่ต้องใช้ระบบโฮสต์หรือทรัพยากรการประมวลผลภายนอกพวกเขาสามารถส่งออกหรือรับข้อมูลจากอุปกรณ์ที่เชื่อมต่อได้ แต่ไม่พึ่งพาพวกเขาในการทำงานให้เสร็จสมบูรณ์
- ระบบฝังตัวแบบสแตนด์อโลนสามารถทำงานให้เสร็จสมบูรณ์โดยไม่ต้องใช้ระบบโฮสต์หรือทรัพยากรการประมวลผลภายนอกพวกเขาสามารถส่งออกหรือรับข้อมูลจากอุปกรณ์ที่เชื่อมต่อได้ แต่ไม่พึ่งพาพวกเขาในการทำงานให้เสร็จสมบูรณ์
- ระบบฝังตัวในเครือข่ายขึ้นอยู่กับเครือข่ายที่เชื่อมต่อเพื่อทำงานที่ได้รับมอบหมาย
- ขึ้นอยู่กับความซับซ้อนของสถาปัตยกรรมฮาร์ดแวร์ของระบบ ระบบฝังตัวมีสามประเภทหลัก: ระบบฝังตัวในเครือข่ายขึ้นอยู่กับเครือข่ายที่เชื่อมต่อเพื่อทำงานที่ได้รับมอบหมาย
ตลาดปลายทางส่งผลต่อระบบฝังตัวอย่างไร
ข้อกำหนดของระบบฝังตัวและส่วนประกอบจะแตกต่างกันไปตามความต้องการของตลาดเป้าหมายตัวอย่างบางอย่าง ได้แก่:
- ผู้บริโภค - ในแอปพลิเคชันเช่นสินค้าอุปโภคบริโภคเช่นเครื่องซักผ้าอุปกรณ์สวมใส่และโทรศัพท์มือถือระบบฝังเน้นขนาดที่ลดลงของ
- ระบบบนชิป การใช้พลังงานต่ำหรือการทำงานของแบตเตอรี่และอินเทอร์เฟซกราฟิกในแอปพลิเคชันเหล่านี้ระบบปฏิบัติการที่กำหนดค่าได้และความสามารถในการปิด “โดเมน” ที่ไม่ทำงานของการออกแบบนั้นมีคุณค่า
- เครือข่าย - แอปพลิเคชันที่ช่วยให้การเชื่อมต่อ การสื่อสาร การดำเนินงาน และการจัดการเครือข่ายองค์กรมันให้เส้นทางการสื่อสารและบริการระหว่างผู้ใช้กระบวนการแอปพลิเคชันบริการและเครือข่ายภายนอก/อินเทอร์เน็ตแอปพลิเคชันเครือข่ายแบบฝังเน้นที่ความเร็วในการตอบสนองการประมวลผลแพ็คเก็ตและเส้นทางฮาร์ดแวร์ต่อพ่วง
- อุตสาหกรรม - สำหรับการใช้งานเช่นการจัดการพื้นโรงงาน มอเตอร์ และกังหันลม การเน้นไปที่การเชื่อมต่อระบบคลาวด์ที่ปลอดภัยและการทำงานแบบเรียลไทม์ และสามารถมุ่งเน้นไปที่มิดเดิลแวร์ได้อย่างมาก
- การแพทย์ ยานยนต์ และการบินและอวกาศ - อุตสาหกรรมเหล่านี้ต้องการระบบที่สำคัญด้านความปลอดภัยแบบผสม ซึ่งส่วนหนึ่งของการออกแบบจะถูกแยกออกจากกันเพื่อให้แน่ใจว่าข้อมูลที่จำเป็นเท่านั้นที่ป้อนหรือออกจากระบบ (ความปลอดภัย) ในขณะที่รับประกันว่าไม่มีอันตรายต่อผู้ใช้ปลายทาง (ความปลอดภัย)ตัวอย่างคือระบบขับขี่อัตโนมัติในรถยนต์และอุปกรณ์ทางการแพทย์ระบบฝังตัวเหล่านี้สามารถผสมผสานระหว่างโอเพ่นซอร์ส (Linux) และระบบปฏิบัติการแบบเรียลไทม์แบบกำหนดนิยม (RTOS) และใช้มิดเดิลแวร์ที่ได้รับการพิสูจน์แล้วอย่างมาก
ทำไมซอฟต์แวร์ฝังตัวในยานยนต์จึงแตกต่างกัน
ในระบบอิเล็กทรอนิกส์ยานยนต์ ปฏิสัมพันธ์แบบเรียลไทม์ที่ซับซ้อนเกิดขึ้นในระบบฝังตัวหลายระบบซึ่งแต่ละฟังก์ชั่นควบคุม เช่น เบรก พวงมาลัย ระบบกันสะเทือน ระบบขับเคลื่อน ฯลฯ ตัวเรือนทางกายภาพที่มีระบบฝังตัวแต่ละระบบเรียกว่าชุดควบคุมอิเล็กทรอนิกส์ (ECU)ECU แต่ละตัวและซอฟต์แวร์ฝังตัวเป็นส่วนหนึ่งของสถาปัตยกรรมไฟฟ้าที่ซับซ้อนที่เรียกว่าระบบกระจาย
ด้วยการสื่อสารซึ่งกันและกัน ECU ที่ประกอบด้วยระบบกระจายของยานพาหนะสามารถทำงานได้หลากหลาย เช่น เบรกฉุกเฉินอัตโนมัติ, ระบบควบคุมความเร็วคงที่, ไฟหน้าแบบปรับตัว, และอื่นๆ อีกมากมายฟังก์ชันเดียวอาจต้องมีการโต้ตอบในแอปพลิเคชันซอฟต์แวร์แบบฝังตัว 20 ตัวขึ้นไปซึ่งกระจายอยู่ใน ECU จำนวนมากที่เชื่อมต่อด้วยโปรโตคอลเครือข่ายหลายโปรโตคอลอัลกอริทึมการควบคุมที่ซับซ้อนที่ปรับใช้ร่วมกับซอฟต์แวร์ฝังตัวช่วยให้มั่นใจได้ถึงเวลาที่เหมาะสมของฟังก์ชันอินพุตและเอาต์พุตที่จำเป็นและความปลอดภัยของข้อมูล
ตัวอย่างทั่วไปของคุณสมบัติที่ใช้แอปพลิเคชันซอฟต์แวร์ยานยนต์ ได้แก่:
- คุณสมบัติ ADAS (Advanced Driver Assist Systems) เช่น ระบบควบคุมความเร็วคงที่แบบปรับได้, เบรกฉุกเฉินอัตโนมัติ, ระบบช่วยรักษาสายไฟ, ระบบช่วยจราจร, คำเตือนการออกทางของเส้นทาง
- การจัดการแบตเตอรี่
- ชดเชยแรงบิด
- การควบคุมอัตราการฉีดเชื้อเพลิง
สแต็กซอฟต์แวร์ ECU
ชุดควบคุมอิเล็กทรอนิกส์หรือ ECU ประกอบด้วยหน่วยประมวลผลหลักที่มีฮาร์ดแวร์ระดับชิปและซอฟต์แวร์ฝังตัวอย่างไรก็ตาม มีแนวโน้มที่เพิ่มขึ้นในหมู่ผู้ผลิตยานยนต์ในการออกแบบ ECU ด้วยวงจรรวมที่ซับซ้อนซึ่งมีแกนคอมพิวเตอร์หลายคอร์บนชิปเดียว ซึ่งเรียกว่า System on a Chip (SoC)SoC เหล่านี้สามารถโฮสต์บทคัดย่อของ ECU จำนวนมากเพื่อรวมฮาร์ดแวร์สแต็กซอฟต์แวร์สำหรับ ECU มักจะมีโซลูชันที่หลากหลาย ตั้งแต่เฟิร์มแวร์ระดับต่ำไปจนถึงแอปพลิเคชันซอฟต์แวร์ฝังตัวระดับสูง
สแต็ค ECU | คำอธิบาย |
แอพพลิเคชั่นซอฟต์แวร์ฝังตัว | อัลกอริทึมควบคุมการประมวลผลบริการ |
กรอบการประยุกต์ใช้ | กรอบความSecurity และความปลอดภัย |
สภาพแวดล้อมการทำงาน | AUTOSAR คลาสสิก, AUTOSAR Adaptive, ช่องอินพุต/เอาต์พุต |
การจำลองเสมือนแบบฝัง | ระบบปฏิบัติการแบบเรียลไทม์, นามธรรม ECU |
เฟิร์มแวร์ | รถโหลดบูต, ที่เก็บข้อมูลที่ปลอดภัย, เกลียวที่ปลอดภัย |
ฮาร์ดแวร์ | อุปกรณ์ที่ใช้ซิลิคอน, ไมโครคอนโทรลเลอร์, บอร์ดชั้นเดียวหรือหลายชั้น |