임베디드 시스템의 결함 모델링


10

마이크로 컨트롤러 및 2.4GHz 트랜시버 모듈 이있는 무선 센서 회로 , I²C 인터페이스가있는 일부 통합 센서, UART 포트 및 필요한 개별 구성 요소가 있습니다.

이 보드는 LiPo 배터리 및 션트 충전기 를 사용하여 태양 광 (PV) 패널에서 전원을 청소하도록 설계되었습니다 . 이를 통해 센서에 자체 전원을 공급하고 무기한으로 작동 할 수 있으므로 유지 보수가 가장 적습니다.

이와 같은 시스템에서 발생할 수있는 가능한 결함을 조사하고 싶습니다. 노화, 환경 사양 위반 (온도, 습도 등) 또는 잘못된 유지 관리 (디자인 문제 / 버그가 아님)로 인한 것일 수 있습니다. 작동 수명을 최대화합니다.

센서 노드가 작동하는 환경은 건물이며 천장이나 벽에 붙어 있습니다. 따라서 극한의 온도 나 비는 고려되지 않습니다.

내가 생각해 낸 것은 요약하려고하는 몇 가지 결함입니다.

  • 구성 요소 파손-> 개방 \ 단락
  • 센서 결함-> 잘못된 출력 값 (그러나 얼마나 잘못 되었습니까?)
  • 먼지 / 물로 인한 격리 결함-> 누출 증가
  • 온도가 범위를 벗어남-> ???

센서 노드가 어떻게 고장 날지 어떻게 알 수 있습니까?


센서는 누군가 / 기계적으로 파손되어 상상할 수있는 결함을 일으킬 수있는 사람에 의해 부서 질 수 있음을 잊지 마십시오.
sharptooth

예, 지금까지는 제한적인 경우이므로 탬 퍼링을 무시하고 있었지만 제안은 환영합니다!
clabacchio

태양 전지판이 뭉쳐서 충분한 전력을 생산하지 못합니다. 일부 MEMS 장치의 수명은 환경에 매우 민감합니다 ... 추측합니다.
kenny

공부의 목적은 무엇입니까? 예를 들어 실패율 감소, 실패 영향 감소 (부드럽게), 위험 감소 (무딘대로 진행되는 대신 실패 감지) 등이 될 수 있습니다.
Wouter van Ooijen 2016 년

답변:


7

가능한 모든 결함을 "모든"이해하기에는 너무 많은 자유도가 있습니다. 그러나 설계주기 초기에 (즉, 광범위한 릴리스 전에) 결함을 식별하고 완화하는 기술이 있습니다.

디자인 타임 활동 (사전 하드웨어)

동료 검토는 항상 버그를 찾는 좋은 방법입니다. 다른 사람이 당신의 디자인을 분석하고 그들의 질문에 대해 방어 할 준비를하도록하십시오 (또는 그들이 버그를 발견했다는 것을 인정하고 고치십시오). 이것은 하드웨어와 소프트웨어 모두에서 작동합니다. 회로도는 소스 코드처럼 쉽게 검토 할 수 있습니다.

다른 사람들이 말했듯이 하드웨어의 경우 DFMEA ( Design Failure Mode and Effects Analysis )가 권장됩니다. 각 구성 요소에 대해 "단락시 어떻게되는지"와 "개방 회로로 넘어 가면 어떻게되는지"를 스스로 분석하고 기록을 작성하십시오. IC의 경우 인접한 핀이 서로 단락되면 (솔더 브리지 등) 어떻게 될지 상상해보십시오.

펌웨어의 경우 정적 코드 분석 도구 (MISRA, 보푸라기 등)를 사용하여 코드에 숨겨진 버그를 표시 할 수 있습니다. 부동 포인터 및 비교 대신 동등 (= vs ==)과 같은 것은 이러한 도구가 놓칠 수없는 일반적인 'oopsies'입니다.

서면 작동 이론은 하드웨어와 소프트웨어 모두에 매우 유용합니다. 작동 이론은 시스템 작동 방식, 보호 작동 방식, 시퀀싱 등을 상당히 높은 수준으로 설명해야합니다. 로직이 어떻게 흘러야 하는지를 간단히 말하면 일부 사례가 누락 될 수 있다는 사실을 깨닫게됩니다 ( "음, waitasec,이 상태는 어떻습니까? ")

프로토 타입 레벨 테스트

하드웨어를 손에 넣은 후에는 "일"할 차례입니다.

모든 이론적 분석이 완료된 후 장치가 사양 내에서 작동하는 방식을 정확하게 특성화하는 것이 중요합니다 . 이것을 일반적으로 검증 테스트 또는 검증이라고합니다. 허용 가능한 모든 극단을 테스트해야합니다.

또 다른 중요한 자격 활동은 구성 요소 스트레스 분석입니다. 모든 부품은 정의 된 작동 조건에서 최대 전압 / 전류 / 온도에 대해 평가됩니다. 견고성을 보장하기 위해 적절한 정격 감소 지침을 적용해야합니다 (전압의 80 %, 전력의 70 % 등을 초과하지 않아야 함).

