산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

디지털 인터페이스의 시스템 레벨 노이즈가 직렬 플래시 메모리의 가짜 오류로 이어지는 방법

시스템 수준에서 더 높은 성능을 끊임없이 추구하면서 IDM(통합 장치 제조업체)은 전기적으로 까다로운 환경에서 고속으로 작동할 수 있는 디지털 인터페이스를 개발하는 데 능숙해졌습니다. SPI 및 I2C와 같은 표준 인터페이스는 안정적이고 효과적인 방식으로 다른 공급업체의 장치를 상호 연결하는 비교적 간단한 방법을 제공합니다. 다른 유형의 인터페이스도 마찬가지입니다.

디지털 도메인은 '표준' 기술을 사용하여 복잡한 시스템을 빠르게 구축하려는 개발자에게 안전한 피난처를 제공하는 것으로 생각할 수 있습니다. 실제로 임베디드 산업은 혁신을 위한 프레임워크를 제공하기 때문에 '정상적으로 작동하는' 표준 기반 인터페이스에 크게 의존하고 있습니다. 그들이 '그냥 작동'하지 않으면 특히 오류의 원인이 잘못 해석되는 경우 혼란을 초래할 수 있습니다. 인터페이스가 사양에 따라 적용될 때 견고하고 신뢰할 수 있도록 개발되었다는 점을 감안할 때 혼란은 이해할 수 있습니다. 기본 물리적 인터페이스가 실리콘으로 고정되어 있다는 사실도 안심할 수 있습니다.

모든 형태의 시스템 소음

신호에 대한 모든 왜곡은 노이즈로 해석될 수 있으며 노이즈가 통신 환경에서 가장 자주 발생한다고 가정하는 것이 합리적일 수 있습니다. 수신된 신호는 전송된 신호가 아닙니다. 이 직접적인 상관관계는 비교적 찾기가 쉽지만 어떤 경우에는 원인과 결과를 쉽게 식별할 수 없습니다. 장애가 간헐적으로 발생하면 문제가 복잡해집니다.

오늘날의 마이크로컨트롤러는 최소한의 구성으로 안정적인 작동을 제공하도록 설계되었습니다. 직렬 인터페이스의 경우 여기에는 긴 PCB 트랙이나 고용량 부하의 영향을 방지하기 위해 I/O 핀에서 높은 구동 전류로 기본 설정하는 것이 포함될 수 있습니다. 어떤 경우에는 이로 인해 인터페이스가 과도하게 구동되어 오류 또는 오류로 해석되는 파생 효과가 발생할 수 있습니다.

예를 들어 직렬 플래시 메모리 장치는 안정적인 작동을 보장하고 장치를 조사할 수 있도록 하는 여러 고급 기능을 제공합니다. 여기에는 노이즈 필터, 고급 적응 프로그래밍 및 셀 마진을 관리하는 지우기 알고리즘이 포함될 수 있습니다. 일부 제조업체는 단일 또는 다중 비트 오류를 ​​감지하고 수정할 수 있도록 각 쓰기 작업과 함께 추가 메타 데이터를 저장하는 스토리지 요소에 ECC를 포함하지만 이 ECC 수정은 노이즈가 통신 인터페이스 버스의 기본 메시지 트랜잭션을 손상시키는 경우 도움이 되지 않습니다.

SPI 인터페이스의 노이즈는 추가 클럭 펄스로 잘못 해석될 수 있습니다. SPI는 클록 구동 인터페이스이므로 명령 무시, 데이터 잘못 해석, 잘못된 명령 사용 등과 같은 영향을 미칠 수 있습니다. 그러나 노이즈도 에너지를 전달하며 경우에 따라 이 에너지 자체가 장치 작동에 오류를 유발할 수 있습니다. .

충전 펌프 및 오버슈트

대부분의 경우 신호의 일부 오버슈트 또는 언더슈트는 디지털 인터페이스에서 허용될 수 있습니다. 그러나 곡선 아래에 있는 에너지가 여전히 존재하며 일부 회로에서는 이것이 방해가 될 수 있다는 점을 잊어서는 안됩니다.

직렬 플래시 메모리의 차지 펌프 회로가 그 예입니다. SPI 버스 신호에 상당한 노이즈가 포함되어 있으면 해당 신호의 에너지가 차지 펌프로 전파되어 작동을 방해할 수 있습니다.

플래시 메모리의 차지 펌프는 메모리 셀의 바이어스를 변경하고 논리적 1 또는 0을 효과적으로 저장하는 데 필요한 전력을 제공하기 때문에 중요한 기능입니다. 쓰기/지우기 프로세스는 플래시 작동에서 중요한 시간입니다. 메모리, 이 시간 동안 차지 펌프가 중단되면 쓰기 또는 지우기 오류가 발생할 수 있으며 이러한 오류가 감지될 수 있지만 명확하지 않을 가능성이 있습니다.

