CV1800B MCU を調べてみる

milk-V Duo に使われているプロセッサ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/fecc982b-5b3e-a1ce-6f72-f3da14575087.png)



# 開発元

CVITEK 社(北京晶视智能科技有限公司)
http://www.cvitek.com/ (←2023/12/6 現在、日本からはアクセスできない)

# パッケージ

- 7mm x 7mm QFNパッケージ
- 68 ピン ピッチ：0.35mmピッチ


# 製品特徴

- ⺠⽣⽤監視カメラ、スマートホームなど用途
- 低消費電⼒



# 内蔵エンコーダ

- H.264/H.265
- JPEG
- ROI(Region of interest)

# 動画・静止画処理機能

- 90,180,270度回転、ミラー、フリップ
- 曇り除去
- レンズ歪補正
- ほか

# CPU

- メインプロセッサ RISCV C906 @ 1.0Ghz
  - 一次32KBキャッシュ、二次64KBキャッシュメモリ
  - MMU内蔵
  - ベクトルおよび浮動⼩数点処理ユニット(FPU)内蔵
  - JTAG デバッガ接続可能
- コプロセッサ RISCV C906 @ 700Mhz
- 8051 ベース8bitMCUサブシステム内蔵
- 512Mbit ( 64MBytes ) の DDR2 メモリを内蔵
- ECC module 内蔵
- AIエンジン内蔵



# ドキュメント

(2024/01/28 URLを 更新)
https://github.com/milkv-duo/duo-files/blob/main/duo/datasheet/CV1800B-CV1801B-Preliminary-Datasheet-full-en.pdf

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5161beea-8cff-9fdb-cbb0-affd15e35105.png)

以下、ドキュメントから読み出した内容

## バリエーション

Milk-V Duo には CV1800B が用いられているが、データシートには3種類のバリエーションが一緒に掲載されている。その違いをピックアップ。


- H.264/H.265 has maximum encoding resolution : 2880x1620 (5M) (CV1801B)
- H.264/H.265 has maximum encoding resolution : 2688x1520 (4M) (CV1800B)
- H.264/H.265 has maximum encoding resolution : 2304x1296 (3M) (CV180ZB)
- H.264/H.265 ’s encoding performance:
  - 2880x1620@20fps+720x576@20fps (CV1801B)
  - 2688x1520@25fps+720x576@25fps (CV1800B)
  - 2304x1296@25fps+720x576@30fps (CV180ZB)
- JPEG ’s maximum encoding and decoding performance:
  - 2880x1620@20fps (CV1801B)
  - 2688x1520@25fps (CV1800B)
  - 2304x1296@30fps (CV180ZB)
- DDR voltage as shown in the table below:
  - CV180ZB/CV1800B = 1.8V
  - CV1801B = 1.35V
- Built-in DRAM
  - CV180ZB/CV1800B DDR2 16bitx1, with a maximum speed of 1333Mbps ,capacity of 512Mbit (64MB)
  - CV1801B DDR3 16bitx1, with a maximum speed of 1866Mbps, capacity of 1Gbit (128MB)


## ピン配置
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4b4cbf02-63bd-1fa4-5206-d27786c4b13e.png)

青で囲っているピンは、IOレベルが 18OD33 という特性を持っています。このうち、SD0 のつくピンについては、10番ピン VDDIO_SD0_SPI  の電圧レベルを 1.8V ないし 3.0V に設定することでIOレベルが1.8V レベル・3.0Vレベルに切り替わるというものです。その他、SD1 その他はまだよくわからないので引き続き読み込んでいきます。

## ペリフェラル

- PHY内蔵
- USB2 x 1
- RTC内蔵
  - 32.765KHzのクリスタル外付けが必要


## 動作電圧

- コア電圧 0.9V
- IO電圧 1.8および 3.0V

## 起動方法

- 内蔵ROM からブート、
- 使用しているメモリを2つのピン状態で判断、


## 絶対最大定格

- 環境温度 -30〜70℃
- コアパワードメイン 1.05V
- 1.8VIOドメインおよびRTC,DRAMIO,DRAM電源 1.98V
- VDD33A_ETH_USB_SD1および VDDIO_SD0_SPI 3.465V

## IO駆動能力

- 1.8V IN 
  - VIL-0.3-0.35xVDDIO
  - VIH 0.75V-1.09V 
- 1.8V OUT 
  - レジスタによってきまるが、DS[2:0] = 111 と設定した場合、min 値 
  - Lo21.7mA
  - Hi16.2mA
- 3.0V IN
  - VIL-0.3-0.25xVDDIO
  - VIH 0.82-1.11V 
- 3.0V OUT
  - レジスタによってきまるが、DS[2:0] = 111 と設定した場合、min 値 
  - Lo13.8mA
  - Hi22.6mA

## AIエンジン
TPU(Tensor Prossing Unit)なるディープラーニング・ニューラルネットワーク用 AI アクセラレーションエンジンが搭載されている。
画像分類、物体検出、顔検出と認識、セグメンテーション、LSTMなどに利用できる。


## SDK

- Linux-5.10-based SDK

# 入手
こちらで、5個単位で買えます。
https://arace.tech/products/sophon-cv1800b-5pcs
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/6d7532f1-310a-cf53-5a3e-c9bacfa80912.png)

まとめて買うとかなり安くなるっぽいです。

# 感想


パッケージがBGA とかではないのでアマチュアが電子工作で基板をなんとかぎりぎり作れるレベルかな?
メモリモジュール内蔵です。なので自作基板でかなり少ない外付け部品でLinuxベースシステムが作成できそうです。
今までこのような目的には、 Allwiner の F1C100S/F1C200S を調べてきましたが、なかなか情報がなくて Linux システムを作り直すのが苦心惨憺でした。
この MCU は F1C100S ほどではないですが割と安いですね。そして資料は比較にならないほど充実して使いやすく、電子工作の幅が広がりそうです。