66AK2G02 SoC를 이용한 개인 맞춤화
  • 2017-02-08
  • 김영학 기자, yhk@elec4.co.kr

 

데이터를 모으지 않고 결과를 생산하기 위해 오프라인에서 작동하는 DSP는 결단력 있고 즉각적인 데이터 처리로 인간이 기다리는 시간을 줄여준다.

글 | 재키 브레너(Jackie Brenner), 수석 기술 스태프, 카탈로그 프로세서 시스템 애플리케이션 팀, 텍사스 인스트루먼트

 

우리는 금융, 의료, 엔터테인먼트 등의 분야에서 데이터가 지배하는 세상에 살고 있다. 더 나아가 오디오, 비디오, 활자로 쓰여진 말과 같은 데이터는 구체적으로 우리와 우리의 관심사에 맞춰져 있다. 그렇다면 어떤 종류의 프로세서가 항상 ‘커넥티드’ 상태의 개인 맞춤형 경험을 강화하는 것일까?

디지털 시그널 프로세서(DSP)는 사용자가 상호 작용하는 실제 신호를 다룬다. 사용자는 자기 소리를 내고, 다른 사람의 소리를 들으며, 음악을 듣고 주변 세상을 본다. 이러한 아날로그 신호는 수치화된 값으로 디지털화되어 표시되고, 이 값은 우리 목소리의 높이나 주파수, 진폭 또는 얼마나 크게 말하고 있는지를 나타낼 수 있다.

DSP는 실시간으로 작동하며, 다음 데이터 포인트가 도착하기 전에 데이터를 받아 이를 처리한다. 다른 프로세서와 달리, DSP는 데이터를 모으지 않고 결과를 생산하기 위해 오프라인에서 작동한다. 우리가 살고 있는 세상에서는 기다릴 시간과 낭비할 시간이 없다. DSP는 결단력이 있고 데이터 처리는 즉각적인 대응으로 이어진다.

TI가 지구물리학 회사였을 때 석유 매장층을 찾기 위해 처음 신호 처리를 사용했다. 스피크앤스펠(Speak and Spell) 교육용 완구는 음성 합성 기술을 이용해 부모와 교사에게 아동을 가르치는데 필요한 새로운 도구를 제공했다. 30년 넘게 TI는 일상 생활에 영향을 미치는 DSP 애플리케이션을 개발한 고객과 협력해 간단한 작업을 해결하거나 매우 복잡한 문제의 해결책을 제시했다.

실생활 데이터를 조작한다는 것은 우리가 필요로 하는 정보를 얻기 위해 많은 곱셈과 덧셈, 뺄셈을 해야 한다는 것을 의미한다. TMS320™ 제품군의 DSP는 사실 하나의 클록 사이클 안에서 많은 연산을 빠르게 할 수 있는 하드웨어 계산기다. 다른 프로세서도 복수의 덧셈으로 곱셈을 하지만 한 클록 사이클 내에서 이루어지지 않는다. 최대 1.2 GHz의 클록 속도로 실행 가능한 TMS320C66x(C66x) DSP 코어를 이용한 디바이스에서 DSP는 부동소수점뿐만 아니라 고정소수점으로도 데이터를 표시할 수 있다. 부동소수점은 넓은 동적 범위에서 신호를 표시하고, 정밀성이 고정소수점보다 더 뛰어나다.

C66x DSP는 복수의 데이터 버스 및 데이터가 처리 엔진을 들고나도록 하는 풍부한 온칩 메모리를 갖고 있다. 심지어 C66x DSP는 싱글 코어 구성에서도 최고의 멀티태스커다. 타고난 병행처리 능력으로 동시에 더 많은 연산과 데이터를 비교한다. 또한 파이프라이닝을 이용해 문제를 더 작은 단위의 작업으로 나누어 완료 속도를 앞당긴다. 이렇게 프로그래밍 가능한 프로세서는 우수한 ‘C’ 엔진이다. C6000™ 컴파일러는 컴파일 시간에 하드웨어 자원을 할당하는데 고성능 달성에 있어 어셈블리 언어는 필요하지 않다.

