주요 특징
- 엔코더들
- MP3
- Ogg Vorbis
- PCM
- IMA ADPCM
- G.711 (u-law, A-law)
- G.722 ADPCM
- 디코더들
- MP3 (MPEG 1 & 2 audio layer III (CBR + VBR + ABR))
- CBR - 고정 비트레이트
- VBR - 가변 비트레이트
- ABR - 평균 비트레이트
- MP2 (layer II) (옵션)
- MPEG4 / 2 AAC-LC(+PNS)
- HE-AAC v2 (Level 3) (SBR + PS)
- Ogg Vorbis
- FLAC
- WMA 4.0/4.1/7/8/9 all profiles (5~384 kbps)
- WAV (PCM, IMA ADPCM, G.711 u-law/A-law, G.722 ADPCM)
- 추가적인 AEC(PCM, G.711 (u-law, A-law), G.722 ADPCM, IMA ADPCM)를 포함한 전이중 코덱
- 스트리밍 지원
- 사용자 코드와 데이터 용 최대 96 KiB RAM
- 사용자 코드 보호용 유일 ID
- 단조로운 Power-On 과 Power-Off
- 외부 DAC 용 I2S 출력 인터페이스
- 직렬 제어 및 데이터 인터페이스
- 단일 처리기나 동시 처리기의 slave로 사용될 수 있음
- 디버깅 지원용 UART
- 소프트웨어와 최대 12개의 GPIO 핀으로 새로운 기능이 추가될 수 있음
설명
VS1063a는 사용하기 쉽고, 다목적의 엔코더와 디코더 그리고 다수의 오디오 포맷을 지원하는 코덱이다.
VS1063a는 다음을 포함한다.
- 고성능
- 저전력 DSP 코어 VS_DSP
- 롬 메모리들
- 내장된 디코더와 동시에 실행되는 사용자 응용프로그램을 위한 16KiB 명령램과 최대 80 KiB의 데이터 램
- 직렬 제어와 입력 데이터 인터페이스
- 최대 12개의 다목적 I/O 핀들
- 하나의 UART
- 고 퀄리티 스테레오 ADC
- 가변 샘플레이트 스테레오 DAC
- 이어폰 증폭기와 공통 전압 버퍼
응용프로그램들
- MP3-녹음 오디오 재생기
- 스트리밍 서버와 클라이언트
- 무선 오디오 전송기
- 단일 재생기와 녹음기
- 인터넷 전화기
추가적 특징
- 이어스피커 특별 처리
- Bass와 Treble 제어
- 대안적인 하나의 5-채널 이퀄라이저
- 스트림을 듣는 동안 A/D 변환기 입력 모니터링이 허용된 AD 믹서
- 주 스트림을 듣는동안 사이드-스트림 입력이 허용된 PCM 믹서
- 조정 가능한 속도 쉬프터
- 단일 12....13MHz 또는 24...26MHz 클럭으로 동작
- 내부 PLL 클럭 멀리플라이어
- 저전력 동작
- 채널간 단계 에러가 없는 고퀄리티 내장된 스테레오 DAC
- 부드러운 음량 조절을 위한 제로-크로스 검출
- 30옴 로드 운영의 유능한 스테레오 이어폰 드라이버
- 아날로그, 디지털, I/O 전원 분리
- Lead-free RoHS-준수하는 패키지
운영 모드
VS1063a는 동시처리기의 slave나 단일처리기, 두 host 모드 중 하나로 운영한다.
동시처리기의 slave로 사용될 때, VS1063a는 디코더, 엔코더, 코덱 모드의 세가지 다른 운영 모드로 운영할 수 있다.
디코더 모드일 때, VS1063a는 직렬 입력 버스를 통해 입력 비트스트림을 받는다. 입력 스트림은 18비트 디지털 볼륨 제어를 통해 오버샘플링 시그마-델타 DAC로 디코딩되고 전송된다. 디코딩은 직렬 제어 버스를 통해 제어된다. 기본 디코딩에 추가적으로, DSP 효과 같은 특별한 특징 응용프로그램을 사용자 램 메모리에 추가하거나 사용자 응용프로그램을 로드할는 특징을 추가할 수 있다.
인코더 모드에서 VS1063a는 아날로그 입력에서 오디오를 읽습니다. 선택적으로 데이터를 압축하여 호스트 프로세서에서 읽을 수 있다.
코덱 모드에서 VS1063a는 전이중 오디오 인터페이스를 제공합니다.
독립형 프로세서로 사용할 경우 VS1063a는 SPI EEPROM 또는 플래시 메모리에서 부팅 할 수 있다. 대안 적으로, 코드 및 데이터는 호스트 제어기에 의해 제공 될 수있다.
정의
- ABR - Average BitRate.
- 스트림의 비트 전송률은 국부적으로 다를 수 있지만, 더 긴 시간 동안 평균을 내면 주어진 숫자에 가깝게 유지된다.
- B - Byte, 8 bits
- b - Bit
- CBR - Constant BitRate.
- 스트림의 비트 전송률은 각 압축 블록에 대해 동일하다.
- Ki - Kibi = 2^10 = 1024 (IEC 60027-2)
- Mi - Mebi = 2^20 = 1048576 (IEC 60027-2)
- SCI - Serial Control Interface
- VS1063a 제어를 위한 SPI 버스
- SDI - Serial Data Interface
- VS1063a 비트스트림 데이터를 위한 SPI 버스
- VBR - Variable BitRate.
- 전송률은 소스 자료의 복잡성에 따라 달라진다.
- VS_DSP - VLSI Solution의 DSP 코어
- VSIDE - VLSI 솔루션의 통합된 개발 환경
- W - Word.
- VS_DSP에서 명령 워드는 32비트이고 데이터 워드는 16비트 이다.
SPI 버스들
SPI 버스는 VS1063a의 직렬 데이터 인터페이스 SDI와 직렬 제어 인터페이스 SCI 둘 다를 위해 사용된다.
SPI 버스 핀 설명
- VS10xx Native 모드 (새로운 모드, 추천함)
- 이 모드는 VS1063a의 SM_SDINEW가 1로 (시작할 때 기본임) 설정되었을 때 동작한다.
- DCLK와 SDATA는 데이터 전송에 사용되지 않고 GPIO 핀 (GPIO2, GPIO3)으로 사용될 수 있다.
- BSYNC 기능은 데이터 인터페이스 칩 선택(XDCS)으로 변경
SDI핀 | SCI핀 | 설명 |
XDCS | XCS | low일 때 칩 선택 입력으로 동작. high 레벨은 직렬 인터페이스를 스탠바이 모드로 들어가게 하여, 현재 운영을 종료함. high 레벨은 직렬 출력(SO)를 하이 임피던스 상태로 만듦 만약 SM_SDISHARE가 1이면 XDCS 핀은 사용하지 않음, 그러나 신호는 XCS 반전에 의해 내부적으로 생성됨. |
SCK | 직렬 클럭 입력 (Serial Clock Input). 직렬 클럭은 내부적으로 레지스터 인터페이스를 위한 마스터 클럭으로 사용되기도 한다. SCK는 게이트 되거나 연속적일 수 있다. 두 경우 모두 XCS가 low가 된 후 첫 번째 클럭 에지가 첫 번째 비트를 기록합니다. |
|
SI | 직렬 입력 (Serial Input). 칩 선택이 동작하면 SI는 상승 CLK 에지에 샘플된다. |
|
- | SO | 직렬 출력 (Serial Output). 읽기에서는 데이터가 하강 SCK 에지에서 시프트 아웃된다. 쓰기에서 SO는 하이 임피던스 상태에 있다. |
- VS1001 호환 모드 (새로운 디자인에서는 사용되지 않음) - 설명 생략
데이터 요청 핀 DREQ
- DREQ 핀 / 신호는 VS1063a의 2048 바이트 FIFO가 데이터를 수신 할 수 있는지 여부를 나타내는 데 사용된다.
- DREQ가 하이 인 경우 VS1063a는 최소 32 바이트의 SDI 데이터 또는 하나의 SCI 명령을 취할 수 있다.
- DREQ는 스트림 버퍼가 너무 꽉 차거나 SCI 명령의 지속기간 동안 low로 바뀐다
- 32 바이트 안전 영역으로 인해 송신기는 DREQ의 상태를 확인하지 않고 한 번에 최대 32 바이트의 SDI 데이터를 전송할 수 있으므로 저속 마이크로 컨트롤러에서 VS1063a를 쉽게 제어 할 수 있다.
- 참고 : DREQ는 바이트 전송 중에도 언제든지 로우 또는 하이로 바뀔 수 있습니다. 따라서 DREQ는 더 많은 바이트를 보낼 것인지 결정하는 데에만 사용해야합니다. 이미 시작된 전송은 중단 할 필요가 없습니다.
- 참고 : VS1063a에서는 SCI 작동이 진행되는 동안 DREQ도 저하됩니다.
DREQ가 low일 때 SCI 명령을 보내려는 경우가 있다.
DREQ는 SDI와 SCI간에 공유되므로 SDI가 데이터를 수신 할 준비가되지 않은 경우 SCI 명령이 실행되었는지 확인할 수 없습니다.
이 경우 모든 SCI 명령을 놓친 후에도 지연되지 않도록 확실히 기다려야합니다.
제 10.8 절의 SCI 레지스터 표는 각 SCI 레지스터 쓰기에 대한 최악의 처리 시간을 보여준다.