Hi3519V

来自wiki_ebaina
跳到导航 跳到搜索

English

Hi3519v101介绍[编辑]

概述 产品特性
Hi3519V101核心板是一款基于海思Hi3519V101多媒体处理芯片的核心板。Hi3519V101作为新一代行业专用HD IP摄像机SoC,集成新一代ISP,采用业界最新的H.265视频压缩编码器,基于先进低功耗工艺和低功耗架构设计,使其在低码率、高图像质量和低功耗方面引领行业水平。硬件支持90度/270度旋转功能和镜头几何校正功能,可以满足监控应用的各种场景需求。集成POR、RTC、Audio Codec、并支持多种Sensor电平及各种时钟输出等功能。 Hi3519V101核心板集成了Hi3519V101芯片、1GB DDR3 RAM、千兆以太网卡以及电源电路等,通过连接器与底板连接,可实现以太网、HDMI、USB、SD、CSI、BT1120等外设接口的扩展。
  • 内置ARM@big.LITTLE大小核架构处理器,A7@800MHz,A17@1.25GHz
  • H.264 BP/MP/HP
  • H.265 Main Profile
  • H.264/H.265编码可支持最大分辨率为16M (4608x3456) Pixel
  • 硬件实现AES/DES/3DES加解密算法
  • 支持两路sensor输入,主通道最大分辨率支持到16M (4608x3456),第二路最大分辨率支持8M (4096x2160)
  • 支持与SONY、Aptina、OmniVision、Panasonic等主流高清CMOS Sensor对接
  • 支持1路PAL/NTSC输出,支持负载自动检测
  • 支持LCD输出
  • 集成千兆以太网卡
  • 集成Audio codec,支持16bit语音输入和输出
  • 2个SD3.0/SDIO3.0接口,支持SDXC
  • 1个USB3.0/2.0 Host/Device接口


版本发布:
Hi3519V101 V0.1 版本

产品应用
  • IP摄像机
  • 视频监控

资源介绍[编辑]

处理器

  • Hi3519V101A7@800MHz,32KB I-Cache,32KB D-Cache /128KB L2 cache
  • A17@1.25GHz,32KB I-Cache,32KB D-Cache /256KB L2 cache
  • 支持Neon加速,集成FPU处理单元
  • 支持ARM® big.LITTLE大小核架构

视频编码

  • H.264 BP/MP/HP
  • H.265 Main Profile
  • H.264/H.265支持I/P/B帧,支持双P帧参考
  • 支持MJPEG/JPEG Baseline编码

视频编码处理性能

  • H.264/H.265编码可支持最大分辨率为16M (4608x3456) Pixel
  • H.264/H.265多码流实时编码能力:3840*2160@30fps+1080P@30fps+3840*2160@2fps抓拍
  • 支持最大JPEG抓拍性能3840*2160@30fps
  • 支持CBR/VBR/FIXQP/AVBR/QPMAP五种码率控制模式
  • 输出码率最高支持100Mbps
  • 支持8个感兴趣区域(ROI)编码

智能视频分析

  • 集成智能分析加速引擎,支持智能运动侦测、周界防范、视频诊断等多种智能分析应用

视频与图形处理

  • 支持3D去噪、图像增强、动态对比度增强处理功能
  • 支持视频、图形输出抗闪烁处理
  • 支持视频1/30~16x缩放功能
  • 支持两路视频无缝拼接
  • 支持图形1/2~2x缩放功能
  • 8个区域的编码前处理OSD叠加

ISP

  • 支持两路独立ISP处理
  • 支持3A (AE/AWB/AF) 功能,3A的控制用户可调节
  • 支持去固定模式噪声(FPN)功能
  • 支持强光抑制、背光补偿、Gamma、色彩增强
  • 支持坏点校正、去噪、数字防抖
  • 支持去雾
  • 支持镜头畸变校正,支持鱼眼矫正
  • 支持图像90度/270度旋转
  • 支持图像Mirror、Flip
  • 支持Sensor Build-In WDR、4F/3F/2F - Frame base/Line base WDR和Local Tone
  • mapping,其中第二路ISP只支持Sensor Build-In WDR、2F - Frame base/Line base
  • WDR和Local Tone mapping
  • 提供PC端ISP tuning tools

音频编解码

  • 通过软件实现多协议语音编解码
  • 协议支持G.711、G.726、ADPCM
  • 支持音频3A (AEC/ANR/ALC) 处理