그렇다면 어떻게 C66x DSP 토대를 구축해야 할까? TI는 강력한 ARM? 프로세서와 기가비트 이더넷과 PCIe(Peripheral Component Interconnect Express)와 같은 몇몇의 고속 커넥티비티 옵션을 더해 시스템온칩(SoC)을 만들었다. Cortex?-A15와 같은 ARM의 추가는 고객이 ARM에서 Linux?와 같은 HLOS(High Level OS)를 실행하고 DSP로 하여금 실시간 데이터를 계속해서 처리하게 한다. 또한 ARM은 이더넷이나 USB(Universal Serial Bus), CAN(Controller Automated Network)과 같이 네트워크 인터페이스를 통과하는 크리티컬 데이터 트래픽 관리 시간을 줄일 수 있다. 〈그림 1〉은 TI의 66AK2G02 SoC다.

 

고도의 접속 프로세싱 SoC가 있지만 그렇다면 어떻게 개인 맞춤화와 관련 있도록 해야 할까?

카 오디오와 홈 오디오 

DSP 기술 기반의 오디오 디바이스는 사용자가 자신의 재생목록을 만들어 언제든 갖고 다니도록 만든 최초의 맞춤형 디바이스다. 하지만 내가 차에 있든, 집에 있든지 간에 오디오 경험을 향상시키고 주변을 사운드로 채우고 싶다면 어떻게 해야 할까?

오토모티브 증폭기는 자동차 내 오디오 환경을 제공한다. 이것은 자동차 문과 대시보드에 있는 스피커 너머에 증폭기가 하는 일인데, 자동차는 콘서트 홀에서의 경험을 만들기 어려운 환경이다. 주변이 시끄럽고, 자동차가 가벼울수록 연비는 좋아지지만 잡음 문제만은 증가하기 때문이다.

그렇다면 6AK2G02 SoC는 이 문제를 어떻게 해결할까? 600 MHz C66x DSP는 오디오 처리(이퀄라이제이션, 믹싱, 압축, 딜레이 보정)와 잡음 제거를 담당한다. ARM Cortex-A15는 네트워크 인터페이스의 시스템을 제어한다. 자동차에서 사용 가능한 네트워크 통신 인터페이스로는 CAN, 구체적인 자동차 모델에 따라 MLB(Media Local Bus) 또는 이더넷이 포함된다.

 

위의 〈그림 2〉에서도 알 수 있듯이, 66AK 2G02 SoC는 고성능 DSP와 ARM, 2.5 MB 이상의 풍부한 온칩 메모리 용량을 통합한 SoC를 통해 현재의 비용과 풋프린트가 절감되기를 원하는 오토모티브 증폭기 제조사에게 훌륭한 솔루션이 된다. 2.5 MB 온칩 메모리에서 부팅되는 QSPI 메모리를 이용하면 외부 DDR(Double Data Rate) 메모리를 제거할 수 있어 저전력 소비뿐만 아니라 전체 시스템의 비용 및 크기도 절감할 수 있다. 또한 66AK2G02 SoC는 하나의 확장형 플랫폼 디자인에서 복수의 오토모티브 버스 통신 프로토콜(이더넷과 MLB)도 허용한다.

카 오디오의 이더넷 요건에는 시간 싱크, AVB(Audio Video Bridge) 트랜스포트, QoS(quality of Service), 스트리밍 미디어 요약이 있으며, 이는 IEEE 표준에 의해 규정된다. IEEE 표준이 정의하고 있는 요건은 이번 백서의 범위를 벗어나 있다.

즉, 66AK2G02 SoC는 자동차가 현재 경험하고 있는 상황을 바탕으로 최적의 오디오 환경을 만든다. 오토모티브 애플리케이션에서 66AK2G02 SoC는 결함 감소 및 낮은 FIT(Failure in Time) 요건을 충족해야 하며, 이를 필요로 한다. 고급 차량에서 승객의 오디오 경험에 대해 더 많은 오디오 및 맞춤형 채널을 제공하기 위함이다.

가정에서 새로운 오디오 애플리케이션은 기존의 솔루션보다 향상된 DSP 성능을 필요로 한다. 마찬가지로 인터넷 오디오 스트리밍과 로컬 미디어 스트리밍(Wi-Fi?, 하드 디스크 드라이브, MP3 파일)은 ARM 성능의 증가를 필요로 한다. 66AK2G02 SoC는 세 개의 멀티채널 오디오 직렬 포트를 갖고 있고, McASP의 기능은 멀티채널 오디오 애플리케이션에 최적화된 다목적 오디오 직렬 포트다.