이러한 종류의 오류는 플래시 메모리 장치의 오류로 쉽게 해석될 수 있습니다. 플래시 메모리에 제조업체가 보장하는 읽기 및 쓰기 주기가 한정되어 있다는 사실은 임베디드 설계자들이 잘 이해하고 있지만 아마도 너무 많은 오버슈트나 언더슈트가 없는 깨끗한 인터페이스를 제공하는 것의 중요성을 잘 이해하지 못하고 있을 것입니다.

예를 들어 그림 1의 이미지를 살펴보겠습니다. 이 이미지는 6개의 플래시 장치에 대한 정상적인 셀 여백을 보여줍니다. 논리적 1(2V ~ 5V)과 0(>6v)을 나타내는 데이터로 프로그래밍된 셀 사이에 두 가지 고유한 패턴이 나타납니다. 이에 비해 그림 2의 이미지는 제어 라인의 오버슈트 및 언더슈트로 인해 데이터 손상이 발생한 3개의 플래시 장치에 대한 메모리 셀 마진을 보여줍니다.


그림 1:이 이미지는 프로그래밍 및 삭제된 플래시 메모리에 대한 양호한 셀 마진 분리 데이터를 보여줍니다. (출처:Adesto)


그림 2:이 이미지는 SPI 라인에 상당한 노이즈가 존재하는 플래시 메모리에 대한 불량한 셀 마진 분리 데이터를 보여줍니다. (출처:Adesto)

작동 주파수, 신호 진폭, MCU 드라이브 레벨, 노이즈 스파이크에 포함된 에너지와 같은 여러 요인이 노이즈 레벨에 영향을 줄 수 있습니다. PCB 설계 및 신호 간의 혼선도 원인이 될 수 있습니다.

그림 2의 데이터는 과도한 오버슈트 및 언더슈트가 직렬 인터페이스에 미치는 영향을 보여줍니다. 아래 그림 3은 이 오버슈트가 실제 애플리케이션에서 어떻게 보이는지 보여줍니다.

더 큰 이미지를 보려면 클릭하세요.

그림 3:이 트레이스 이미지는 SPI 라인에 존재하는 오버샷 및 언더슈트가 플래시 메모리 사양에 문서화된 절대 최대값을 초과하는 5.65V의 피크 대 피크 전압을 초래했음을 명확하게 보여줍니다. . (출처:Adesto)

이 노이즈의 결과는 잘못된 장치 작동이었고 직렬 플래시 메모리 저장 값에 오류로 나타났습니다. 처음에는 STATUS 레지스터를 폴링하는 빈도를 낮추면 오류가 더 적게 보고되어 설계자가 오류의 근본 원인에 대해 잘못된 가정을 하게 되므로 오류의 진정한 영향을 놓쳤습니다.

진정한 근본 원인 파악

이 결함은 메모리 오류로 나타났지만 근본 원인은 플래시 장치에 있지 않았습니다. 이것은 Adesto 엔지니어가 SPI 신호를 조사하고 존재하는 시스템 노이즈를 식별하여 발견했습니다. 잡음은 부분적으로 MCU와 플래시 메모리 사이의 PCB 트랙에 존재하는 임피던스 불일치로 인한 것일 수 있지만 전체 내용은 아닙니다.

소음의 원인은 실제로 전원을 켤 때 높은 드라이브 수준으로 기본 설정되는 MCU 인터페이스였습니다. 과도한 드라이브는 SPI 라인에서 오버슈트 및 언더슈트를 일으키기에 충분했으며 일부 경우에는 신호 전환으로 잘못 해석되어 읽기 또는 쓰기 오류가 발생할 수 있습니다. 그러나 이 경우 오버슈트가 플래시 차지 펌프를 교란시키기에 충분한 에너지를 보유하고 있어 오류가 발생하는 것으로 나타났습니다.

고객의 설계에서 사용 중인 마이크로컨트롤러는 I/O에 대해 구성 가능한 드라이브 전류를 제공했으며 시작 시 기본값은 HIGH입니다. 응용 프로그램 코드는 초기화 중에 이 수준을 수정하지 않았기 때문에 정상 작동 시 높은 수준을 유지했습니다.

디지털 인터페이스는 일반적으로 견고하게 설계되기 때문에 이 영향은 SPI 버스의 다른 장치에 대해 명확하지 않을 수 있습니다. 플래시 메모리의 민감한 특성, 훨씬 더 높은 주파수에서 작동해야 하는 필요성, 특히 차지 펌프의 작동으로 인해 메모리는 오버슈트/언더슈트에 취약했습니다. 이로 인해 초기에 플래시 메모리 장치의 결함으로 잘못 해석된 잘못된 작동이 발생했습니다.

오류 수정

