THine Value GPIO와 I2C를 묶어서 보내는 시리얼 트랜시버, Merit가 큰 2가지 변경점 설명

2023.08.22
  • NEW
  • 기사
  • 칼럼
자인 일렉트로닉스는 2023년 7월 시리얼 트랜시버 IC(SerDes 트랜시버 IC) 신제품 'THCS253/THCS254' 를 출시했다.
제품 닉네임은 'IOHA:B'(아이오허브로 발음)이다. 본고는 이 신제품을 총 2회에 걸쳐 설명하는 기사의 후편이다. 
전편에서는 신제품의 특징과 함께 기존 제품 'THCS251/THCS252'의 변경점인 'GPIO(범용 입출력) 외 I2C를 지원한 것'을 소개하고 사용자가 얻을 수 있는 메리트를 설명했다. 후편에서는 그 변경 사항을 좀 더 자세히 살펴보고, 또 다른 변경점인 '동기/비동기 모드 도입'에 대해 소개 하고자 한다.

I/O를 자유롭게 커스터마이징

이번 신제품 THCS253/THCS254의 기본 기능은 수많은 신호 라인으로 전송했던 병렬 전송을 2페어 차동 라인에 의한 직렬전송으로 대체하는 것이다. 예를 들어, 34개에 달하는 신호라인이 신제품을 사용하면 4개로 줄일 수 있다. 절감률은 88%로 높다. 게다가 배선 케이블의 무게도 줄일 수 있을 뿐 아니라 전송 거리도 늘릴 수 있다. 전편에서도 언급했듯이 사용자가 얻을 수 있는 메리트는 크다.
그러나 이 기본 기능 자체는 기존 제품인 THCS251/THCS252와 완전히 동일하며, 새로울 것까지는 없다. 신제품은 이 기본 기능을 기존 제품에서 계승하면서 두 가지 큰 변화를 주었다. 첫 부분에 소개한 GPIO에 I2C를 지원한 것과 동기/비동기 모드의 도입 이다.
먼저 첫 번째 변경 사항인 GPIO와 더불어 I2C를 지원하게 된 것에 대해 자세히 설명 하겠다. 이 변화의 내용은 이미 전편에서 간단히 소개한 바 있다. 즉, 여러 개의 GPIO 외에 1계통 또는 2계통의 I2C도 묶어서 시리얼로 전송할 수 있다는 점이다. 이는 사용자에게 매우 큰 메리트를 가져다 준다. 왜냐하면 I2C를 사용하여 내부 레지스터를 재작성함으로써 높은 자유도로 I/O(입출력 인터페이스) 부분을 커스터마이징 할수 있기 때문이다.
구체적으로 설명해 보자. 신제품 THCS253/THCS254를 전자기기에 적용할 경우, 동일한 칩(IC) 2개를 준비하여 한쪽은 1차 칩으로, 다른 한쪽은 2차 칩으로 PSSEL 단자를 사용하여 지정한다. 처리할 수 있는 GPIO 개수는 THCS253이 최대 32개, THCS254가 최대 20개이다. 예를 들어, THCS253의 경우, Default로 GPI(범용 입력) 16개와 GPO(범용 출력) 16개의 단자 구성으로 설정되어 있다(그림 1).
그림1 - Default일때의 I/O 설정(THCS253)

이 GPI와 GPO의 개수는 사용자가 자유롭게 설정할 수 있는데, I2C를 통해 내부 레지스터를 재작성하여 각 단자마다 GPI 또는 GPO로 지정할 수 있기 때문이다. 그림 2는 그 구체적인 예이다(각 단자를 GPIO와 I2 S, SPI, UART의 입/출력으로 지정한 예).
그림2 내부 레지스터 재작성을 통한 I/O 커스터마이징

