ดูทั้งหมด

โปรดยึดฉบับภาษาอังกฤษเป็นฉบับทางการกลับ

ยุโรป
France(Français) Germany(Deutsch) Italy(Italia) Russian(русский) Poland(polski) Czech(Čeština) Luxembourg(Lëtzebuergesch) Netherlands(Nederland) Iceland(íslenska) Hungarian(Magyarország) Spain(español) Portugal(Português) Turkey(Türk dili) Bulgaria(Български език) Ukraine(Україна) Greece(Ελλάδα) Israel(עִבְרִית) Sweden(Svenska) Finland(Svenska) Finland(Suomi) Romania(românesc) Moldova(românesc) Slovakia(Slovenská) Denmark(Dansk) Slovenia(Slovenija) Slovenia(Hrvatska) Croatia(Hrvatska) Serbia(Hrvatska) Montenegro(Hrvatska) Bosnia and Herzegovina(Hrvatska) Lithuania(lietuvių) Spain(Português) Switzerland(Deutsch) United Kingdom(English)
เอเชีย/แปซิฟิก
Japan(日本語) Korea(한국의) Thailand(ภาษาไทย) Malaysia(Melayu) Singapore(Melayu) Vietnam(Tiếng Việt) Philippines(Pilipino)
แอฟริกาอินเดียและตะวันออกกลาง
United Arab Emirates(العربية) Iran(فارسی) Tajikistan(فارسی) India(हिंदी) Madagascar(malaɡasʲ)
อเมริกาใต้ / โอเชียเนีย
New Zealand(Maori) Brazil(Português) Angola(Português) Mozambique(Português)
อเมริกาเหนือ
United States(English) Canada(English) Haiti(Ayiti) Mexico(español)
บ้านบล็อกรูทีนบริการขัดจังหวะ (ISRS) ในระบบฝังตัว: แนวคิดความสำคัญและการออกแบบ
บน 06/01/2025 9,004

รูทีนบริการขัดจังหวะ (ISRS) ในระบบฝังตัว: แนวคิดความสำคัญและการออกแบบ

ในระบบฝังตัวและการคำนวณการบริการรูทีนการบริการขัดจังหวะ (ISRS) มีบทบาทในการรับรองว่างานที่สำคัญจะได้รับการจัดการทันทีโดยไม่ทำให้ประสิทธิภาพโดยรวมของระบบช้าลงISRS เป็นกุญแจสำคัญในการจัดการการขัดจังหวะฮาร์ดแวร์สัญญาณที่ต้องการความสนใจของโปรเซสเซอร์ทันทีและพวกเขาอนุญาตให้ระบบรักษาความตอบสนองแม้ในสภาพแวดล้อมที่ต้องการบทความนี้จะสำรวจว่า ISRS คืออะไรวิธีการทำงานและแนวทางปฏิบัติที่ดีที่สุดสำหรับการออกแบบ ISR ที่มีประสิทธิภาพเพื่อเพิ่มประสิทธิภาพของระบบ

แคตตาล็อก

1. รูทีนบริการขัดจังหวะ (ISR) คืออะไร?
2. บทบาทของการลงทะเบียน ISR ในการจัดการขัดจังหวะ
3. ทำไม ISRS จึงสำคัญ?
4. การออกแบบ ISR ที่มีประสิทธิภาพ
5. ISR ในระบบถุงลมนิรภัยยานยนต์
6. เทคนิคการจัดการขัดจังหวะขั้นสูง
Working of ISR (Interrupt Service Routine)

รูทีนบริการขัดจังหวะ (ISR) คืออะไร?

รูทีนบริการขัดจังหวะ (ISR) เป็นฟังก์ชั่นพิเศษหรือรูทีนย่อยที่ออกแบบมาเพื่อจัดการการขัดจังหวะฮาร์ดแวร์การขัดจังหวะเกิดขึ้นเมื่อเหตุการณ์ภายนอกต้องการความสนใจทันทีจาก CPU ทำให้เกิดการหยุดงานปัจจุบันชั่วคราวและข้ามไปยัง ISR เพื่อจัดการเหตุการณ์ใหม่ตัวอย่างเช่นการขัดจังหวะสามารถทริกเกอร์โดยการล้นตัวจับเวลาการเปลี่ยนแปลงอินพุตเซ็นเซอร์และการป้อนข้อมูลของผู้ใช้จากอุปกรณ์ต่อพ่วง (เช่นปุ่มกด)เมื่อการขัดจังหวะได้รับการจัดการโดย ISR CPU จะดำเนินการต่องานดั้งเดิมต่อไปการเปลี่ยนแปลงที่ไร้รอยต่อนี้เป็นสิ่งที่ดีสำหรับระบบเวลาเพื่อให้มั่นใจว่าเหตุการณ์สำคัญได้รับการจัดลำดับความสำคัญในขณะที่ลดความล่าช้าในเวิร์กโฟลว์โดยรวมของระบบ