McASP는 TDM(Time-Division Multiplexed) 스트림, I2S(Inter-Integrated Sound) 프로토콜, 인터컴포넌트 DIT(Digital Audio Interface Transmission)와 같은 여러 다양한 데이터 형식을 지원할 수 있고, 그 밖의 플렉시블 클록, 프레임 싱크 생성, 최대 16 송신 및 수신 데이터 핀, 시리얼라이저 등의 주요 특징이 있다. 세 개의 특징 모두 두 개의 클록 존에서 동시에 사용된다.

작업 현장에서의 신뢰성과 보안성 

오디오는 66AK2G02 SoC의 특징을 활용할 수 있는 유일한 애플리케이션이 아니다. 또한 산업 시장도 고성능 프로세싱과 대용량 온칩 메모리, 오류 보정 및 감지 기능을 활용해 역량을 강화시킨다.

PLC(Programmable Logic Controller)는 자동화 시스템에서 주된 제어 기능을 제공한다. 이것은 여러 가지 로컬 노드와 원격 I/O 노드, 센서와 액추에이터, 드라이브 등을 제어한다. PLC는 I/O 통신을 관리할 뿐만아니라 현장의 커넥티드 원격 노드에 대한 의사결정도 조율하고, 공장, 건물, 이동 및 교통, 프로세스, 에너지 자동화 등에서 사용된다.

PLC에서 CPU의 주된 용도는 I/O 디바이스 노드 또는 이웃하고 있는 PLC에서 송수신된 메시지나 데이터 패킷의 처리다. 중요한 점은 인터페이스에서 데이터 전송과 그 데이터의 처리 모두 변동성을 낮추는데 결정적이라는 것이다.

 

66AK2G02 SoC에서 Cortex-A15는 최대한 딜레이(레이턴시)를 낮추기 위해 〈그림 3〉처럼 내부 메모리를 이용해 프로세싱한다. 게다가 신뢰성을 높이기 위해 시스템의 모든 메모리는 오류 보정 및 감지를 필요로 한다. 특히 Cortex-A15에서의 프로그램 및 데이터 액세스에는 SECDED(Single-bit Error Correct and Dual-bit Error Detect)가 지원된다. ECC와 FIT율 감소의 중요성에 대한 자세한 내용은 ‘66AK2Gx DSP + ARM? 프로세서를 이용해 높은 신뢰도의 임베디드 시스템 설계하기’ 백서를 참고하면 된다.

 

Cortex-A15와 더불어 두 개의 듀얼 중복 고속 산업용 이더넷 링도 지원되어야 한다. 이것은 66AK2G02 SoC에 있는 두 개의 ICSS(Industrial Control Sub-Systems)로 달성하며, 각각의 ICSS는 PROFINET?, EtherCAT?, EtherNet/IP™과 같은 산업용 이더넷 프로토콜을 지원할 수 있다. 통신은 추가적인 기기비트 이더넷 연결을 통해 증강시킬 수 있다.

PLC의 CPU에서 점점 더 중요한 요건은 보안 부트와 프로세싱이다. PLC 제조사는 네트워크 트래픽의 프라이버시에도 주목하기 시작했지만, 현재 더 높은 우선순위는 통신의 진정성이다. 제조사는 수신 메시지가 자동화 네트워크의 실제 엔드 포인트로부터 받은 것인지 확인하기를 원한다.

66AK2G02 SoC는 OTP(One Time Programmable) 메모리에 저장된 고객 프로그래머블 키로 표준 보안 부트를 지원할 수 있고, 여러 SHA(Security Hash Algorithms), 3DES(Triple Data Encryption Algorithm), AES(Advanced Encryption Standard)와 같은 암호화 표준을 지원하는 보안 가속기도 66AK2G02 SoC에 포함돼 있다.



프로그래머블, 확장성, 가격적정성

SoC의 힘은 애플리케이션 요건에 맞춰 필요한 자원을 활용하는 설계자의 역량이다. 프로세서 SDK(Software Development Kit)는 임베디드 애플리케이션의 출발점이 되도록 설계됐다.