安全引擎

  • 硬件实现AES/DES/3DES三种加解密算法
  • 硬件实现RSA1024/2048/4096签名校验算法
  • 硬件实现HASH防篡改算法,支持HASH-SHA1/256、HMAC_SHA1/256算法
  • 内部集成512Bit OTP存储空间和硬件随机数发生器

视频接口

  • 输入

− 支持两路sensor输入,其中主通道最大分辨率支持到16M (4608x3456),第二路最大分辨率支持8M (4096x2160)
− 支持8/10/12/14 Bit RGB Bayer DC时序视频输入,时钟频率最高150MHz
− 支持BT.601、BT.656、BT.1120视频输入接口
− 主通路最大支持到12xLane MIPI/LVDS/Sub-LVDS/HiSPi接口
− 第二路Sensor接口最大支持4xLane MIPI/LVDS/Sub-LVDS/HiSPi接口
− 支持与SONY、Aptina、OmniVision、Panasonic等主流高清CMOS Sensor对接
− 兼容多种Sensor并行/差分接口电气特性
− 提供可编程Sensor时钟输出

  • 输出

− 支持1路PAL/NTSC输出,支持负载自动检测
− 提供1个BT.1120/BT.656视频输出接口,用于外扩HDMI或SDI接口,最大支持1080P@60fps输出
− 支持LCD输出音频接口

  • 集成Audio codec,支持16bit语音输入和输出
  • 支持I2S接口,支持对接外部Audio codec
  • 支持双声道Mic差分输入,降低底噪

外围接口

  • 支持POR
  • 支持外部复位输入
  • 支持内部RTC
  • 集成3通道LSADC
  • 5个UART接口
  • IR接口、I2C接口、SSP主接口、GPIO接口
  • 8个PWM接口(4个独立,4个复用其它管脚)
  • 2个SD3.0/SDIO3.0接口,支持SDXC
  • 1个USB3.0/2.0 Host/Device接口
  • 1个PCIe2.0主/从模式
  • 支持RGMII和RMII模式;支持10/100Mbps全双工或半双工模式,支持1000Mbps全双工模式;支持TSO网络加速

外部存储器接口

  • DDR4/DDR3/DDR3L/LPDDR3接口

− 支持32bit LPDDR3最高800MHz (1.6 Gbps)
− 支持32bit DDR4/3/3L最高933MHz (1.866Gbps)
− 单颗16bit DDR颗粒最大容量支持1024MB
− 两颗16bit DDR颗粒最大容量支持2048MB

  • SPI Nor Flash接口

− 支持1、2、4线模式
− 支持3Byte、4Byte地址模式
− 最大容量支持32MB

  • SPI Nand Flash接口

− 最大容量支持512MB

  • 支持eMMC5.0接口

− 最大容量支持2TB

  • NAND Flash接口

− 8bit数据位宽
− 支持SLC、MLC
− 4、8、24、40、64Bit ECC
− 支持8GB以上容量器件

  • 可选择从SPI Nor Flash、SPI Nand Flash或NAND Flash启动
  • 支持从eMMC、PCIe启动

机械参数[编辑]

接口定义[编辑]

  • 引脚信息

Hi3519V101核心板将Hi3519V101处理器引脚复用功能维持原定义、扩展或转换功能重新定义,用户可参考设计,以配合产品标准驱动的开发。为了保证产品设计具有良好的兼容性和稳定性,用户没有使用到的引脚资源请务必悬空处理。

  • Hi3531D核心板引脚定义

Hi3531D核心板所有引脚功能均按下表的“默认功能”作了规定,请勿轻易修改,否则可能和出厂驱动冲突。如有疑问,请及时联系我们的销售或技术支持。
详细引脚定义请参照手册
淘宝链接
店铺链接

机械尺寸[编辑]

Hi3519V101核心板机械尺寸如下图所示(单位:mm)。图中4个定位孔的内孔直径为2mm。
3519V101核心板尺寸

资料文件[编辑]

  • 编译好的固件(支持MPI+BT1120)
        链接:https://pan.baidu.com/s/1fo3QJ4eaKlWuYOPZsETYMA  
        密码:y3u8

快速入门[编辑]

准备工作[编辑]

  • 硬件准备

