EMB-7542

来自ARM Wiki
Tangdapeng讨论 | 贡献2020年1月17日 (五) 09:55的版本 接口引脚定义
跳转至: 导航搜索

介绍

概览
正面
  • EMB-7542的核心芯片是3516dv300,双核 ARM Cortex-A7@ 900MHz,32KB I-Cache,32KB D-Cache,256KB L2 Cache, 支持 NEON 加速,集成 FPU 处理单元。
  • EMB-7542(简称7542),大小仅为120x80mm大小,运行Linux操作系统,拥有稳定可靠的工业级性能,高品质超高清视频编解码能力、支持强大硬件加速算法、接口丰富、扩展性强,可应用神经引擎,深度学习,人工智能等领域开发,以及网络视频监控系统、高清摄像机、视频服务器、无人驾驶、医疗领域等行业。

资源特性

  • CPU:双核 ARM Cortex-A7
  • Memory:板载1G
  • Storage:板载16GB iNAND Flash,1x TF卡槽
  • Ethernet: 1 x LAN,10/100/1000Mbps
  • Input:CMOS Sensor(根据镜头规格设计转接板)
  • 支持两路输入:第一路支持输入最大宽度 2688,最大分辨率 2688x1944;第二路支持输入最大宽度 2048,最大分辨率 2048x1536;两路补光灯PWM控制接口
  • Display:1xHDMI、1x MIPI DSI
  • Touch:电容或电阻屏
  • USB Host:1x USB2.0
  • COM: 1x COM232;1x COM485;1x debug
  • Audio:1xLine out;1xMic(3.5mm四节耳机孔)
  • Other I/O:2x DI,1x DO;2x DI,1x DO;支持GPIO、I2C扩展
  • System Control:1x PWR LED,1x RUN LED
  • RTC:支持
  • Watchdog:支持(Internal)
  • Wiegand:支持
  • DC-IRIS:支持
  • P-IRIS:支持
  • Power Supply:单电源+ 12V DC
  • Temperature:Work :-20℃ ~ +65℃, Storage :-40℃ ~ +85℃
  • Humidity:5% ~ 95%相对湿度,无冷凝
  • Size: 120mm x 80 mm
  • OS: Linux

接口布局和尺寸

接口概览

EMB-7542 正面接口布局
EMB-7542 侧面接口布局

接口引脚定义

传感器接口转接板定义

文件:EMB-7542转接板.jpg
EMB-7542 转接板

机械尺寸

文件:EMB-7542尺寸.png

下载

  • 系统烧录工具下载
  • 系统镜像文件下载
  • Sample文件下载
  • Sample源码下载
  • 交叉编译工具下载

烧录方法

HiTool 烧录方法

适用场景

  • 适用于一键烧写所有程序镜像到单板flash 上的场景、单板已有 boot 可按地址烧写其他程序镜像到单板 flash 上的场景,以及在空板上只烧写 boot 到单板 flash 上的场景。
  • 本文只介绍 <eMMC烧录>方法。

环境部署

HiBurn 工具烧写的环境准备如下:
  • 步骤 1. PC 与单板之间连接好串口、网线,将JFP1(JFP1)上3脚(BOOT_SEL1_MODE)、4脚(GND)上的跳帽移除。
  • 步骤 3. 解压 HiTool-BVT-5.0.46.zip,双击工具目录下的 HiTool.exe,打开 HiTool 工具,如图 1-1 所示。
图1-1 从 HiTool 工具目录打开 HiTool 工具
  • 步骤 4. 选择单板对应的芯片型号,如图 1-2 所示。
图1-2 选择单板对应的芯片型号
  • 步骤 5. 在欢迎页中选择 HiBurn 工具, 如图 1-3 所示。
图1-3 选择 HiBurn 工具
  • 步骤 6. 参数配置,选择连接单板所用的串口,选择 PC 端使用的网络 IP 地址,配置好单板的MAC 地址、IP 地址、子网掩码以及网关,配置如图 1-4 所示。
图1-4 参数设置

eMMC烧录

