การสร้างแบบจำลองความผิดพลาดสำหรับระบบฝังตัว


10

ฉันมีวงจรเซ็นเซอร์ไร้สายพร้อมไมโครคอนโทรลเลอร์และโมดูลรับส่งสัญญาณ 2.4 GHz เซ็นเซอร์ในตัวบางตัวที่มีอินเตอร์เฟซI²Cพอร์ต UART และส่วนประกอบแยกที่จำเป็น

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

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

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

สิ่งที่ฉันคิดขึ้นมาคือความผิดพลาดบางอย่างที่ฉันพยายามสรุป:

  • ส่วนประกอบขาด -> วงจรเปิด \ สั้น
  • เซ็นเซอร์ผิดปกติ -> ค่าเอาต์พุตไม่ถูกต้อง (แต่ผิดอย่างไร)
  • การแยกข้อบกพร่องเนื่องจากฝุ่น \ น้ำ -> การรั่วไหลเพิ่มขึ้น
  • อุณหภูมิอยู่นอกช่วง -> ???

ฉันจะประเมินว่าโหนดเซ็นเซอร์จะล้มเหลวได้อย่างไรและเพราะเหตุใด


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

ใช่แล้วตอนนี้ฉันก็ยังละเลยการดัดแปลงเนื่องจากเป็นข้อ จำกัด ... แต่ข้อเสนอแนะก็ยินดีต้อนรับ!
clabacchio

แผงโซลาร์เซลล์ถูกโคลนและไม่ก่อให้เกิดพลังงานเพียงพอ ฉันแน่ใจว่าชีวิตในอุปกรณ์ MEMS บางอย่างมีความไวต่อสภาพแวดล้อมมาก ... คาดเดา
เคนนี

วัตถุประสงค์ของการศึกษาของคุณคืออะไร? ตัวอย่างเช่นสามารถลดอัตราความล้มเหลวลดผลกระทบความล้มเหลว (ไม่นุ่มนวล) ลดความเสี่ยง
Wouter van Ooijen

คำตอบ:


7

มีองศาอิสระมากมายเกินกว่าที่จะเข้าใจความผิดพลาดที่เป็นไปได้ "ทั้งหมด" อย่างไรก็ตามมีเทคนิคในการระบุและลดความผิดพลาดในช่วงต้นของวงจรการออกแบบ (เช่นก่อนการปล่อยแบบกว้าง)

กิจกรรมขณะออกแบบ (ฮาร์ดแวร์ล่วงหน้า)

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

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

สำหรับเฟิร์มแวร์เครื่องมือวิเคราะห์รหัสคงที่ (MISRA, ผ้าสำลี, ฯลฯ ) สามารถใช้เพื่อเปิดเผยข้อบกพร่องที่ซ่อนอยู่ในรหัส สิ่งที่ต้องการตัวชี้ลอยและความเท่าเทียมกันแทนการเปรียบเทียบ (= vs ==) เป็น 'oopsies' ทั่วไปที่เครื่องมือเหล่านี้จะไม่พลาด

ทฤษฎีการทำงานที่เป็นลายลักษณ์อักษรก็มีประโยชน์มากเช่นกันสำหรับทั้งฮาร์ดแวร์และซอฟต์แวร์ ทฤษฎีการปฏิบัติงานควรอธิบายในระดับที่ค่อนข้างสูงว่าระบบทำงานอย่างไรการปกป้องการทำงานการเรียงลำดับและอื่น ๆ เพียงแค่พูดคำว่าตรรกะควรไหลบ่อยครั้งนำไปสู่การตระหนักว่าบางกรณีอาจพลาด ("อืม, waitasec แล้วเงื่อนไขนี้เป็นอย่างไร ")

การทดสอบระดับต้น

เมื่อคุณมีฮาร์ดแวร์ในมือแล้วก็ถึงเวลาที่จะต้อง "ทำงาน"