Hi3519V101核心板和底板一套,串口调试工具一个,12V电源,网线,电脑(linux发行版本或者linux虚拟机)等

  • 软件准备

Hi3519V101 SDK,已编译好的固件,HiTool,串口调试助手等

烧写系统[编辑]

1.硬件连接及软件准备
将串口工具和评估板的J34接口连接(具体线序见原理图)。
需在linux中安装tftp服务,安装HiTool工具。
2.烧写Uboot
打开HiTool软件,选择芯片型号3519V101,选择对应的串口号,在Fastboot选项中Flash Type中选择spi,File选中提供固件文件中的uboot文件:u-boot-hi3519v101.bin。
3.烧写内核和文件系统
烧写Uboot成功后,设置相应的环境变量,并检查网络是否通畅,打开串口助手,在其中依次输入

  • 烧写内核
       mw.b 82000000 ff 400000;tftp 82000000 uImage_hi3519v101;sf probe 0; sf erase 100000 400000;sf write 82000000 100000 400000	
  • 烧写文件系统
       mw.b 82000000 ff b00000;tftp 82000000 hi3519_mipi_hdmi.bin;sf probe 0; sf erase 500000 b00000;  sf write 82000000 500000 b00000	
  • 设置启动参数
       setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
       setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
       sa

编译环境搭建[编辑]

需要的工具:Hi3519V101的SDK,以及Linux发行版系统。

安装Hi3519V101 SDK[编辑]

步骤 1. 将 Hi3519V101_SDK_Vx.x.x.x.tgz 或 Hi3516AV200_SDK_Vx.x.x.x.tgz(XX 是版本号)拷贝到 Linux 服务器上。
步骤 2. 解压。解压文件,使用命令:tar –zxf Hi3519V101_SDK_Vx.x.x.x.tgz 或 tar –zxf Hi3516AV200_SDK_Vx.x.x.x.tgz。
步骤 3. 安装。解压完成后,进入 Hi3519V101R001XX 或 Hi3516AV200R001XX 目录,执行./sdk.unpack,执行完毕后安装成功。

安装交叉编译器[编辑]

SDK提供两种编译工具链 arm-hisiv500-linux 和 arm-hisiv600-linux,其中 armhisiv500-linux 为基于 uclibc 的工具链,arm-hisiv600-linux 为基于 glibc 的工具链。
安装步骤如下:
步骤 1. 解压工具链。
工具链及其安装程序位于 osdrv/toolchain/arm-hisiXXX-linux/目录下,进入此目录,执行如下命令进行解压:

        cd toolchain/arm-hisiXXX-linux/
        tar -xvf arm-hisiXXX-linux.tar.bz2

步骤 2. 安装工具链。
运行命令 sudo ./cross.install 即可完成此工具链的安装。

编译U-Boot[编辑]

2.2 编译 U-boot

  • 配置编译环境

当启动介质是 eMMC、SPI-Nor Flash 或 SPI-NAND Flash 时,使用编译命令:

       make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3519v101_config
       make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3516av200_config

当启动介质是 NAND Flash 时,使用编译命令:

       make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux- hi3519v101_nand_config
       make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linuxhi3516av200_nand_config

编译成功后,将在U-boot目录下生成u-boot.bin。

  • 编译 U-boot
       make ARCH=arm CROSS_COMPILE=arm-hisivXXX-linux

其中 CROSS_COMPILE 表示工具链。文档中统一以 CROSS_COMPILE=arm-hisiXXX-linux-来表示两种情况。 Hi3519_V101R001C01SPCxxx, Hi3516A_V200R001C01SPCxxx 对应 uclibc,使用 uclibc 工具链时,CROSS_COMPILE=arm-hisiv500-linux-。
Hi3519_V101R001C02SPCxxx, Hi3516A_V200R001C01SPCxxx 对应 glibc,使用 glibc 工具链时,CROSS_COMPILE=arm-hisiv600-linux-。 这一步生成的 u-boot.bin 只是一个中间件,并不是最终在单板上执行的 U-boot 镜像。

  • 配置 DDR 存储器

在 Windows 下打开 SDK 中的“osdrv/ tools/pc/uboot_tools/”目录下的配置表格。当选用不同的 DDR SDRAM 时,需要针对不同器件的特性,对配置工作表中的标签页【mddrc_dmc0】和【mddrc_phy0】进行修改。

  • 配置管脚复用

