บทช่วยสอนระบบสมองกลฝังตัว: คืออะไร ประวัติและลักษณะเฉพาะ
ก่อนที่เราจะเรียนรู้ Embedded System มาเรียนรู้กันก่อน:
ระบบคืออะไร?
ระบบคือการจัดเตรียมที่ส่วนประกอบทั้งหมดทำงานตามกฎที่กำหนดไว้โดยเฉพาะ เป็นวิธีการจัด การทำงาน หรือการปฏิบัติงานอย่างหนึ่งหรือหลายอย่างตามแผนที่วางไว้
ระบบสมองกลฝังตัวคืออะไร?
ระบบฝังตัว คือการรวมกันของซอฟต์แวร์คอมพิวเตอร์และฮาร์ดแวร์ซึ่งมีทั้งความสามารถคงที่หรือตั้งโปรแกรมได้ ระบบฝังตัวอาจเป็นระบบอิสระหรืออาจเป็นส่วนหนึ่งของระบบขนาดใหญ่ก็ได้ ส่วนใหญ่จะออกแบบมาสำหรับฟังก์ชันเฉพาะหรือฟังก์ชันภายในระบบที่ใหญ่กว่า ตัวอย่างเช่น สัญญาณเตือนไฟไหม้เป็นตัวอย่างทั่วไปของระบบฝังตัวซึ่งสามารถตรวจจับได้เฉพาะควันเท่านั้น
ตัวอย่างของระบบสมองกลฝังตัว
เลเซอร์ปริ้นเตอร์
เครื่องพิมพ์เลเซอร์เป็นตัวอย่างหนึ่งของระบบฝังตัวที่ใช้ระบบฝังตัวเพื่อจัดการงานพิมพ์ในด้านต่างๆ นอกจากจะทำหน้าที่หลักในการพิมพ์แล้ว ยังต้องรับข้อมูลจากผู้ใช้ จัดการการสื่อสารกับระบบคอมพิวเตอร์ จัดการข้อผิดพลาด และตรวจจับกระดาษที่หลงเหลืออยู่บนถาด เป็นต้น
ในกรณีนี้ หน้าที่หลักของไมโครโปรเซสเซอร์คือการทำความเข้าใจข้อความและควบคุมหัวพิมพ์ในลักษณะที่จะปล่อยหมึกออกเมื่อจำเป็น
ในการดำเนินการนี้ จะต้องถอดรหัสไฟล์ต่างๆ ที่มอบให้ และทำความเข้าใจแบบอักษรและกราฟิก จะใช้เวลา CPU อย่างมากในการประมวลผลข้อมูล รวมถึงต้องรับอินพุตของผู้ใช้ ควบคุมมอเตอร์ ฯลฯ
ประวัติความเป็นมาของระบบสมองกลฝังตัว
นี่คือเหตุการณ์สำคัญที่สำคัญในประวัติศาสตร์ของระบบสมองกลฝังตัว:
- ในปี 1960 ระบบฝังตัวถูกใช้ครั้งแรกเพื่อพัฒนา Apollo Guidance System โดย Charles Stark Draper ที่ MIT
- ในปี พ.ศ. 1965 ออโตเนติกส์ได้พัฒนา D-17B ซึ่งเป็นคอมพิวเตอร์ที่ใช้ในระบบนำทางขีปนาวุธมินิตแมน
- ในปี พ.ศ. 1968 ได้มีการเปิดตัวระบบฝังตัวสำหรับรถยนต์เป็นครั้งแรก
- Texas Instruments พัฒนาไมโครคอนโทรลเลอร์ตัวแรกในปี 1971
- ในปี 1987 Wind River ระบบปฏิบัติการฝังตัวตัวแรก VxWorks เปิดตัว
- Microsoft's Windows ฝัง CE ในปี 1996
- ในช่วงปลายทศวรรษ 1990 ระบบ Linux แบบฝังตัวแรกปรากฏขึ้น
- ตลาดฝังตัวมีมูลค่า 140 ล้านดอลลาร์ในปี 2013
- นักวิเคราะห์คาดการณ์ว่าตลาดอุปกรณ์ฝังตัวจะมีมูลค่ามากกว่า 40 ล้านดอลลาร์ภายในปี 2030
ลักษณะของระบบฝังตัว
ต่อไปนี้เป็นลักษณะสำคัญของระบบฝังตัว:
- ต้องใช้ประสิทธิภาพแบบเรียลไทม์
- ควรมีความพร้อมใช้งานและความน่าเชื่อถือสูง
- พัฒนาโดยใช้ระบบปฏิบัติการแบบเรียลไทม์
- โดยปกติแล้วมีการดำเนินการที่ง่ายและไม่มีดิสก์ ROM บูต
- ออกแบบมาเพื่องานเฉพาะงานเดียว
- จะต้องเชื่อมต่อกับอุปกรณ์ต่อพ่วงเพื่อเชื่อมต่ออุปกรณ์อินพุตและเอาต์พุต
- ให้ความน่าเชื่อถือและเสถียรภาพสูง
- ต้องการอินเทอร์เฟซผู้ใช้ขั้นต่ำ
- หน่วยความจำมีจำกัด ต้นทุนต่ำ ใช้พลังงานน้อยลง
- มันไม่จำเป็นต้องใดๆ หน่วยความจำรอง ในคอมพิวเตอร์
คำศัพท์สำคัญที่ใช้ในระบบสมองกลฝังตัว
ในบทช่วยสอนระบบสมองกลฝังตัวนี้ เราจะกล่าวถึงคำศัพท์สำคัญบางคำที่ใช้ในระบบสมองกลฝังตัว
ความเชื่อถือได้
การวัดความน่าจะเป็นของการอยู่รอดของระบบเมื่อฟังก์ชันมีความสำคัญในระหว่างรันไทม์
ความผิดพลาด-ความอดทน
Fault-Tolerance คือความสามารถของระบบคอมพิวเตอร์ในการอยู่รอดเมื่อมีข้อผิดพลาดเกิดขึ้น
Real-Time
ระบบสมองกลฝังตัวต้องเป็นไปตามจังหวะเวลาและข้อจำกัดอื่นๆ ที่หลากหลาย สิ่งเหล่านี้ถูกกำหนดโดยพฤติกรรมธรรมชาติแบบเรียลไทม์ของโลกภายนอก
ตัวอย่างเช่น หน่วยงานกองทัพอากาศที่คอยติดตามการโจมตีด้วยขีปนาวุธที่เข้ามา จะต้องคำนวณและวางแผนการโจมตีตอบโต้อย่างแม่นยำเนื่องจากมีกำหนดเส้นตายแบบเรียลไทม์ที่เข้มงวด มิฉะนั้น หน่วยงานจะถูกทำลาย
ความยืดหยุ่น
กำลังสร้างระบบที่มีโอกาสแก้ไขจุดบกพร่องในตัวซึ่งช่วยให้สามารถบำรุงรักษาจากระยะไกลได้
ตัวอย่างเช่น คุณกำลังสร้างยานอวกาศที่จะลงจอดบนกระถางต้นไม้อื่นเพื่อรวบรวมข้อมูลประเภทต่างๆ และส่งรายละเอียดที่รวบรวมกลับมาให้เรา หากยานอวกาศลำนี้เสียสติและสูญเสียการควบคุม เราน่าจะทำการวินิจฉัยที่สำคัญได้ ดังนั้นความยืดหยุ่นจึงเป็นสิ่งสำคัญในขณะที่ออกแบบระบบฝังตัว
Portability
ความสามารถในการพกพาคือการวัดความง่ายในการใช้ซอฟต์แวร์ฝังตัวเดียวกันในสภาพแวดล้อมต่างๆ มันต้องการนามธรรมทั่วไประหว่างตรรกะของแอปพลิเคชันโปรแกรมกับอินเทอร์เฟซระบบระดับต่ำ
ไมโครคอนโทรลเลอร์คืออะไร?
ไมโครคอนโทรลเลอร์เป็นหน่วย VLSI แบบชิปตัวเดียวซึ่งเรียกอีกอย่างว่าไมโครคอมพิวเตอร์ ประกอบด้วยหน่วยความจำและอินเทอร์เฟซ I/O ทั้งหมดที่จำเป็น ในขณะที่ไมโครโปรเซสเซอร์อเนกประสงค์ต้องการชิปเพิ่มเติมเพื่อนำเสนอโดยฟังก์ชันที่จำเป็นเหล่านี้ ไมโครคอนโทรลเลอร์ถูกนำมาใช้กันอย่างแพร่หลายในระบบฝังตัวสำหรับแอปพลิเคชันการควบคุมแบบเรียลไทม์
ไมโครโปรเซสเซอร์คืออะไร?
ไมโครโปรเซสเซอร์เป็นอุปกรณ์เซมิคอนดักเตอร์ชิปตัวเดียว CPU ประกอบด้วยตัวนับโปรแกรม, ALU, ตัวชี้สแต็ก, รีจิสเตอร์การทำงาน, วงจรจับเวลานาฬิกา นอกจากนี้ยังรวมถึง ROM และ RAM, ตัวถอดรหัสหน่วยความจำ และพอร์ตอนุกรมและพอร์ตขนานจำนวนมาก
Archiการสอนระบบสมองกลฝังตัว
ด้านล่างนี้เป็นสถาปัตยกรรมพื้นฐานของระบบฝังตัว:
1) เซนเซอร์
เซ็นเซอร์ช่วยให้คุณวัดปริมาณทางกายภาพและแปลงเป็นสัญญาณไฟฟ้า นอกจากนี้ยังจัดเก็บปริมาณที่วัดได้ในหน่วยความจำ สัญญาณนี้สามารถเตรียมได้โดยผู้สังเกตหรือเครื่องมืออิเล็กทรอนิกส์ เช่น ตัวแปลง A2D
2) ตัวแปลงโฆษณา
ตัวแปลง AD (ตัวแปลงแอนะล็อกเป็นดิจิทัล) ช่วยให้คุณแปลงสัญญาณแอนะล็อกที่เซ็นเซอร์ส่งให้เป็นสัญญาณดิจิทัล
3) หน่วยความจำ
หน่วยความจำใช้เพื่อจัดเก็บข้อมูล ระบบสมองกลฝังตัวส่วนใหญ่ประกอบด้วยเซลล์หน่วยความจำสองเซลล์ 1) ระเหยได้ 2) หน่วยความจำไม่ระเหย
4) โปรเซสเซอร์และ ASIC
ส่วนประกอบนี้ประมวลผลข้อมูลเพื่อวัดเอาต์พุตและจัดเก็บไว้ในหน่วยความจำ
5) ตัวแปลง DA
ตัวแปลง DA (ตัวแปลงดิจิทัลเป็นอนาล็อก) ช่วยให้คุณแปลงข้อมูลดิจิทัลที่ป้อนโดยโปรเซสเซอร์ไปเป็นข้อมูลอะนาล็อก
6) แอคชูเอเตอร์
แอคชูเอเตอร์ช่วยให้คุณสามารถเปรียบเทียบเอาต์พุตที่กำหนดโดยตัวแปลง DA กับเอาต์พุตจริงที่จัดเก็บไว้ในนั้น และจัดเก็บเอาต์พุตที่ได้รับอนุมัติไว้ในหน่วยความจำ
ประเภทของระบบสมองกลฝังตัว
Embedded Systems มี 3 ประเภท ได้แก่
- ขนาดเล็ก
- ขนาดกลาง
- ซับซ้อน
ระบบสมองกลฝังตัวขนาดเล็ก
ระบบฝังตัวนี้สามารถออกแบบได้โดยใช้ไมโครคอนโทรลเลอร์ 8 หรือ 16 บิตตัวเดียว โดยสามารถใช้งานได้ด้วยความช่วยเหลือของแบตเตอรี่ สำหรับการพัฒนาระบบฝังตัวขนาดเล็ก โปรแกรมแก้ไข โปรแกรมประกอบ (IDE) และโปรแกรมประกอบแบบครอสแอสเซมเบลอร์ ถือเป็นเครื่องมือที่สำคัญที่สุด เครื่องมือการเขียนโปรแกรม.
ระบบสมองกลฝังตัวขนาดกลาง
ระบบฝังตัวประเภทนี้ได้รับการออกแบบโดยใช้ไมโครคอนโทรลเลอร์ 16 หรือ 32 บิต ระบบเหล่านี้มีทั้งความซับซ้อนของฮาร์ดแวร์และซอฟต์แวร์ C, C++, Javaและเครื่องมือวิศวกรรมซอร์สโค้ด ฯลฯ ถูกนำมาใช้เพื่อพัฒนาระบบฝังตัวประเภทนี้
ระบบฝังตัวที่ซับซ้อน
ระบบฝังตัวประเภทนี้มีความซับซ้อนของฮาร์ดแวร์และซอฟต์แวร์มากมาย คุณอาจต้องใช้ IPS, ASIPS, PLA, โปรเซสเซอร์การกำหนดค่า หรือโปรเซสเซอร์ที่ปรับขนาดได้ สำหรับการพัฒนาระบบนี้ คุณต้องมีการออกแบบร่วมกันของฮาร์ดแวร์และซอฟต์แวร์ รวมถึงส่วนประกอบที่ต้องรวมกันในระบบขั้นสุดท้าย
ความแตกต่างระหว่างไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
เรียนรู้ความแตกต่างระหว่าง ไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
ไมโครโปรเซสเซอร์ | ไมโครคอนโทรลเลอร์ |
---|---|
ใช้บล็อกการทำงาน เช่น รีจิสเตอร์, ALU, ไทม์มิ่ง และหน่วยควบคุม | ใช้บล็อคฟังก์ชันของไมโครโปรเซสเซอร์ เช่น RAM, ไทม์เมอร์, พาราแอล I/O, ADC และ DAC |
ในไมโครโปรเซสเซอร์ คำสั่งการจัดการบิตจะน้อยกว่า หนึ่งหรือสองประเภทเท่านั้น | ไมโครคอนโทรลเลอร์มีคำสั่งการจัดการบิตหลายประเภท |
นำเสนอการเคลื่อนย้ายโค้ดและข้อมูลอย่างรวดเร็วระหว่างหน่วยความจำภายนอกและไมโครโปรเซสเซอร์ | เสนอการเคลื่อนไหวที่รวดเร็วของโค้ดและข้อมูลในไมโครคอนโทรลเลอร์ |
ช่วยคุณในการออกแบบระบบคอมพิวเตอร์ดิจิทัลอเนกประสงค์ | ช่วยคุณออกแบบระบบเฉพาะแอปพลิเคชันโดยเฉพาะ |
ช่วยให้คุณสามารถทำงานหลายอย่างพร้อมกันได้ | เป็นระบบที่มุ่งเน้นงานเดียว |
ในระบบไมโครโปรเซสเซอร์ คุณสามารถเลือกจำนวนหน่วยความจำหรือพอร์ต I/O ที่ต้องการได้ | ในระบบไมโครคอนโทรลเลอร์ หมายเลขคงที่สำหรับหน่วยความจำหรือ I/O ทำให้ไมโครคอนโทรลเลอร์เหมาะอย่างยิ่งสำหรับงานเฉพาะด้าน |
เสนอการรองรับหน่วยความจำภายนอกและพอร์ต I/O ซึ่งทำให้ระบบมีน้ำหนักมากขึ้นและมีค่าใช้จ่ายมากขึ้น | ระบบประเภทนี้มีน้ำหนักเบาและราคาถูกกว่าเมื่อเปรียบเทียบกับไมโครโปรเซสเซอร์ |
อุปกรณ์ภายนอกต้องการพื้นที่มากขึ้นและการใช้พลังงานก็ค่อนข้างสูง | ระบบประเภทนี้ใช้พื้นที่น้อยกว่าและใช้พลังงานต่ำมากเช่นกัน |
การประยุกต์ใช้ระบบสมองกลฝังตัว
ต่อไปนี้เป็นแอปพลิเคชันที่สำคัญของระบบฝังตัว:
วิทยาศาสตร์หุ่นยนต์
- ยานพาหนะภาคพื้นดิน
- โดรน
- ยานพาหนะใต้น้ำ
- หุ่นยนต์เพื่อการอุตสาหกรรม
บริการทางการแพทย์
- เครื่องฟอกไต
- ปั๊มแช่
- เครื่องตรวจหัวใจ
- อุปกรณ์เทียม
ยานยนต์
- ระบบควบคุม
- ระบบจุดระเบิด
- ระบบเบรก
ระบบเครือข่าย
- เราเตอร์
- ฮับ
- เกตเวย์
- เครื่องมืออิเล็กทรอนิกส์
อุปกรณ์ภายในบ้าน
- ทีวี
- Digiนาฬิกาปลุก
- แอร์
- เครื่องเล่นดีวีดี
- กล้อง
รถยนต์
- การฉีดน้ำมันเชื้อเพลิง
- ระบบแสงสว่าง
- ล็อคประตู
- ถุงลมนิรภัย
- Windows
- ระบบช่วยจอดรถ
- สัญญาณกันขโมย Whippers Motion
ควบคุมอุตสาหกรรม
- หุ่นยนต์
- ระบบควบคุม
- ขีปนาวุธ
- เครื่องปฏิกรณ์นิวเคลียร์
- สถานีอวกาศ
- บริการรถรับส่ง
ข้อดีของระบบสมองกลฝังตัว
นี่คือข้อดี/ประโยชน์ของการใช้ระบบสมองกลฝังตัว:
- สามารถครอบคลุมสภาพแวดล้อมได้หลากหลาย
- Less มีแนวโน้มที่จะเกิดข้อผิดพลาดอีกครั้ง
- ระบบสมองกลฝังตัวทำให้ฮาร์ดแวร์ง่ายขึ้น ซึ่งช่วยลดต้นทุนโดยรวม
- นำเสนอประสิทธิภาพที่เพิ่มขึ้น
- ระบบฝังตัวมีประโยชน์สำหรับการผลิตจำนวนมาก
- ระบบฝังตัวมีความน่าเชื่อถือสูง
- มีความเชื่อมโยงกันน้อยมาก
- ระบบฝังตัวมีขนาดเล็ก
- มีการทำงานที่รวดเร็ว
- นำเสนอคุณภาพผลิตภัณฑ์ที่ดีขึ้น
- เพิ่มประสิทธิภาพการใช้ทรัพยากรระบบ
- มีการทำงานแบบพลังงานต่ำ
ข้อเสียของระบบสมองกลฝังตัว
นี่คือข้อเสีย/ข้อเสียที่สำคัญของการใช้ระบบสมองกลฝังตัว
- ในการพัฒนาระบบฝังตัวต้องใช้ความพยายามในการพัฒนาสูง
- ต้องใช้เวลาในการทำตลาดนาน
- ระบบสมองกลฝังตัวทำงานเฉพาะเจาะจงมาก ดังนั้นจึงไม่สามารถตั้งโปรแกรมให้ทำสิ่งต่างๆ ได้
- ระบบสมองกลฝังตัวมีทรัพยากรสำหรับหน่วยความจำที่จำกัดมาก
- ไม่มีการปรับปรุงทางเทคโนโลยีใดๆ
- การสำรองไฟล์ที่ฝังไว้เป็นเรื่องยาก
สรุป
- ระบบคือการจัดเตรียมที่ส่วนประกอบทั้งหมดประกอบกันทำงานตามกฎที่กำหนดเฉพาะ
- Embedded System คำจำกัดความ: ระบบสมองกลฝังตัวหมายถึงการรวมกันของซอฟต์แวร์คอมพิวเตอร์และฮาร์ดแวร์ซึ่งได้รับการแก้ไขในความสามารถหรือตั้งโปรแกรมได้
- ตัวอย่างของระบบฝังตัวคือเครื่องพิมพ์เลเซอร์ที่จัดการด้านต่างๆ ของการพิมพ์
- ในปี 1960 ระบบฝังตัวถูกใช้ครั้งแรกเพื่อพัฒนา Apollo Guidance System โดย Charles Stark Draper ที่ MIT
- ระบบสมองกลฝังตัวต้องการประสิทธิภาพแบบเรียลไทม์
- การวัดความน่าเชื่อถือของความน่าจะเป็นในการอยู่รอดของระบบเมื่อฟังก์ชันมีความสำคัญในระหว่างรันไทม์
- Fault-Tolerance คือความสามารถของระบบคอมพิวเตอร์ในการอยู่รอดเมื่อมีข้อผิดพลาดเกิดขึ้น
- ระบบสมองกลฝังตัวต้องเป็นไปตามจังหวะเวลาและข้อจำกัดอื่นๆ ที่หลากหลาย
- ความยืดหยุ่นคือการสร้างระบบที่มีโอกาสแก้ไขจุดบกพร่องในตัวซึ่งช่วยให้สามารถบำรุงรักษาจากระยะไกลได้
- ความสามารถในการพกพาคือการวัดความง่ายในการใช้ซอฟต์แวร์ฝังตัวเดียวกันในสภาพแวดล้อมต่างๆ
- ไมโครคอนโทรลเลอร์เป็นหน่วย VLSI แบบชิปตัวเดียวซึ่งเรียกอีกอย่างว่าไมโครคอมพิวเตอร์
- ไมโครโปรเซสเซอร์เป็นอุปกรณ์เซมิคอนดักเตอร์ชิปตัวเดียว CPU ประกอบด้วยตัวนับโปรแกรม, ALU, ตัวชี้สแต็ก, รีจิสเตอร์การทำงาน, วงจรจับเวลานาฬิกา
- Archiโครงสร้างของระบบสมองกลฝังตัวประกอบด้วย: เซ็นเซอร์, ตัวแปลง AD, หน่วยความจำ, โปรเซสเซอร์และ ASIC, ตัวแปลง DA และแอคทูเอเตอร์
- ระบบสมองกลฝังตัวสามประเภท ได้แก่: 1) ขนาดเล็ก 2) ขนาดกลาง และ 3) ซับซ้อน
- ความแตกต่างที่สำคัญระหว่างในไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์ก็คือ ในไมโครโปรเซสเซอร์คำสั่งการจัดการบิตจะน้อยกว่าในขณะที่ไมโครคอนโทรลเลอร์มีคำสั่งการจัดการบิตหลายประเภท
- การประยุกต์ใช้ระบบฝังตัวประกอบด้วย: 1) วิทยาศาสตร์หุ่นยนต์ 2) การแพทย์ 3) ยานยนต์ 3) ระบบเครือข่าย 4) อุปกรณ์ในบ้าน 5) รถยนต์ และ 6) การควบคุมอุตสาหกรรม
- ข้อดีที่สำคัญของระบบสมองกลฝังตัวคือสามารถครอบคลุมสภาพแวดล้อมได้หลากหลาย
- ข้อเสียเปรียบที่สำคัญของ Embedded System คือต้องใช้เวลาในการออกสู่ตลาดนาน