บทบาทของการลงทะเบียน ISR ในการจัดการขัดจังหวะ

องค์ประกอบที่สำคัญของการจัดการขัดจังหวะคือการลงทะเบียน ISR ซึ่งติดตามระดับการขัดจังหวะในปัจจุบันที่กำลังดำเนินการและส่วนที่ได้รับการตั้งค่าชั่วคราวเนื่องจากเหตุการณ์ที่มีลำดับความสำคัญสูงกว่านี่คือวิธีการทำงานในรายละเอียด:

ขัดจังหวะทริกเกอร์: CPU ในขณะที่ดำเนินงานจะได้รับสัญญาณขัดจังหวะจากอุปกรณ์ฮาร์ดแวร์ (เช่นตัวจับเวลาล้นหรือการเปลี่ยนเซ็นเซอร์)

การบันทึกบริบท:เพื่อให้แน่ใจว่ามีความสมบูรณ์ของระบบ CPU จะบันทึกบริบทปัจจุบันโดยการจัดเก็บค่าของการลงทะเบียนหลักสิ่งนี้จะช่วยให้ CPU กลับมาทำงานก่อนหน้านี้อีกครั้งเมื่อ ISR เสร็จสมบูรณ์โดยไม่สูญเสียข้อมูล

การดำเนินการ ISR: ซีพียูกระโดดไปยังรูทีนบริการขัดจังหวะซึ่งเป็นรูทีนย่อยที่กำหนดซึ่งจัดการเหตุการณ์ISR จัดการงานเช่นการอ่านข้อมูลเซ็นเซอร์การประมวลผลอินพุตผู้ใช้หรืออำนวยความสะดวกในการสื่อสารด้วยอุปกรณ์ต่อพ่วง

การกำหนดเวลางาน: เมื่อ ISR เสร็จสิ้นแล้วตัวกำหนดตารางเวลางานของระบบจะกำหนดว่างานใดจะดำเนินการต่อไปในสภาพแวดล้อมเคอร์เนลที่ยึดถือไว้ล่วงหน้างานที่มีลำดับความสำคัญสูงสุดที่พร้อมใช้งานจะถูกดำเนินการทันที

ทำไม ISRS จึงสำคัญ?

รูทีนบริการขัดจังหวะ (ISRS) เป็นกลไกสำคัญในระบบฝังตัวที่อนุญาตให้ CPU ตอบสนองต่อเหตุการณ์อะซิงโครนัสได้อย่างรวดเร็วเหตุการณ์ที่เกิดขึ้นนอกการไหลปกติของโปรแกรมหากไม่มี ISRS ระบบจะต้องพึ่งพาการสำรวจอย่างต่อเนื่องเพื่อตรวจสอบเหตุการณ์เหล่านี้กระบวนการที่ไม่มีประสิทธิภาพและมีแนวโน้มที่จะล่าช้าด้วยการเปิดใช้งานการตอบสนองต่อสัญญาณที่สำคัญทันที ISRS ปรับปรุงประสิทธิภาพและความน่าเชื่อถือของระบบฝังตัวโดยเฉพาะอย่างยิ่งในแอปพลิเคชันที่ไวต่อเวลาตัวอย่างเช่นในระบบยานยนต์การขัดจังหวะมีบทบาทในคุณสมบัติด้านความปลอดภัยเช่นการปรับใช้ถุงลมนิรภัยและระบบเบรกป้องกันล็อค (ABS) ซึ่งความล่าช้าในการประมวลผลการขัดจังหวะอาจส่งผลให้เกิดผลลัพธ์ที่คุกคามชีวิตในระบบอัตโนมัติอุตสาหกรรมการขัดจังหวะให้แน่ใจว่าเครื่องจักรสามารถตอบสนองต่อการเปลี่ยนแปลงของเซ็นเซอร์หรืออินพุตได้ทันทีป้องกันอุบัติเหตุหรือความเสียหายของอุปกรณ์ที่มีค่าใช้จ่ายสูงในทำนองเดียวกันในอุปกรณ์การแพทย์เช่นเครื่องช่วยหายใจหรือเครื่องตรวจสอบหัวใจการจัดการขัดจังหวะในเวลาที่เหมาะสมอาจเป็นความแตกต่างระหว่างชีวิตและความตายเพื่อให้มั่นใจว่าระบบที่สำคัญทำงานโดยไม่ชักช้า

