海思嵌入式-Notes
什么是 NFC 板
NFC 板是一种集成了 NFC 技术的电路板,它可以实现近场通信功能。NFC 是 “Near Field Communication” 的缩写,即近场通信,它是一种短距离无线通信技术,可以在 10 厘米以内的距离内进行数据传输和交互。NFC 技术可以用于移动支付、身份认证、门禁控制等应用场景。
NFC 板通常由 NFC 芯片、天线、电源管理电路和控制芯片等部件组成。NFC 芯片是实现 NFC 技术的关键部件,它可以实现 NFC 的通信协议和安全机制等功能。天线用于接收和发送无线信号,可以将电路板和外部设备进行连接。电源管理电路用于管理电路板的供电,以确保 NFC 板能够正常工作。控制芯片用于控制 NFC 板的操作和数据传输。
Pegasus 开发
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 |
|
然后再在 sdk_linux/build
目录下创建一个和当前新建目录同名的 .mk
文件, 如 test.mk
, 其内容的格式为:
1 |
|
之后还需要修改 sdk_linux/build
目录下的 Makefile
文件, 修改 TARGET
条目.
然后即可进行编译.
1 |
|
最终的可执行文件会生成在 sdk_linux/sample/output/
目录下.
AI 训练服务器申请
两款服务器:
- A100, 最好
- T4
NNIE 支持的公开网络
- 分类网
- 检测网
- 分割网
- 循环网
推荐使用 Resnet18 和 Yolo2 算法.
赋能培训视频资料列表
Hi3861社区SDK(openharmony版本)介绍
Hi3861 用的是 LiteOS 的内核.
重点需要关注 /device
, /vendor
和 /application
目录.
GPIO, PWM, 舵机.
WiFi-IOT芯片Hi3861 SDK使用介绍
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包简介
视频主要讲解了目录结构, 文档大致内容.
目录结构:
最主要的开发位于 sdk_linux
目录下.
一些关键词:
文档都包括 API(Application Interface) 和 FAQ (Frequent Asked Questions).
Hi3516DV300媒体业务场景介绍
Hi3516DV300 的媒体业务包括音视频数据的采集, 处理, 压缩, 解压缩, 显示, 播放等.
术语简称:
查看各模块的实时工作状态:
1 |
|
如 cat /proc/umap/vi
查看调试信息:
1 |
|
芯片架构主要三个部分:
- 图像
- 视频
- 音频
视频采集与压缩的流程:
1 |
|
VI
的结构:
1 |
|
VI
的 CHANNEL
中可以进行分辨率/帧率设置, 图像的一些处理等.
VPSS
模块的功能包括:
- 单输入, 多输出.
- 3D 降噪
- 图像放大等
VENC
模块的功能为:
- 视频压缩解码
- 视频压缩编码时的码率控制
VDEC
模块:
- 视频码流解压缩为 YUV 数据
- Hi3516DV300 VDEC 只支持解压缩自己编的码流 (或者让 ffmpeg 转码)
VO
模块:
- 将视频输出到显示设备
- 绘制菜单界面或图形界面
- 将菜单界面或图形界面与视频一起输出到显示设备
3 种显示设备:
- HDMI
- MIPI TX
- RGB
音频 codec
模块:
- 输入端接麦克风, 并进行模数转换
- 输出端接扬声器, 并进行数模转换.
SYS
模块的介绍:
- 复位和初始化芯片的各个模块
- MPP 各模块初始化芯片的各个模块
- 物理内存管理和 MPP 各模块状态管理
- 提供当前 SDK 系统的版本信息
- 模块之间的绑定功能
注意各模块的调用流程.
日志信息:
1 |
|
调整各模块的日志打印等级:
1 |
|
越小越详细, 一共 7 各等级.
查看各模块名:
1 |
|
Hi3516DV300智能业务典型场景介绍
一些模块名简称:
可参考文档: device/soc/hisilicon/Hi3516DV300/sdk_linux/sample/doc
VGS
与 IVS
需要同步.
Senssor 和 HDMI 显示设备是外挂第三方器件或设备, 有对应的硬件外设接口.
视频画框, 智能分析.
分辨率小的给智能分析.
NNIE (Neural Network Inference Engine) 模块的开发流程:
1 |
|
Hi3516DV300 SVP介绍
SVP (Smart Vision Platform) 智能视觉平台.
NNIE 和 IVE (Intelligent Video Engine).
RuyiStudio 用于对算法模型进行量化.
1 |
|
部分设置为 16 bit 来量化.
修改 prototxt 文件.
NNIE 不支持的层的处理.
IVE sdk sample介绍
IVE 和 OpenCV 在功能上是一致的.
Hi3516DV300 HIGV介绍
HiGV 是一个轻量级的 GUI 系统.
HiGV 开发流程:
1 |
|