ระบบฝังตัวเป็นตัวควบคุมซึ่งควบคุมอุปกรณ์อิเล็กทรอนิกส์อื่น ๆ อีกมากมาย เป็นการผสมผสานระหว่างฮาร์ดแวร์และซอฟต์แวร์แบบฝังตัว ระบบฝังตัวมีสองประเภท ไมโครโปรเซสเซอร์ และ ไมโครคอนโทรลเลอร์ . ไมโครโปรเซสเซอร์ใช้โมเดล / สถาปัตยกรรมของฟอนนอยมันน์ (โดยที่โปรแกรม + ข้อมูลอยู่ในตำแหน่งหน่วยความจำเดียวกัน) เป็นส่วนสำคัญของระบบคอมพิวเตอร์ซึ่งมีการเชื่อมต่อโปรเซสเซอร์ภายนอกและอุปกรณ์ต่อพ่วง ใช้พื้นที่มากขึ้นและมีการใช้พลังงานมากขึ้น การประยุกต์ใช้ไมโครโปรเซสเซอร์คือคอมพิวเตอร์ส่วนบุคคล บทความนี้กล่าวถึงขั้นตอนที่เกี่ยวข้องกับการออกแบบระบบฝังตัว
การออกแบบระบบฝังตัวคืออะไร?
คำจำกัดความ: ระบบที่ออกแบบด้วยการฝังฮาร์ดแวร์และซอฟต์แวร์เข้าด้วยกันสำหรับฟังก์ชันเฉพาะที่มีพื้นที่ขนาดใหญ่ขึ้นคือการออกแบบระบบฝังตัว ในการออกแบบระบบฝังตัวไมโครคอนโทรลเลอร์มีบทบาทสำคัญ ไมโครคอนโทรลเลอร์ใช้สถาปัตยกรรมของฮาร์วาร์ดซึ่งเป็นส่วนประกอบสำคัญของระบบฝังตัว หน่วยประมวลผลภายนอกหน่วยความจำภายในและส่วนประกอบ i / o เชื่อมต่อกับไมโครคอนโทรลเลอร์ ใช้พื้นที่น้อยใช้พลังงานน้อยลง การประยุกต์ใช้ไมโครคอนโทรลเลอร์คือ MP3 เครื่องซักผ้า
การออกแบบที่ฝังตัว
ประเภทของระบบฝังตัว
- สแตนด์อะโลน ระบบฝังตัว
- ระบบฝังตัวแบบเรียลไทม์
- อุปกรณ์เครือข่าย
- อุปกรณ์เคลื่อนที่
องค์ประกอบของระบบฝังตัว
- โปรเซสเซอร์
- ไมโครโปรเซสเซอร์
- ไมโครคอนโทรลเลอร์
- ตัวประมวลผลสัญญาณดิจิตอล
ขั้นตอนในกระบวนการออกแบบระบบฝังตัว
ขั้นตอนต่างๆในผังการออกแบบระบบฝังตัว / ผังการไหลรวมสิ่งต่อไปนี้
การออกแบบในตัว - กระบวนการ - ขั้นตอน
สิ่งที่เป็นนามธรรม
ในขั้นตอนนี้ปัญหาที่เกี่ยวข้องกับระบบจะถูกสรุป
ฮาร์ดแวร์ - สถาปัตยกรรมซอฟต์แวร์
ความรู้ที่เหมาะสมเกี่ยวกับฮาร์ดแวร์และซอฟต์แวร์ที่ควรทราบก่อนเริ่มกระบวนการออกแบบใด ๆ
คุณสมบัติการทำงานพิเศษ
ฟังก์ชั่นเพิ่มเติมที่จะนำไปใช้นั้นจะต้องเข้าใจอย่างสมบูรณ์จากการออกแบบหลัก
ตระกูลการออกแบบที่เกี่ยวข้องกับระบบ
เมื่อออกแบบระบบควรอ้างอิงถึงตระกูลการออกแบบที่เกี่ยวข้องกับระบบก่อนหน้านี้
การออกแบบโมดูลาร์
ต้องออกแบบโมดูลแยกต่างหากเพื่อให้สามารถใช้งานได้ในภายหลังเมื่อจำเป็น
การทำแผนที่
ขึ้นอยู่กับการทำแผนที่ซอฟต์แวร์เสร็จสิ้น ตัวอย่างเช่นโฟลว์ข้อมูลและโฟลว์โปรแกรมจะถูกแมปเป็นหนึ่งเดียว
การออกแบบส่วนต่อประสานผู้ใช้
ในการออกแบบส่วนต่อประสานผู้ใช้ขึ้นอยู่กับความต้องการของผู้ใช้การวิเคราะห์สภาพแวดล้อมและการทำงานของระบบ ตัวอย่างเช่นบนโทรศัพท์มือถือหากเราต้องการลดการใช้พลังงานของโทรศัพท์มือถือเราจะดูแลพารามิเตอร์อื่น ๆ เพื่อให้สามารถลดการใช้พลังงานได้
การปรับแต่ง
ทุกส่วนประกอบและโมดูลต้องได้รับการขัดเกลาอย่างเหมาะสมเพื่อให้ทีมซอฟต์แวร์เข้าใจได้
ภาษาคำอธิบายสถาปัตยกรรมใช้เพื่ออธิบายการออกแบบซอฟต์แวร์
- ลำดับชั้นควบคุม
- พาร์ทิชันของโครงสร้าง
- โครงสร้างข้อมูลและลำดับชั้น
- ขั้นตอนซอฟต์แวร์
กิจกรรมกระบวนการพัฒนาซอฟต์แวร์ออกแบบระบบฝังตัว
มีเมตริกการออกแบบต่างๆที่จำเป็นในการออกแบบระบบใด ๆ ให้ทำงานได้อย่างถูกต้อง
Design Metrics / Design Parameters ของ Embedded System
| ฟังก์ชัน |
การสูญเสียพลังงาน | รักษาระดับต่ำเสมอ |
ประสิทธิภาพ | ควรมีความสูง |
กำหนดเวลาดำเนินการ | กระบวนการ / งานควรเสร็จสิ้นภายในเวลาที่กำหนด |
ต้นทุนการผลิต | ควรดูแลรักษา |
ต้นทุนวิศวกรรม | เป็นค่าใช้จ่ายสำหรับการแก้ไข - ทดสอบ - แก้ไขข้อบกพร่องของฮาร์ดแวร์และซอฟต์แวร์ |
ขนาด | ขนาดถูกกำหนดในรูปของหน่วยความจำ RAM / ROM / Flash Memory / Physical Memory |
ต้นแบบ | เป็นเวลาทั้งหมดที่ใช้ในการพัฒนาระบบและทดสอบระบบ |
ความปลอดภัย | ควรคำนึงถึงความปลอดภัยของระบบเช่นการล็อกโทรศัพท์ความปลอดภัยของผู้ใช้เช่นการทำลายเครื่องยนต์ต้องใช้มาตรการความปลอดภัย |
ซ่อมบำรุง | ต้องมีการบำรุงรักษาระบบอย่างเหมาะสมเพื่อหลีกเลี่ยงความล้มเหลวของระบบ |
เวลาไปตลาด | เป็นเวลาที่ผลิตภัณฑ์ / ระบบที่พัฒนาขึ้นเพื่อเปิดตัวสู่ตลาด |
กิจกรรมกระบวนการพัฒนาซอฟต์แวร์ในตัว
กิจกรรมในกระบวนการพัฒนาซอฟต์แวร์แบบฝังส่วนใหญ่มีดังต่อไปนี้
ข้อมูลจำเพาะ
ต้องมีการกำหนดคุณสมบัติที่เหมาะสมเพื่อให้ลูกค้าที่ใช้ผลิตภัณฑ์สามารถตรวจสอบคุณสมบัติของผลิตภัณฑ์และใช้งานได้โดยไม่สับสน นักออกแบบส่วนใหญ่มุ่งเน้นไปที่ข้อกำหนดเช่นฮาร์ดแวร์ข้อ จำกัด ในการออกแบบระยะเวลาวงจรชีวิตพฤติกรรมของระบบที่เป็นผลลัพธ์
สถาปัตยกรรม
มีการระบุเลเยอร์สถาปัตยกรรมฮาร์ดแวร์และซอฟต์แวร์
ส่วนประกอบ
ในชั้นนี้จะทำการออกแบบส่วนประกอบ ส่วนประกอบต่างๆเช่นหน่วยประมวลผลเดี่ยวหน่วยความจำ RAM / ROM อุปกรณ์ต่อพ่วงรถประจำทาง .. ฯลฯ
ระบบบูรณาการ
ในเลเยอร์นี้ส่วนประกอบทั้งหมดจะรวมอยู่ในระบบและทดสอบว่าตรงตามความคาดหวังของนักออกแบบหรือไม่
ความท้าทายในการออกแบบระบบฝังตัว
ในขณะที่ออกแบบระบบฝังตัวนักออกแบบต้องเผชิญกับความท้าทายมากมายดังต่อไปนี้
- การปรับตัวของสภาพแวดล้อม
- การใช้พลังงาน
- พื้นที่ว่าง
- บรรจุภัณฑ์และการรวม
- การอัปเดตฮาร์ดแวร์และซอฟต์แวร์
- ความปลอดภัย
- มีความท้าทายมากมายที่นักออกแบบต้องเผชิญในขณะทดสอบการออกแบบเช่นฮาร์ดแวร์แบบฝังตัว การทดสอบ , ขั้นตอนการตรวจสอบ, การบำรุงรักษาความถูกต้อง.
ตัวอย่างการออกแบบระบบฝังตัว
- เครื่องจำหน่ายช็อกโกแลตอัตโนมัติ (ACVM)
- กล้องดิจิตอล
- สมาร์ทการ์ด
- โทรศัพท์มือถือ
- คอมพิวเตอร์มือถือ .. ฯลฯ
เครื่องจำหน่ายช็อกโกแลตอัตโนมัติ (ACVM)
ฟังก์ชั่นการออกแบบของ ACVM คือให้ช็อกโกแลตแก่เด็กเมื่อใดก็ตามที่เด็กใส่เหรียญลงใน ACVM
ขั้นตอนการออกแบบ
ขั้นตอนการออกแบบส่วนใหญ่มีดังต่อไปนี้
- ข้อกำหนด
- ข้อมูลจำเพาะ
- การทำงานของฮาร์ดแวร์และซอฟต์แวร์
ข้อกำหนด
เมื่อเด็กใส่เหรียญเข้าไปในเครื่องและเลือกช็อกโกแลตที่ต้องการซื้อ
อินพุต
- เหรียญเลือกผู้ใช้
- การขัดจังหวะถูกสร้างขึ้นที่แต่ละพอร์ตทุกครั้งที่ใส่เหรียญ
- การแจ้งเตือนแยกกันจะถูกส่งไปยังแต่ละพอร์ต
เอาท์พุต
- ช็อคโกแลต
- คืนเงิน
- ข้อความจะแสดงบน LCD เช่นวันที่เวลาข้อความต้อนรับ
ฟังก์ชันระบบ
- การใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกเด็กจะสั่งให้ระบบที่เด็กต้องการซื้อช็อกโกแลต
- ในกรณีที่อินเทอร์เฟซผู้ใช้แบบกราฟิกมีจอ LCD ปุ่มกดหน้าจอสัมผัส
- เครื่องจะส่งช็อคโกแลตเมื่อเด็กใส่เหรียญหากเหรียญที่ใส่เข้าไปมีมูลค่าเกินกว่าราคาจริงของช็อคโกแลตที่เลือก เครื่อง ACVM จะคืนเงินให้
- ด้วยการใช้บัสซิงโครนัสสากลเจ้าของ ACVM สามารถติดตามตำแหน่งของไคลเอ็นต์ได้
เมตริกการออกแบบ
การสูญเสียพลังงาน
ควรออกแบบตามขนาดจอแสดงผลและส่วนประกอบทางกล
กำหนดเวลาดำเนินการ
ต้องตั้งตัวจับเวลาดังนั้นเมื่อใดก็ตามที่เด็กใส่เหรียญ ACVM จะต้องตอบสนองภายในไม่กี่วินาทีในการส่งช็อคโกแลตและคืนเงินหากเกิน
ตัวอย่างเช่นหากเวลาตอบสนองคือ 10 วินาที ACVM ควรส่งช็อกโกแลตและคืนเงินหากเกินภายใน 10 วินาทีทันทีที่เด็กใส่เหรียญและยื่นคำร้องขอช็อกโกแลต
ข้อมูลจำเพาะ
จากระบบ ACVM ด้านล่างเมื่อเด็กใส่เหรียญ เหรียญจะถูกแยกตามพอร์ตที่นำเสนอ Port1, Port2, Port5 ในการรับเหรียญการขัดจังหวะถูกสร้างขึ้นโดยพอร์ตการขัดจังหวะนี้จะถูกส่งไปอ่านค่าจำนวนเงินและเพิ่มขึ้น
อัตโนมัติ - ช็อคโกแลต - จำหน่าย - เครื่อง
หน้าจอ LCD แสดงข้อความเช่นต้นทุนเวลายินดีต้อนรับ .. เป็นต้น มีการส่งมอบพอร์ตซึ่งมีการรวบรวมช็อคโกแลต
ฮาร์ดแวร์
สถาปัตยกรรมฮาร์ดแวร์ ACVM มีข้อกำหนดฮาร์ดแวร์ดังต่อไปนี้
- ไมโครคอนโทรลเลอร์ 8051
- 64 KB RAM และ 8MB ROM
- หน่วยความจำแฟลช 64 KB
- ปุ่มกด
- เครื่องคัดแยกเหรียญ
- ช่องช็อคโกแลต
- ช่องหยอดเหรียญ
- โมเด็มไร้สาย USB
- แหล่งจ่ายไฟ
ซอฟต์แวร์ของ ACVM
ต้องเขียนโปรแกรมจำนวนมากเพื่อให้สามารถตั้งโปรแกรมใหม่ได้เมื่อจำเป็นใน RAM / ROM เช่น
ฮาร์ดแวร์สถาปัตยกรรมบล็อกไดอะแกรมของการใช้งาน
- ราคาช็อกโกแลตเพิ่มขึ้น
- การอัปเดตข้อความที่จะแสดงใน LCD
- การเปลี่ยนแปลงคุณสมบัติของเครื่อง
Embedded System คือการรวมกันของฮาร์ดแวร์ + ซอฟต์แวร์เพื่อทำหน้าที่เฉพาะ ไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์มีสองประเภท ในขณะที่ออกแบบระบบฝังตัวจะต้องพิจารณาข้อ จำกัด และข้อกำหนดในการออกแบบบางประการเพื่อให้นักพัฒนาสามารถตอบสนองความคาดหวังของลูกค้าและส่งมอบตรงเวลา การประยุกต์ใช้ระบบฝังตัว ออกแบบ ACVM อธิบายในเนื้อหานี้ นี่คือคำถามว่าอะไรคือสาเหตุของข้อ จำกัด ด้านสิ่งแวดล้อมในขณะที่ออกแบบระบบฝังตัว?