适用场景
适用场景如下:只适用于 eMMC 烧写,不管单板上有没有 boot 都适用,可实现一键烧写所有镜像。
烧写步骤
具体烧写步骤如下:
  • 步骤 1. 切换到“烧写 eMMC”页签,如图 5-1 所示。
图5-1 eMMC 烧写界面
说明:
切换“默认采用 XML 所在路径”的勾选状态,若勾选,则优先在 XML 路径下查找该分区文件。若不勾选,则优先采用绝对路径查找该文件,若找不到,再尝试以在 XML 所在目录下查找该文件,该状态默认被勾选。
XML 是一个配置文件用于保存分区表信息的,可以将编辑的分区表使用工具上的 Save 按钮保存成一个 XML 文件,下次打开工具时,将 XML 导入进来,分区表信息就直接加载进来。
  • 步骤 2. 配置单板分区信息,点击“浏览”,可选择已设置好的分区表信息,载入工具中,如图 5-2 所示界面。
图5-2 配置单板分区信息
  • 步骤 3. 准备单板环境。连接单板的串口和网口,如果单板处于通电状态,给单板下电 。
  • 步骤 4. 烧写单板,点击烧写按钮【Burn】。
  • 步骤 5. 给单板上电,进入烧写过程,等待烧写完成。
  • 烧写过程的信息会在控制台中显示。
  • 串口选择是否正确。
  • IP 地址设置是否正确,地址是否被占用。
  • JFP1上3、4脚的跳帽是否移除。
  • 步骤 6. 烧写完成,连接终端工具,重启单板。

SD卡(U盘) 烧录方法

适用场景

  • sd卡烧录简单快速,可用于裸板烧录;U盘烧录必须在有uboot情况下。

烧写步骤

具体烧写步骤如下:
  • 步骤 1. 格式化 SD卡(U盘)为 FAT32 格式,若 SD 卡有多个分区时,升级包必须放在第一个分区,否则扫描不到升级包。
  • 步骤 2. 从上面链接处下载系统烧录镜像,把各镜像文件名更改为:u-boot.bin,kernel,rootfs.ext4。
  • 步骤 3. 新建config文件(若下载镜像文件中有config则跳过该步骤),config文件内容如下:
setenv bootargs 'mem=256M console=ttyAMA0,115200n8 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait blkdevparts=mmcblk0:1M(u-boot.bin),4M(kernel),96M(rootfs.ext4),-'
setenv bootcmd 'mmc read 0 0x82000000 0x800 0x2000;bootm 0x82000000'
  • 步骤 4. 选择升级烧录模式,把JFP2(JFP2)的3(UPDATE_MODE_N),4(GND)脚用跳帽短接,进入烧录模式后需要移除跳帽否则重启后会继续烧录。
  • 步骤 5. 把u-boot.bin,kernel,rootfs.ext4,config文件拷贝到SD卡或U盘中(目标文件sample_app.tar.gz也可以拷贝进来),插入SD卡,上电启动,等待5-20秒即可烧录成功,可在串口中看到如下打印:
Sd burn.PNG
  • 注意事项:
u-boot 镜像名称必须为 u-boot.bin。
裸烧会自动保存 config 中的 bootargs 和 bootcmd 环境变量,没有 config 文件时,仅会烧写 bootrom 读取的 u-boot 镜像。
进入烧录模式后记得把JFP的3,4引脚跳帽去掉,否则下次启动又会进入升级烧录模式。

Demo使用

  • 系统出厂时默认已搭建好了相应的Demo运行环境。

sample_audio(音频相关)

 1 /data/sample/audio # ./sample_audio 
 2 /Usage:./sample_audio <index>/
 3         index and its function list below
 4         0:  start AI to AO loop
 5         1:  send audio frame to AENC channel from AI, save them
 6         2:  read audio stream from file, decode and send AO
 7         3:  start AI(VQE process), then send to AO
 8         4:  start AI to AO(Hdmi) loop
 9         5:  start AI to AO(Syschn) loop