如果管脚复用有变化,还需要对配置表格中的标签页【multiplex】进行修改。

  • 生成最终使用的 U-boot 镜像

完成配置表格的修改后,保存表格。单击表格第一个标签页上的按钮【Generage regbin file】(只能点此按钮),生成临时文件 reg_info.bin。 将临时文件 reg_info.bin 和编译 u-boot 得到的 u-boot.bin 都拷贝到 SDK 中的“osdrv/tools/pc/uboot_tools/”目录下,执行命令:

       ./mkboot.sh reg_info.bin u-boot-hi3519v101.bin
       ./mkboot.sh reg_info.bin u-boot-hi3516av200.bin

其中 u-boot-hi3519v101.bin, u-boot-hi3516av200.bin 就是能够在单板上运行的 U-boot镜像。

编译Linux kernel[编辑]

  • 成功安装 Hi3519V101/Hi3516AV200 SDK 后,内核源代码已存放于 SDK 目录下的osdrv/目录中,用户可直接进入目录进行相关操作。
  • 配置内核

步骤 1. 手动拷贝.config 文件:

      hisilicon$cd kernel/linux-3.18.y
      hisilicon$cp arch/arm/configs/hi3519v101_xxx_defconfig.config

(注:hi3519v101_xxx_defconfig可以是hi3519v101_big_little_defconfig、hi3519v101_big_little_nand_defconfig中的一个。)
步骤 2. 用户通过“make menuconfig”进行内核配置:

      hisilicon$make ARCH=arm CROSS_COMPILE= arm-hisiXXX-linux- menuconfig

步骤 3. 选择需要的模块。
步骤 4. 选择完毕后,保存并退出

  • 编译内核并生成内核镜像 uImage

配置保存后,可直接输入“make ARCH=arm CROSS_COMPILE=arm-hisiXXX-linuxuImage 命令编译内核生成镜像,此时需要等待几分钟。

编译文件系统[编辑]

利用 busybox 制作根文件系统需要先获取 busybox 源代码,然后配置、编译和安装busybox,操作成功后开始制作根文件系统。

  • 获取 busybox 源代码

成功安装 SDK 后,busybox 完整源代码就存放在 osdrv/目录中。要获取 busybox 源代码,也可以从网站 http://www.busybox.net 下载。

  • 配置 busybox

进入 busybox 所在目录,进行配置操作需要输入如下命令:
a.

       hisilicon$ cp osdrv/busybox/busybox-1.20.2/ config_vXXX_softfp_neon osdrv/busybox/busybox-1.20.2/.config //指定配置文件

其中,config_vXXX_softfp_neon 代表两种情况:
− config_v500_softfp_neon 对应工具链 arm-hisiv500-linux
− config_v600_softfp_neon 对应工具链 arm-hisiv600-linux
b.

      hisilicon$ make menuconfig

busybox 的配置界面和内核配置相似,其功能选项容易理解,可以根据自己的需求选择配置。在 Busybox Settings ---> Build Options 中注意下面两个选项:
[*]Build BusyBox as a static binary (no shared libs)
[*] Build with Large File Support (for accessing files > 2 GB)
(arm-hisiv500-linux-) Cross Compiler prefix
() Path to sysroot
(-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4) Additional CFLAGS
(-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4) Additional LDFLAGS
() Additional LDLIBS
其中:
− 第一个选项选择是否把 busybox 编译成静态链接的可执行文件。如果选择该选项,编译出来的 busybox 就是静态链接的,运行时不依赖于动态库,但体积较大;清除该选项将得到动态链接的 busybox,体积较小,但需要动态库的支持。
− 第二个选项是用于选择 SDK 推荐的交叉编译器,配置好后保存并退出。欲了解 busybox 各选项含义请参考 busybox 配置帮助。

  • 编译和安装 busybox

编译和安装 busybox 的具体操作如下:

       hisilicon$ make
       hisilicon$ make install

编译并安装成功后,在 busybox 目录下的_install 目录下生成以下目录及文件:
drwxr-xr-x 2 lnan lnan 4096 2014-05-23 14:37 bin
lrwxrwxrwx 1 lnan lnan 11 2014-05-23 14:37 linuxrc -> bin/busybox
drwxr-xr-x 2 lnan lnan 4096 2014-05-23 14:37 sbin
drwxr-xr-x 4 lnan lnan 4096 2014-05-23 14:37 usr

  • 制作根文件系统