การออกแบบ ISR ที่มีประสิทธิภาพ

เพื่อเพิ่มประสิทธิภาพและการตอบสนองของระบบให้สูงสุดต้องได้รับการออกแบบอย่างรอบคอบการใช้งานการบริการอินเตอร์รัปต์ที่มีประสิทธิภาพ (ISR) นั้นยอดเยี่ยมสำหรับการรับรองพฤติกรรมระบบฝังตัวที่เชื่อถือได้เร็วและมีประสิทธิภาพนี่คือแนวทางปฏิบัติที่ดีที่สุดในการติดตามเมื่อใช้ ISRS ในระบบฝังตัวเพื่อให้ได้ประสิทธิภาพที่ดีที่สุด

ให้ ISRS สั้นและรวดเร็ว

กฎที่สำคัญที่สุดสำหรับการเขียน ISRS คือการทำให้พวกเขาสั้นและรวดเร็วที่สุดเท่าที่จะทำได้ในขณะที่ ISR กำลังดำเนินการ CPU ไม่สามารถประมวลผลงานอื่น ๆ ได้ดังนั้นรูทีนที่ยาวหรือซับซ้อนอาจทำให้เกิดความล่าช้าในการทำงานของระบบเพื่อให้บรรลุสิ่งนี้ให้หลีกเลี่ยงการคำนวณที่ยาวนานหรือการเรียกใช้ฟังก์ชั่นที่ใช้เวลานานภายใน ISRให้มุ่งเน้นไปที่การจัดการการขัดจังหวะอย่างรวดเร็วและขนถ่ายงานที่ไม่สำคัญไปยังกระบวนการพื้นหลังหรือลูปโปรแกรมหลักสิ่งนี้ทำให้มั่นใจได้ว่า ISR ยังคงมีประสิทธิภาพและตอบสนองต่อเหตุการณ์

ลดความถี่ขัดจังหวะ

จำนวนการขัดจังหวะที่มากเกินไปสามารถครอบงำ CPU ส่งผลให้เกิดพายุขัดจังหวะซึ่งระบบใช้เวลาในการจัดการกับการขัดจังหวะมากกว่าการดำเนินงานโปรแกรมหลักสิ่งนี้จะลดประสิทธิภาพของระบบโดยรวมเพื่อลดความถี่การขัดจังหวะให้ใช้ฮาร์ดแวร์ debouncing สำหรับสวิตช์เชิงกลเพื่อป้องกันไม่ให้ทริกเกอร์เท็จที่เกิดจากสัญญาณรบกวนหรือการตีกลับนอกจากนี้การปรับช่วงเวลาตัวจับเวลาเพื่อให้แน่ใจว่าตัวจับเวลาเป็นระยะไม่ได้สร้างการขัดจังหวะมากเกินไปซึ่งอาจขัดขวางการทำงานของระบบ

จัดลำดับความสำคัญของการขัดจังหวะ

ในระบบฝังตัวที่มีการขัดจังหวะหลายครั้งจำเป็นต้องกำหนดระดับลำดับความสำคัญที่เหมาะสมเพื่อให้แน่ใจว่าเหตุการณ์ที่สำคัญที่สุดได้รับการจัดการก่อนไมโครคอนโทรลเลอร์ที่ทันสมัยส่วนใหญ่มีตัวควบคุมการขัดจังหวะเวกเตอร์แบบซ้อนกัน (NVIC) ซึ่งช่วยให้สามารถกำหนดระดับลำดับความสำคัญสำหรับการขัดจังหวะที่แตกต่างกันโดยการจัดลำดับความสำคัญของการขัดจังหวะคุณสามารถป้องกันงานที่มีลำดับความสำคัญต่ำกว่าจากการล่าช้าฟังก์ชันที่ไวต่อเวลาหรือภารกิจที่สำคัญวิธีการนี้ทำให้มั่นใจได้ว่าการขัดจังหวะลำดับความสำคัญสูงจะถูกประมวลผลทันที