10         6:  start AI to Extern Resampler
shell 说明:
1. 运行sample_audio 音频 (输入/输出/编码/解码)样例
2. 使用提示:./sample_audio <索引>
3. 以下内容是索引对应的功能
4.  0) 音频从输入到输出 (话筒功能)
5.  1) 采集音频输入帧发送到编码通道,保存文件 (录音功能)
6.  2) 从文件读取音频流,解码然后发送到输出 (解码播放功能)
7.  3) 通过音频输入声音质量增强处理,然后输出音频 (声音质量增强处理功能)
8.  4) 采集音频输入到HDMI中音频输出 (HDMI设备播放音频功能)
9.  5) 音频输入到系统音输出 (话筒功能)
10.  6) 音频输入到外部重采样器

sample_vio(视频输入输出)

 1 /data/sample/vio/smp # ./sample_vio 
 2 Usage : ./sample_vio <index>
 3 index:
 4          0)VI (Online) - VPSS(Online) - VO.
 5          1)WDR(Offline)- VPSS(Offline) - VO. LDC+DIS+SPREAD.
 6          2)Resolute Ratio Switch.
 7          3)GDC - VPSS LowDelay.
 8          4)Double WDR Pipe.
 9          5)FPN Calibrate & Correction.
10          6)WDR Switch.
11          7)90/180/270/0/free Rotate.
12          8)UserPic.
13 
14          Hi3516DV300/Hi3559V200/Hi3556V200) vo HDMI output.
15          Hi3516CV500) vo BT1120 output.
16          If you have any questions, please look at readme.txt!
shell 说明:
1. 运行 sample_vio
2. 使用方法:./sample_vio <index>
3. index:
4.  0) 输入(Online)--> 视频处理(Online) -->输出
5.  1) 宽动态输入(Offline)--> 视频处理(Offline) -->输出 镜头畸变校正和旋转
6.  2) Resolute Ratio Switch.
7.  3) GDC - 视频处理(低延时)
8.  4) Double WDR Pipe.
9.  5) FPN校准和校正
10.  6) WDR Switch
11.  7) 90度/180度/270度/0度/自由角度旋转
12.  8) UserPic
14.  Hi3516DV300/Hi3559V200/Hi3556V200) 从HDMI输出
15.  Hi3516CV500) 从BT1120输出
16.  如有疑问请查看readme.txt!

sample_region(视频图片层叠)

 1 /data/sample/region # ./sample_region 
 2 Usage : ./sample_region <index> 
 3 index:
 4          0)VI OSDEX.
 5          1)VI COVEREX.
 6          2)VPSS OSDEX.
 7          3)VPSS COVEREX.
 8          4)VPSS COVER.
 9          5)VPSS MOSAIC.
10          6)VO OSDEX.
11          7)VO COEREX.
shell 说明:
1. 运行 sample_region
2. 使用方法:./sample_region <index>
3. index:
4.  0) VI OSDEX.
5.  1) VI COVEREX.
6.  2) VPSS OSDEX.
7.  3) VPSS COVEREX.
8.  4) VPSS COVER.
9.  5) VPSS MOSAIC.
10.  6) VI OSDEX.
11.  7) VO COEREX.

sample_vdec(视频数据解码)

 1 /data/sample/vdec # ./sample_vdec 
 2 
 3 Invaild input!  For examples:
 4 
 5 /************************************/
 6 Usage : ./sample_vdec <index> <IntfSync >
 7 index:
 8         0:  VDEC(H265 PLAYBACK)-VPSS-VO
 9         1:  VDEC(H264 PLAYBACK)-VPSS-VO
10         2:  VDEC(JPEG PLAYBACK)-VPSS-VO
shell 说明:
1. 运行sample_vdec 视频解码样例,解码目录下的视频和图片文件。
3. 非法输入,使用示例如下:
6. 使用提示: ./sample_vdec <索引>
7. 参数<索引>:
8.  0) VDEC解码器输入(H265的编码格式视频)--->VPSS(视频处理)--->VO(视频输出)
9.  1) VDEC解码器输入(H264的编码格式视频)--->VPSS(视频处理)--->VO(视频输出)
10.  2) VDEC解码器输入(JPEG格式图片)--->VPSS(视频处理)--->VO(视频输出)

