ฉันควรปิดคุณสมบัติการตรวจจับ Brown-out ไว้บนไมโครคอนโทรลเลอร์หรือไม่


33

เมื่อแหล่งจ่ายไฟบนไมโครคอนโทรลเลอร์ตกอยู่ภายใต้ขีด จำกัด บางเงื่อนไขจะเกิดภาวะบราวน์เอาต์และหน่วยความจำ RAM อาจเสียหาย หากว่าลำดับการปิดวงจรทุกครั้งสามารถหมายถึงสภาวะสีน้ำตาลที่อาจเกิดขึ้นได้ฉันจึงเปิดใช้งานกลไกการรีเซ็ตการตรวจจับแบบ Brown-out ทุกครั้งเมื่อทำงานกับไมโครคอนโทรลเลอร์

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


4
เครื่องตรวจจับ Brown-out อาจใช้กระแสไฟฟ้าที่ควรนำมาพิจารณาสำหรับการใช้งานไฟฟ้าพลังน้ำ
HL-SDK

เมื่อพิจารณาถึงข้อเสียต่าง ๆ ของการตรวจจับ BO ที่ระบุไว้ในคำตอบให้พิจารณาสิ่งนี้เช่นกัน: คุณช่วยสร้างความมั่นใจแบบกำหนดเองในกรณีของคุณได้หรือไม่? ในบางกรณีคุณสามารถรับประกันอุปทานที่เพียงพอหรือความมืดมนสมบูรณ์ => บันทึก ressources สำหรับ BOD
Mark

คำตอบ:


11

ดังที่กล่าวไว้การเปิดใช้วงจรสีน้ำตาลมักจะเพิ่มการใช้กระแสไฟฟ้า เพิ่มเติมเนื่องจากผู้ผลิตโดยทั่วไปต้องการให้แน่ใจว่าวงจร Brown-Out จะเดินทางไปที่แรงดันไฟฟ้าใด ๆ ที่อาจต่ำพอที่จะทำให้ส่วนอื่น ๆ ของชิปทำงานได้ชิ้นส่วนจำนวนมากจะสามารถทำงานที่แรงดันไฟฟ้าต่ำลงได้ . ตัวอย่างเช่นตัวควบคุมอาจทำงานส่วนใหญ่ลงไปที่ 1.5 โวลต์ที่อุณหภูมิห้อง แต่ภายใต้สภาวะเครียด (เช่นอุณหภูมิสูง) อาจทำงานผิดปกติที่ 1.99 โวลต์ เพื่อให้แน่ใจว่าอุปกรณ์จะรีเซ็ตภายใต้เงื่อนไขใด ๆ ที่อาจเกิดความผิดปกติวงจรสีน้ำตาลอาจถูกออกแบบมาเพื่อการเดินทางที่ 2.1 โวลต์ +/- 100mV

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


22

ทุกอย่างมีความคลาดเคลื่อนดังนั้นระดับการรีเซ็ตสีน้ำตาลหมดจะต้องตั้งค่าค่อนข้างสูงกว่าระดับต่ำสุดที่ชิปรับประกันว่าจะทำงานได้อย่างถูกต้อง

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

  • เพื่อให้ชิปทำงานและหวังว่ามันจะดีที่สุด (อาจใช้งานได้!) หรือ
  • เพื่อให้ชิปรีเซ็ต (และรีเซ็ตใน) โดยวงจรบราวน์เอาต์

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

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

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


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


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

เพิ่มข้อความแล้ว
Wouter van Ooijen

จริงๆแล้วเรื่องราว Ariane 5 นั้นซับซ้อนกว่ามากและการจัดการข้อผิดพลาดเป็นส่วนหนึ่งของสาเหตุของความล้มเหลว esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue

1
ไม่การจัดการข้อผิดพลาดไม่ใช่สาเหตุ มันคือการใช้ระบบการพิสูจน์ (มันบินในอาริอาน 4) กับข้อมูลภายนอกข้อกำหนดเดิมของตนโดยไม่ต้องทดสอบกับข้อมูลใหม่ (การทดสอบดังกล่าวมีการวางแผนเดิม แต่ต่อมาเลิกในโปรแกรมลดต้นทุน;)
Wouter van Ooijen

10

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

หาก BOR ภายในไม่เพียงพอสำหรับงาน (ตัวอย่างเช่นความคลาดเคลื่อนอาจไม่เหมาะสม) จากนั้นอาจปิดและใช้สิ่งภายนอก

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


10

คุณอาจเลือกที่จะปิดการใช้งาน BOR หากมีข้อผิดพลาดที่ BOR ทำงานไม่ถูกต้อง

โมดูล: ควบคุมแรงดันไฟฟ้า

อุปกรณ์อาจไม่ออกจากสถานะ BOR หากมีเหตุการณ์ BOR เกิดขึ้น

เห็นปัญหาใน 15 PIC32MX534 / 564/664/764 ครอบครัว Silicon คหบดีและเอกสารข้อมูลชี้แจง


8
อุ๊ยตาย ข้อผิดพลาดอันน่ารักชิ้นนี้เป็นของส่วนใด
Spehro Pefhany

1
สิ่งนี้ทำให้การผลิตเป็นอย่างไร
Matt Young

1
นั่นคือเฮฮา และโดยเฮฮาฉันหมายถึงความผิดทางอาญาเกือบ
Ignacio Vazquez-Abrams

1
อุปกรณ์เฉพาะคือ PIC32MX664F และมีการแก้ไขซิลิคอนเพียงบางส่วน เวลาส่วนใหญ่มันจะออกจาก BOR ปกติเพียงครั้งเดียวจากทุก ๆ 20 ครั้งดังนั้นมันจะไม่
mjcopple

@Matt Young: เนื่องจากการใช้งานส่วนใหญ่ของไมโครคอนโทรลเลอร์ PIC เหล่านี้ BOR จึงมีอยู่เพื่อปิดก่อนที่ซิลิโคนจะเริ่มดำเนินการคำสั่งแบบสุ่มเมื่อคุณดึงปลั๊ก หากคุณมีรูทีน reflash ใน ROM เป็นไปได้ที่จะพยายามแฟลชตัวเองด้วยขยะหากไม่มี BOR
Joshua

5

หากคุณต้องการลดปริมาณการใช้กระแสไฟในโหมดพักเครื่อง เช่นสำหรับ ATmega328P คุณสามารถลดค่าได้ด้วย 17uA โดยปิด BOD ปิดทุกอย่างในขณะที่หลับและชิปกิน 1.8uA เล็ก ๆ !

(ที่มา: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ )


2

มีสถานการณ์ที่คุณอาจต้องการใช้วงจร Brown-out ภายนอกที่สร้างขึ้นเองแทน

มีตัวควบคุมขนาดเล็กที่ความละเอียดของระดับน้ำตาล ot ค่อนข้างเล็ก

สมมติว่าคุณทำงานกับ µc โดยที่ระดับน้ำตาลออกสูงสุดสองระดับคือ 4.3 V และ 2.7 V (ทั่วไปในกรณีของ AVR) คุณได้พิจารณาแล้วว่าที่ความถี่ที่คุณใช้ 2.7 V ไม่ปลอดภัย อย่างไรก็ตาม 4.3 V จะสูงเกินไปเนื่องจากจะ จำกัด ระยะเวลาในการทำงานหลังจากไฟฟ้าดับ

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

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


1
ฉันรู้ว่าคุณไม่ได้เลือก AVR แต่ฉันรู้สึกว่าต้องพูดถึง 1) สาย AVR ที่แตกต่างกันมีค่า BOR ที่แตกต่างกันและ 2) AVRs ทำให้สัญญาณรีเซ็ตสามารถมองเห็นได้จากภายนอกบน nRESET ดังนั้นหากคุณระมัดระวังมากคุณสามารถใช้ เป็นตัวควบคุมการรีเซ็ต
Ignacio Vazquez-Abrams

1

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

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