M5 StickV에서 RISC-V의 개발 사항 시작(HW 정보편)

M5 StickV와의 부식?
※ 이 항목은 주로 HW에 대한 정보입니다.SW 편 링크 이전 .
공식.Switch Science 소개 페이지도 참조하세요.
호평을 받은 ESP 32를 활용한 M5 Stack, M5 StickC와 달리 현재 화제의 RISC-V를 Host CPU로 활용하는 동시에 AI accelerator에도 탑재된 SoC KendryteK210의 M5 Stick 시리즈의 새로운 시리즈다.
RISC-V는 ARM이 소위 Cortex와 다른 CPU 아키텍처로 오픈 코어로 주목받고 있다.
M5 스틱V는 ESP 32와 달리 와이파이/BT는 탑재되지 않았지만, 앞서 설명한 대로 RISC-V와 AI engine가 탑재된 것이 특징이다.또 8MBit와 같은 광범위한'SRAM'도 탑재했다.
또 켄드리트 K210 자체는 Quad Core인 것 같지만 M5 Stick V로는 Dual Core인 것 같다.
특징:
  • CPU ( Dual-Core 64-bit RISC-V RV64IMAFDC (RV64GC) CPU / 400Mhz(Normal) )
  • Flash 16MBit
  • TFT : ST7789 135*240
  • Camera!
  • PMIC: AXP192(M5 StickC와 통용)도 리포200mAh를 탑재하였습니다!
  • AI engine는 0.8TOps다.
  • Dual hardware 512-point 16bit Complex FFT(audio에 사용되지만 단독으로 사용할 수 있음)
  • 내장형 AES-128/192/256, SHA256 accelerator Crypt HW Engine
  • Audio Codec with D class Power Amp : MAX98357
  • 또한 TSIM28n HPM에서 제조
    HW 정보
    Kendryte K210
    https://kendryte.com/downloads/부터 Kendryte K210 datasheet 참조 가능
    K210 Overview
    FPIOA(Field Programble I/O Aray)를 통해 다양한 I/O의 핀 할당을 자유롭게 설정할 수 있는 핀은 144개다.(입출력 0에서 입출력 47까지) Host CPU : RISC-V RV64GC (IMFADC) Dual Core 400MHz I/D-cache: 32KB per core ISA RV64 (64bit RISC-V) I: Integer M: Multiply and Divider A: Atomic F: Single Float D: Double Float C:Comporession Instruction(thumb의) PLIC (Platform Level Interrupt Controller) 64 external interrupts 7 priority level KPU (Netral Network Processor) convolution (1x1, 3x3) batch normalization activation pooling operaration FIXED point (not FLOAT!) max NN parameter size is 5Mbit SW로 교체하면 플래시 사이즈-software 사이즈가 있습니다. Audio Processor 16비트 내부 처리 12/16/24/32비트 input 지원 최대 192KHz 지원 이후의 FFT 지원 FFT accelerator 641282256512에서 FFT/IFFT 가능 1: 32비트 또는 64비트 DMA 대응 SRAM Region Access Start Address End Address Size General-purpose SRAM CPU cached 0x80000000 0x805FFFFF 0x600000 AI SRAM CPU cached 0x80600000 0x807FFFFF 0x200000 General-purpose SRAM CPU non-cached 0x40000000 0x405FFFFF 0x600000 AI SRAM CPU non-cached 0x40600000 0x407FFFFF 0x200000 SRAM은 RISC-V의 호스트 CPU 측면에 6MBit 설정 AI processor 측면에 2MBit 설정(KPU에서 작업할 때 KPU 독점) 할당 중입니다. 그리고 같은 메모리에 대해 두 주소 공간 맵 CPU cache 액세스 coherent CPU cache 액세스 non-coherent 따라서 Host CPU와 대화하는 부분에 대해서는 cache coherent 가 좋습니다. 데이터를 제출한 후 AI processor에만 사용한다면 캐치 논-coherent 액세스하면 Host CPU의 캐치가 손상되지 않습니다. 스케줄러: 디자이너가 유능한 회사구나. 또한, General purpose SRAM 영역은 MEM0과 MEM1의 2개의 뱅크입니다. Region Access Start Address End Address Size MEM0 CPU cached 0x80000000 0x803FFFFF 0x400000 MEM1 CPU cached 0x80400000 0x805FFFFF 0x200000 MEM0 CPU non-cached 0x40000000 0x403FFFFF 0x400000 MEM1 CPU non-cached 0x40400000 0x405FFFFF 0x200000 위 영역은 DMAC를 통해 동시에 액세스할 수 있습니다. 위에서 말한 바와 같이 SRAM도 버스와 연결됩니다. 만약 어떤 IP 접속(burst transfer 기간)이 있다면 다른 IP는 접근할 수 없습니다 최대한 표현하려면 위의 은행을 의식해야 한다. Bank:MEM1의 2Mbit 영역은 데이터 교환에 사용되며, Bank:MEM0의 4Mbit 영역은 연산 영역 등으로 설정하면 Host CPU인 RISC-V는 이 뱅크:MEM0의 영역을 거의 독점할 수 있습니다 잠깐만요. 예를 들어 LCD의 디스플레이 영역을 Bank1의 2Mbit 영역에 설정하면 다른 IP를 통해 주파수 대역을 읽을 수 있습니다. 혼란한 상황이 줄어들었다는 뜻이다.(우선도가 있는 버스의 경우 우선도가 높은 버스가 방문하기 때문에 디스플레이처럼 우선도가 높은 버스가 우선이고 화면 혼란을 방지하는 등 SoC 디자인으로 자주 이뤄지는데, 이 SoC가 그런 것인지 모르겠다) OTP (One-Time Programmable Memory) 128KBit 용량인 것 같아요! 64비트는 SoC 변주곡의 피처 플래그입니다. 또한 128bit의 AES용 키로도 사용할 수 있습니다.(Encerypted firmware를 지원할 수 있기 때문입니다. 128비트입니다.) HW crypto engine AES128/192/26 (ECB/CBC, GCM) Enc/Dec OTP written key(HW)도 SW를 통해 키 설정 가능 DMA 지원, 작업 가능 SHA256 accelerator 데이터를 입력할 때 DMA(결과는 레지스터 읽기) DVP (Digital Video Port) SCCB protocol Up to 640x480 YUV422, RGB565 input KPU(AI(NN) processor) 유입 및 디스플레이에 대한 오버레이 대응 To KPU, RGBB 888and Y 성분만 off YUV422 (밝기 성분만 재생) To display, RGB565 카메라가 입력한 VSync 시작 또는 종료 시 중단 가능 UART UART Max baudrate DMA mode UART0 5Mbps No DMA (8byte TX/RX FIFO only) Async only UART1-3 5Mbps DMA w/8byte TX/RX FIFO Async and Sync I2C i2c-0, 1,2의 3channel에서 마스터/slave를 단독으로 설정할 수 있습니다 100KBPS까지의 표준 속도 모드 Fast mode - 400KHz 7비트/10비트를 지원하는 슬레이브 주소 Bulk 전송 모드 지원 액세스 중단 및 폴링 지원 sensor측에서 인터럽트 알림이 있을 때 SW가 개입하여 인터럽트 알림으로 자주 읽지만 HW로서 인터럽트 알림에 대응하는 읽는 모습(전기 소모에 유리함) SPI (Serial Peripheral Interface) 4개의 SPI-0, 1, 2, 3. 1/2/4/8 마이크로re 모드 지원(full duplex 사용 가능) DMA 대응 DDR 전송 지원 Type Master/Slave Clock XIP SPI0 master 25MHz No SPI1 master 25MHz No SPI2 slave 25MHz No SPI3 master 100MHz Yes SPI-NOR를 SPI3에 연결하는 것입니다. SPI-NOR: 8, 16, 32에서 Mbit 지원 SPI-NAND는 64MBit128MBit, 256MBit 지원 I2S (Inter IC Sound) 3ch I2S Audio Interface 채널당 4 streo channel 지원 12/16/20/24/32비트 audio 데이터 지원 FIFO I2S-0은 64bytes의 TX FIFO 및 8byte의 RX FIFO입니다. I2S-1, 2는 8byte의 TX/RX FIFO DMA 전송 지원 또한 I2S-0은 Audio Processor와의 연결을 지원합니다. Timer timer 3개를 내장합니다. (/ dev / timer0-11의 12개를 설정할 수 있습니다. 타이머마다 4개의 채널이 있습니다.) 32 bit counter count up과 count down 둘 다 지원 독립 시계 동작 무중단 업무 운영 통합 또는 독립적인 중단 출력 설정 가능 독립형 레지스터 구성 PWM 출력으로 사용할 수 있으며 0-100% duty cycle을 통해 설정 가능 PWM (Pulse Width Modulation) pwm0-2 3ch(FreeRTOS SDK 기재) PWM Timer pwm0 timer0-3 배타 pwm1 timer4-7 배타 pwm2 timer8-11 그 결과 물리적으로 3개의 timer가 있는데 이를 사용하여 PWM을 실현했다. (각 물리 타이머에 4개의 공유 시계가 있는 logical timer로 인해 PWM으로 사용할 때 4개씩 사용할 수 없음) WDT (Watch Dog Timer) System Reset mode 처음 새치기할 때 끄지 않으면 시스템 리셋 모드를 진행해야 합니다 네. wdt0, 1 두 개 있어요. RTC (Real Time Clock) 외부 클록 지원 RTC에서 Alarm interrupt 가능 정밀도가 1초 이하일 수도 있지만 외부 시계에 의존합니다 Power-on/reset 이후 데이터가 지워집니다!(어, 그렇기 때문에 외부에 RTC가 필요할 것 같다) 내장형 Mask ROM AES-128-CBC 암호화 파일 지원 Flash 쓰기 지원(UOP mode) SHA256에서 변조가 감지되었습니다. OTP에서 UOP 모드, SHA256의 변조 탐지, AES 기반 암호화 펌웨어를 무효화할 수 있습니다 TURBO 모드로 시작할 수 있음 스페셜 핀에 대해서. Pin Desc Trigger mode 1 mode 2 IO_16 boot mode selection During power-on reset High to boot from FLASH Low to enter ISP mode Pin Desc IO_0, IO_1, IO_2, IO_3 JATG pin IO_4, IO_6 ISP pin (MaskROM에서 Flash 담금질 모드로 기록되어 있지 않습니까?) GPIO (General Purpose Input Output) Type count I/O Interrupt-able Assignable GPIOHS 32 I/O(PU/PD/HiZ) 개별 트랙 인터럽트 (edge/level) Yes to 48pin of FPIOA GPIO 8 I/O(PU/PD/HiZ) 이 8개를 인터럽트 공유(edge/level)로 Yes to 48 pin of FPIOA 따라서 GPIO1-8은 wake up interrupt에 사용할 수 있으며 기본적으로 level trigger(edge의 검측status 레지스터가 있는지 모르겠음) drive 능력은 DS[3:0]에서 설정할 수 있으며 Typical 값을 누르면 됩니다. Low 출력: 5.4mA 모드에서 23.4mA 모드 고광도 출력: 7.6mA 모드에서 33.7%mA 모드 FPIOA는 8개의 power domain으로 구성되며, 도메인당 3.3V 또는 1.8V 설정 가능 DMAC (Direct Memory Access Controller) 8ch(source, destination을 단독으로 설정할 수 있고 채널 간의arbitration이 대응하며 개별적으로 상태를 진행하거나 중단을 완성할 수 있습니다) scatter-gather가 아닌 별도의 8개의 DMAC입니다. Schematics
  • 공식 정보는... https://docs.m5stack.com/#/en/core/m5stickv
    그러면

    회로도 w
  • 로 불리다
    K210 pin
    Func
    Type
    Device
    G34
    GPIO34
    I/O
    Ext. G34
    G35
    GPIO35
    I/O
    Ext. G35
  • Reference board 회로도
  • 좋은 웹페이지 즐겨찾기