ความจำเป็นของตัวจับเวลาจ้องจับผิดภายนอก


19

จำเป็นต้องมีตัวจับเวลาจ้องจับผิดภายนอกสำหรับไมโครคอนโทรลเลอร์หรือไม่

ไมโครคอนโทรลเลอร์ส่วนใหญ่ได้รับการออกแบบด้วยตัวจับเวลาจ้องจับผิดภายใน อย่างไรก็ตามในบางวงจรพวกเขากำลังใช้ตัวจับเวลาจ้องจับผิดภายนอก (เช่น PIC16F1824)

คำตอบ:


10

ผลิตภัณฑ์บางอย่างต้องเป็นไปตามข้อกำหนดด้านความปลอดภัยไม่ว่าจะโดยผู้ผลิตหรือตามมาตรฐานความปลอดภัยระหว่างประเทศเช่น IEC 60730-1 หรือ UL1998 รุ่นเก่าที่ยังใช้งานอยู่ในสหรัฐอเมริกา ฟังก์ชั่นจ้องจับผิดภายในในไมโครคอนโทรลเลอร์ที่ได้รับอาจหรืออาจไม่เพียงพอที่จะใช้ อาจใช้ WDT ภายนอกร่วมกับ WDT ภายในในบางกรณี

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

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

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

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

WDT มีประโยชน์มากที่สุดในฐานะส่วนหนึ่งของวิธีการระดับระบบเพื่อความน่าเชื่อถือและความปลอดภัย


33

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

สิ่งนี้ไม่ปรากฏขึ้นจนกว่าเราจะเริ่มด้วยการทดสอบความน่าเชื่อถือเป็นเวลานานและการเพิ่มสุนัขเฝ้าบ้านภายนอกนั้นง่ายกว่าการเปลี่ยนไมโครคอนโทรลเลอร์

หากคุณมี IC มากกว่าหนึ่งตัวบน PCB คุณอาจต้องใช้ตัวรีเซ็ต IC หรือตัวตรวจสอบแรงดันไฟฟ้าภายนอกเพื่อให้ทุกอย่างสามารถบู๊ตได้อย่างน่าเชื่อถือ หลายสิ่งเหล่านี้ยังสามารถใช้เป็นสุนัขเฝ้าบ้าน


9
"บางครั้ง watchdog ในตัวไม่สามารถรีเซ็ตระบบในสถานะที่รู้จักดีได้" - นี่คือการทำงานเทียบเท่ากับ "ไม่มี watchdog ภายใน"
Dmitry Grigoryev

32

เป็นการยากที่จะโต้แย้งว่านาฬิกาภายในของสุนัขเฝ้าบ้านภายในนั้นแท้จริงแล้วเป็นอิสระจากนาฬิกาอื่น ๆ ทั้งหมดและทำงานตามที่ควรจะเป็นเสมอ

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


วิธีแสดงความคิดเห็นบางส่วน:

"และมักจะทำงานอย่างที่ควร" - จุดดี อาจเป็นเรื่องยากที่จะพิสูจน์ว่าซอฟต์แวร์ของคุณเริ่มต้น watchdog ภายในอย่างถูกต้องในทุกสถานการณ์มากกว่าแค่ใช้ชิป watchdog และอ้างอิงจากแผ่นข้อมูลของมัน

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

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

อย่างน้อยในตัวควบคุมบางตัวจ้องจับผิดจะถูกเรียกว่าเป็นอิสระและมีแหล่งสัญญาณนาฬิกาของตัวเองและไม่สามารถปิดการใช้งานด้วยวิธีการของซอฟต์แวร์เพียงรีเซ็ตตัวควบคุมที่จะปิดการใช้งานจ้องจับผิด อย่างน้อยก็ในทางทฤษฎี - มันง่ายที่จะแสดงว่าคุณไม่สามารถหยุดมันได้ด้วยซอฟต์แวร์ แต่ยากที่จะพิสูจน์ว่านาฬิกานั้นมีความเป็นอิสระอย่างแท้จริงและจะไม่หยุดอยู่ภายใต้ EMI

หรือเพื่อพิสูจน์ว่ารหัสของคุณไม่ได้ทำงานอย่างรวดเร็วในการรีเซ็ตสุนัขเฝ้าบ้านภายนอกอย่างรวดเร็วเท่าที่จะทำได้ แก้ไขปัญหา. ;-)

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

