DUOS
- System on Chip: SOPHGO SG2000
- CPU:
64-bit T-Head C906 1.0 GHz (Main Processor)
64-bit T-Head C906 700 MHz (Co-Processor)
64-bit Arm Cortex-A53 1.0 GHz (Alternate Main Processor)
MCU: 8051 with 6 KB SRAM
Memory: SIP DRAM 512 MB
TPU: 0.5 TOPS INT8
Storage: 1 x microSD Connector, 1 x eMMC Pad
USB: 1 x Type-C for Power and Data or 1 x USB 2.0 A Port Host
MIPI CSI: 1 x 16P FPC Connector (MIPI CSI 2-Lane), 1 x 15P FPC Connector (MIPI CSI 2-Lane)
Sensor Support: 5M @ 30 FPS
MIPI DSI: Via GPIO Header (MIPI DSI 4-Lane)
Ethernet: 100 Mbps Ethernet Port (RJ45)
Wireless: Optional Wi-Fi 6 / Bluetooth 5
Audio: Via GPIO Pin
GPIO: Up to 39 x GPIO Pin (via 2 x 26-Pin GPIO Header)
Others: 1 x Boot Switch, 1 x Recovery Key, 1 x Reset Key
Milk-V DuoS é um modelo atualizado do Duo, apresentando um controlador principal SG2000 atualizado com uma memória maior de 512 MB e recursos IO expandidos. Ele integra recursos sem fio com WI-FI 6/BT 5 e vem equipado com uma interface USB 2.0 HOST e uma porta Ethernet de 100 Mbps para conveniência do usuário. Suportando câmeras duplas (2x MIPI CSI de 2 pistas) e saída de vídeo MIPI (MIPI DSI de 4 pistas), permite aplicações versáteis. O dispositivo também suporta a alternância entre inicialização RISC-V e ARM por meio de um switch. Com funcionalidade aprimorada, o DuoS é mais adequado para uma variedade de cenários com requisitos de desenvolvimento de projetos mais complexos.
Introdução do SG2000
SG2000 é um chip de alto desempenho e baixo consumo de energia projetado para vários campos de produtos, como câmeras IP de vigilância inteligente de ponta, máquinas locais de reconhecimento facial e dispositivos domésticos inteligentes. Ele integra compactação e decodificação de vídeo H.264/H.265 e recursos de ISP. Ele suporta vários algoritmos de aprimoramento e correção de imagem, como ampla faixa dinâmica HDR, redução de ruído 3D, desembaçamento e correção de distorção de lente, fornecendo aos clientes qualidade de imagem de vídeo de nível profissional.
O chip também integra uma TPU interna, fornecendo aproximadamente 0,5TOPS de poder de computação em operações INT8. O mecanismo de agendamento TPU especialmente projetado fornece fluxo de dados de alta largura de banda com eficiência para núcleos de unidades de TensorFlow. Ele também oferece aos usuários um poderoso compilador de modelo de Deep Learning e um kit de desenvolvimento de software SDK. As principais estruturas de Deep Learning, como Caffe, Pytorch, ONNX, MXNet e TensorFlow (Lite), podem ser facilmente portadas para esta plataforma.
Preliminar pública do SG2000
Abrimos o código-fonte do DATASHEET Preliminar Pública e do TRM do SG2000 para o GitHub. Por favor, confira .
DuoS GPIO
Mapa de pinos GPIO
GRUPO | ENDEREÇO | PORTA | CHIP | NUM | NOME | INICIO |
---|---|---|---|---|---|---|
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] |
HEADER J3J3
GPIO Header J3
usa níveis lógicos de 3,3 V.
GND*: O pino 9 é um GPIO de baixo nível na versão V1.1 do hardware e é GND na versão V1.2 e posterior. NOTA: O I2C no conector J2 da câmera CSI é I2C2, portanto, ao usar a câmera CSI no J2, I2C2 no conector do pino J3 não está disponível. |
---|
HEADER J4
LED azul
NOME | SG2000 | NUMERO |
---|---|---|
LED | XGPIOA[29] | 509 |
Interface da câmera
DuoS possui dois conectores de câmera CSI:
- J1 é um conector de 16 pinos com passo de 0,5 mm compatível com câmeras Duo e Duo256M e pode usar diretamente a câmera CAM-GC2083 .
- J2 é um conector de 15 pinos e passo de 1,0 mm compatível com a interface da câmera Raspberry Pi. Atualmente suporta a câmera OV5647 usada no Raspberry Pi.
Observe que o I2C usado pela interface J1 é I2C3 e o I2C usado pela interface J2 é I2C2. Verifique a configuração de multiplexação de pinos ao usá-lo.
FPC do conector J1
J1 | Descrição |
---|---|
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_RSTN0 (1,8V) |
12 | SENSOR_CLK0 (1,8 V) |
13 | I2C3_SCL (1,8 V) |
14 | I2C3_SDA (1,8V) |
15 | |
16 | 3V3 |
FPC do conector J2
J2 | Descrição |
---|---|
1 | 3V3 |
2 | I2C2_SDA (3,3 V) |
3 | I2C2_SCL (3,3 V) |
4 | SENSOR_CLK1 (3,3V) |
5 | SENSOR_RSTN1 (3,3V) |
6 | GND |
7 | MIPI0_DP5 (CAM1_CP) |
8 | MIPI0_DN5 (CAM1_CN) |
9 | GND |
10 | MIPI0_DP4 (CAM1_DP1) |
11 | MIPI0_DN4 (CAM1_DN1) |
12 | GND |
13 | MIPI0_DP3 (CAM1_DP0) |
14 | MIPI0_DN3 (CAM1_DN0) |
15 | GND |
CONECTOR POE
Pino POE | Descrição |
---|---|
1 | VB- |
2 | VB+ |
3 | VA- |
4 | VA+ |
Guia do usuário DuoS
RISC-V e ARM
O grande núcleo do DuoS pode optar por usar processador RISC-V ou ARM, que pode ser configurado através do switch na placa. Se você achar que o DuoS não consegue iniciar normalmente durante o uso, primeiro verifique se a chave é consistente com o firmware usado.
Se a porta serial de depuração estiver conectada, você pode ver na primeira linha do log de inicialização que começar com C
significa começar no núcleo RISC-V e começar com B
significa começar no núcleo 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
Uso da Interface USB tipo A
As funções USB da interface DuoS USB Tipo A e da interface Tipo C são opcionais e não podem ser usadas ao mesmo tempo. O firmware padrão é configurado com a função de porta de rede USB (RNDIS) da porta Tipo C. Se você precisar mudar para a porta USB 2.0 HOST da porta tipo A para uso com unidades flash USB e outros dispositivos, será necessário executar o seguinte comando:
ln -sf /mnt/system/usb-host.sh /mnt/system/usb.sh
sync
Em seguida, execute o comando reboot
ou ligue novamente para que ele tenha efeito.
Por exemplo, depois de conectar uma unidade flash USB à porta USB A, você pode usar ls /dev/sd*
para verificar se o dispositivo foi detectado.
Monte-o no sistema para visualizar o conteúdo da unidade flash USB (use /dev/sda1 como exemplo):
mkdir /mnt/udisk
mount /dev/sda1 /mnt/udisk
Verifique se o conteúdo do diretório /mnt/udisk
está conforme o esperado:
ls /mnt/udisk
Comando para desinstalar a unidade flash USB:
umount /mnt/udisk
Quando quiser restaurar a função de rede USB (RNDIS) da porta Tipo C, execute:
rm /mnt/system/usb.sh
ln -sf /mnt/system/usb-rndis.sh /mnt/system/usb.sh
sync
Em seguida, execute o comando reboot
ou ligue novamente para que ele tenha efeito.
DICA
DuoS possui uma interface Ethernet integrada, portanto a porta de rede USB (RNDIS) da porta Tipo C pode ser usada sem mudar para a função USB 2.0 Host da porta A.
Console da serial UART
Conecte o cabo serial USB ao TTL conforme mostrado abaixo. Não conecte o fio vermelho.
Leite-V DouS | <---> | USB para TTL |
---|---|---|
GND (pino 6) | <---> | Fio preto |
TX (pino 8) | <---> | Fio branco |
RX (pino 10) | <---> | Fio verde |
A configuração serial padrão para Duo u-boot e console do kernel é:
baudrate: 115200
data bit: 8
stop bit: 1
parity : none
flow control: none
Configuração Wi-Fi
Método 1
Edite o seguinte arquivo e substitua ssid
e psk
pela conta WIFI e senha a ser conectada:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
update_config=1
network={
ssid="wifi_test"
psk="12345678"
key_mgmt=WPA-PSK
}
Em seguida, execute o seguinte comando:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Você pode se conectar ao WIFI. Após a conexão, você pode visualizar o endereço IP atribuído por meio do comando ifconfig
ou ip a
.
DICA
Se precisar se conectar automaticamente à rede na inicialização, você pode colocar este comando no arquivo /mnt/system/auto.sh
.
Gravação de firmware da versão eMMC
A versão DuoS eMMC não possui firmware gravado e precisa ser gravado em um PC através da interface USB.
DICA
Use a ferramenta de gravação USB no Windows para oferecer suporte ao eMMC. A versão do firmware é V1.1.0 ou versão mais recente .
Gravando no Windowsndows
Instalar driver
Baixe a ferramenta de instalação do driver USB: CviUsbDownloadInstallDriver.zip . Após baixar, descompacte e instale.
Baixe a ferramenta de gravação
Baixe a ferramenta de gravação de linha de comando no Windows CviBurn_v2.0_cli_windows.zip e descompacte-a após o download.
- Baixar firmware
Baixe a versão mais recente do firmware DuoS eMMC, atualmente milkv-duos-emmc-v1.1.0-2024-0410.zip , você pode criar uma nova pasta rom no diretório CviBurn_v2.0_cli_windows
da ferramenta de gravação e extrair o pacote compactado do firmware eMMC baixado para o diretório rom , a estrutura de diretórios da ferramenta de gravação é a seguinte:
└───CviBurn_v2.0_cli_windows
│ cv_dl_magic.bin
│ usb_dl.exe
└───rom
│ boot.emmc
│ fip.bin
│ partition_emmc.xml
│ rootfs_ext4.emmc
| ...
No terminal do Windows, execute o comando de gravação no diretório CviBurn_v2.0_cli_windows
:
.\usb_dl.exe -s linux -c cv181x -i .\rom
*Você também pode colocar o firmware em outros diretórios e especificar o diretório correspondente através do parâmetro -i no comando. *
Exibe mensagem aguardando conexão USB:

Progresso da gravação:
Após a conclusão da gravação, o DuoS será reiniciado automaticamente. Após a inicialização, você verá o LED azul do DuoS piscando, indicando que o sistema iniciou normalmente e a gravação foi bem-sucedida.
Conexão via UART e Boot
Nenhum comentário:
Postar um comentário