Duo256M
Milk-V Duo 256M 是 Duo 的升级版本,内存提升至 256M,满足需要更大内存容量的应用。采用 SG2002 计算系列芯片,计算能力提升至 1.0TOPS@INT8。它可以实现 RISC-V/ARM 架构之间的无缝切换,并支持双系统同时运行。此外,它还包含 SPI、UART 等一系列丰富的 GPIO 接口,适合边缘智能监控领域的各种硬件开发,包括 IP 摄像头、智能猫眼锁、可视门铃等。
SG2002 简介
SG2002 是面向边缘智能监控 IP 摄像机、智能猫眼门锁、可视门铃、居家智能等多项产品领域而推出的高性能、低功耗芯片,集成了 H.264 视频压缩编解码器, H.265 视频压缩编码器和 ISP;支持 HDR 宽动态、3D 降噪、除雾、镜头畸变校正等多种图像增强和矫正算法,为客户提供专业级的视频图像质量
芯片更集成了自研 TPU,在 8 位整数运算下,可提供 1.0TOPS 的算力。特殊设计的 TPU 调度引擎能有 效地为所有的张量处理器核心提供极高的带宽数据流。此外也为用户提供了强大的深度学习模型编译器和软件 SDK 开发包。主流的深度学习框架,比如 Caffe 和 Tensorflow,可以轻松地移植到其平台上。除此之外,还提供了安全启动,安全更新,安全加密等,为用户从开发、量产、产品应用,提供一系列安全解决方案。
SG2002 数据手册
我们已将 SG2002 的数据表和 TRM 开源到 GitHub。 请查看。
购买 SG2002 芯片
Milk-V 是 SG2002 芯片的全球授权经销商。您可以直接从我们的经销商在线商店购买 SG2002 芯片的样品。如需批量订购,请联系Milk-V 销售团队 获取报价。
上手指南
安装系统
请参考:启动 章节。
USB 网络的使用
请参考:设置 章节。
Duo256M GPIO 引脚分配
GPIO 引脚映射
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 引脚分布
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 |
GP26 和 GP27 引脚逻辑电平为 1.8V, 其他 GPIO 逻辑电平均为 3.3V 逻辑电平。
摄像头接口
Duo256M 摄像头接口使用的是 16 PIN 间距为 0.5mm 的连接器,可以直接使用 CAM-GC2083 摄像头。
摄像头接口 FPC 线序
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 使用指引
UART 串口控制台
Duo256M 主板上有预留 UART 调试串口,可以查看系统的启动日志,也可以在系统启动后登陆到控制台,执行一些终端命令。
USB-TTL 串口线
Duo 系列调试串口电平为 3.3V。
常见的 USB 转 TTL 串口线的引脚定义如下:
连接串口
如下图所示,连接 USB 到 TTL 串口线,不要连接红线。
Milk-V Duo256M | <---> | USB 转 TTL 串口 |
---|---|---|
TX (pin 16) | <---> | 白色线 |
RX (pin 17) | <---> | 绿色线 |
GND (pin 18) | <---> | 黑色线 |
Duo256M 默认的串口参数如下:
baudrate: 115200
data bit: 8
stop bit: 1
parity : none
flow control: none
RISC-V 与 ARM 切换
Duo256M 的大核可以选择使用 RISC-V 或者 ARM, 默认使用的是 RISC-V 核,可以通过短接物理引脚 35(Boot-Switch)和 GND 来切换到 ARM 核。如果您在使用中发现 Duo256M 不能正常启动,请先检查当前使用的核与使用的固件是否一致。
如果连接了调试串口,可以在第一行开机日志中看到,以 C
开头时代表从 RISC-V 核启动,以 B
开头时代表从 ARM 核启动。
- 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