기존 제품인 THCS251/THCS252도 GPI와 GPO의 개수를 사용자가 지정할 수 있었지만, 그 개수 비율을 4단계로 선택할 수 있을 뿐이었다. 즉, I/O부를 커스터 마이징할 수 있는 자유도가 이번 신제품에 비해 낮았다.
이 I/O부의 커스터마이징이 큰 효과를 발휘하는 경우는, 설계대상 전자기기에 새로운 기능을 추가하는 등의 급격한 설계변경이 발생하는 경우와 향후 모델 변경이나 기능 추가에 대비하여 설계의 공용화를 도모하는 경우 등이다. 일반적으로 설계 변경이나 모델 변경, 기능 추가 등을 실행하면 새로운 기능을 구현하는 회로가 늘어나 I/O 단자의 위치관계가 바뀌는 등의 문제가 발생할 수 있다. 기존 제품에서는 I/O부의 커스터마이징 자유도가 높지 않으며, 경우에 따라서는 신호 전송로 등 하드웨어의 재설계가 필요한 경우도 있었다. 그러나 이번 신제품을 채택하면 매우 높은 자유도로 I/O를 커스터마이징할 수 있고, 설계 변경이나 기능 추가 등에 매우 유연하게 대응할 수 있다. 따라서 하드웨어의 재설계를 피할 확률이 높다. 설계 기간이 길어지거나 설계 비용이 늘어나는 상황을 피할 수 있는 셈이다.

출력 형식과 필터의 커스터마이즈 가능

또한, I2C를 활용하여 내부 레지스터를 재작성하면 출력 형식과 디지털 노이즈 필터에 대해서도 사용자가 설정할 수 있다. 출력 형식은 푸시-풀(Push-pull)과 오픈 드레인 (Open Drain)의 두 가지를 선택할 수 있다. 디지털 노이즈 필터는 단자별로 유무를 설정할 수 있으며, 필터의 단수(차수)도 사용자가 선택할 수 있다. 단, 단자별로 단수(차수)를 설정할 수는 없다. 예를 들어 3단(3차)으로 설정하면 각 단자에 적용되는 필터의 단수(차수)는 모두 3단(3차)이 된다.
신제품은 기본적으로 1계통의 I2C를 탑재하고 있지만, 내부 레지스터를 재작성하여 GPIO의 2개를 I2C에 할당하여 2계통으로 늘릴 수 있는 구조를 마련했다. 설계 대상 전자기기에 따라서는 SoC가 제공하는 I2C 계통 외에 외부에서 구입하여 내장하는 터치패널이나 NFC(Near Field Communication) 등의 모듈/유닛에도 별도의 I2C 계통이 탑재되어 있는 경우가 있다. 이런 경우에 I2C를 2개로 늘릴 수 있는 구조는 편리하다. 참고로 I2C를 2계통(신호 개수는 4개)으로 하면 THCS253의 GPIO는 30개, THCS254는 18개가 된다.

동기 모드와 비동기 모드 모두 사용 가능!

다음으로 또 하나의 큰 변화인 동기/비동기 모드의 도입에 대해 설명하겠다. 기존 제품인 THCS251/THCS252는 동기 모드만 사용할 수 있었지만, 이번 신제품에서는 동기 모드와 비동기 모드를 모두 사용할 수 있게 되었다. 사용하는 모드는 2차칩 단자 설정에서 사용자가 선택할 수 있다.
동기화 모드는 1차 칩에서 2차 칩으로의 다운링크(다운링크)와 2차 칩에서 1차 칩으로의 업링크가 동일한 기준 클록 신호로 동작하는 경우이다. 즉, 다운링크와 업링크의 기준 클록 신호의 주파수와 위상이 정확히 동일한 경우이다. 실제로는 1차 칩에서 보낸 시리얼 신호(클록 신호가 내장된 8B10B 변조 신호)를 받아 2차 칩의 클록 데이터 복구(CDR: Clock Data Recovery) 회로에서 추출한 클록 신호로 업링크를 구동한다. 케이스가 동기화 모드로 전환된다(그림 3, 그림 4).


                                                     그림3 동기화 모드의 예(외부 입력의 경우)

                                                         그림4 동기화 모드의 예(내부 OSC의 경우)

한편, 비동기 모드는 다운링크와 업링크가 각각 다른 기준 클록 신호로 동작하는 경우이다(그림 5, 그림 6). 설령 양측의 기준 클록 신호의 주파수가 같더라도 위상이 다르면 비동기 모드가 된다.
그림5 비동기 모드의 예(외부 입력의 경우)

                                                             그림6 비동기 모드의 예 (내부 OSC의 경우)

