Duo256M
The Milk-V Duo 256M is an upgraded version of Duo with a memory boost to 256M, catering to applications demanding larger memory capacities. It features the SG2002 computing series chip, elevating computational power to 1.0TOPS@INT8. It enables seamless switching between RISC-V/ARM architectures and supports simultaneous operation of dual systems. Additionally, it includes an array of rich GPIO interfaces such as SPI, UART, suitable for a wide range of hardware development in edge intelligent monitoring, including IP cameras, smart peephole locks, visual doorbells, and more.
Introduction of SG2002
SG2002 is a high-performance, low-power chip designed for various product fields such as edge intelligent surveillance IP cameras, smart door locks, visual doorbells, and home intelligence. It integrates H.264 video compression and decoding, H.265 video compression encoding, and ISP capabilities. It supports multiple image enhancement and correction algorithms such as HDR wide dynamic range, 3D noise reduction, defogging, and lens distortion correction, providing customers with professional-grade video image quality.
The chip also incorporates a self-developed TPU, delivering 1.0 TOPS of computing power under 8-bit integer operations. The specially designed TPU scheduling engine efficiently provides high-bandwidth data flow for all tensor processing unit cores. Additionally, it offers users a powerful deep learning model compiler and software SDK development kit. Leading deep learning frameworks like Caffe and Tensorflow can be easily ported to its platform. Furthermore, it includes security boot, secure updates, and encryption, providing a series of security solutions from development, mass production, to product applications.
The chip integrates an 8-bit MCU subsystem, replacing the typical external MCU to achieve cost-saving and power efficiency goals.
SG2002 Public Preliminary Datasheet
We have open sourced the Public Preliminary Datasheet and TRM of SG2002 to GitHub. please check it out.
Buy the SG2002 Chips
Milk-V is the Authorised Global Distributor of the SG2002 chips. You can buy samples of the SG2002 chip from our distributor online store directly. For volume order, please contact Milk-V Sales Team for the qoutation.
Getting Started
Installing the system
Please refer to the Start Up section.
USB Network Usage
Please refer to the Setup section.
Duo256M GPIO Pinout
GPIO pin mapping
GROUP | ADDR | PORT | CHIP | NUM | NAME | START |
---|---|---|---|---|---|---|
gpio0 | gpio@03020000 | porta | gpiochip0 | 480-511 | XGPIOA | 480 - XGPIOA[0] |
gpio1 | gpio@03021000 | portb | gpiochip1 | 448-479 | XGPIOB | 448 - XGPIOB[0] |
gpio2 | gpio@03022000 | portc | gpiochip2 | 416-447 | XGPIOC | 416 - XGPIOC[0] |
gpio3 | gpio@03023000 | portd | gpiochip3 | 384-415 | ||
gpio4 | gpio@05021000 | porte | gpiochip4 | 352-383 | PWR_GPIO | 352 - PWR_GPIO[0] |
GPIO Pinout
JTAG | SPI | SPI-NOR | SD | PWM | I2C | UART | NUM | SG2002 | NAME | PIN | PIN | NAME | SG2002 | NUM | ADC | SPI-NOR | SPI-NAND | EMMC |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JTAG_TDI | UART1/2_TX | 508 | XGPIOA[28] | GP0 | 1 | 40 | VBUS(5V) | |||||||||||
JTAG_TDO | UART1/2_RX | 509 | XGPIOA[29] | GP1 | 2 | 39 | VSYS(5V) | |||||||||||
GND | 3 | 38 | GND | |||||||||||||||
JTAG_TMS | PWM7 | UART1_TX | 499 | XGPIOA[19] | GP2 | 4 | 37 | 3V3_EN | ||||||||||
JTAG_TCK | PWM6 | UART1_RX | 498 | XGPIOA[18] | GP3 | 5 | 36 | 3V3(OUT) | ||||||||||
NOR1_HOLD | SD1_D2 | PWM5 | I2C1_SCL | UART2/3_TX | 371 | PWR_GPIO[19] | GP4 | 6 | 35 | Boot-Switch | ||||||||
NOR1_WP | SD1_D1 | PWM6 | I2C1_SDA | UART2/3_RX | 372 | PWR_GPIO[20] | GP5 | 7 | 34 | Audio-Out | ||||||||
GND | 8 | 33 | GND | |||||||||||||||
SPI2_SCK | NOR1_SCK | SD1_CLK | PWM9 | I2C3_SDA | 375 | PWR_GPIO[23] | GP6 | 9 | 32 | GP27 | XGPIOB[6] | 454 | ||||||
SPI2_SDO | NOR1_MOSI | SD1_CMD | PWM8 | I2C3_SCL | 374 | PWR_GPIO[22] | GP7 | 10 | 31 | GP26 | XGPIOB[3] | 451 | ADC1(1.8V) | |||||
SPI2_SDI | NOR1_MISO | SD1_D0 | PMW7 | I2C1_SDA | UART3_RTS | 373 | PWR_GPIO[21] | GP8 | 11 | 30 | RUN | |||||||
SPI2_CS | NOR1_CS | SD1_D3 | PWM4 | I2C1_SCL | UART3_CTS | 370 | PWR_GPIO[18] | GP9 | 12 | 29 | GP22 | PWR_GPIO[4] | 356 | |||||
GND | 13 | 28 | GND | |||||||||||||||
PWM10 | I2C2_SDA | 430 | XGPIOC[14] | GP10 | 14 | 27 | GP21 | XGPIOA[26] | 506 | NOR_HOLD | NAND_HOLD | EMMC_DAT2 | ||||||
PWM11 | I2C2_SCL | 431 | XGPIOC[15] | GP11 | 15 | 26 | GP20 | XGPIOA[27] | 507 | NOR_WP | NAND_WP | EMMC_DAT3 | ||||||
PWM4 | UART0/1_TX | 496 | XGPIOA[16] | GP12 | 16 | 25 | GP19 | XGPIOA[25] | 505 | NOR_MOSI | NAND_MOSI | EMMC_DAT0 | ||||||
PWM5 | UART0/1_RX | 497 | XGPIOA[17] | GP13 | 17 | 24 | GP18 | XGPIOA[22] | 502 | NOR_SCK | NAND_SCK | EMMC_CLK | ||||||
GND | 18 | 23 | GND | |||||||||||||||
494 | XGPIOA[14] | GP14 | 19 | 22 | GP17 | XGPIOA[24] | 504 | NOR_CS | NAND_CS | EMMC_DAT1 | ||||||||
495 | XGPIOA[15] | GP15 | 20 | 21 | GP16 | XGPIOA[23] | 503 | NOR_MISO | NAND_MISO | EMMC_CMD | ||||||||
354 | PWR_GPIO[2] | LED |
The logic level of GP26
and GP27
pins is 1.8V, and the logic level of other GPIO pins is 3.3V logic level.
Camera interface
Duo256M camera uses a 16-pin connector with a distance of 0.5 mm, which can be directly used with the CAM-GC2083 camera head.
Connector FPC Definition
J1 | Description |
---|---|
1 | GND |
2 | MIPI0_DN0 |
3 | MIPI0_DP0 |
4 | GND |
5 | MIPI0_DN1 |
6 | MIPI0_DP1 |
7 | GND |
8 | MIPI0_CKN |
9 | MIPI0_CKP |
10 | GND |
11 | SENSOR_RSTN (1.8V) |
12 | SENSOR_CLK (1.8V) |
13 | I2C2_SCL (1.8V) |
14 | I2C2_SDA (1.8V) |
15 | |
16 | 3V3 |
Duo256M User Guide
UART Serial Console
Duo256M has a reserved UART debug serial port, which can be used to view the system startup log, or to log in to the console after the system starts and execute some terminal commands.
USB-TTL Serial Cable
The serial port level of Duo series is 3.3V.
The pin definitions of common USB to TTL serial cables are as follows:
Connection
Connect the USB to TTL serial cable as shown below, leaving the red wire unconnected.
Milk-V Duo256M | <---> | USB to TTL |
---|---|---|
TX (pin 16) | <---> | White wire |
RX (pin 17) | <---> | Green wire |
GND (pin 18) | <---> | Black wire |
The default serial port parameters of Duo256M are as follows:
baudrate: 115200
data bit: 8
stop bit: 1
parity : none
flow control: none
RISC-V and ARM switching
The large core of Duo256M can choose to use RISC-V or ARM processor. The RISC-V core is used by default. You can switch to the ARM core by shorting physical pin 35 (Boot-Switch) and GND. If you find that Duo256M cannot start normally during use, please first check whether the core currently used is consistent with the firmware used.
If the debug serial port is connected, you can see in the first line of the boot log that starting with C
means starting from the RISC-V core, and starting with B
means starting from the ARM core.
- RISC-V:
C.SCS/0/0.C.SCS/0/0.WD.URPL.USBI.USBW
- ARM:
B.SCS/0/0.WD.URPL.B.SCS/0/0.WD.URPL.USBI.USBW