sample_awb_calibration(自动白光平衡测量)

 1 /data/sample/awb_online_calibration # ./sample_awb_calibration 
 2 Usage : ./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
 3 mode:
 4          0) Calculate Sample gain.
 5          1) Adjust Sample gain according to Golden Sample.
 6 intf1:
 7          The value of Rgain of Golden Sample.
 8 intf2:
 9          The value of Bgain of Golden Sample.
10 intf3:
11          The value of Alpha ranging from 0 to 1024 (The strength of adusting Sampe Gain will increase with the value of Alpha) .


shell 说明:
1. 运行 sample_awb_calibration
2. 使用方法:./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
3. <mode>
4.  0) 计算例子中的增益
5.  1) 根据标准例子来校正例子中的增益
6. intf1:
7.  标准例子中的深红色区域的锐化增益控制值
8. intf2:
9.  标准例子中的深蓝色区域的锐化增益控制值
10. intf3:
11.  0~1024范围的初始值(采样数据的增益强度会随着初始值的值增加而增加)

sample_venc(视频数据编码)

 1 /data/sample/venc # ./sample_venc 
 2 Usage : ./sample_venc [index] 
 3 index:
 4           0) H.265e + H264e.
 5           1) Lowdelay:H.265e.
 6           2) Qpmap:H.265e + H264e.
 7           3) IntraRefresh:H.265e + H264e.
 8           4) RoiBgFrameRate:H.265e + H.264e.
 9           5) DeBreathEffect:H.265e + H.264e.
10           6) svc-t :H.264.
11           7) Mjpeg +Jpeg.
shell 说明:
1. 运行sample_venc (录制) 视频编码样例,需要接摄像头
2. 使用方法: ./sample_venc [index]
3. 参数<索引>
4.  0) 录制h265编码视频 + h264编码视频
5.  1) 使用Lowdelay模式:录制h265编码视频
6.  2) 使用Qpmap模式:录制h265编码视频 + h264编码视频
7.  3) 使用IntraRefresh模式:录制h265编码视频 + h264编码视频
8.  4) 使用RoiBgFrameRate模式:录制h265编码视频 + h264编码视频
9.  5) 使用DeBreathEffect模式:录制h265编码视频 + h264编码视频
10.  6) 使用svc-t模式:录制h264编码视频
11.  7) Mjpeg(Mjpeg协议编码方式) + Jpeg(Jpeg的编码)

sample_dis(Digital Image Stabilization,数字防抖)

1 /data/sample/dis # ./sample_dis 
2 Usage : ./sample_dis <index>
3 index:
4          0)DIS-4DOF_GME.VI-VO VENC.
5          1)DIS-6DOF_GME.VI-VO VENC.
shell 说明:
1. 运行 sample_dis
2. 使用说明: ./sample_dis <index>
3. index:
4.  0) DIS-4DOF_GME(四自由度 GME 算法,不使用陀螺仪),输入-输出 同时H265格式录像(存储在当前)
5.  1) DIS-6DOF_GME(六自由度 GME 算法,不使用陀螺仪),输入-输出 同时H265格式录像(存储在当前)

sample_snap(拍照)

1 /data/sample/snap # ./sample_snap 
2 Usage : ./sample_snap <index> 
3 index:
4          0)double pipe offline, normal snap.
shell 说明:
1. 运行sample_snap 拍照
2. 使用说明:./sample_snap <索引>
3. 参数<索引>
4.  0)双 pipe 离线模式普通拍照

sample_vgs(Video Graphics Sub-System,视频图形子系统)

 1 /data/sample/vgs # ./sample_vgs 
 2 
 3 /*****************************************/
 4 Usage: ./sample_vgs <index>
 5 index:
 6         0) FILE -> VGS(Scale) -> FILE.
 7         1) FILE -> VGS(Cover+OSD) -> FILE.
 8         2) FILE -> VGS(DrawLine) -> FILE.
 9         3) FILE -> VGS(Rotate) -> FILE.
