지난 글에 이어 이번 글에서는 FUSB302B를 활용한 애플리케이션 설계법과 이를 통한 디자인에서의 효율성에 대해 알아본다.

FUSB302B는 AEC-Q100 인증을 갖춘 프로그램 가능한 USB Type-C 컨트롤러로 Type-C PD 2.0 버전 1.1을 지원하는 설정 채널용 BMC 클라이언트를 통합하는 전력 공급 기능을 제공한다.

이는 CC를 사용해 장치가 부착되거나 분리되는 시점을 감지하고 활성 케이블의 존재를 감지하며 오디오 어댑터나 디버그 액세서리 모드 등 필요한 모드를 선택할 수 있다.

그림 1. 일반적인 애플리케이션의 블록 다이어그램

그림 1은 컨트롤러와 호스트 프로세서 간의 I2C 인터페이스를 보여준다. FUSB302B가 자체 프로세서를 포함하지 않음을 확인할 수 있는데, 이는 자체 프로세서의 추가 성능은 피하면서 시스템의 다른 곳에 있는 프로세서에 펌웨어를 배치하므로 제조사가 USB 사양을 수정할 때 간단한 업그레이드 경로를 제공하는 중요한 장치 기능으로 볼 수 있다.

그림 2는 애플리케이션 예시를 자세히 보여준다. FUSB302B의 기본 소스 옵션인 FUSB302T는 자동차 애플리케이션에서 USB Type-C를 구현할 때 전체 시스템의 일부를 형성하는데 사용할 수 있다.

그림 2. 100W 기능을 갖춘 듀얼 USB를 보여주는 애플리케이션 예시

FUSB302B는 여러 비교 회로와 호스트 프로세서 상의 소프트웨어로 제어되며 프로그래밍 가능한 DAC를 통해 관리되는 호스트나 장치 또는 두 가지 모두 가능한 포트로 연결되는지 여부를 감지할 수 있는 CC 스위치 기능도 구현한다. 그림 3은 설정 채널 스위치 기능을 보여준다.

그림 3. 설정 채널 스위치 기능

호스트 프로세서는 BMC 물리적 인터페이스(PHY)와 패킷 FIFO를 포함하는 씬 BMC 클라이언트를 구현해 I2C 인터페이스를 사용하여 패킷을 송수신할 수 있다.

USB BMC PD의 모든 기능은 토큰을 사용해 FUSB302B의 FIFO를 읽고 쓰는 방식으로 소프트웨어를 통해 액세스 할 수 있다. 토큰은 유연하며 FIFO에 대한 버스트 쓰기 성능으로 빠른 패킷 처리를 하는 작업을 포함한 모든 USB PD 사양을 지원한다.

CC를 통해 수신된 각 유효 패킷은 FIFO에 저장된다. BMC 수신기는 CC에서 활동을 감지하며 내부 오실레이터(oscillator)를 활성화하고 한번 감지된 전용 인터럽트는 호스트 프로세서에 유효 패킷이 수신됐다는 것을 경고하는데 사용된다. 그림 4는 USB BMC PD 블록의 블록 선도를 보여준다.

그림 4. USB BMC PD 공급 블록

USB 컨트롤러를 호스트 프로세서에서 실행되는 펌웨어를 통해 소프트웨어를 정의하는 것은 자동차 제조사들에 표준에 부합하는 Type-C에서 USB PD를 구현할 수 있는 장기적 솔루션을 제공하며, 호스트 프로세서에 대한 간단한 펌웨어 업데이트를 통해 사양을 향후에 수정할 수 있는 유연성을 확보한다.

FUSB302B 설계는 저전력과 고성능을 통합하는데 최적화돼 소프트웨어 구성을 통해 가능하다. 소프트웨어로 구성 가능한 포맷을 선택하여 리소스를 소비하는 다른 임베디드 프로세서의 부담을 없애고, 기능을 호스트 프로세서에서 정의해 유연성이 향상된다.

이를 통해 자동차 제조사는 USB 컨트롤러를 변경하지 않고도 Type A/B와 Type C로 USB PD를 구현할 수 있는 마이그레이션 경로를 확보할 수 있다.

글 : 피트 채드번(Pete Chadbourne) / 제품 라인 시니어매니저 / 온세미컨덕터

저작권자 © IT비즈뉴스(ITBizNews) 무단전재 및 재배포 금지