Cơ quan giám sát của vi điều khiển


7

Bất cứ ai có thể giải thích thêm một chút về cơ quan giám sát, cụ thể là ở cấp độ mạch?

Nếu có một số loại vấn đề trong chip, làm thế nào tôi có thể đảm bảo rằng nó sẽ tiếp tục chạy? Nó được thực hiện trong một silicon khác và sau đó được gắn vào mạch chip chính để tránh các vấn đề về nhiệt độ? Loại mạch giao diện nào thường được sử dụng để tránh đếm / đặt lại lỗi? Nó là phổ biến để thực hiện bất kỳ loại dư thừa?


Ngoài những gì stevenh đã nói dưới đây trong câu trả lời của anh ấy, nếu (vì một lý do nào đó) bạn không tin tưởng vào hệ thống khi khôi phục từ thiết lập lại cơ quan giám sát, bạn cũng có thể vô hiệu hóa hoàn toàn bộ giám sát. Nhưng ý tưởng ở đây là mã của bạn không bao giờ rơi vào tình trạng bị mất ở vùng đất la-la và không ping bộ đếm thời gian theo dõi để thiết lập lại.
Dave

Câu trả lời:


10

Watchdog chỉ là một bộ đếm thời gian trên cùng một khuôn với phần còn lại của vi điều khiển. Nó chủ yếu có nghĩa là để bắt lỗi phần mềm, không có biện pháp phòng ngừa cho sự cố của chính cơ quan giám sát. Thông thường, người ta sẽ thiết lập lại bộ đếm thời gian theo dõi trong vòng lặp chính của chương trình. Nếu vì lý do nào đó, vòng lặp chính sẽ không còn được thực thi, bộ điều khiển sẽ thiết lập lại.
Nếu bạn không tin tưởng vào phần cứng vi điều khiển, bạn luôn có thể thêm IC giám sát bên ngoài.


2
@stevenvh Mặc dù hầu hết các bộ vi điều khiển đều bao gồm bộ giám sát, tôi sẽ bỏ qua cụm từ "trên cùng một phần tử vi điều khiển", vì đó không phải là một tính năng quan trọng / không phù hợp của vi điều khiển. Bất kỳ lỗi phần cứng nào sẽ lấy ra một uC có thể sẽ không thể phục hồi được. Nhưng, +1 để nói rằng nó có nghĩa là bắt lỗi SW. Nó cũng sẽ bắt được sự kiện kỳ ​​lạ, giống như một tia vũ trụ, nhưng đó chỉ là thứ yếu.

3
@David - Tôi đã bao gồm cụm từ đó bởi vì OP cho rằng cơ quan giám sát có thể đã được "triển khai trong một silicon khác và sau đó được gắn vào mạch chip chính", điều này chắc chắn không phải như vậy. Nó sẽ là quá đắt theo cách đó, và ít sử dụng, bởi vì phần cứng đáng tin cậy hơn nhiều so với phần mềm.
stevenvh

@David - về các tia vũ trụ, tôi không biết vấn đề này lớn đến mức nào trên trái đất. Tuy nhiên, tôi có thể tưởng tượng rằng các thiết bị rad-hard để sử dụng trong không gian có các biện pháp bảo mật toàn diện hơn so với đồng hồ bấm giờ đơn giản.
stevenvh

2
@stevenvh Tia vũ trụ thực sự là một vấn đề - nếu giáo sư trường học cũ của tôi được tin tưởng (anh ta có râu và mặc đồ treo, vì vậy tôi cho rằng anh ta biết anh ta đang nói về cái gì) thì những chiếc máy tính đầu tiên bị vấy bẩn lỗi không thể được theo dõi đáng tin cậy. Hóa ra đó là tia vũ trụ. Bạn càng biết nhiều!
AngryEE

@AngryEE - Tôi đã dự kiến ​​rằng các bộ điều khiển hiện đại sẽ dễ bị tổn thương hơn, do kích thước tính năng nhỏ của khuôn và các mức tín hiệu nhỏ hơn (điện áp và dòng điện) có liên quan. Nhưng tất nhiên tôi tin giáo sư của bạn. Đình chỉ không bao giờ nói dối. :-)
stevenvh

6

Xem chó

Giống như những người khác đã đề cập, bộ đếm thời gian theo dõi có thể bắt lỗi "lẻ" khiến chương trình rơi vào trạng thái kỳ lạ. Bộ vi điều khiển được thiết lập lại và mọi thứ hoạt động như thể nó vừa được bật lại. Đối với nhiều ứng dụng đây là giải pháp tốt nhất. Một người tiêu dùng sẽ khó chịu nếu điều khiển từ xa TV của họ tự thiết lập lại khi họ đang cố gắng sử dụng nó, nhưng đồng hồ bấm giờ cho chó sẽ bắt một sự kiện kỳ ​​lạ và đặt lại nó. Tôi có thể đảm bảo với bạn rằng người tiêu dùng sẽ hạnh phúc hơn nhiều với việc thiết lập lại ngẫu nhiên sau đó phải tháo pin và lắp lại trước khi nó phục hồi.

Cũng có những tình huống mà bạn có thể không có khả năng thiết lập lại thiết bị, chẳng hạn như thiết bị được đặt trong hộp kín hoặc ở một nơi nào đó mà bạn không thể truy cập vào thiết bị. Trong những tình huống này, sẽ tốt hơn nhiều nếu chỉ thiết lập lại thay vì phải đột nhập vào một container hoặc không.

An toàn quan trọng

Có vẻ như bạn đang tìm kiếm thứ gì đó phù hợp hơn với các vấn đề an toàn quan trọng, trong đó bạn muốn một lỗi phần cứng không gây ra sự cố nào đó.

Có bộ xử lý được thiết kế đặc biệt cho việc này. Nói chung, nó chỉ có thể cảnh báo bạn rằng đã xảy ra lỗi, cảnh báo này sau đó có thể được sử dụng để tắt hệ thống của bạn một cách an toàn.

Tôi đã thấy một bản demo của một con chip đã làm điều này, tôi nghĩ rằng đó là TI ARM, có thể là TMS570 . Nhưng dù sao, một phương pháp bảo vệ là có 2 lõi xử lý song song được bù bằng nửa chu kỳ xung nhịp. Kết quả của mọi hoạt động sau đó có thể được so sánh giữa hai lõi. Phần bù làm cho nó ít có khả năng một sự kiện bên ngoài sẽ khiến cả hai lõi có cùng một lỗi chính xác.

Nếu sự so sánh trở thành sự thật thì bạn vẫn tiếp tục với cuộc sống bình thường, nếu nó là sai thì những gì bạn làm sẽ phụ thuộc vào ứng dụng của bạn. Ít nhất trong tình huống này, bạn sẽ được biết về một lỗi và có toàn quyền kiểm soát kỹ thuật về cách bạn muốn phục hồi từ nó.


1
Intel iAPX432 (thất bại thảm hại) cũng có một số mức độ chịu lỗi bằng cách có hai iAPX432 song song.
stevenvh
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.