10 /*****************************************/
shell 说明:
1. 运行 sample_vgs
2. 使用说明:./sample_vgs <index>
3. index:
4.  0) FILE-->视频图像子系统(Scale)-->FILE
5.  1) FILE-->视频图像子系统(Cover+OSD)-->FILE
6.  2) FILE-->视频图像子系统(DrawLine)-->FILE
7.  3) FILE-->视频图像子系统(Rotate)-->FILE

sample_hifb(基于Linux FB 基本功能扩展了一些图形层控制功能)

 1 /data/sample/hifb # ./sample_hifb 
 2 Usage : ./sample_hifb <index>
 3 
 4 
 5 /****************index******************/
 6 please choose the case which you want to run:
 7         0:  ARGB8888 standard mode
 8         1:  ARGB1555 BUF_DOUBLE mode
 9         2:  ARGB1555 BUF_ONE mode
10         3:  ARGB1555 BUF_NONE mode
11         4:  ARGB1555 BUF_ONE mode with compress
12         5:  ARGB8888 BUF_ONE mode with compress
shell 说明:
1. 运行 sample_hifb
2. 使用说明:./sample_hifb <index>
5. <index>
6. 请选择以下您想运行的情况之一
7.  0: ARGB8888像素格式(标准模式)
8.  1: ARGB1555像素格式双缓存模式
9.  2: ARGB1555像素格式单缓存模式
10.  3: ARGB1555像素格式无缓存模式
11.  4: ARGB1555像素格式带压缩的单缓存模式
12.  5: ARGB8888像素格式带压缩的单缓存模式

sample_ive_main(智能加速引擎)

 1 /data/sample/svp/ive # ./sample_ive_main 
 2 Usage : ./sample_ive_main <index> [complete] [encode] [vo]
 3 index:
 4          0)Occlusion detected.(VI->VPSS->IVE->VO_HDMI).
 5          1)Motion detected.(VI->VPSS->IVE->VGS->VO_HDMI).
 6          2)Canny,<complete>:0, part canny;1,complete canny.(FILE->IVE->FILE).
 7          3)Gmm2.(FILE->IVE->FILE).
 8          4)MemoryTest.(FILE->IVE->FILE).
 9          5)Sobel.(FILE->IVE->FILE).
10          6)St Lk.(FILE->IVE->FILE).
11          7)Kcf track.(VI->VPSS->IVE->VO_HDMI).
12          8)PerspTrans.(FILE->IVE->FILE).
shell 说明:
1. 运行 sample_ive_main
2. 使用说明: ./sample_ive_main <index>
3. index:
4.  0) 遮挡检测
5.  1) 运动检测
6.  2) 边缘检测
7.  3) 高斯模型Gmm
8.  4) 内存测试
9.  5) Sobel算子分割
10.  6) St和LK光流法
11.  7) 高速跟踪
12.  8) PerspTrans

sample_nnie_main(神经网络硬件加速单元测试)

 1 /data/sample/svp/nnie # ./sample_nnie_main 
 2 Usage : ./sample_nnie_main <index> 
 3 index:
 4          0) RFCN(VI->VPSS->NNIE->VGS->VO).
 5          1) Segnet(Read File).
 6          2) FasterRcnnAlexnet(Read File).
 7          3) FasterRcnnDoubleRoiPooling(Read File).
 8          4) Cnn(Read File).
 9          5) SSD(Read File).
10          6) Yolov1(Read File).
11          7) Yolov2(Read File).
12          8) LSTM(Read File).
13          9) Pvanet(Read File).
14          a) Rfcn(Read File).
shell 说明:
1. 运行 sample_nnie_main
2. 使用说明: ./sample_nnie_main <index>
3. index:
4.   0) RFCN模型,从摄像头采集图像标定人形。
5.   1) 可训练的图像分割Segnet
6.   2) 深度学习的目标检测Alexnet
7.   3) 深度学习的目标检测DoubleRoiPooling
8.   4) 神经网络Cnn
9.   5) 可训练的SSD模型处理
10.  6) 神经网格模型Yolov1
11.  7) 神经网格模型Yolov2
12.  8) LSTM模型
13.  9) 目标检测Pvanet算法
14.  a) 目标检测Rfcn算法

sample_traffic_capture(抓拍)