ปกป้องทรัพยากรที่ใช้ร่วมกัน

เมื่อ ISR และโปรแกรมหลักแบ่งปันทรัพยากรเช่นตัวแปรการลงทะเบียนฮาร์ดแวร์หรือบัฟเฟอร์หน่วยความจำมีความเสี่ยงต่อการเกิดเชื้อชาติหรือการทุจริตของข้อมูลหากการเข้าถึงไม่ได้รับการจัดการอย่างเหมาะสมสิ่งนี้สามารถนำไปสู่พฤติกรรมที่คาดเดาไม่ได้หรือระบบล่มเพื่อป้องกันความขัดแย้งให้ใช้กลไกการซิงโครไนซ์เช่นส่วนหรือสัญญาณเพื่อจัดการการเข้าถึงทรัพยากรที่ใช้ร่วมกันอีกทางเลือกหนึ่งปิดการใช้งานการขัดจังหวะชั่วคราวเมื่อเข้าถึงทรัพยากรที่ใช้ร่วมกันเพื่อให้แน่ใจว่าโปรแกรมหลักจะไม่ถูกขัดจังหวะระหว่างการดำเนินการ

ISR ในระบบถุงลมนิรภัยยานยนต์

ลองพิจารณาตัวอย่างที่เป็นประโยชน์ของรูทีนบริการขัดจังหวะ (ISR) ในระบบถุงลมนิรภัยยานยนต์เมื่อเกิดความผิดพลาดในรถยนต์เซ็นเซอร์จะตรวจจับการชะลอตัวลงอย่างกะทันหันและทำให้เกิดการขัดจังหวะไปยังชุดควบคุมถุงลมนิรภัย (ACU) ทันทีISR สำหรับการขัดจังหวะนี้ทำงานหลายอย่าง: อ่านข้อมูลเซ็นเซอร์เพื่อยืนยันเหตุการณ์การชนคำนวณเวลาที่เหมาะสมสำหรับการปรับใช้ถุงลมนิรภัยและกระตุ้นกลไกการปรับใช้ถุงลมนิรภัยกระบวนการทั้งหมดนี้จะต้องเสร็จสิ้นภายในมิลลิวินาทีเพื่อให้แน่ใจว่าถุงลมนิรภัยปรับใช้ในเวลาที่เหมาะสมเพื่อปกป้องผู้โดยสารของยานพาหนะหาก ISR ได้รับการออกแบบไม่ดีหรือใช้เวลานานเกินไปในการดำเนินการถุงลมนิรภัยสามารถปรับใช้สายเกินไปนำไปสู่ผลที่ตามมาจากหายนะดังนั้นประสิทธิภาพและความเร็วของ ISR จึงเป็นสิ่งที่ดีในการรับรองความปลอดภัยและประสิทธิผลของระบบถุงลมนิรภัย

เทคนิคการจัดการขัดจังหวะขั้นสูง

ในระบบที่ซับซ้อนมากขึ้นการเพิ่มประสิทธิภาพและประสิทธิภาพของรูทีนบริการขัดจังหวะ (ISRS) กลายเป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่งในการใช้งานเวลาเพื่อให้บรรลุเป้าหมายนี้คุณสามารถใช้เทคนิคการจัดการขัดจังหวะขั้นสูงที่หลากหลายซึ่งลดความหน่วงแฝงจัดลำดับความสำคัญของงานได้อย่างมีประสิทธิภาพมากขึ้นและลดผลกระทบโดยรวมต่อประสิทธิภาพของระบบด้านล่างนี้เป็นเทคนิคสำคัญสามประการที่ใช้กันทั่วไปในระบบขั้นสูงเพื่อปรับปรุงการจัดการขัดจังหวะ

การขัดจังหวะซ้อนกัน

