새로운 마이크로 컨트롤러에 결함이 있는지 어떻게 알 수 있습니까?


11

나는 digikey에서 결함 해협 인 부품을 다루지 않았지만 내가받은 3 가지 새로운 Atmel ATmega164A는 매우 이상한 행동을 보여 왔습니다.

나는 클럭과 관련이있는 것으로 좁혔으며, 아마도 "공장 교정 된"내부 발진기의 결과적인 클럭 신호는 1MHz의 고체 대신 650-700 kHz 사이에서 지 터링하는 것으로 밝혀졌다. 나는 1MHz에 매우 가깝게하기 위해 캘리브레이션 바이트에 쓸 수 있었고 (여전히 약간의 지터가 있지만) 대부분의 작업은 작동하지만 UART는 제대로 작동하지 않습니다. 당신이 그들에게 요청하는 것.

나는이 마이크로 컨트롤러의 저전력 버전 (164P)을 제로 문제로 다루었 고 그것을 제자리에 놓고 클럭 출력과 지터가없는 견고한 1MHz를 확인하기로 결정했습니다. 이 164A 칩에 결함이 있다는 결론에 기울고 있지만 확인을 시도 할 수있는 다른 테스트가 있습니까?


편집 : 방금 시계를 측정하는 프로세스를 설명한다고 생각했습니다. 클럭 출력 퓨즈 비트를 활성화하고 로직 분석기 샘플링으로 적절한 핀을 매우 높은 속도로 측정했습니다. 캘리브레이션 레지스터에 쓰는 프로그램이 있는데 OSCCAL1MHz로 시험하고 오류를 일으킬 수있었습니다.


편집 # 2 : 추가 조사 후, 특정 프로그램 크기 후에 마이크로 컨트롤러가 작동하기 시작 합니다.문지방. LED를 깜박이는 단일 소스 파일을 가진 기본 프로젝트는 괜찮은 것처럼 보이지만 해당 메소드를 호출하지 않고도 다른 파일 (UART 라이브러리 등)을 컴파일하고 링크하면 마이크로 컨트롤러가 작동합니다. 위에서 설명한 동작. 전원 연결이 양호하고 적절한 디커플링이 수행되었습니다. 현재로서는 더 이상 디버깅 할 시간이 없으므로 저전력 버전을 대신 사용했습니다. 1) 164A와 164P가 코드와 호환되지 않는 곳이 어디인지 정확히 모르겠습니다. 2)이 두 uC의 프로그래밍 절차가 다릅니다. 3) 장치에 결함이 있습니다. 보드 설계에 확신이 있으며 전원 문제를 배제 할 것입니다. 불행히도, 나는 정답을 선택할 수 없으므로이 질문을 그대로 두겠습니다. 아마도 나중에 다시 문제로 돌아옵니다. 통찰력있는 의견이나 답변을 제공 한 모든 사람에게 감사의 말은 uC 문제가있는 다른 사람에게 유용 할 수 있습니다.


질문과 직접 ​​관련이 없지만 언급 할 가치가 있습니다. 많은 IC 제조업체는 특정 실리콘 개정판에서 버그를 발견하면 릴리스되는 에라타 페이지를 가지고 있습니다. 나는 한번도 확인하지 않은 정오표에있는 알려진 버그로 몇 번 잡혔습니다. 이것들은 일반적으로 작동하지 않는 시계만큼 크지 않으며 일반적으로 제공되는 몇 가지 해결책이 있습니다. 그러나 귀하의 경우 알려진 정오표가 없습니다.
Kellenjb

1
@jon, 더 높은 전원 버전이 중단되고 더 낮은 전원 버전이 작동하면 회로를 제대로 분리하지 못하고 전원 무결성 문제가있을 수 있습니다.
Kortuk

@Kellenjb, 데이터 시트에서이 모델에 대한 "알 수없는 정오표"(최신 데이터 시트가 나타납니다, 06/11). 어떤 방법 으로든 언급 할 가치가있는 것은 분명합니다. 감사합니다.
Jon L

@Jon 그래, 그게 "하지만 당신의 경우에는 알려진 정오표가 없습니다."라는 뜻입니다.
Kellenjb

1
Kortuk이 말한 것을 두 번째로하겠습니다. 이것은 나에게 전원 공급 장치 또는 분리 문제처럼 냄새가 난다.
Olin Lathrop

답변:


3

그런 종류의 실패는 거의 없습니다. 핀에서 약간의 노이즈가 발생하거나 해당 핀이 완전히 작동하지 않을 수 있습니다. 그러나 "어떻게 작동하지만 유용한 방식으로 작동하지 않는"것은 드물다. 문제를 일으키는 디자인 문제가 있다고 생각하고 164A와 164P의 차이와 관련이 있습니다. 지터가 높기 때문에 전력 관련 사항을 살펴볼 것입니다. 모든 전원 / 핀 핀이 연결되어 있습니까? I / O 핀이 구동되거나 당겨 지거나 높거나 낮습니까? 기타.

그러나 여전히 부품이 불량 할 가능성이 남아 있습니다. 드물지만 들어 보지 못했습니다. 말할 수있는 유일한 방법은 다른 공급 업체로부터 부품을 더 입수하여 시험해 보는 것입니다. 그들이 작동한다면, 당신은 더 조사하고 취급 / 납품에서 그들을 죽였는 지 또는 그들이 실제로 Digikey에서 나왔는지 확인해야합니다.


2
기회가 생기면 모든 것을 세 번 확인하겠습니다. 나도 내 자신의 결론에 회의적입니다. 이것은 공장에서 잡히지 않을 것이라는 아이디어 또는 전환시 손상되었을 가능성이 거의 없을 것 같습니다 ... 다시보고 할 것입니다.
Jon L

연결 측면에서 모든 것이 체크 아웃됩니다. 자세한 내용을 제공하기 위해 질문을 편집하겠습니다 ...
Jon L

2

나는 한때베이스 라인 Microchip 부품과 비슷한 문제를 겪었다. 우리는 ICSP 프로그래밍을 망쳐 놓고 오실레이터 트림을 지우는 방법을 찾고 내부 클록의 정확도에 심각한 오류가 발생했습니다. 프로그래밍 설비 및 / 또는 프로그래밍 도구가 올바르게 연결되어 있고 올바르게 사용되고 있는지 확인하십시오.

부품을 프로그래밍하지 않고 발진기의 정확도를 쉽게 확인할 수있는 방법이 없기 때문에 간단한 포트 토글 프로그램 (I / O 라인을 흔들기 만하는 프로그램)을 작성하고 다른 사람이 바람직하게는 다른 프로그래밍 하드웨어를 갖는 부품. 흔들림을 확인하면 고유 코드로 다시 플래시하여 문제가 지속되는지 확인할 수 있습니다.


클럭 출력 퓨즈 비트를 활성화하고 클럭 신호를 PORTB의 핀에 넣습니다. 이것이 발진기 / 클럭 정확도를 결정하기 위해 샘플링하는 것입니다. 프로그래밍 프로세스와 도구를 다시 확인하겠습니다. 감사합니다.
Jon L
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.