1 /data/sample/traffic_capture # ./sample_traffic_capture 
2 Usage : ./sample_traffic_capture <index> 
3 index:
4          0)sample of traffic picture capture .
shell 说明:
1. 运行 sample_traffic_capture
2. 使用说明: ./sample_traffic_capture <index>
3. index:
4.   0) 交通图片抓拍示例

其他功能说明

nfs配置和网络

1,pc机安装nfs服务,安装前可以先学习下这个网站内容:https://blog.csdn.net/iamplane/article/details/53912176
pc机操作示例如下:
1 $ sudo apt-get install nfs-kernel-server
2 $ sudo apt-get install nfs-common​
3 $ sudo gedit /etc/exports #添加下面内容/home/nfs *(rw,sync,no_root_squash,no_subtree_check)
4 $ sudo /etc/init.d/rpcbind restart #重启rpcbind
5 $ sudo /etc/init.d/nfs-kernel-server restart #重启nfs服务
6 $ showmount -e #使用此命令后有”/home/nfs“则安装成功
2,设备debug串口链接到PC机上,串口参数是115200 8N1(详细见串口接口定义
在设备串口终端上,通过下面命令配置IP eth0:
1 ~ # ifconfig eth0 192.168.8.189
在设备串口终端,通过下面命令挂载PC机的/home/nfs目录到设备的/mnt/nfs目录(192.168.8.xx是PC机的IP,和设备eth0的IP处在同一网段即可):
1 ~ # mount -t nfs -o nolock -o tcp 192.168.8.xx:/home/nfs /mnt/nfs
2 ~ # cd /mnt/nfs
3 ~ # ls #查看PC机共享的内容
这样PC机共享出/home/nfs目录后,在设备的/mnt/nfs目录就可以访问PC机/home/nfs目录的内容。

继电器控制

支持继电器控制。
通过操作GPIO19可以控制继电器的常开和闭合。
1  echo 19 > /sys/class/gpio/export            #导出GPIO2_3
2  echo out > /sys/class/gpio/gpio19/direction #设置GPIO2_3方向为输出
3  echo 1 > /sys/class/gpio/gpio19/value       #控制继电器断开
4  echo 0 > /sys/class/gpio/gpio19/value       #控制继电器闭合
5  echo 19 > /sys/class/gpio/unexport          #取消GPIO2_3的导出

设置RTC时间

查看当前时间
1 ~ # date
2 Mon Jan  8 00:00:01 UTC 2018
设置时间并保存到硬件
1 ~ # date -s "2019-1-17 11:38:45"                 #设置系统时间
2 ~ # hwclock -w                                   #将时间保存到硬件

USB口U盘挂载

将U盘插入USB口,会有很多提示信息,其中比较有用的标识是sda: sda1信息(第一个U盘,后面以此是sdb1,sdc1...),然后通过下面命令进行U盘挂载,进入/mnt/usb目录可以看到U盘内容。
1 ~ # mount -t vfat /dev/sda1 /mnt/usb #假设看到的提示信息是sda1
2 ~ # cd /mnt/usb
3 ~ # ls #查看U盘内容

TF口使用

将TF卡插入到设备TF卡槽内,重启系统,在终端会有mmc1: new high speed SD card at address 0001提示。使用下面命令进行挂载(mmcblk0是系统emmc使用,TF卡为mmcblk1),在 /mnt/mmc目录下可以看到TF卡里面的内容。
1 # mount -t vfat /dev/mmcblk1p1 /mnt/mmc
2 # cd /mnt/mmc
3 # ls #查看TF卡内容

COM口使用

一个COM232,一个COM485,一个debug调试串口,引脚定义详见串口接口定义
软件上COM232口对应的设备是/dev/ttyAMA2,COM485对应的设备是/dev/ttyAMA1,debug串口对应的设备是/dev/ttyS000。
调试串口默认参数是115200 8 N 1。

NNIE开发说明

NNIE

下载包中SVP_PC.part是海思模型转化和仿真工具,目前仅支持caffe模型。
用户在caffe框架上训练得到的模型需要使用该工具转化成端板识别的模型,即wk文件。
模型转化请参考《HiSVP开发指南》。