成功安装 SDK 后,在 osdrv/pub/目录中存放已制作好的根文件系统。
用户如有需要可在 busybox 的基础上制作根文件系统。
制作根文件系统的具体操作步骤如下:
步骤 1.

       hisilicon$mkdir rootbox
       hisilicon$cd rootbox
       hisilicon$cp –R packet/os/busybox-1.20.2/_intsall/* .
       hisilicon$mkdir etc dev lib tmp var mnt home proc

步骤 2.
配置 etc、lib、dev 目录的必需文件。
a. etc 目录可参考系统/etc 下的文件。其中最主要的文件包括 inittab、fstab、init.d/rcS文件等,这些文件最好从 busybox 的 examples 目录下拷贝过来,根据需要自行修改。
b. dev 目录下的设备文件,可以直接从系统中拷贝过来或者使用 mknod 命令生成需要的设备文件。拷贝文件时请使用 cp –R file。
c. lib 目录是存放应用程序所需要的库文件,请根据应用程序需要拷贝相应的库文件。

osdrv 顶层 Makefile 使用说明[编辑]

本目录下的编译脚本支持选用下文提到的两种工具链中的任何一种进行编译,因此编译时需要带上一个编译参数以指定对应的工具链 -- arm-hisiv500-linux 和 arm-hisiv600-linux。其中,arm-hisiv500-linux工具链对应uclibc库,arm-hisiv600-linux工具链对应glibc库。具体命令如下

  • 编译整个osdrv目录:
       make OSDRV_CROSS=arm-hisiv500-linux CHIP=xxx FLASH_TYPE=xxx all
       或者
       make OSDRV_CROSS=arm-hisiv600-linux CHIP=xxx FLASH_TYPE=xxx all

参数说明:
CHIP:设为hi3519v101参数时,对应芯片为hi3519v101;设为hi3516av200参数时,对应芯片为hi3516av200。
FLASH_TYPE:设为nand参数时,使用Nand Flash;设为spi参数时,使用SPI Nor Flash或SPI Nand Flash。

  • 清除整个osdrv目录的编译文件:
       make OSDRV_CROSS=arm-hisiv500-linux CHIP=xxx clean
       或者
       make OSDRV_CROSS=arm-hisiv600-linux CHIP=xxx clean
  • 彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:
       make OSDRV_CROSS=arm-hisiv500-linux CHIP=xxx distclean
       或者
       make OSDRV_CROSS=arm-hisiv600-linux CHIP=xxx distclean
  • 单独编译kernel:

待进入内核源代码目录后,执行以下操作:

       cp arch/arm/configs/hi3519v101_big_little_xxx_defconfig .config
       make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
       make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage
       或者
       cp arch/arm/configs/hi3519v101_big_little_xxx_defconfig .config
       make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- menuconfig
       make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- uImage
  • 单独编译uboot:

待进入boot源代码目录后,执行以下操作:

       make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3519v101_xxx_config
       make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
       或者
       make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux- hi3519v101_xxx_config
       make ARCH=arm CROSS_COMPILE=arm-hisiv600-linux-

将生成的 u-boot.bin 复制到 osdrv/tools/pc_tools/uboot_tools/ 目录

      ./mkboot.sh reg_info_hi3519v101.bin u-boot-hi3519v101.bin

将生成可用的 u-boot-hi3519v101.bin 镜像文件

  • 制作文件系统镜像:

在osdrv/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上flash的规格型号制作文件系统镜像即可。 spi flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到spi flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。下面以块大小为256岁KB为例:

       osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2
       或者
       osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc -l -e 0x40000 -o osdrv/pub/rootfs_glibc_256k.jffs2
      nand flash和spi nand flash使用yaffs2格式的镜像,制作yaffs2镜像时,需要用到nand flash的pagesize和ecc。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkyaffs2image工具,根据打印信息填写相关参数。
示例:

2KB pagesize、4bit ecc命令格式为:

       osdrv/pub/bin/pc/mkyaffs2image100 osdrv/pub/rootfs_uclibc osdrv/pub/rootfs_uclibc_2k_4bit.yaffs2 1 2
       或者
       osdrv/pub/bin/pc/mkyaffs2image100 osdrv/pub/rootfs_glibc osdrv/pub/rootfs_glibc_2k_4bit.yaffs2 1 2

资源链接[编辑]

项目链接
讨论区