동기화 모드의 장점은 2차칩에 공급할 기준 클록 신호소스가 필요 없다는 것이다. 하지만 단점도 있다. 1차 칩에서만 병렬 신호의 동기화를 실현할 수 있다는 점이다. 2차 칩의 경우, 사용하는 기준 클록 신호는 CDR 회로에서 추출한 것으로, 입력되는 병렬 신호와 무관하기 때문에 비동기식 입력이 된다. 동기식 입력이 가능한 다운링크는 고속의 이미지/영상 신호를 전송할 수 있지만, 비동기식 입력의 업링크는 고속의 이미지/영상 신호를 보낼 수 없고 저속 제어 신호 전송에만 사용할 수 있다.
이러한 단점을 해소하기 위해 도입된 것이 비동기 모드이다. 1차 칩과 2차 칩 모두에서 별도의 기준 클록 신호를 공급할 수 있도록 함으로써, 양쪽에서 모두 병렬 신호의 동기화가 가능해진다. 즉, 다운링크와 업링크 모두 고속의 이미지/영상 신호를 보낼 수 있게 된 것이다.
하지만 여기서 한 가지 주의해야 할 점이 있다. 바로 1차 칩과 2차 칩에 기준 클록 신호를 공급하는 방법이다. 공급 방법은 두 가지가 있는데, 하나는 외부의 클록 신호 회로에서 공급하는 방법이다. 다른 하나는 각 칩에 내장된 클록 발진 회로(내부 OSC)에서 공급하는 방식이다. 전자는 병렬 신호의 기준 클록 신호와 공유함으로써 동기화가 가능하다. 그러나 후자는 내부 OSC의 클록 신호를 외부로 출력할 수 없기 때문에 병렬 신호의 기준 클록 신호와 공유할 수 없어 비동기식 입력이 된다. 따라서 사용자는 다운링크와 업링크에서 전송하고자 하는 신호의 특성에 맞춰 기준 클록 신호의 공급 방법을 선택할 필요가 있다.

스탠바이 기능의 사용성 향상

마지막으로, 신제품에서 새롭게 지원하는 I2C를 통해 구현한 편리한 새로운 기능 3가지를 소개하고자 한다.
첫 번째는 'PWM 신호 생성 기능'이다(그림 7). 기존 제품에서는 1차측 칩의 GPIO로 비동기 입력이 가능한 주파수의 PWM 신호를 입력하고, 시리얼 신호로 묶어 2차측 칩으로 보내는 것이 가능했다. 하지만 신제품은 I2C를 통해 내부 레지스터를 설정하여 PWM 신호를 생성하는 기능을 탑재했다. 1차 칩에서도, 2차 칩에서도 생성할 수 있다. 액정 패널의 백라이트 밝기 조절, LED 조광, 모터 구동 등에 사용할 수 있다.
그림 7  PWM 신호 생성 기능

두 번째는 'I/O 확장 기능'이다(그림 8). 이 기능은 I2C와 GPIO 사이에서 데이터를 변환하여 1차 또는 2차 칩으로 전송하는 것으로, I2C의 시리얼 데이터를 GPO의 병렬 데이터로 변환하여 전송하거나, GPI에 입력된 병렬 데이터를 모니터링하고 그 결과를 내부 레지스터에 저장하여 I2C에서 시리얼 데이터로 출력할 수 있다. 저장하여 I2C에서 시리얼 데이터로 출력할 수 있다. 마치 I2C 단자를 확장한 것처럼 보이기 때문에 I/O 확장 기능이라고 부른다.


                                                                         그림 8  I/O 확장 기능

세 번째는 '스탠바이 기능'이다(그림 9). 이번 신제품은 I2C를 통해 내부 레지스터를 재작성하여 스탠바이 상태로 전환 또는 이탈할 수 있도록 했다. 1차 칩 측에서 1차 칩의 스탠바이 상태 전환/이탈은 물론 2차 칩의 전환/이탈도 설정할 수 있다.
그림 9  스탠바이 기능

스탠바이 상태에서의 소비전류는 6mA로 적다. 정상 동작 시 50m~100mA이다. 스탠바이 상태에서도 I2C와 최대 8비트 GPIO를 1차 칩과 2차 칩 간에 주고받을 수 있다. 또한, 스탠바이 상태에서도 광전변환 장치를 통한 광전송이나 근거리 무선통신 장치를 통한 무선전송을 지속할 수 있다. 따라서 링크를 끊지 않고 정상 동작 상태에서 스탠바이 상태로 전환할 수 있다.

이상