데이터 수집 시스템의 기능적 안전성 요건을 충족하는 단일 칩 솔루션
글: 크리스 노리스(Chris Norris), ADC 설계 평가 엔지니어 / 아나로그디바이스
머리말
기능적 안전성(functional safety)은 많은 산업 분야에서 사람이나 장비에 가해지는 위해를 허용 범위 수준으로 낮추기 위해서 중요하게 요구되는 특성으로, 최근 몇 년 사이 이 기능적 안전성에 대한 요구가 급격히 높아지고 있다. 핵 발전 설비에서부터 의료용 장비에 이르기까지, 오류 없는 시스템이 경우에 따라 권장 사항이 되기도 하고 필수 사항이 되기도 한다. 예컨대 센싱 같은 경우, 부적절한 데이터나 훼손된 데이터는 시스템에 따라서 치명적인 결과를 초래할 수도 있다.
기존에는 센싱 IC로부터 들어오는 데이터의 무결성을 확보하기 위해 제품 설계에 진단 기능과 결함 방지 메커니즘을 통합할지 말지를 시스템 개발자가 결정했다. 이러한 기능들을 통합하려면 PCB 면적, BOM, 프로세싱 부담이 늘어나고, 궁극적으로 비용도 증가한다. 시스템 설계 엔지니어들은 이 문제에 대한 솔루션을 개발하기 위해 애써 왔다. 그 결과, IC 차원에서 기능적 안전성 기능들을 통합하기 시작했다.
이 글에서는 데이터 수집 시스템의 전반적인 무결성을 보장하기 위한 조치로서,
ADC의 기능적 안전성에 대해 알아볼 것이다.
기존 솔루션 vs. 향상된 솔루션
그림 1은 기능적 안전성을 위한 기존 솔루션과 최신 솔루션을 비교한 것이다. 핵심 요소는 데이터 수집 ADC로서, 아날로그 입력을 변환하고 변환한 데이터를 마이크로컨트롤러로 전송한다. 하지만 이러한 솔루션을 구현하려면 여러 개의 외부 부품과 반복적인 SPI 전송, 심지어는
리던던트 ADC까지 필요하기 때문에 BOM, PCB 면적, 프로세싱 부담, 비용이 크게 증가한다. 또한 시스템 설계자가 이 솔루션을 개발하기 위해서는 개발 시간이나 신뢰성 면에서 추가적인 부담을 안게 된다.
이 경우, 기능적 안전성 기능들을 통합한 단일 IC 솔루션을 사용하면 필요한 외부 부품을 최소화할 수 있다.
그림 1: 여러 개의 외부 부품이 필요하던 기존 시스템에서 단일 칩 ADC 솔루션으로 통합
기능적 안전성을 요구하는 시스템 사례
ADC를 사용하는 데이터 수집 시스템에서는 애플리케이션에 따라서 사람이나 장비에 위해를 가할 수 있는 다양한 결함들이 발생할 수 있다. 시스템 설계자는 허용할 만한 위험성과 허용할 수 없는 위험성을 구분해야 한다.
가스 체임버의 압력을 측정하고 조절하는 시스템을 예로 들어보자. 이 시스템의 경우, 탱크 내부의 압력이 외부 압력과 크게 차이가 나지 않는지 살펴보기 위해 허용오차가 5%인 센서를 사용하고 있다면, 그것이 허용 가능한 위험성 수준일 것이다. 그런데 만약 잘못된 ADC 데이터가 마이크로컨트롤러로 전송된다면 체임버 압력으로 인해 내부 또는 외부에서 폭발이 발생해 근처에 있는 작업자가 다치거나 심하면 사망에 이를 수도 있는 치명적인 결과를 초래할 수 있다. 이러한 수준의 위험성은 허용될 수 없는 것이다. 따라서
MCU로 전송되는 정보의 무결성을 위해 특정한 기능적 안전성 조치를 마련할 필요가 있다.
이러한 오류를 일으킬 수 있는 결함 요인들은 다음과 같다:
? 전원공급장치: 낮은 전원 전압,
LDO 레귤레이터의 낮은 전압 출력
? 아날로그 프런트엔드(
AFE): 손상된 센서나 증폭기가 ADC에 잘못된 전압을 구동
? 디지털 로직: 변환 결과에 영향을 미칠 수 있는 디지털 도메인에서의 비트 오류 (예: 이득 또는 오프셋 트리밍 계수 등)
? SPI 전송: 변환된 데이터의 송신 및 수신 과정에서, 전송 회선 주변의 잡음이 심한 환경으로 인해 발생할 수 있는 비트 오류
? 환경적 요인: IC의 명세서에 지정된 범위를 넘어서는 주변 온도
AD7768-1은 ADI의 기능적 안전성 제품군에 속하는
델타-시그마 ADC 제품으로서, 오류를 감지 및 진단하기 위한 여러 진단 기능을 통합하고 있다. 그림 2는 통상적인 압력 센서 시스템에서 발생 가능한 결함 요인들을 보여준다.
그림 2: 압력 센서 시스템에서 발생 가능한 결함 요인들
ADC를 사용해서 시스템 오류를 진단
ADI의 기능적 안전성 ADC 제품군 중에는 ADC를 사용해서 시스템 오류를 진단 및 완화할 수 제품이 있다. 이 같은 시스템 오류 측정 능력은 정확한 측정을 유지하는 데 있어서 중요하며, 특히 기능적 안전성을 필수적으로 요구하는 시스템에서는 보다 절실하다.
레퍼런스 입력으로부터 가져온 + 및 -의 풀 스케일 전압을 사용해서 시스템의 이득 오차를 측정할 수가 있다. 제로 스케일 내부 단락을 활용하면 오프셋 오차 측정이 가능하다. 이 때 사용자는 ADC의 이득과 오프셋 트리밍 레지스터를 사용해서 시스템의 오프셋 및 이득 오차 성능을 조정할 수 있다.
온도 센서는 한계 범위를 벗어난 이상 온도를 포함하여, IC 자체 및 주변의 온도 변화를 감지한다. 이 기능은 온도에 따른 오프셋 및 이득 오차 드리프트에 민감한 시스템에서 특히 유용하다. 현저한 온도 변화가 발생할 경우, 사용자는 이 새로운 온도로 이득 및 오프셋 오차를 다시 조정할 수 있다. 그림 3은 AD7768-1 내부에서 아날로그 진단 MUX가 ADC에 어떻게 연결되는지를 보여준다.
그림 3: 아날로그 진단 MUX를 연결하기 위한 스위칭
진단 오류 플래그: 레지스터 맵 진단 상태 표시기
몇 가지 진단 기능들을 작동시키고 해당 작동 상태를 레지스터 맵을 통해서 사용자에게 표시할 수 있다. 결함이 발생하면 레지스터에 오류 플래그가 설정된다. 결함이 발생한 것으로 표시되면 사용자가 상황을 살펴볼 수 있다.
이제 ADI의 기능적 안전성 ADC를 사용해서 어떻게 결함을 진단하는지 실제 사례를 살펴보기로 한다. 앞서 예시한 압력 센서 시스템이 산업용 플랜트에 설치되어 있다고 가정해 보자. 온도는 계속해서 변화하고, 필수적인 유지보수 작업을 위해 가끔씩 전원이 중단될 때가 있으며, 주변 환경으로부터의
EMI가 시스템 PCB로 전달된다.
ADC 전원 오류
주변의 높은 온도와 전원 사이클링에 따른 쇄도 전류로 인해서, ADC의 LDO 전원 출력에 가깝게 전하를 유지하는 임무를 맡은 LDO 커패시터가 마모되어 손상되었다고 해보자. 이 출력을 정해진 전압으로 유지하기 위해서는 외부 커패시터가 필요하다. 이 커패시터가 손상되면 변환된 ADC 데이터나 그밖에 다른 기능들이 예기치 않은 결과를 초래할 수 있다. LDO 모니터링 기능을 활성화한다면, 이 전압이 특정 지점 아래로 떨어졌을 경우, 오류 플래그를 설정해서 LDO 출력에서 문제가 발생했다는 것을 사용자에게 알려줄 수 있다.
아날로그 프런트엔드 오류
이번에는 ADC로 전해지는 입력이 ADC의 풀 스케일 범위를 넘지 않아야 하는 시스템을 예로 들어보자. 사용자가 실수로 이득 레지스터에 잘못된 값을 프로그램해서 ADC에서의 전압이 풀 스케일 범위보다 훨씬 높게 되면, 시스템의 이득 오차 성능에 커다란 영향을 미치므로 심각한 위험이 될 수 있다. 이럴 때 필터 포화 오류 검사 기능이 ADC 출력을 모니터링하고 아날로그 입력 범위를 벗어났다는 것을 사용자에게 알려줄 수 있다.
디지털 로직 임의 비트 오류
디지털 로직과 메모리 블록 내에 임의적인 비트 오류가 발생할 수 있다. 앞서 예시한 압력 시스템의 파워업 과정에서 디폴트 공장 오프셋 설정을 로드하다가 비트 오류가 발생했다고 가정해 보자. 이것은 시스템의 디폴트 오프셋 오류를 일으켜서, 변환 결과에 영향을 미치기 때문에 결코 허용될 수 없는 결함이다. ADI의 기능적 안전성 ADC 제품은 다양한 메모리 블록에 대해서 주기적으로
CRC(cyclic redundancy check)를 실행하고 비트 오류가 발생했을 때 사용자에게 결함을 알려주는 기능을 포함하고 있다. 이러한 결함들은 시스템을 리셋함으로써 해결할 수 있다.
SPI 전송 오류
어떤 시스템이든 특정 매체를 통해 데이터를 전송하는 과정에서 비트 오류가 발생할 수 있다. 모든 시스템에서 이러한 오류 발생률을 계산할 수 있는데, 이를
비트 오류율(BER)이라고 한다.
앞서 예시한 압력 시스템의 경우, 동일한 PCB 상에서 디지털 절연을 통해서 10cm 떨어진 MCU로 전송이 이루어진다고 하면 10
-7의 BER을 예상할 수 있다.
EMI가 SPI 라인으로 전달되고 이 때문에 AD7768-1에서 MCU로 ADC 데이터를 전송하는 중에 비트 오류가 발생한다고 해보자. ADC 데이터의 비트 오류로 인해서 가스 체임버의 누적된 압력이 막힌다면 심각한 결과를 초래할 수 있다. 이 때, 전송되는 데이터 끝에 CRC를 첨부하면 전송 과정에서 비트 오류가 발생했다는 사실을 사용자에게 알릴 수 있으며, 그러면 사용자가 ADC 변환 결과를 재확인할 수 있다.
외부 마스터 클럭 오류
압력 센서 애플리케이션에서 주전원의 주파수(50Hz/60Hz) 제거가 관건인 경우에는, 디지털 필터의 노치를 주파수와 정렬하기 위해 정확하고 지터가 낮은 외부 마스터 클럭 소스를 사용해야 할 수가 있다. 이 클럭 소스가 연결이 끊어지거나, 마모 또는 손상되면 심각한 문제가 될 수 있다. 주전원의 주파수 성분이 변환된 ADC 데이터에서 나타날 수 있기 때문이다.
외부 클럭 검사 기능은 외부 클럭 소스가 성공적으로 연결되지 않았거나 존재하지 않을 때 사용자에게 오류를 알려줄 수 있다. 그러면 사용자는 내부 RC 오실레이터를 사용해서 응급 변환 조치를 할 수 있으며, 그러는 한편으로 외부 마스터 클럭 소스를 수리할 수 있다.
POR 플래그
시스템이 파워업 되거나 성공적으로 리셋 되면 ADC 내부에
POR 플래그가 설정된다. 하지만 예기치 않은 리셋이 발생할 경우, ADC 데이터에서 예상 못한 결과를 보게 될 수 있다. 이럴 때 POR 플래그를 검사하면 예기치 않은 리셋을 확인해 볼 수가 있다.
그림 4는
AD7768-1에 얼마나 많은 진단 기능들이 통합되어 있는지 보여준다.
그림 4: AD7768-1에 통합된 다양한 진단 및 모니터 기능들
AD7768-1을 사용한 궁극의 기능적 안전성 솔루션
AD7768-1의 기능적 안전성 특성들을 활용하여, 다음과 같은 데이터 수집 시스템을 구현할 수 있다. 사용자는 각각의 기능들을 파워업하여 다음의 기능적 안전성 특성을 활성화 할 수 있다:
? SPI 무결성 모니터링
? LDO 레귤레이터 출력 레벨 모니터링
? 필터 포화 모니터링
? 외부 클럭 검사
? 내부 로직 및 메모리 CRC 모니터링
내부 아날로그 진단 MUX를 사용하여 시스템 교정을 검사할 수 있다. 이 방법으로 LDO 레귤레이터 출력도 검사할 수 있다.
다음으로, 사용자는 24bit 데이터 스트림 끝부분에 8bit 상태 바이트와 8bit SPI CRC 워드를 첨부해서 기능들을 실행할 수 있다. 8bit 명령 워드, 24bit 데이터 스트림, 8bit 상태 워드를 기반으로 8bit CRC를 계산한다. 프로세싱 부담이 우려되면 연속 리드백(Continuous Read-Back) 모드를 사용할 수 있다. 이 모드를 사용하면 8bit 명령을 사용할 필요가 없다. 대신에 이 IC로 직렬 클럭을 제공할 때 데이터 레지스터 콘텐츠를 출력할 수 있다.
이렇게 함으로써 이득 및 오프셋 오차가 검증된 데이터 수집 시스템을 구현할 수 있으며, ADC 데이터를 리드백 할 때마다 사용자에게 진단 정보가 제공된다.
LDO 레귤레이터 출력, 아날로그 프런트엔드 입력, 내부 디지털 로직, 메모리는 지속적으로 모니터링된다. 따라서 사용자는 SPI 통신의 무결성을 확신할 수 있으며 IC의 온도를 알 수 있다.
맺음말
다양한 산업 분야에서 기능적 안전성에 대한 요구가 높아지고 있다. 아나로그디바이스는 기능적 안전성에 대한 시스템 설계자들의 요구를 충족하기 위한 기술과 제품을 지속적으로 개발하고 있다
AD7768-1은 바로 이러한 요구를 충족하는 제품으로서, 사용자가 컴팩트하고 간소화된 시스템을 설계하고 BOM 비용을 낮출 수 있게 해준다. 자신이 설계한 제품에 대해 SIL(Safety Integrity Level) 인증을 받고자 하는 시스템 설계자들은 이 단일 칩 솔루션을 사용함으로써 제품 설계 작업을 대폭 간소화할 수 있다.
저자 소개
크리스 노리스(Chris Norris)는 아일랜드 리머릭 소재 아나로그디바이스의 ADC 설계 평가 엔지니어이다. 2012년에 워터포드 공과대학에서 전자공학 학사 학위를 취득했으며, 같은 해에 대학원생으로 ADI에 입사했다. Christopher.norris@analog.com
제품스펙