การขัดจังหวะแบบซ้อนกันช่วยให้การขัดจังหวะลำดับความสำคัญสูงขึ้นเพื่อยึดเอาการดำเนินการของ ISR ที่มีลำดับความสำคัญต่ำกว่าเพื่อให้มั่นใจว่าเหตุการณ์ได้รับการจัดการโดยไม่ชักช้าในระบบขัดจังหวะพื้นฐานเมื่อมีการเรียกใช้ ISR แล้วการขัดจังหวะอื่น ๆ ทั้งหมดจะถูกปิดใช้งานจนกว่า ISR ปัจจุบันจะเสร็จสมบูรณ์วิธีการนี้สามารถนำไปสู่ความล่าช้าในการตอบสนองต่อเหตุการณ์ที่มีลำดับความสำคัญสูงขึ้นหาก ISR ที่มีลำดับความสำคัญต่ำกว่ากำลังดำเนินการอยู่แล้วด้วยการเปิดใช้งานการขัดจังหวะแบบซ้อนกันระบบสามารถหยุด ISR ที่มีลำดับความสำคัญต่ำกว่าชั่วคราวจัดการกับการขัดจังหวะอย่างเร่งด่วนมากขึ้นจากนั้นกลับมาใช้ ISR เริ่มต้นเมื่องานที่มีลำดับความสำคัญสูงกว่าเสร็จสมบูรณ์เทคนิคนี้ช่วยปรับปรุงการตอบสนองของระบบโดยเฉพาะอย่างยิ่งในสถานการณ์ที่เหตุการณ์ที่ไวต่อเวลาเกิดขึ้นอย่างคาดไม่ถึงและต้องจัดลำดับความสำคัญตัวอย่างเช่นในระบบยานยนต์เซ็นเซอร์ตรวจจับการชะลอตัวลงอย่างกะทันหันในระหว่างการชนจะต้องจัดลำดับความสำคัญมากกว่าการขัดจังหวะที่สำคัญน้อยกว่าเช่นการวินิจฉัยเครื่องยนต์อย่างไรก็ตามการใช้การขัดจังหวะแบบซ้อนกันจำเป็นต้องมีการออกแบบอย่างรอบคอบเพื่อหลีกเลี่ยงปัญหาเช่นการผกผันลำดับความสำคัญซึ่งงานที่มีลำดับความสำคัญต่ำกว่าบล็อกงานที่มีลำดับความสำคัญสูงกว่าเนื่องจากการจัดการที่ไม่เหมาะสม

ตารางเวกเตอร์ขัดจังหวะ

ตารางเวกเตอร์ขัดจังหวะเป็นวิธีที่มีโครงสร้างในการจัดการการขัดจังหวะหลายประเภทโดยใช้ตารางเพื่อค้นหา ISR ที่เหมาะสมสำหรับเหตุการณ์อินเตอร์รัปต์แต่ละครั้งอย่างรวดเร็วในระบบที่ง่ายกว่าโปรเซสเซอร์อาจต้องค้นหาผ่านรายการของการขัดจังหวะที่เป็นไปได้เพื่อพิจารณาว่า ISR ใดที่จะดำเนินการซึ่งสามารถแนะนำความล่าช้าที่ไม่จำเป็นตารางเวกเตอร์ขัดจังหวะกำจัดความไร้ประสิทธิภาพนี้โดยการแมปแต่ละประเภทการขัดจังหวะโดยตรงกับ ISR ที่สอดคล้องกันผ่านตารางที่กำหนดไว้ล่วงหน้าที่เก็บไว้ในหน่วยความจำเมื่อเกิดการขัดจังหวะระบบจะสามารถอ้างอิงตารางทันทีเพื่อข้ามไปยัง ISR ที่เหมาะสมลดเวลาแฝงและปรับปรุงประสิทธิภาพโดยรวมเทคนิคนี้มีประโยชน์ในระบบที่มีอุปกรณ์ต่อพ่วงจำนวนมากซึ่งต้องมีการขัดจังหวะหลายครั้งจากแหล่งต่าง ๆ ที่จำเป็นต้องได้รับการจัดการอย่างรวดเร็วและมีประสิทธิภาพตัวอย่างเช่นในไมโครคอนโทรลเลอร์ที่จัดการระบบถุงลมนิรภัยยานยนต์อาจมีการขัดจังหวะสำหรับเซ็นเซอร์การชนเซ็นเซอร์เข็มขัดนิรภัยและการแจ้งเตือนการวินิจฉัยตารางเวกเตอร์ขัดจังหวะทำให้มั่นใจได้ว่าการขัดจังหวะแต่ละครั้งจะถูกส่งไปยัง ISR ที่ถูกต้องโดยไม่ต้องใช้ความล่าช้าในการประมวลผลที่ไม่จำเป็น