หรือว่าอัจฉริยะบางคนไม่ได้ใส่ชุดคำสั่งบริการ watchdog ภายในตัวจับเวลา ISR ดังนั้นรหัสหลักอาจล้มเหลว แต่การขัดจังหวะทำให้การยิงและการดูแลสุนัขเฝ้าบ้านนั้นสมบูรณ์แบบ ...

นั่นเป็นเรื่องจริง แต่หวังว่าการทบทวนจะนำอัจฉริยะนั้นกลับมาไว้บนเก้าอี้ของเขา - แต่เฮ้เมื่อฉันเริ่มต้นนั่นเป็นความคิดแรกของฉันเช่นกัน: D ในระหว่างกระบวนการออกใบรับรองที่ฉันเข้าร่วมพวกเขามักจะดูที่ส่วนสุนัขเฝ้าบ้านของซอฟต์แวร์


4
"และมักจะทำงานอย่างที่ควรจะเป็น" - จุดดี อาจเป็นเรื่องยากที่จะพิสูจน์ว่าซอฟต์แวร์ของคุณเริ่มต้น watchdog ภายในอย่างถูกต้องในทุกสถานการณ์มากกว่าแค่ใช้ชิป watchdog และอ้างอิงจากแผ่นข้อมูลของมัน
JimmyB

4
@JimmyB หรือเพื่อพิสูจน์ว่ารหัสของคุณไม่มีข้อผิดพลาดที่ปิดการใช้งาน watchdog ภายในโดยไม่ตั้งใจ
TripeHound

2
@TripeHound หรือเพื่อพิสูจน์ว่ารหัสของคุณไม่ทำงานอย่างหนักต่อเนื่องเพื่อรีเซ็ตสุนัขเฝ้าบ้านภายนอกอย่างรวดเร็วเท่าที่จะทำได้ แก้ไขปัญหา. ;-)
JimmyB

2
หรือว่าอัจฉริยะบางคนไม่ได้ใส่ชุดบริการเฝ้าระวังภายในตัวจับเวลา ISR ดังนั้นรหัสหลักอาจขัดข้อง แต่ขัดจังหวะการยิงและการดูแลสุนัขเฝ้าบ้านได้อย่างสมบูรณ์แบบ ...
John

@JohnU ว่าจะไม่ดูเหมือนว่าสิ่งที่ IC ภายนอกจะช่วยได้
ilkkachu

12

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

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

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

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

สุนัขเฝ้าบ้านภายนอกบางครั้งมีฟังก์ชั่นหลายอย่างเช่นตัวจับเวลาและการควบคุมแรงดันไฟฟ้ามอนิเตอร์ / รีเซ็ต อีกครั้งสิ่งเหล่านี้สามารถใช้พลังงานต่ำกว่าระบบในตัวของไมโครคอนโทรลเลอร์

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


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

@Lundin ส่วนใหญ่ใช้ RC oscillator หรือตัวเก็บประจุประจุภายในแทนที่จะใช้นาฬิกาภายนอก ที่จริงฉันไม่สามารถนึกถึงมือที่ใช้นาฬิกาภายนอกได้ ความล้มเหลวก็ไม่ใช่การเสริมถ้าคุณมีสุนัขเฝ้าบ้านภายนอกและภายในและอีกคนหนึ่งล้มเหลวนั่นก็ยังดีกว่าการมีแค่เพียงคนเดียว
ผู้ใช้

3

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


2

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


1

สุนัขเฝ้าบ้านคือตัวจับเวลาและเปิดใช้งานเอาต์พุตเมื่อ IC สูญเสียพัลส์อินพุตเป็นระยะเวลาหนึ่ง

เป็นแบบเอกสารสำเร็จรูปและสามารถใช้กับแอปพลิเคชันใดก็ได้

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

จ้องจับผิดภายนอกไม่เกี่ยวข้องกับโดเมนนาฬิกาที่ซับซ้อนของไมโครคอนโทรลเลอร์และบางส่วนมีเวลา RC แบบอะนาล็อกชาร์จหรือนาฬิกาภายใน

วงจรดิจิตอลในการแผ่รังสีอาจทริกเกอร์เอาท์พุทเมื่อประจุโดนฟลิปฟล็อป แต่วงจรอะนาล็อกบางส่วนนั้นปลอดภัยกว่าเพราะพวกมันรวมประจุเข้าไปในตัวเก็บประจุและมันก็ปลอดภัยเมื่อเรารวมเข้าด้วยกัน

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