상황이 어떻게 정상 상태에 있는지 알고 나면 외부 이상이나 설명하는 여러 이상에 대해 추측하기 시작할 수 있습니다. 다시, DFMEA 모델 (X가 발생하면 어떻게되는지)이 좋은 접근법입니다. 짧은 출력, 신호 묶음, 기기에 물을 엎 지르는 등 사용자가 기기에서 할 수있는 일을 생각해보십시오.

HALT 테스트 (고속 수명 테스트 )도 이러한 유형의 시스템에 유용합니다. 이 장치는 환경 챔버에 넣고 진동과 함께 최소에서 최대 온도, 최소 및 최대 입력 및 출력으로 작동합니다. 전기 및 기계의 모든 종류의 문제를 찾을 수 있습니다.

또한 임베디드 퍼즈 테스트 를 수행하기에 좋은시기 입니다. 모든 입력을 예상 범위를 넘어서 연습하고 UART / I2C 등을 통해 횡설수설을 보내 로직의 구멍을 찾으십시오. (예를 들어 비트 뱅킹 I2C 루틴은 버스를 잠그는 것으로 유명합니다.)

투쟁 테스트는 견고성을 입증하는 좋은 방법입니다. 과열, 과부하 등과 같은 보호 기능을 비활성화하고 고장이 날 때까지 스트레스를가하십시오. 장치가 고장 나거나 불규칙한 동작이 발생할 때까지 장치를 고온으로 올리십시오. 파워 트레인이 고장날 때까지 장치에 과부하를가하십시오. 일부 매개 변수가 최악의 조건보다 약간만 실패하면 한계의 표시와 일부 설계 고려 사항을 다시 검토해야 할 수도 있습니다.

또한 다음 단계의 접근 방식을 취하고 일부 DFMEA 결론을 물리적으로 테스트 할 수 있습니다. 실제로 반바지와 열기 및 핀 반바지를 수행하고 어떤 일이 발생했는지 확인하십시오.

추가 자료

내 배경은 전력 변환에 있습니다. 우리는 IPC-9592A 라는 산업 표준을 가지고 있는데, 이는 어떤 테스트와 수행 방식에 따라 제품이 어떻게 자격을 갖추어야 하는지를 표준화하기위한 노력입니다. 이 문서에서 언급 한 여러 유형의 테스트 및 방법은 다른 전기 분야에서 쉽게 사용할 수 있습니다.


6

I2C 인터페이스의 여러 장치를 사용하면 한 장치가 고장 나고 I2C가 호기스러워지고 다른 모든 I2C 전송이 중단되는 "바비 블 바보"문제가 발생할 가능성이 있습니다.

환경 테스트와 함께 담그는 테스트는 다른 형태의 실패 분석을 제공합니다. 일정 기간 동안 한계 구성 요소, 최대 / 최소 / 변동 온도, 다른 습도, 오염 된 전원 공급 장치, 잡음이있는 rf 환경 등을 사용하면 훨씬 더 오랜 기간의 정상적인 사용을 시뮬레이션 할 수 있습니다. 시스템에는 실제 고장이 발생하며 고장률을 계산할 수 있습니다.


3

대부분의 결함은 펌웨어 버그입니다. 내가 한 모든 일에는 몇 가지가있었습니다.

워치 독 타이머가 활성화되어 있는지 확인하고 "개를 쓰다듬 기"전에 모든 중요한 반복 기능이 발생해야합니다. 타이머 인터럽트에 플래그를 설정하고 메인 루프에서 워치 독을 지우는 데 사용합니다.

재설정주기 동안 펌웨어 복구도 테스트하십시오.

시작은 많은 실패가 발생할 때이므로 릴레이를 통해 전원을 공급 한 다음 전원을 껐다 켜는 빠른 스크립트를 작성하고 라디오가 웨이크 업을 나타낼 때까지 기다렸다가 반복합니다. 그런 다음 10000주기 정도 동안이 작업을 수행하십시오.


테스트에서 매우 흥미로운 파워. 저의 마지막 회사는 몇 년간 바보 같은 송신기와 동기화 된 상태로 실행해야했던 프로젝트를 가지고 있었고 그 기간 동안 오류가 발생하지 않았기 때문에 펌웨어 버그를 제거하는 것이 가장 어려운 부분이었습니다.
Kortuk

2

몇 가지 명백한 것들 :

  • 배터리 고장. 전해액이 손실되어 전자 제품이 오염 될 수 있음
  • PV 시스템의 과전압
  • 움직이거나 기계 근처에 있습니까? 그런 다음 충격 / 진동
  • 외부 환경 (신호 비 / 눈 흡수 등)으로 인한 통신 손실

FMEA를 수행하는 경우 결함이 무엇인지 결정하기 전에 먼저 시스템이 얼마나 중요한지 고려해야합니다.


2

Accelerated Life TestingHigh Accelerated Life Testing을 언급 한 사람이 아무도 없습니다 .

처분 할 때 중요한 도구 중 하나는 온도가 10도 상승 할 때마다 평균 신뢰도가 50 % 감소한다는 것입니다. 온도를 크게 올린 상태에서 테스트하면 제품 수명에 대한 정보를 얻을 수 있습니다. 이를 이용하기 위해 정격 온도 이상으로 부품을 테스트 할 필요는 없습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.