고성능 절연 SPI 솔루션의 설계에서 SPIsolator 제품군은 다중화된 제어 채널을 사용해서 전달 지연이 매우 낮은 고속 SPI를 지원하며 AUX 기능 통합을 최대화한다. SPI 채널을 부가 기능과 결합하면 고집적 절연 SPI 버스를 쉽게 설계할 수 있으며 설계 시간 단축과 비용, 보드 공간도 절약할 수 있다.
SPI는 매우 유용하며 적용이 유연한 표준이지만, 이러한 유연성은 간소함으로부터 나온다. 적정 속도의 단방향 절연 채널 4개면 SPI를 사용해서 몇 MHz의 클록 속도를 낼 수 있다. 그러나 그 대신 설계자는 리셋 기능이나 SPI로 작동되지 않는 기능의 알람 같은, 인터럽트 서비스 지원(interrupt service support) 및 직접 통신 채널 등의 기능은 포기해야 한다.
그러다보니 SPI를 사용하는 실용적인 인터페이스에서는 이러한 기능을 처리하기 위해서 병렬로 GPIO 라인이 추가로 필요한 경우가 많았다. 많은 경우 추가되는 통신 라인에 높은 속도가 필요하지 않아 설계자는 인증된 부품 목록을 보고 여러 개의 광커플러를 선택해 SPI에 필요한 고속 디지털 절연기 바로 옆에 둔다.
그러나 광커플러를 디지털 절연기처럼 설계하기란 그리 단순하지 않다. 고속 광커플러가 단순하면 특히 더 그렇다. 따라서 광커플러의 전달 전류비(current transfer ratio, CTR)가 시간과 온도에 어떻게 바뀌는지, 광커플러 CTR이 애플리케이션에 어떠한 영향을 미치는지 빠르게 살펴볼 필요가 있다.
추가 통신이 양방향으로 이루어진다면 여러 개의 패키지가 필요하다. 왜냐하면, 광커플러 채널은 발광부에서 수광부를 이용하여 단일 방향으로 데이터를 전송해야 하는 방향성을 가지기 때문이다. 따라서 설계가 진행되면서 크기, 비용, 투자 시간이 빠르게 증가한다.
iCoupler 기반의 디지털 절연기를 사용하는 절연 SPI
SPI 버스는 고속 디지털 또는 광 절연의 채널 4개를 사용하면 쉽게 절연할 수 있다. 쿼드 디지털 절연기는 소형 폼팩터에서 절연이 가능하며 보통 5~10MHz의 SPI 클록 속도를 지원한다. 집적 마이크로 트랜스포머, 커패시터, 광커플러 중 무엇을 기반으로 하든, 신호는 절연 장벽을 통해 전송되어야 한다. 전류 절연 기술 중에서 입력 신호를 결합하기 위한 주요 인코딩 방식에는 에지 인코딩(edge-encoding)과 레벨 인코딩(level-encoding)의 2가지 방식이 있다.
레벨 인코딩 방식은 절연기의 전달 지연이 낮고 일반적으로 대기 모드에서의 전력 소모가 높으며(higher idle power) 타이밍 성능이 나쁘다(지터 및 펄스 폭 왜곡(PWD)). 반면 에지 인코딩 방식은 전력 소모가 낮고 타이밍 성능이 좋다. 그러나 에지 기반으로 구현하면 많은 경우 지연 속도가 길어지며, 이로 인해 SPI 버스에서 클록 속도가 제한될 수 있다. 이 글에서는 고성능 SPI 버스의 절연을 어렵게 하는 이러한 제한사항들을 제거하는 기법을 살펴본다.
에지 인코딩 방식에서 입력의 디지털 전환은 절연 장벽 전반에서 인코딩된다. 디지털 입력이라면 이렇게 전환된 신호를 디코딩해서 출력부에서 다시 재생산한다. 그림 1의 예시 파형(A형)은 입력 에지가 차동으로 인코딩되는 방식을 보여준다. 상승/하강 입력 전환은 좁은 양/음의 펄스로 각각 인코딩된다.
이러한 신호 전달은 디지털 입력이 스위칭되는 동안 제대로 작동하지만 입력과 출력 DC에 대한 레벨이 맞지 않으면 이러한 불일치 상태가 신호 전달로 보정되기 전까지 계속될 수 있다. 불일치는 데이터 채널의 전송이 없는 상태에서 전원을 인가하면 가장 분명히 드러나는데, 어떤 것도 절연 장벽에서 입력 핀의 상태를 전달하지 않으며 작동 시작 상태(startup state)가 입력 데이터와 일치하지 않을 수 있기 때문이다.
이 문제를 해결하기 위해 에지 인코딩 방식에서는 ‘리프레시’ 회로 같은 형태를 사용해서 출력에서의 DC를 보정한다. 리프레싱의 작동은 입력 휴지(inactivity)의 프리셋 시간(TREFRESH) 후에 절연 장벽을 통해 주기적으로 최종 변환된 신호(last transition)를 전송함으로써 이루어진다. 그림 1은 예시의 에지 인코딩 방식(B형의 파형)에서의 리프레싱도 보여준다.
파형에서 입력 신호가 상승 및 하강 에지 사이에서 신호가 변화되지 않더라도 인코딩된 여러 개의 상승된 변환 신호는 절연 장벽을 지나 전송되어 수신기의 상태를 ‘리프레싱’시켜 HIGH 상태에 둔다. 이렇게 하면 전원이 켜졌을 때 출력 상태가 정확해지며 그 외에도 리프레시 회로의 출력 상태에 오류가 생겨서 입력 상태와 싱크가 맞지 않더라도 이를 보정하는 데 도움이 되기도 한다. 이러한 방식은 인코딩된 데이터가 계속 전송되기 때문에 대기 전력을 소모한다.
에지 인코딩 방식에는 ‘리프레싱’이 필요하기 때문에, 이러한 방식에 내재된 타이밍의 영향을 이해하는 데 유용하게 사용할 수 있다. 그림 1의 파형을 보면 입력 신호의 변화와 리프레시 신호 모두 같은 절연 채널을 통해 전송되지만, 곧 분리된다는 것을 알 수 있다. 입력 신호가 내부의 리프레시 발생 회로와 완전히 비동기화 되어 있기 때문에 이전의 변화된 신호에 대한 리프레시가 전송되는 것과 동시에 입력 신호의 변화가 발생할 수 있다. 이는 수신기에서 논리 오류를 일으킬 수 있는 타이밍 문제로 이어질 수 있다.
이러한 ‘타이밍의 충돌’ 오류를 방지하기 위해서 리프레시 회로에는 신호 경로에 ‘예상(look-ahead)’ 지연을 추가해야 한다. 지연의 추가는 절연 장벽을 통해 인코딩된 신호를 최소한으로 분리시켜 주기 때문에 수신기가 부호 전송의 시퀀스를 모호하지 않게 디코딩할 수 있다. 단점은 이러한 지연으로 인해 절연기의 전달 지연이 크게 증가할 수 있어서 속도가 증가함에 따라 SPI의 타이밍 제약을 만족시키는 능력이 제한된다는 점이다.
다행히 이러한 제약은 해결할 수 있다. 입력 신호의 변화 상태와 리프레시 상태가 다른 절연 요소에서 전송된 뒤 출력에서 결합되면 ‘예상’ 지연과 그에 따른 타이밍의 불이익을 감수할 필요가 없다. 이러한 개념을 다중 채널 절연기로 확장하면 모든 채널에 대해 리프레시 상태는 각각의 단일 절연 채널에서 시간에 대해 다중화(time-multiplexed)가 이루어지고 각각의 출력에서 다시 결합된다. 기본적으로 입력 상태는 샘플링되고 패킷으로 나뉜 다음 절연 장벽을 통해 직렬 전달된다.
수신기는 입력의 DC 상태를 계속 추적해서 입력이 비활성 상태로 유지되는 시간에 따라 출력에 업데이트해 DC 상태를 사용할지 아니면 최종 입력에 변화된 신호로 사용할지를 조정한다. 모든 리프레시 상태를 전달하기 위한 외부 디지털 절연기 채널이 하나만 있으면 모든 입력 채널로부터 ‘예상’ 지연을 제거하고 입력 채널이 입력 스위칭 정보를 전달하도록 해서 전달 지연을 크게 개선할 수 있다. 그림 2는 이러한 개념을 그림으로 나타낸 것이다.
아나로그디바이스의 고속 디지털 절연기인 SPIsolator짋 시리즈는 이러한 방식을 사용해서 SPI 채널에서의 전달 지연을 크게 낮추었으며, 그로 인해 최대 17MHz의 고대역 절연 SPI 버스를 구현할 수 있다. ‘추가’되는 절연기 채널은 ‘리프레시’ 신호의 정보를 전달할 뿐만 아니라, 절연 장벽을 통해 패킷으로 주고받을 수 있도록 데이터를 시간축에 대해 다중화해 패킷으로 나눔으로써, 처리량이 낮은 기타 다양한 신호를 추가적으로 전송하는 데에도 사용된다. 이를 통해 SPI 직렬 데이터 비트 외에도 추가로 통신이 가능해져서 다용도이면서도 집적도가 높은 절연 SPI 버스를 구현할 수 있다.
SPI w/ AUX 데이터 채널
SPIsolator 제품군 중에는 다중화된 리프레시 채널에 250kbps의 AUX 디지털 채널 3개를 추가한 버전도 있다. 3가지 다른 제품에서는 그러한 AUX 채널에 대해 다중 채널 방향 설정이 가능하다. AUX 채널이 비동기화되어 있더라도 단일 절연 채널을 통해 전송되기 전에 샘플링되어 패킷으로 나눈다. 채널 입력이 내부 샘플링 클록에 의해 스위칭되는 시점에 따라 이러한 AUX 채널의 전달 지연은 최대 2.6us까지 달라질 수 있다.
샘플링하고 직렬 전송하면 비동기 AUX 신호를 내부 신호 샘플링 클록에 동기화시킬 수도 있다. 그러나 이로 인해 느린 신호 간의 정확한 타이밍이 중요한 경우, 특히 1.2us 미만의 시간대(time window) 이내의 정확성이 요구되는 경우라면 타이밍 문제가 발생할 수도 있다.
다행히 일반적인 SPI 버스를 둘러싼 AUX 신호 사이에 그 정도의 정확한 타이밍이 요구되는 경우는 거의 없다. 더욱 중요한 점은 이렇게 낮은 속도의 데이터 시스템은 에지가 적어도 최소한의 스큐(VIXSKEW)로 인해 분리되는 한 (다중 비동기 채널의) 에지 순서를 지키도록 주의를 기울여 설계된다. 다시 말해 입력에서 하나의 에지가 다른 에지보다 앞선다면 그 순서가 절연기로 인해 바뀌는 일은 없다.
일반적인 SPI 인터페이스의 예
그림 3은 1MHz SCLK, 4선 SPI와 인터럽트, 전원 모니터 기능(power good), 리셋을 위한 추가 신호 3개가 필요한 SPI 애플리케이션(Typ)을 나타낸 것이다. 저속 채널에는 40us의 전송 지연(propagation delay)만 필요하다. 이러한 파라미터들은 모든 부품 선택을 검토한 뒤 선택했다. 타이밍은 모든 주요 절연기 유형의 성능에서 잘 작동하기 때문에 성능에 관계없이 솔루션의 크기와 비용에 대한 집적 효과를 비교해볼 수 있다. 다음은 구현 옵션이다.
1. 모든 광커플러 사용
2. SPI와 저속 신호 채널용 광커플러에 대한 디지털 절연기 사용
3. ADI SPIsolator 같은 고집적된 절연기 사용
도식적인 측면에서 본다면, 해결책에 큰 차이가 보이지는 않는 것처럼 보인다. 그러나 그림 4를 보면 IC가 PCB에 배치된 방식을 알 수 있다. 빨간색 상자는 절연 부품에 필요한 공간을 대략적으로 나타낸 것이며, 이 공간에는 필요한 수동 부품도 배치된다.
기본적으로 혼합 속도의 광커플러 솔루션을 통해 디자인 할 때, 많은 설계자들이 표준 디지털 절연기를 아주 저렴한 광커플러와 결합하면서 이러한 방식이 저속 신호를 구현하기 위한 방법 중 가장 비용 대비 효과적이라고 생각한다. 솔루션 간의 영역에서 차이가 발생하는 대부분의 이유는 디지털 절연기가 하나의 패키지에서 여러 채널을 사용하도록 허용함으로써 상당한 패키지 오버헤드를 피할 수 있기 때문이다.
혼합 기술 솔루션은 비용 대비 효과가 뛰어날 수 있지만 설계 시간이 늘어나며 안정성 문제도 발생한다. 저렴한 광커플러는 느리며, 간소화 때문에 제대로 된 설계를 하려면 많은 생각과 연구가 필요하다. 이러한 설계가 시간과 온도에 대해 안정적이면서도 전력 소비를 최소화할 수 있도록 주의를 기울여야 한다.
면적은 디자인 솔루션이 광커플러에서 고집적 방식의 ADI ADuM3152 SPIsolator로 이동함에 따라 거의 75% 감소했다. SPIolator에서 사용할 수 있는 집적 솔루션은 설계 오버헤드와 보드 면적의 추가 없이도 채널 간 속도 차와 펄스 순서의 역전에 대한 보호 장치를 제공한다. 집적 솔루션에서 사용할 수 있는 저속 채널은 단일 트랜지스터 광커플러보다 상당히 높은 데이터 전송 속도도 지원한다.
집적 솔루션의 비용은 광 솔루션의 절반에 훨씬 못 미치며 저속 채널에 대한 채널당 비용도 개별 광커플러보다 훨씬 낮다. SPI 성능을 고려하면 ADuM3152 디지털 절연 솔루션은 전달 지연이 매우 짧아서 클록 속도가 최대 17MHz인 SPI를 지원할 수 있다. 반면 광 ‘고속’ 채널은 합리적인 가격으로 최대 3MHz의 클록 속도를 제공한다.
최대 4개의 슬레이브 제어를 위한 디멀티플렉싱 SSB
ADuM3154 제품군 중에서 250kbps의 저속 2채널 어드레스 버스는 절연 슬레이브 선택 어드레스 라인(SSx)을 제어하는 데 사용되며 해당 슬레이브 장치를 2.6us의 속도로 변화시킨다. 그림 6은 절연기(Typ)와 ADuM3154를 사용해 구현된 모습을 보여준다. 그림 5는 어드레스 비트(SSAx)로서의 SSx 의 신호 변화가 어떻게 변하는지를 보여준다.
ADuM3154는 2비트 어드레스 버스를 사용해서 마스터 슬레이브 선택(MMS)을 4개의 슬레이브 중 하나로 보낸다. 이 어드레스 버스 비트는 저속 신호로 기본 고속 SPI 채널 4개의 리프레시 상태와 함께 다시 결합된다. 리프레시 상태와 마찬가지로 어드레스 비트는 모두 샘플링되고 패킷으로 나뉘어서 절연 장벽을 통해 직렬 전송된다.
슬레이브 쪽에서 직렬 전송되었던 패킷이 다시 나뉘어지면 어드레스 비트는 MSS를 역다중화하는 데 사용된다. 어드레스 버스가 내부 샘플링 클록에 대해 토글되는 시점에 따라 디멀티플렉서는 MSS 신호를 2.6us 내에 원하는 슬레이브에 전송한다. 어드레스 비트는 버스의 일부이며 서로 동기화되어야 한다. 샘플링과 직렬 전송 시에는 이러한 어드레스 비트가 출력부화 동기화되어야 하며, 특히 선택된 슬레이브 하나에서 다른 슬레이브로 신호의 변화가 있을 때 동기화가 유지되도록 하기 위해 특별히 주의해야 한다.
다중 슬레이브 SPI 인터페이스의 예
일반적인 SPI 설계에서는 동일한 SPI 버스를 공유하는 다수의 슬레이브 장치와 통신이 이루어져야 한다. 이러한 통신은 몇 가지 방식으로 이루어질 수 있다. 모든 데이터를 두 번째 쪽 장치에서 동시에 샘플링해서 프레임마다 모든 데이터를 전송한다고 가정하면 부품을 데이지 체인 방식으로 연결해 체인의 모든 내용을 절연된 단일 포트를 통해 직렬로 이동시키는 방법이 가장 간단하다. 그러나 데이터 수집 시퀀스가 고정되지 않으면 각 SPI 슬레이브의 어드레스는 개별로 정해진다. 이 경우 절연 인터페이스에 상당한 문제점이 발생한다.
각 슬레이브마다 어드레스가 별도로 할당되면 각 슬레이브 장치에는 개별 슬레이브 선택 라인이 있어야 한다. 많은 경우 슬레이브 선택 라인은 SPI 통신을 위한 특정 대상을 선택하기도 하지만, 예를 들어 A/D 컨버터에서 통신을 시작하기도 하기 때문에 이러한 라인에는 매우 정확한 타이밍이 필요하다. 여러 구현 방식에서 이를 위해 클록 채널과 비슷한 속도의 절연 채널을 추가해서 타이밍을 유지한다. 그림 6은 4채널 절연 SPI의 설계를 보여준다. 여기에서 고속 절연된 표준 4채널은 고속 절연 채널을 3개 추가해 보강한다.
그림 6의 오른쪽은 슬레이브 선택에 대한 다른 접근방식이다. 멀티플렉서는 2차측(디코딩 후)에서 사용되며 저속 절연 선택 라인은 목적지 선택에 사용할 수 있다. 타이밍이 조금 틀어졌을 때 부정확한 중간 상태를 그냥 넘어가지 않도록 하기 위해 멀티플렉서의 제어 라인을 바꾸는 데 주의를 기울여야 한다. 이러한 방식은 SPIsolator 장치에서 사용할 수 있는 저속 채널로 구현되며 애플리케이션이 잘 정의되기 때문에 중간 상태에 대한 안전장치가 내장되어 있어서 소소한 타이밍 오류로 인한 일시적인 출력 상태의 발생을 예방할 수 있다.
최종 분석에서 볼 수 있듯이, 성능이 기술 지원을 받을 때 설계 선택에서 가장 좋은 방법은 구현과 크기, 비용의 선택을 쉽게 하는 것이다. 그림 7은 구현할 수 있는 세 가지 방법을 나타낸 것이다. 가장 왼쪽이 7개의 절연 채널을 사용한 단순 광커플러 솔루션, 그 다음이 동일한 방식의 디지털 절연기 솔루션, 가장 오른쪽은 SPIsolator의 통합 멀티플렉서 기능을 나타낸 것이다. 광커플러 솔루션이 가장 크고, 디지털 절연기 솔루션은 광커플러 PCB 면적의 72%, SPIsolator는 36%를 차지한다. 세 가지 솔루션의 비용은 비슷하지만 SPIsolator 방식이 다른 방식보다 상당히 저렴하다.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>