จำเป็นต้องมีตัวจับเวลาจ้องจับผิดภายนอกสำหรับไมโครคอนโทรลเลอร์หรือไม่
ไมโครคอนโทรลเลอร์ส่วนใหญ่ได้รับการออกแบบด้วยตัวจับเวลาจ้องจับผิดภายใน อย่างไรก็ตามในบางวงจรพวกเขากำลังใช้ตัวจับเวลาจ้องจับผิดภายนอก (เช่น PIC16F1824)
จำเป็นต้องมีตัวจับเวลาจ้องจับผิดภายนอกสำหรับไมโครคอนโทรลเลอร์หรือไม่
ไมโครคอนโทรลเลอร์ส่วนใหญ่ได้รับการออกแบบด้วยตัวจับเวลาจ้องจับผิดภายใน อย่างไรก็ตามในบางวงจรพวกเขากำลังใช้ตัวจับเวลาจ้องจับผิดภายนอก (เช่น PIC16F1824)
คำตอบ:
ผลิตภัณฑ์บางอย่างต้องเป็นไปตามข้อกำหนดด้านความปลอดภัยไม่ว่าจะโดยผู้ผลิตหรือตามมาตรฐานความปลอดภัยระหว่างประเทศเช่น IEC 60730-1 หรือ UL1998 รุ่นเก่าที่ยังใช้งานอยู่ในสหรัฐอเมริกา ฟังก์ชั่นจ้องจับผิดภายในในไมโครคอนโทรลเลอร์ที่ได้รับอาจหรืออาจไม่เพียงพอที่จะใช้ อาจใช้ WDT ภายนอกร่วมกับ WDT ภายในในบางกรณี
ไมโครคอนโทรลเลอร์บางตัวเช่นซีรี่ส์ Hercules ของ TI ใช้งานระบบที่สำคัญด้านความปลอดภัยอย่างจริงจังและมีแนวโน้มที่จะตอบสนองความต้องการที่เข้มงวดมากขึ้นอย่างไรก็ตามอาจไม่เหมาะสมสำหรับการใช้งานที่ต้องคำนึงถึงต้นทุน
โดยทั่วไปแล้ว WDT เป็นหนึ่งในหลายวิธีในการลดโอกาสที่จะเกิดความล้มเหลวซึ่งก่อให้เกิดความเสียหายร้ายแรงต่อทรัพย์สินหรือการบาดเจ็บต่อชีวิต สิ่งอื่น ๆ เช่นการป้องกันหน่วยความจำเพื่อตรวจจับการเข้าถึงหน่วยความจำ MCU หรือโปรแกรมที่ดึงมาจากหน่วยความจำที่ไม่ได้ใช้มักจะใช้ร่วมกับ WDT
ตัวอย่างของผลิตภัณฑ์ราคาไม่แพงที่ทำหน้าที่ด้านความปลอดภัยที่สำคัญ ได้แก่ ระบบย่อยของยานยนต์ตัวควบคุมประตูโรงรถและตัวควบคุมการจุดระเบิดของก๊าซ (ก๊าซธรรมชาติหรือโพรเพน) ที่ใช้ในเตาเผาเครื่องอบแห้งและเครื่องทำน้ำอุ่น แน่นอนว่าผลิตภัณฑ์ทางการแพทย์และการบินและอวกาศจำนวนมากก็มีความสำคัญต่อความปลอดภัยเช่นกัน ในบางกรณีอาจไม่มีรัฐที่ปลอดภัยสามารถเข้าถึงได้ง่ายเช่นในเครื่องบิน
ในอุดมคติตัวจับเวลาจ้องจับผิดนั้นง่ายมากเป็นอิสระจาก MCU (ตัวอย่างเช่นควรมีแหล่งสัญญาณนาฬิกาของตัวเองและอาจเป็นนาฬิกาตรวจสอบนาฬิกา) ไม่สามารถตั้งค่า (โดยซอฟต์แวร์) เป็นเวลานานเกินกว่าจะทำให้ซอฟต์แวร์เสียหาย และจะทำให้ระบบเข้าสู่สถานะที่ปลอดภัยหากไม่ได้เป็น "petted" ตรงเวลาไม่ว่าจะเป็นการหมดเวลาหรือเป็นหน้าต่างดังนั้นการตรวจพบการรีเซ็ตซ้ำบ่อยเกินไป ตัวอย่างเช่น WDT ในแอปพลิเคชันควบคุมความร้อนอาจถูกตั้งค่าเป็นสองถึงสามวินาทีเพราะไม่สามารถเกิดความเสียหายได้หากไมโครคอนโทรลเลอร์ล็อคไว้ในช่วงเวลานั้น
WDT มีประโยชน์มากที่สุดในฐานะส่วนหนึ่งของวิธีการระดับระบบเพื่อความน่าเชื่อถือและความปลอดภัย
ตัวจับเวลาจ้องจับผิดสามารถป้องกันข้อผิดพลาดของฮาร์ดแวร์ในชิ้นส่วน buggy ของ ...ไมโครคอนโทรลเลอร์ที่ทันสมัย สิ่งหนึ่งที่เราใช้เมื่อเร็ว ๆ นี้จากแบรนด์ที่มีชื่อเสียงมีหมุด I / O ที่บางครั้งพลาดการขัดจังหวะของพวกเขาบางครั้งก็ไม่ได้เริ่มต้นอย่างถูกต้องและตำแหน่งที่สุนัขเฝ้าบ้านในตัวบางครั้งล้มเหลวในการรีเซ็ตระบบ
สิ่งนี้ไม่ปรากฏขึ้นจนกว่าเราจะเริ่มด้วยการทดสอบความน่าเชื่อถือเป็นเวลานานและการเพิ่มสุนัขเฝ้าบ้านภายนอกนั้นง่ายกว่าการเปลี่ยนไมโครคอนโทรลเลอร์
หากคุณมี IC มากกว่าหนึ่งตัวบน PCB คุณอาจต้องใช้ตัวรีเซ็ต IC หรือตัวตรวจสอบแรงดันไฟฟ้าภายนอกเพื่อให้ทุกอย่างสามารถบู๊ตได้อย่างน่าเชื่อถือ หลายสิ่งเหล่านี้ยังสามารถใช้เป็นสุนัขเฝ้าบ้าน
เป็นการยากที่จะโต้แย้งว่านาฬิกาภายในของสุนัขเฝ้าบ้านภายในนั้นแท้จริงแล้วเป็นอิสระจากนาฬิกาอื่น ๆ ทั้งหมดและทำงานตามที่ควรจะเป็นเสมอ
ดังนั้นสำหรับการรับรองมักจะง่ายกว่ามากที่จะวางสุนัขเฝ้าบ้านภายนอกไว้บนกระดานและพูดว่า: ดูนั่นคือสุนัขเฝ้าบ้านของเรามันจะต้องถูกเรียกใช้โดย MCU ในช่วงเวลานั้นซึ่งสั้นกว่าเวลาที่เราล้มเหลวดังนั้นอุปกรณ์ของเราจึงปลอดภัย ตามที่เรากำหนดไว้
วิธีแสดงความคิดเห็นบางส่วน:
"และมักจะทำงานอย่างที่ควร" - จุดดี อาจเป็นเรื่องยากที่จะพิสูจน์ว่าซอฟต์แวร์ของคุณเริ่มต้น watchdog ภายในอย่างถูกต้องในทุกสถานการณ์มากกว่าแค่ใช้ชิป watchdog และอ้างอิงจากแผ่นข้อมูลของมัน
ซึ่งมักจะพิสูจน์ได้จากการทดสอบการแทรกข้อบกพร่องที่คุณนำเสนอต่อหน่วยงานรับรอง ดังนั้นคุณต้องแสดงรหัสที่การเริ่มต้นของพวกเขาเกิดขึ้นและที่จุดเริ่มต้นของการจ้องจับผิดเกิดขึ้น พวกเขามักจะขอให้คุณปรับเปลี่ยนรหัสในลักษณะที่ทริกเกอร์การจ้องจับผิดหยุดทำงานหลังจากผ่านไประยะเวลาหนึ่งและตรวจสอบว่าตัวควบคุมถูกรีเซ็ตอย่างถูกต้องหรือไม่
หรือเพื่อพิสูจน์ว่ารหัสของคุณไม่มีข้อผิดพลาดที่จะปิดการใช้งาน Watchdog ภายในโดยไม่ตั้งใจ
อย่างน้อยในตัวควบคุมบางตัวจ้องจับผิดจะถูกเรียกว่าเป็นอิสระและมีแหล่งสัญญาณนาฬิกาของตัวเองและไม่สามารถปิดการใช้งานด้วยวิธีการของซอฟต์แวร์เพียงรีเซ็ตตัวควบคุมที่จะปิดการใช้งานจ้องจับผิด อย่างน้อยก็ในทางทฤษฎี - มันง่ายที่จะแสดงว่าคุณไม่สามารถหยุดมันได้ด้วยซอฟต์แวร์ แต่ยากที่จะพิสูจน์ว่านาฬิกานั้นมีความเป็นอิสระอย่างแท้จริงและจะไม่หยุดอยู่ภายใต้ EMI
หรือเพื่อพิสูจน์ว่ารหัสของคุณไม่ได้ทำงานอย่างรวดเร็วในการรีเซ็ตสุนัขเฝ้าบ้านภายนอกอย่างรวดเร็วเท่าที่จะทำได้ แก้ไขปัญหา. ;-)
สำหรับกรณีที่คุณใช้ watchdog แบบหน้าต่างซึ่งจะต้องถูกทริกเกอร์ในบางช่วงเวลาและหากคุณไม่ทำเช่นนั้น (ทริกเกอร์บ่อยเกินไปหรือน้อยกว่า) จะเป็นการรีเซ็ตวงจร STM32 ฉันทำงานด้วยมีสุนัขเฝ้าบ้านภายใน แต่มันทำงานจาก PCLK1 ซึ่งได้มาจากนาฬิกาหลักดังนั้นฉันไม่คิดว่ามันจะมีประโยชน์เหมือนกับสุนัขเฝ้าบ้านภายนอกที่มีแหล่งสัญญาณนาฬิกาของตัวเอง
หรือว่าอัจฉริยะบางคนไม่ได้ใส่ชุดคำสั่งบริการ watchdog ภายในตัวจับเวลา ISR ดังนั้นรหัสหลักอาจล้มเหลว แต่การขัดจังหวะทำให้การยิงและการดูแลสุนัขเฝ้าบ้านนั้นสมบูรณ์แบบ ...
นั่นเป็นเรื่องจริง แต่หวังว่าการทบทวนจะนำอัจฉริยะนั้นกลับมาไว้บนเก้าอี้ของเขา - แต่เฮ้เมื่อฉันเริ่มต้นนั่นเป็นความคิดแรกของฉันเช่นกัน: D ในระหว่างกระบวนการออกใบรับรองที่ฉันเข้าร่วมพวกเขามักจะดูที่ส่วนสุนัขเฝ้าบ้านของซอฟต์แวร์
จ้องจับผิดในตัวควบคุมไมโครคอนโทรลเลอร์มีคุณสมบัติเฉพาะที่หมายความว่าพวกเขาเองสามารถล้มเหลวในรูปแบบที่จ้องจับผิดภายนอกที่แตกต่างกันอาจไม่
ตัวอย่างเช่นการออกแบบทั่วไปคือการใช้ตัวจับเวลาจ้องจับผิดที่ทำงานจาก oscillator RC พลังงานต่ำ ออสซิลเลเตอร์นั้นอาจล้มเหลว จ้องจับผิดภายนอกตามการปล่อยประจุมากกว่า oscillator ยังสามารถรีเซ็ตไมโครคอนโทรลเลอร์ในหลายกรณี
อีกเหตุผลหนึ่งคือจ้องจับผิดภายนอกอาจมีประสิทธิภาพมากกว่า ไมโครคอนโทรลเลอร์อาจทำงานได้อย่างน่าเชื่อถือในช่วงแรงดันไฟฟ้าที่กำหนดเท่านั้นและการเป็นอุปกรณ์ที่ซับซ้อนอาจมีการล็อคในลักษณะที่ทำให้สุนัขเฝ้าบ้านภายในของตัวเองไม่ได้ผล จ้องจับผิดภายนอกอาจมีช่วงการจ่ายที่ยอมรับได้กว้างขึ้นและมีแนวโน้มที่จะเกิดปัญหาน้อยลงเมื่อมีเสียงรบกวนจากไฟฟ้า
สุนัขเฝ้าบ้านภายนอกมักจะเสนอช่วงระยะเวลาที่กว้างกว่าเช่นกัน ไมโครคอนโทรลเลอร์ที่ฉันใช้บ่อยครั้งคือ XMEGA ซึ่งมีการหมดเวลาสูงสุดประมาณ 7 วินาที สำหรับผลิตภัณฑ์หนึ่งฉันได้เพิ่มสุนัขเฝ้าบ้านภายนอกเพิ่มเติมโดยให้เวลานอก 2 ชั่วโมง นั่นทำให้ฉันสามารถปลุกไมโครคอนโทรลเลอร์ได้หนึ่งครั้งต่อชั่วโมงแทนที่จะเป็นทุกๆสองสามวินาทีซึ่งลดการใช้พลังงานในอุปกรณ์ที่ใช้แบตเตอรี่
สุนัขเฝ้าบ้านภายนอกบางครั้งมีฟังก์ชั่นหลายอย่างเช่นตัวจับเวลาและการควบคุมแรงดันไฟฟ้ามอนิเตอร์ / รีเซ็ต อีกครั้งสิ่งเหล่านี้สามารถใช้พลังงานต่ำกว่าระบบในตัวของไมโครคอนโทรลเลอร์
ข้อได้เปรียบที่น่าสนใจอีกข้อหนึ่งของสุนัขเฝ้าบ้านภายนอกคือมันสามารถใช้ในการรีเซ็ตอุปกรณ์อื่นนอกเหนือจากไมโครคอนโทรลเลอร์ ตัวอย่างเช่นมันอาจควบคุมการเปิดใช้งานพินของตัวควบคุมแรงดันไฟฟ้าโดยยกเลิกการเปิดวงจรทั้งหมดเพื่อรีเซ็ตอุปกรณ์หลายเครื่องในคราวเดียว การใช้ตรรกะง่าย ๆ บางอย่างสัญญาณจ้องจับผิดการรีเซ็ตจากหลายแหล่งสามารถรวมกันได้ทำให้สุนัขเฝ้าบ้านต้องใช้อุปกรณ์หลายอย่างในการรีเซ็ตอย่างต่อเนื่อง
การรับรองบางอย่างเช่นULอาจต้องการการป้องกันจากความล้มเหลวสองจุด ตัวจับเวลาจ้องจับผิดภายนอกจะถูกพิจารณาว่าเป็นการป้องกันจากจุดแรกของความล้มเหลวไมโครคอนโทรลเลอร์
จ้องจับผิดนั้นไม่แตกต่างจากอุปกรณ์ต่อพ่วงอื่น ๆ ที่คุณพบใน MCU MCUs มาพร้อมกับตัวจับเวลา RTCs ADCs EEPROM และตัวควบคุมการรีเซ็ต แต่ฟังก์ชั่นเหล่านี้ทั้งหมดยังมีอยู่เป็นไอซีแยก หากบล็อกในตัวที่มีอยู่ไม่ตรงกับความต้องการของคุณคุณต้องใช้บล็อกภายนอก หรือคุณสามารถลองหา MCU ที่มีบล็อคที่ถูกต้องทั้งหมดซึ่งอาจไม่มีอยู่จริงหรือมีราคาแพงเกินไปหรือยากที่จะเปลี่ยนรหัสของคุณ
สุนัขเฝ้าบ้านคือตัวจับเวลาและเปิดใช้งานเอาต์พุตเมื่อ IC สูญเสียพัลส์อินพุตเป็นระยะเวลาหนึ่ง
เป็นแบบเอกสารสำเร็จรูปและสามารถใช้กับแอปพลิเคชันใดก็ได้
ดังนั้นจึงสามารถใช้ในแอปพลิเคชันใดก็ได้เช่นเปลี่ยนการกำหนดเส้นทางข้อมูลในโหมดไม่ปลอดภัย เมื่อนาฬิกาไมโครคอนโทรลเลอร์ล้มเหลวเราไม่สามารถปิดใช้งานเอาต์พุตวิกฤติบางอย่างได้
จ้องจับผิดภายนอกไม่เกี่ยวข้องกับโดเมนนาฬิกาที่ซับซ้อนของไมโครคอนโทรลเลอร์และบางส่วนมีเวลา RC แบบอะนาล็อกชาร์จหรือนาฬิกาภายใน
วงจรดิจิตอลในการแผ่รังสีอาจทริกเกอร์เอาท์พุทเมื่อประจุโดนฟลิปฟล็อป แต่วงจรอะนาล็อกบางส่วนนั้นปลอดภัยกว่าเพราะพวกมันรวมประจุเข้าไปในตัวเก็บประจุและมันก็ปลอดภัยเมื่อเรารวมเข้าด้วยกัน