펌웨어를 통해 드라이브 전류를 줄이면 오버슈트와 언더슈트가 효과적으로 0으로 줄어들었고(그림 4) 결과적으로 플래시 메모리가 오류 없이 작동했습니다.

더 큰 이미지를 보려면 클릭하세요.

그림 4:명백한 오버슈트 없이 직렬 플래시 메모리의 차지 펌프는 올바르게 작동하고 안정적인 기능을 제공할 수 있었습니다. (출처:Adesto)

결함의 특성은 Flash 장치가 SPI 인터페이스의 과도한 시스템 노이즈인 오류의 영향을 보상하기 위해 모든 노력을 기울이고 있음을 보여주었습니다.

아마도 여기서 가장 중요한 점은 원인이 실제로 대부분의 상황에서 완전히 수용 가능한 작동 모드로 기본 설정되어 있는 사용된 MCU의 설계 기능이었다는 것입니다. 높은 드라이브 출력과 불완전한 PCB 인덕턴스의 조합으로 인해 간헐적 오류가 발생하는 조건이 생성되었습니다. 간단한 펌웨어 변경으로 MCU의 드라이브 출력을 줄여 문제를 해결했습니다.

이것은 여기에서 진정한 교훈을 강조합니다. 진정한 구성 요소 고장으로 보일 수 있는 것이 실제로는 설계의 간과일 수 있습니다. 메모리 장치를 교체하는 것은 초기에 결함이라고 믿었던 것에 대한 자연스러운 반응이었지만, 고객과 공급업체, 그리고 하드웨어 및 소프트웨어 엔지니어링 팀 간의 긴밀한 협력을 통해 실제 원인을 찾고 올바른 솔루션을 적용했습니다. . 그 결과 훨씬 더 나은 디자인, 더 높은 시스템 성능 및 더 큰 안정성을 얻을 수 있었습니다.

결론

시스템 소음은 명백한 영향이 없을 때 쉽게 무시할 수 있습니다. 간헐적인 오류는 최적의 조건에서 찾기가 특히 어렵지만 오류가 잘못 해석되면 문제가 더욱 어려워집니다.

오버슈트는 시스템 노이즈의 가장 눈에 띄지 않는 형태일 수 있지만 여기에서 설명하는 것처럼 그 영향은 상당할 수 있습니다. 플래시 메모리는 신뢰할 수 있는 기술이지만 신중하게 설계된 인터페이스에 의존하는 기술입니다. 직렬 인터페이스의 과도한 잡음은 전하 펌프 회로를 통해 전파되어 프로그래밍 및 소거 회로의 작동을 저해할 가능성이 있습니다. 이로 인해 메모리 셀 오류로 표시되는 장치 자체의 오류로 쉽게 해석될 수 있는 예상치 못한 특성은 물론 일관되지 않거나 신뢰할 수 없는 프로그래밍 및 지우기 작업이 발생합니다.

이 경우 플래시 메모리를 교체하고 문제가 해결되었다고 가정하면 언젠가는 실패할 가능성이 있는 제품이 출시될 수 있습니다. 대신 설계자는 오류가 감지되기 ​​전에 허용할 수 없는 ~20K 주기에서 오류가 없고 추가 오류 감지 및 수정 루틴이 필요하지 않은 250만 주기 이상으로 효과적인 내구성 점프를 통해 프로그래밍 및 지우기 일관성을 상당한 요소로 개선할 수 있었습니다.

최신 마이크로컨트롤러가 제공하는 구성 가능성 수준은 도움이 되기도 하고 방해가 되기도 합니다. 드라이브 전류를 구성할 수 있다는 사실이 이 예에서 오버슈트의 원인일 수 있습니다. 하지만 구동력을 줄이는 것도 문제 해결에 효과적이었습니다.


임베디드

  1. 키사이트, 새로운 위상 잡음 테스트 시스템 출시
  2. Winbond:이제 NXP Layerscape LS1012A를 지원하는 NOR+NAND 듀얼 다이 메모리 칩
  3. Acceed:CAN, GbE, PoE, 4G, 3G 및 WLAN이 있는 차량용 PC
  4. 디지털 트윈이 물류 성능 향상에 도움이 되는 방법
  5. 클라우드 분석으로 디지털 공급망 혁신을 가속화하는 방법
  6. 재료 공급업체가 디지털 마케팅을 수용해야 하는 이유와 우리가 도울 수 있는 방법!
  7. 의료 기기 OEM이 인더스트리 4.0 비즈니스 모델을 구현할 수 있는 방법
  8. 압축 공기의 오염 물질이 공정에 미치는 영향
  9. 오류 수를 줄이고 생산 품질 시스템을 개선하는 방법은 무엇입니까?
  10. 소규모 상점이 디지털화할 수 있는 방법 — 경제적으로!