개발자가 오토모티브 오디오 애플리케이션이나 산업용 PLC를 위한 애플리케이션 소프트웨어를 구현할 때, 재활용 및 엔지니어링 효율성을 극대화하기 위해 한 제품에서 다른 제품으로 이식 가능한 애플리케이션을 필요로 하는 경우가 종종 있다. 설계자는 자신이 가장 잘 하는 것에 집중해야 하고, 적합한 SoC를 추출하는 소프트웨어 개발 환경이 필요하다. 낮은 레벨의 소프트웨어는 추출을 효과적으로 할 수 있고, 이는 프로세서 SDK에 포함되어 있다.

프로세서 SDK 2.02는 Linux?와 TI-Real Time 운영체제(RTOS) 모두를 지원한다. 66AK2G02 SoC에서 리눅스나 TI-RTOS가 Cortex-A15에서 실행될 수 있다. C66x DSP는 그것에 최적화된 TI-RTOS를 실행하거나 어떤 OS도 실행할 수 없다.

리눅스 SDK는 LTS(Long-Term Stable) 메인라인 리눅스 커널을 지원한다. 프로세서 SDK 2.02에서 버전 4.1가 지원되고, U-Boot 부트로더 지원도 있다. 66AK2G02 SoC는 다양한 소스에서 부트 로딩될 수 있다. 또한 SDK는 Linaro GNU 컴파일러 컬렉션(GCC) 툴 체인과 Yocto Project™ OE 코어 호환 파일 시스템을 포함한다.

RTOS SDK는 TI-RTOS 커널을 제공하는데, TI 디바이스를 위한 경량의 실시간 임베디드 운영체제다. 칩 지원 라이브러리, 드라이버, 기본 보드 지원 유틸리티, 진단과 C66x DSP와 Cortex-A15 간의 IPC(Inter-Processor Communication)도 지원한다. 그 밖의 구성요소에는 최적화된 C66x DSP 알고리즘 라이브러리, 기본 네트워킹 스택 및 프로토콜, 2차 부트로더, 부트 유틸리트 등이 있다. RTOS SDK를 이용한 코드 개발에 사용된 Linaro GCC 툴 체인, C6000 DSP 코드 생성 툴, ICSS를 위한 PRU 컴파일러도 Code Composer Studio™ v6.x IDE 환경에 포함되어 있다.

모든 기본 프로세서 SDK 소프트웨어는 개발자에게 무료로 제공되고, 오픈 소스이기 때문에 로열티는 없다. 이 프로세서 SDK 내에서 모든 것이 지원되는 TI 임베디드 프로세서가 무수히 많다. 이것은 디바이스 전체에 걸쳐 외관과 느낌이 공통적일 뿐만 아니라 한 디바이스에서 다른 디바이스로 이식하기 쉽다는 것이다.

지금 바로 시작하기 

66AK2G02 SoC의 출시와 함께 실시간 C66x DSP와 강력한 Cortex-A15, 수 많은 커넥티비티 옵션이 자동차와 홈 오디오 및 산업용 PLC 애플리케이션에 얼마나 이상적인지를 살펴보았다. 66AK2G02 SoC가 모든 내외부 메모리에서의 ECC 기능으로 신뢰성이 높다는 것과 이 프로세서 SDK와 소프트웨어 개발에서의 사용방법도 알아보았다.

자신의 임베디드 애플리케이션에서 66AK2G02 SoC를 어떻게 사용하는 것인지 알고 싶다면, 지금 바로 데이터시트와 기술 레퍼런스 매뉴얼을 다운로드 하자. 또한 평가보드(EVM), EVMK2G를 구매해 66AK2G02 SoC 및 프로세서 SDK에서 실제 하드웨어로 소프트웨어를 평가할 수 있다.

개인 맞춤화는 앞으로도 계속 나아갈 것이다. 목표한 데이터를 적시에 제공한다면 가정, 직장, 자동차, 콘서트 홀에서 더욱 간편한 삶을 누릴 수 있으며, 66AK2G02 SoC는 이런 미래를 만들어 나갈 것이다.

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)
 PDF 원문보기

#자동차   #SoC   #DSP   #오디오  

  •  홈페이지 보기
  •  트위터 보기
  •  페이스북 보기
  •  유투브 보기
  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP