海思嵌入式-Notes

文档

什么是 NFC 板

NFC 板是一种集成了 NFC 技术的电路板,它可以实现近场通信功能。NFC 是 “Near Field Communication” 的缩写,即近场通信,它是一种短距离无线通信技术,可以在 10 厘米以内的距离内进行数据传输和交互。NFC 技术可以用于移动支付、身份认证、门禁控制等应用场景。

NFC 板通常由 NFC 芯片、天线、电源管理电路和控制芯片等部件组成。NFC 芯片是实现 NFC 技术的关键部件,它可以实现 NFC 的通信协议和安全机制等功能。天线用于接收和发送无线信号,可以将电路板和外部设备进行连接。电源管理电路用于管理电路板的供电,以确保 NFC 板能够正常工作。控制芯片用于控制 NFC 板的操作和数据传输。

Pegasus 开发

SDK 下载

Taurus 开发

使用 Hi3516DV300

什么是 MIPI 屏

MIPI屏是一种使用MIPI(移动行业处理器接口)协议的显示屏,通常用于移动设备和其他嵌入式系统中。

什么是 MIPI 协议

MIPI(Mobile Industry Processor Interface)是一种面向移动设备的高速串行接口协议,旨在提高移动设备的性能和可靠性,同时降低功耗和成本。MIPI协议由移动行业处理器接口联盟(MIPI Alliance)制定和管理,该联盟是由移动设备制造商、芯片制造商和其他相关产业链企业组成的非营利组织。

MIPI协议包括多种不同的规范,涵盖了从处理器到传感器等多个不同的接口,其中最常用的规范之一是MIPI DSI(Display Serial Interface)协议,用于连接移动设备和显示屏。MIPI协议还包括用于连接摄像头的MIPI CSI(Camera Serial Interface)协议,以及用于连接传感器的MIPI I3C(Improved Inter-Integrated Circuit)协议等。这些协议都是基于高速串行接口技术设计的,可以提供高带宽、低功耗和可靠性强的数据传输。

什么是 HiGV

HiGV是海思半导体推出的一种图像处理器芯片,全称为HiSilicon Graphics and Vision。它是一种专门用于图像和视频处理的芯片,可以应用于智能手机、智能家居、智能汽车和其他嵌入式设备中。HiGV芯片采用了海思半导体自主研发的DaVinci架构,具有高效、低功耗、高性能和低延迟等特点。

HiGV芯片在图像和视频处理方面具有很强的能力,可以实现高清视频编解码、图像处理、人脸识别、3D图形渲染等功能。它还支持多种接口,包括MIPI、HDMI、LVDS等,可以与多种显示屏和摄像头进行连接。HiGV芯片的应用范围广泛,可以满足不同嵌入式系统对图像和视频处理的需求,为智能化应用提供了强有力的支持。

海思技术论坛视频教学

视频地址

什么是 Caffe

Caffe是一个流行的深度学习框架,它由加州大学伯克利分校的研究团队开发,是一个基于C++编写的开源框架,可以在CPU和GPU上运行。Caffe支持多种神经网络模型,包括卷积神经网络(CNN)、循环神经网络(RNN)和深度置信网络(DBN)等。

Caffe提供了易于使用的Python接口和命令行工具,使得用户可以快速构建、训练和部署深度学习模型。Caffe还提供了丰富的模型预训练和数据集,可以帮助用户快速搭建和验证模型。此外,Caffe还支持多种深度学习模型的可视化和调试,方便用户了解模型的结构和性能.

学习流程

Camera 视频预处理和后处理实验, NNIE 案例 (主要是分类网和检测网) 都很重要.

整编 OpenHarmony 代码只需要一次, 是为了得到 Taurus 的系统镜像文件, 以及后续单编 sample 时所依赖的文件.

创建 sample 的流程

sdk_linux/build/ 目录下, 修改 目录下, 修改 mk.param 文件, 新添加一个路径. 如在 sdk_linux 目录下创建的 test 工程, 则添加为:

1
export TEST_SAMPLE_DIR != $(TAURUS_ROOT)/test

然后再在 sdk_linux/build 目录下创建一个和当前新建目录同名的 .mk 文件, 如 test.mk, 其内容的格式为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
include ./mk.param

TARGET != file_name_get

SMP_SRCS +=

CFLAGS += -I

SENSOR0_TYPE = -DSENSOR0_TYPE=SONY_IMX335_MIPI_4M_30FPS_12BIT
SENSOR1_TYPE = -DSENSOR1_TYPE=SONY_IMX335_MIPI_4M_30FPS_12BIT
CFLAGS += $(SENSOR0_TYPE)
CFLAGS += $(SENSOR1_TYPE)

include ./sdk_linux.mk

之后还需要修改 sdk_linux/build 目录下的 Makefile 文件, 修改 TARGET 条目.

然后即可进行编译.

1
make + 修改的TARGET的条目

最终的可执行文件会生成在 sdk_linux/sample/output/ 目录下.

AI 训练服务器申请

两款服务器:

  • A100, 最好
  • T4

NNIE 支持的公开网络

  • 分类网
  • 检测网
  • 分割网
  • 循环网

推荐使用 Resnet18 和 Yolo2 算法.

赋能培训视频资料列表

Hi3861社区SDK(openharmony版本)介绍

Hi3861 用的是 LiteOS 的内核.

重点需要关注 /device, /vendor/application 目录.

GPIO, PWM, 舵机.

WiFi-IOT芯片Hi3861 SDK使用介绍

link

Hilink 配网.

参考代码位于 app/demo/src 下的:

  • app_main.c
  • wifi_softap.c
  • wifi_sta.c

文件中.

API 接口头文件大部分位于 /include/base 目录下, 也可参考文档 《API 开发参考》

Hi3861 程序入口, 位于 app/demo/src/app_main.c 文件中的 app_main().

UART 接口.

MAC 地址相关. 设置/固定 MAC 地址.

AT 命令.

OpenHarmony Hi3516DV300 SDK包简介

link

视频主要讲解了目录结构, 文档大致内容.

目录结构:

最主要的开发位于 sdk_linux 目录下.

一些关键词:

文档都包括 API(Application Interface) 和 FAQ (Frequent Asked Questions).

Hi3516DV300媒体业务场景介绍

link

Hi3516DV300 的媒体业务包括音视频数据的采集, 处理, 压缩, 解压缩, 显示, 播放等.

术语简称:

查看各模块的实时工作状态:

1
cat /proc/umap/模块名

cat /proc/umap/vi

查看调试信息:

1
cat /proc/umap/logmpp

芯片架构主要三个部分:

  • 图像
  • 视频
  • 音频

视频采集与压缩的流程:

1
Sensor -> VI -> VPSS -> VENC -> 

VI 的结构:

1
DEVICE -> PIPE -> CHANNEL

VICHANNEL 中可以进行分辨率/帧率设置, 图像的一些处理等.

VPSS 模块的功能包括:

  • 单输入, 多输出.
  • 3D 降噪
  • 图像放大等

VENC 模块的功能为:

  • 视频压缩解码
  • 视频压缩编码时的码率控制

VDEC 模块:

  • 视频码流解压缩为 YUV 数据
  • Hi3516DV300 VDEC 只支持解压缩自己编的码流 (或者让 ffmpeg 转码)

VO 模块:

  • 将视频输出到显示设备
  • 绘制菜单界面或图形界面
  • 将菜单界面或图形界面与视频一起输出到显示设备

3 种显示设备:

  • HDMI
  • MIPI TX
  • RGB

音频 codec 模块:

  • 输入端接麦克风, 并进行模数转换
  • 输出端接扬声器, 并进行数模转换.

SYS 模块的介绍:

  • 复位和初始化芯片的各个模块
  • MPP 各模块初始化芯片的各个模块
  • 物理内存管理和 MPP 各模块状态管理
  • 提供当前 SDK 系统的版本信息
  • 模块之间的绑定功能

注意各模块的调用流程.

日志信息:

1
cat /dev/logmpp

调整各模块的日志打印等级:

1
echo "模块名=4" > /proc/umap/logmpp

越小越详细, 一共 7 各等级.

查看各模块名:

1
cat vproc/umap/logmpp

Hi3516DV300智能业务典型场景介绍

link

一些模块名简称:

可参考文档: device/soc/hisilicon/Hi3516DV300/sdk_linux/sample/doc

VGSIVS 需要同步.

Senssor 和 HDMI 显示设备是外挂第三方器件或设备, 有对应的硬件外设接口.

视频画框, 智能分析.

分辨率小的给智能分析.

NNIE (Neural Network Inference Engine) 模块的开发流程:

1
网络模型设计 -> 网络模型训练 -> 非 Caffe 框架网络模型转换为 Caffe 框架模型 -> 网络模型量化压缩(RuyiStudio) -> 网络模型部署推理

Hi3516DV300 SVP介绍

link

SVP (Smart Vision Platform) 智能视觉平台.

NNIE 和 IVE (Intelligent Video Engine).

RuyiStudio 用于对算法模型进行量化.

1
算法模型训练 -> 算法模型量化 -> PC端仿真/芯片端部署与推理

部分设置为 16 bit 来量化.

修改 prototxt 文件.

NNIE 不支持的层的处理.

IVE sdk sample介绍

link

IVE 和 OpenCV 在功能上是一致的.

Hi3516DV300 HIGV介绍

link

HiGV 是一个轻量级的 GUI 系统.

HiGV 开发流程:

1
编译Sample -> 运行Sample -> 修改View XML -> 修改View回调 

海思嵌入式-Notes
http://example.com/2023/07/15/海思嵌入式-Notes/
作者
Jie
发布于
2023年7月15日
许可协议