Trong tình huống nào tôi nên giữ tính năng Phát hiện ra màu nâu trên vi điều khiển?


33

Khi nguồn điện trên vi điều khiển rơi vào một ngưỡng nhất định, sẽ xảy ra tình trạng mất màu và bộ nhớ RAM có thể bị hỏng. Với điều kiện là mỗi chuỗi giảm nguồn có thể có nghĩa là tình trạng mất điện tiềm tàng, tôi luôn kích hoạt cơ chế Đặt lại phát hiện ra màu nâu khi làm việc với vi điều khiển.

Tôi đã tự hỏi nếu có bất kỳ tình huống nào trong đó không khuyến khích kích hoạt tính năng Đặt lại Brown-out?


4
Các máy dò màu nâu cũng có thể tiêu thụ dòng điện cần được xem xét cho các ứng dụng vi điện.
HL-SDK

Với những hạn chế khác nhau của phát hiện BO được nêu trong các câu trả lời, hãy xem xét điều này: Bạn có thể đưa ra bất kỳ sự chắc chắn tùy chỉnh nào trong trường hợp cụ thể của bạn không? Trong một số trường hợp nhất định, bạn có thể đảm bảo cung cấp đủ hoặc mất điện hoàn toàn => lưu các nguồn tài nguyên cho HĐQT
Đánh dấu

Câu trả lời:


11

Như đã lưu ý, cho phép mạch màu nâu thường sẽ tăng mức tiêu thụ hiện tại. Hơn nữa, vì các nhà sản xuất thường muốn đảm bảo rằng mạch điện màu nâu sẽ chạy trên bất kỳ điện áp nào thể đủ thấp để khiến các bộ phận khác của chip hoạt động, nhiều bộ phận sẽ có thể hoạt động ở điện áp thấp hơn khi bị tắt màu nâu . Ví dụ, bộ điều khiển có thể hoạt động hầu hết thời gian xuống tới 1,5 volt ở nhiệt độ phòng, nhưng trong một số điều kiện căng thẳng nhất định (như nhiệt độ cao) có thể gặp trục trặc ở mức 1,99 volt. Để đảm bảo rằng thiết bị sẽ đặt lại trong bất kỳ điều kiện nào có thể xảy ra sự cố, mạch ngoài màu nâu có thể được thiết kế để ngắt ở mức 2,1 volt +/- 100mV.

Nếu một thiết bị có bộ điều khiển như vậy được cấp nguồn từ hai pin AA kiềm, việc bật mạch điện trở có thể khiến thiết bị không thể sử dụng được với điện áp pin 1,1 volt trên mỗi tế bào và có thể khiến thiết bị ngừng hoạt động khi điện áp đạt được 1,05 volt mỗi tế bào. Vô hiệu hóa mạch mất điện có thể sẽ mở rộng hoạt động xuống ít nhất 0,9 volt mỗi ô và thậm chí có thể 0,75 volt mỗi ô. Nếu không có sự cố đáng tin cậy nào có thể xảy ra ở điện áp thấp có thể gây ra bất kỳ tác hại nào ngoài việc tăng mức tiêu hao pin rác, vô hiệu hóa mạch mất điện sẽ là một cách đơn giản để cải thiện tuổi thọ pin, ngay cả khi nó không làm giảm mức tiêu thụ hiện tại từ pin có thể sử dụng.


22

Mọi thứ đều có dung sai, do đó, mức thiết lập lại màu nâu phải được đặt mức cao hơn mức tối thiểu mà chip được đảm bảo hoạt động đúng.

Do đó, màu nâu có thể phát huy tốt trước khi chip bị trục trặc. Vì vậy, bạn phải tự hỏi, đối với khu vực này, nơi chip có thể hoạt động tốt nhưng bạn không chắc chắn, bạn sẽ chọn

  • để cho chip hoạt động và hy vọng nó hoạt động tốt nhất (nó có thể hoạt động!), hoặc
  • để cho chip được thiết lập lại (và được giữ lại) bằng mạch màu nâu.

Nếu chi phí trục trặc không cao hơn nhiều so với chi phí không hoạt động thì tất cả các tùy chọn đầu tiên sẽ được ưu tiên. Hãy nghĩ về tính năng ping trên máy bay 'hộp đen'. Bằng mọi cách, hãy để nó tiếp tục nếu có cơ hội nhỏ nhất mà nó sẽ cho một ping!