การจัดการขัดจังหวะรอการตัดบัญชี

การจัดการขัดจังหวะรอการตัดบัญชีเกี่ยวข้องกับการแยกกระบวนการจัดการขัดจังหวะออกเป็นสองส่วน: ส่วนที่สำคัญต่อเวลาที่ทำงานภายใน ISR และส่วนที่ไม่สำคัญที่สามารถเลื่อนไปยังกระบวนการพื้นหลังเทคนิคนี้มีค่าในระบบที่ ISRS ต้องดำเนินการโดยเร็วที่สุดเพื่อหลีกเลี่ยงการปิดกั้นการขัดจังหวะอื่น ๆISR ดำเนินการเฉพาะงานเร่งด่วนที่สุดเช่นการอ่านข้อมูลเซ็นเซอร์หรือรับทราบสัญญาณขัดจังหวะก่อนออกงานที่ไม่สำคัญเช่นการบันทึกข้อมูลหรือทำการคำนวณโดยละเอียดจะถูกเลื่อนออกไปในกระบวนการพื้นหลังแยกต่างหากที่ทำงานเมื่อระบบไม่ได้ใช้งานหรือยุ่งน้อยลงวิธีนี้ช่วยลดเวลาที่ใช้ใน ISR ลดเวลาแฝงขัดจังหวะโดยรวมและทำให้มั่นใจได้ว่าระบบยังคงตอบสนองต่อการขัดจังหวะใหม่ตัวอย่างเช่นในระบบถุงลมนิรภัยยานยนต์ ISR อาจจัดการการตรวจจับความผิดพลาดและการปรับใช้ถุงลมนิรภัยทริกเกอร์ทันทีในขณะที่บันทึกรายละเอียดเหตุการณ์หรือการวินิจฉัยระบบจะถูกเลื่อนออกไปเป็นงานพื้นหลังที่มีลำดับความสำคัญต่ำกว่าอย่างไรก็ตามการจัดการขัดจังหวะที่รอการตัดบัญชีต้องใช้การจัดตารางงานอย่างระมัดระวังเพื่อให้แน่ใจว่างานที่รอการตัดบัญชีจะเสร็จสมบูรณ์ในเวลาที่เหมาะสมและไม่สะสมอาจทำให้ระบบล่าช้า

เกี่ยวกับเรา

ALLELCO LIMITED

Allelco เป็นจุดเริ่มต้นที่โด่งดังในระดับสากล ผู้จัดจำหน่ายบริการจัดหาของส่วนประกอบอิเล็กทรอนิกส์ไฮบริดมุ่งมั่นที่จะให้บริการการจัดหาและซัพพลายเชนส่วนประกอบที่ครอบคลุมสำหรับอุตสาหกรรมการผลิตและการจัดจำหน่ายอิเล็กทรอนิกส์ทั่วโลกรวมถึงโรงงาน OEM 500 อันดับสูงสุดทั่วโลกและโบรกเกอร์อิสระ
อ่านเพิ่มเติม

สอบถามรายละเอียดเพิ่มเติมอย่างรวดเร็ว

กรุณาส่งคำถามเราจะตอบกลับทันที

จำนวน

โพสต์ยอดนิยม

หมายเลขชิ้นส่วนร้อน

0 RFQ
ตะกร้าสินค้า (0 Items)
มันว่างเปล่า
เปรียบเทียบรายการ (0 Items)
มันว่างเปล่า
ข้อเสนอแนะ

ความคิดเห็นของคุณสำคัญ!ที่ Allelco เราให้ความสำคัญกับประสบการณ์ของผู้ใช้และพยายามปรับปรุงอย่างต่อเนื่อง
โปรดแบ่งปันความคิดเห็นของคุณกับเราผ่านแบบฟอร์มข้อเสนอแนะของเราและเราจะตอบกลับทันที
ขอบคุณที่เลือก Allelco

เรื่อง
E-mail
หมายเหตุ
รหัสยืนยัน
ลากหรือคลิกเพื่ออัปโหลดไฟล์
อัปโหลดไฟล์
ประเภท: .xls, .xlsx, .doc, .docx, .jpg, .png และ .pdf
ขนาดไฟล์สูงสุด: 10MB