2019년 3월 2일 토요일

[칩공부] (VLSI Solution) VS1063a

MP3 / OGG VORBIS 엔코더 & 오디오 코덱 회로

주요 특징

  • 엔코더들
    • 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 레지스터 쓰기에 대한 최악의 처리 시간을 보여준다.







































2019년 2월 26일 화요일

[STM32 Study] 용어 정리


PWR (Power Controller) - 전력관리 제어기
  • 전원감시기 (power supply supervisor)
    • POR - Power-On Reset : Vpor 이상이면 리셋 해제 (1.72V)
    • PDR - Power-Down Reset : Vpdr 이하이면 리셋 (1.68V)
    • BOR(Brownout Reset) : threshold voltage 감시
    • PVD(Programmable Voltage Detector) : 전원 전압이 지정값 이하로 떨어지면 인터럽트를 발생하는 기능
  • HSE 클록 (High Speed External clock)
    • 외부단자 OSC_IN, OSC_OUT에 4~26 MHz
  • HSI 클록 (High Speed Internal clock)
    • 내부의 RC 오실레이터에 의하여 발생되는 16 MHz의 클록 신호
  • PLL (Phase-Locked Loop) 회로 - 주파수 체배 회로
  • LSE 클록 (Low Speed External clock)
    • 외부단자 OSC32_IN, OSC32_OUT에 32.768 kHz의 낮은 주파수
    • 적은 소비전력으로 정확한 클록 주파수를 발생하여 RTC에 공급하기 위함
    • 외부 클록 신호는 1 MHz까지 사용할 수 있음
  • LSI 클록 (Low Speed Internal clock)
    • 내부의 RC 오실레이터에 의하여 발생되는 32 KHz의 저주파 클록 신호
    • 정지모드나 대기모드에서도 동작
    • IWDG와 RTC에 클록 공급
  • CSS (Clock Security System) - 클록 안전 시스템
    • HSE 오실레이터의 정상 동작 여부를 감시하기 위한 장치



SYSCFG (System Configuration Controller) - 시스템 설정 제어기
  • 몇가지 메모리 영역의 시작번지를 할당하는 메모리 리매핑을 ㅅ러정
  • 특정 핀에 대하여 I2C 통신의 FM+ 모드를 사용할 것인지 여부를 설정
  • GPIO의 단자를 인터럽트 신호선으로 할당하는 내용을 설정
  • 시스템의 안정성을 높이는 기능의 설정

SCB (System Control Block) - 시스템 제어 블록

SysTick (시스틱 타이머)
  • Cortex-M 시리즈 마이크로컨트롤러의 코어에 기본적으로 동일하게 내장된 24비트 타이머
  • 주로 운영체제나 시스템 프로그램이 사용하도록 만들어 놓은 것

NVIC (Nested Vectored Interrupt Controller) - 중첩 및 벡터형 인터럽트 제어기
  • Cortex-M 시리즈 제품의 CPU의 코어에 기본적으로 내장된 인터럽트 제어기
  • 이론적으로 240개의 이터럽트를 지원
  • STM32F767VGT6는 실제로 총 110개의 차단가능 인터럽트를 가짐

EXTI (Externded Interrupt and Event Controller) - 확장 인터럽트 및 이벤트 제어기
  • Cortex-M7의 CPU 코어가 아니라 STM32F767VGT6 마이크로컨트롤러의 주변장치에 해당하는 인터럽트 제어기
  • 내부 또는 외부에서 입력되는 비동기 인터럽트/이벤트 신호를 인식하여 CPU의 인터럽트 제어기 NVIC에게 전달하거나 이벤트를 발생하고 전력 제어기에 wake-up 신호를 전달하기도 함

DBG (디버그 지원 장치)
  • JTAG (Joint Test Action Group)
  • SWD (Serial Wire Debug)
  • SWJ-DP (Serial Wire/JTAG Debug Port)
  • AHP-AP (AHB Access Port)
  • DWT (Data Watchpoint Trigger)
  • FPB (Flash Patch Breakpoint)
  • ITM (Instrumentation Trace Macrocell)
  • ETM (Embedded Trace Macrocell)
  • TPIU (Trace Port Interface Unit)









2019년 2월 24일 일요일

STM32F765BI 와 STM32H743BI 비교


STM32F765BI
STM32H743BI

ARM Cortex-M7 216 MHz
ARM Cortex-M7 400 MHz

Chrom-ART Accelerator
Chrom-ART Accelerator

ART Accelerator
JPEG Codec Acceleration

Cache I/D 16+16 Kbytes
Cache I/D 16+16 Kbytes
Floating point unit
FPU
DP-FPU
Nested vector interrupt controller (NVIC)
O
O
JTAG/SW debug/ETM
O
O
Memory Protection Unit (MPU)
O
O
ROP, PC-ROP
anti-tamper
X
O
AXI and Multi-AHB bus matrix
O
O
DMA
1x 16-channel
4x
True random number generator (RNG)
O
O
Flash
2-Mbyte dual bank
2-Mbyte dual bank
RAM
512-Kbyte SRAM
+ 16-Kbyte ITCM RAM
1-Mbyte SRAM incl.
64-Kbyte ITCM RAM

FMC/SRAM/NOR/NAND/SDRAM
FMC/SRAM/NOR/NAND/SDRAM
Dual Quad-SPI
O
O
backup SRAM
91-byte + 4-Kbyte
1024-byte + 4-Kbyte
OTP
1024-byte
X
System
Power supply
1.2 V regulator
POR/PDR/PVD
Main
USB
back regulators
POR/PDR/PVD/BOR
Multi-power domains
X
O
Xtal oscillators
32 kHz + 4~16 MHz
32 kHz + 4~48 MHz
Internal RC oscillators
32 kHz + 16 MHz
32 kHz + 4, 48 & 64 MHz
PLL
1
3
Clock control
O
O
RTC/AWU
O
O
SysTick timer
1
1
watchdogs
(independent and window)
2
2
I/Os
82 / 114 / 140 / 168
82 / 114 / 140 / 168
Cyclic redundancy check (CRC)
O
O
Unique ID
X
O
Control
AC timer
16bit motor control PWM synchronized
2x
16bit motor control PWM synchronized
2x
timers
10x 16bit
2x 32bit
10x 16bit
2x 32bit
Low-Power timer
1
5
High res. timer
X
16bit
Connectivity
TFT-LCD controller
X
O
HDMI-CEC
O
O
SPI
6
6
I2S
3
3
I2C
4
4
Camera interface
O
O
Ethernet MAC
10/100 with IEEE 1588
10/100 with IEEE 1588
MDIO slave
O
O
CAN
3x 2.0B
2x FDCAN
(Flexible Data rate)
USB 2.0 OTG FS/HS
1
1
USB 2.0 OTG FS
1
1
SDMMC
2
2
USART
4
4
UART
4
4
LIN
O
O
smartcard
O
O
IrDA
O
O
modem control
O
O
Low-power UART
x
1
SAI
(Serial audio interface)
2
4
SPDIF input
4
4
DFSDM
O
8 inputs / 4 filters
SWP
(Single Wire Protocol)
X
O
Analog
DAC
2x 12-bit, 2-channel
2x 12-bit, 2-channel
ADC
3x 12-bit
24 channels / 2.4 MSPS
3x 14-bit
20 channels / up to 2 MSPS
Temperature sensor
O
O
COMP
x
2
OpAmp
x
2