หลังจากทั้งหมดของการวิเคราะห์ทางทฤษฎีจะทำก็เป็นสิ่งสำคัญที่จะต้องอธิบายลักษณะวิธีการที่อุปกรณ์การดำเนินงานภายในสเปค โดยทั่วไปจะเรียกว่าการทดสอบการตรวจสอบหรือการรับรอง สุดขั้วที่อนุญาตทั้งหมดต้องได้รับการทดสอบ

กิจกรรมการรับรองที่สำคัญอีกประการหนึ่งคือการวิเคราะห์ความเค้นขององค์ประกอบ ทุกส่วนจะถูกประเมินเทียบกับแรงดันไฟฟ้า / กระแสไฟสูงสุด / อุณหภูมิในสภาพการทำงานที่กำหนดไว้ เพื่อให้มั่นใจถึงความทนทานควรใช้แนวทางที่เหมาะสม (ไม่เกิน 80% ของแรงดันไฟฟ้า, 70% ของกำลังไฟฟ้า ฯลฯ )

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

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

นี่เป็นเวลาที่ดีที่จะทำการทดสอบฝอยฝังตัว- ใช้อินพุตทั้งหมดได้ดีกว่าช่วงที่คาดหวังส่งข้อความซึ่งพูดพล่อยๆผ่านทาง UARTs / I2C ฯลฯ เพื่อค้นหาช่องโหว่ในตรรกะ (รูทีน I2C แบบบิตกระแทกมีชื่อเสียงในเรื่องการล็อคบัสเป็นต้น)

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

นอกจากนี้คุณยังสามารถใช้แนวทางระดับถัดไปและทดสอบข้อสรุปทาง DFMEA ของคุณได้ - ทำกางเกงขาสั้นและเปิดและปักหมุดกางเกงขาสั้นแล้วดูว่ามีอะไรเกิดขึ้นบ้าง

อ่านเพิ่มเติม

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


6

ด้วยอุปกรณ์หลายตัวในอินเทอร์เฟซ I2C คุณมีความเป็นไปได้ของปัญหา "คนพูดพล่าม" ที่อุปกรณ์หนึ่งล้มเหลว hogs I2C และฆ่าการส่งสัญญาณ I2C อื่น ๆ ทั้งหมด

การทดสอบแบบแช่รวมกับการทดสอบด้านสิ่งแวดล้อมจะให้การวิเคราะห์ความล้มเหลวรูปแบบอื่น การใช้ส่วนประกอบส่วนเพิ่มอุณหภูมิสูงสุด / ต่ำสุด / ผันผวน, ความชื้นที่แตกต่างกัน, แหล่งจ่ายไฟสกปรก, สภาพแวดล้อม rf ที่มีเสียงดัง ฯลฯ ในช่วงเวลาหนึ่งจะจำลองการใช้งานตามปกตินานขึ้น ระบบจะมีความล้มเหลวจริงและสามารถคำนวณอัตราความล้มเหลวได้


3

ข้อผิดพลาดที่น่าเป็นไปได้มากที่สุดคือข้อบกพร่องของเฟิร์มแวร์ ทุกสิ่งที่ฉันทำมีเพียงไม่กี่อย่าง

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

ทดสอบการกู้คืนเฟิร์มแวร์ของคุณในรอบการรีเซ็ตเช่นกัน

ตั้งแต่เริ่มต้นเมื่อมีความล้มเหลวเกิดขึ้นมากมายฉันชอบที่จะส่งกระแสไฟผ่านรีเลย์แล้วเขียนสคริปต์อย่างรวดเร็วไปยังวงจรพลังงานรอวิทยุเพื่อระบุการปลุกทำซ้ำ จากนั้นทำเช่นนี้ประมาณ 10,000 รอบ


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

2

สิ่งที่ชัดเจนบางประการ:

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

หากคุณกำลังทำ FMEA คุณต้องพิจารณาว่าระบบมีความสำคัญเพียงใดก่อนที่คุณจะตัดสินใจได้ว่าอะไรคือสิ่งผิด


2

ฉันประหลาดใจที่ไม่มีใครพูดถึงการทดสอบชีวิตเร่งความเร็วและทดสอบชีวิตเร่งด่วน

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.