본문 바로가기

임베디드

Allwinner i3 CPU 소개

SoC(System on Chip) 라는 용어가 나온지는 거의 20년 정도 된듯하다. 사전적 의미는 아래와 같다.

SoC는 한 개의 칩에 완전 구동이 가능한 제품과 시스템이 들어 있는 것을 말한다.

 

그러나 현실은 좀 다르다. DRAM과 Boot flash memory 정도는 외부에붙여야 시스템으로서 동작이 가능하다.

네트웍을 구현하려면 무선랜칩이나 Ethernet MAC / PHY 칩을 붙여야 한다.

오디오 출력이 필요하면 DAC과 앰프칩을 달아주어야 한다.

이렇게 메모리, 네트웍, 오디오 칩은 외부에 달아주는 것이 일반적인 상황이다.

 

i3라는 칩은 좀 오래된 V3 CPU와 DDR3 128MB(1Gbit)을 하나의 패키지로 합쳐 만들어진 좀 더 SoC에 가까운 물건이다.

그런데 이 업계에서는 메모리까지 내장한 제품은 SIP(System in Package)라는 용어를 사용하며 칩 위에 RAM 패키지를 올리는 PoP(Package on Package)와는 분명히 다른 개념이다.

 

10월부터 i3 칩을 이용해서 비교적 간단히 임베디드 리눅스 컴퓨터를 직접 내손으로 만들기 프로젝트를 해보고 있다.

 

아래 그림은 데이터시트 Page 31을 캡쳐한 것이다. 

CPU, DRAM, Ethernet, Audio 관련 부품이 전부 들어있는 흔하지 않은 구성이다.

자작하는 입장에서도 외부 부품 구성을 매우 간단히 할 수 있어 추가 부품 구매에 대한 부담을 많이 줄였다.

뿐만 아니라 머리아픈 DRAM 연결 임피던스 매칭이 필요없으니 이 얼마나 멋지고 아름다운 칩인가!

 

 

 

원래는 Action Camera나 차량용 Black box(Dash Cam) 용도로 개발된 것을 나는 범용 임베디드 리눅스 플랫폼 용도로 사용하려 한다.

참고로 i3 모델은 국내 전용의 ODM이고 global하게는 S3라는 공식 명칭이 따로 있다. 

커널 메인라인에도 칩셋 이름은  S3로 명시되어 있다.

 

주요 입출력 장치는 아래와 같다.

SD host x 3 port: SD 4비트 부팅, SDIO wifi, eMMC 8비트 부팅이 가능한것으로 보인다. 나는 SD 부팅만 사용한다.

PWM x 2 channel : 1채널은 LCD backlight 밝기 제어 용으로 사용했다.

LRADC x 2 channel: 6bit 저질 ADC, 키패드 구현용으로 8개 정도의 버튼입력은 잘 구분할것 같다.

LCD interface: RGB-666 18bit나 LVDS가 가능하다. 최대 1024x768까지 지원가능하다는데, 나는 1024x600을 사용한다.

Camera interface: Parallel과 CSI가 있으나 메인라인 커널에서는 Parallel만 지원한다. FoxNux 보드는 Parralell만 사용함.

Audio Codec: 스테레오 입출력과 헤드폰 앰프, 마이크로폰 바이어스 기능이 있다. 나는 스테레오 헤드폰 출력만 사용한다.

USB 2.0 port: 내가 만든 보드에는 외부 hub chip을 추가하여 최대 4개의 USB 장치 연결이 가능하도록 하였다

Ethenet: 10/100M로 PHY까지 내장되어 있다. 외부에 트랜스포머와 커넥터만 있으면 LAN포트 구현이 된다.

UART: 3개의 UART가 있으며, 1개는 시스템 콘솔로 사용한다. RTS/CTS handshake도 가능하다.

SPI: 1 Port가 있으며 20Mbps까지 가능한것 같다.

TWI(I2C) x 2: I2C 포트는 2개가 있는데, 하나는 정전식 터치스크린 다른 하나는 카메라에 연결하였다.

RTC 기능도 있지만 가장 중요한 정확도와 소비전류가 쓰레기급이라 절대 쓰지 말기를... 

 

하드웨어 동영상 가속기가 있는데 Bootlin에서 작업한 MPEG2/H.264 메인라인 커널의 cedrus 드라이버가 i3/s3칩과 호환 가능한지는 모르겠다. PCB 제작과 조립이 끝나면 어떻게 테스트하는지 부터 공부를 해보아야 겠다.

 

칩 사진을 직접 찍어 보았다. 

i3 SoC 앞면으로 실제로 보면 상당히 작은 크기이다. 외곽 기준으로 11x11mm이다.

그런데 ' i ' 글꼴이 정말 어색해 보인다. 

 

 

i3 SoC 뒷면은 0.65mm 피치의 Ball-Grid-Array (BGA)가 보인다.

16x16 구성의 256핀이지만, 사용하지 않는핀 22개는 Ball이 없고 실제 234핀만 존재한다.

덕분에 아트웍할때 패턴 연결(BGA escape routing)이 좀 수월하다. 

 

 

BGA ball의 직경은 0.35mm이며, PCB의 footprint는 0.3mm으로 설계하였다.

 

SoC의 기능을 좀 더 자세히 알고 싶은 분들은 아래에 첨부한 i3 데이터시트를 참고하길..

 

Allwinner_i3_Datasheet_V1.0.pdf
7.17MB