Mặt khác, hãy xem xét việc kích hoạt bom hoặc túi khí xe hơi. Nếu có một cơ hội nhỏ nhất xảy ra do tai nạn do điện áp thấp, tốt nhất nên tự tắt. Điều đó tất nhiên giả định rằng việc tắt các phương tiện không bắt lửa!

Có những tình huống không có sự lựa chọn tốt có sẵn. Hãy xem xét vụ phóng tên lửa Ariane V đầu tiên khét tiếng. (Các) máy tính điều khiển hướng bị trục trặc (trong trường hợp này không phải do công suất thấp). Nó nên làm gì? Đi trên hầu hết có nghĩa là lái sai hướng, nhưng bỏ việc có nghĩa là không lái được, điều này có kết quả tương tự. Không phải là một triển vọng tốt đẹp cho những người trong hầm kiểm soát mà tên lửa có thể đi lang thang vào :(


Như Ross nhận xét, một bản sao lưu tất nhiên là một ý tưởng tốt cho một hệ thống truyền giáo. Nhưng điều đó làm thay đổi vấn đề thiết kế sang bản sao lưu đó. Nếu thất bại thì sao? (Trong thực tế thường có 3, hoạt động mọi lúc, sử dụng phiếu bầu đa số.) Trong trường hợp Ariane 5 cả máy tính chính và máy dự phòng đều thất bại (Mặc dù không phải do lỗi của họ, nhưng đó là một câu chuyện khác.) là một số hệ thống khác (có thể là con người trong phòng điều khiển) đã phát hiện ra rằng mọi thứ nằm ngoài tầm kiểm soát và kích hoạt sự tự hủy. Tốt hơn là tên lửa phát nổ trong không trung và rơi xuống thành từng mảnh nhỏ trên biển để nó tiếp tục bay theo một mảnh theo một hướng ngẫu nhiên.


Đối với tình huống tên lửa, giải pháp tốt nhất là có một máy tính dự phòng sẽ xử lý trong trường hợp đầu tiên thất bại, và phải tắt máy đầu tiên, phải không ??
Ross Aiken

một số văn bản được thêm vào
Wouter van Ooijen

Trên thực tế, câu chuyện Ariane 5 phức tạp hơn nhiều và việc xử lý lỗi là một phần nguyên nhân dẫn đến thất bại. esamultidia.esa.int/docs/esa-x-1819eng.pdf
starblue

1
Không, xử lý lỗi không phải là nguyên nhân. Đó là việc sử dụng một hệ thống đã được chứng minh (nó đã bay trên Ariane 4) với dữ liệu ngoài các thông số kỹ thuật ban đầu của nó mà không kiểm tra nó với dữ liệu mới . (Các thử nghiệm như vậy đã được lên kế hoạch ban đầu, nhưng sau đó đã bị loại bỏ trong một chương trình giảm chi phí;)
Wouter van Ooijen

10

Nếu bạn không quan tâm đến việc đặt lại (ví dụ: người dùng có thể tin tưởng để tắt và bật lại nếu mọi thứ không hoạt động hoàn hảo và không có thiệt hại nào có thể xảy ra) và tiêu thụ năng lượng là quan trọng, tắt nó có thể tiết kiệm một số microamperes. (hoặc nếu bạn quan tâm, bạn có thể sử dụng một mạch bên ngoài tốt hơn so với cái được tích hợp sẵn).

Nếu BOR nội bộ không đủ cho nhiệm vụ (ví dụ, dung sai có thể không phù hợp) thì cũng có thể tắt nó đi và sử dụng một cái gì đó bên ngoài.

Một yêu cầu thú vị cho một số mục đích là bạn cần biết điện áp tối đa bên dưới mà những thứ như EEPROM được đảm bảo không hoạt động, để BOR có thể ức chế hoạt động và đảm bảo không có tham nhũng. Đó có thể là một chút tinh tế cho một số mạch BOR tích hợp.


10

Bạn có thể chọn tắt BOR nếu có lỗi trong đó BOR không hoạt động chính xác.

Module: Ổn áp

Thiết bị có thể không thoát khỏi trạng thái BOR nếu xảy ra sự kiện BOR.

Xem vấn đề 15 trong PIC32MX534 / 564/664/764 Gia đình Silicon Errata và Làm rõ Bảng dữ liệu .


8
Ôi. Phần sai này đáng yêu thuộc về phần nào?
Spehro Pefhany

1
Làm thế nào mà một cái gì đó như thế làm cho nó vào sản xuất?
Matt Young

1
Điều đó thật vui nhộn. Và bởi vui nhộn tôi có nghĩa là gần như tội phạm.
Ignacio Vazquez-Abrams

1
Thiết bị đặc biệt là PIC32MX664F và chỉ có một số phiên bản silicon. Hầu hết thời gian nó sẽ thoát BOR thông thường chỉ một lần trong số 20 lần hoặc không.
mjcopple

@Matt Young: Vì hầu hết việc sử dụng các bộ vi điều khiển PIC này, BOR chỉ tồn tại để tắt nó trước khi silicone bắt đầu thực hiện các hướng dẫn ngẫu nhiên khi bạn rút phích cắm. Nếu bạn có thói quen phản xạ trong ROM, thì nó có thể cố gắng tự flash với rác nếu BOR không tồn tại.
Joshua


2

Thay vào đó, có những tình huống bạn có thể muốn sử dụng một mạch ngoài màu nâu được xây dựng tùy chỉnh bên ngoài.

Có những bộ vi điều khiển trong đó độ phân giải của cấp độ nâu khá nhỏ.

Giả sử bạn làm việc với một người trong đó hai mức độ nâu cao nhất là 4,3 V và 2,7 V (phổ biến trong trường hợp của AVR). Bạn đã xác định rằng ở tần số bạn sử dụng, 2.7 V không an toàn. Tuy nhiên, 4.3 V sẽ quá cao, vì nó sẽ giới hạn thời gian chạy sau khi mất điện.

Tôi thường phải làm việc với các thiết bị có thể thường xuyên mất kết nối với nguồn điện bên ngoài và sau đó phải tồn tại trên các tụ điện hoặc pin. Có mức độ màu nâu là 4.3 V sẽ dẫn đến việc thiết bị tắt quá sớm. 2.7 sẽ dẫn đến tham nhũng dữ liệu. Tuy nhiên, nếu ví dụ, 3,5 V sẽ là mức độ tắt màu nâu an toàn, bạn có thể muốn tạo một mạch màu nâu bên ngoài hoạt động bằng cách kéo dòng thiết lập lại của vi điều khiển của mình. Trong trường hợp này, mạch màu nâu bên trong không sử dụng được và có thể bị vô hiệu hóa.

Trong trường hợp bạn có nhiều bộ xử lý trong cùng một hệ thống, sẽ hợp lý khi sử dụng một bộ điều khiển thiết lập lại bên ngoài cho tất cả chúng. Trong trường hợp này, việc vô hiệu hóa các bộ phát hiện màu nâu riêng lẻ trong bộ xử lý không chỉ hữu ích cho lợi thế cận biên của việc tiết kiệm năng lượng, mà còn được yêu cầu để tránh trường hợp một số bộ xử lý được đặt lại và các bộ xử lý khác vẫn đang chạy.


1
Tôi biết rằng bạn không chọn AVR, nhưng tôi cảm thấy buộc phải đề cập rằng 1) các dòng AVR khác nhau có ngưỡng BOR khác nhau và 2) AVR làm cho tín hiệu đặt lại hiển thị bên ngoài trên nRESET vì vậy nếu bạn rất cẩn thận, bạn có thể sử dụng một như một bộ điều khiển thiết lập lại.
Ignacio Vazquez-Abrams

1

Chúng tôi đã phải tắt và bật lại VBOR trong một phần của quá trình khởi động do lỗi silicon trên bộ vi điều khiển mà chúng tôi đang sử dụng. Sạc pin trên bơm điện áp sẽ khiến thiết bị cạn kiệt trong giây lát và chỉ ở mức tối thiểu và VBOR tiếp tục bị vấp. Vì vậy, chúng tôi đã tắt VBOR trong khi khởi động và bật nó khoảng 10ms sau đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.