机器视觉:嵌入式视觉系统中的接口
机器视觉:嵌入式视觉系统中的接口
现在我们要构建一个自动割草机,割草机的空间定位需要通过相机扫描环境来获得,这个场景下传统的机器视觉系统满足不了,但嵌入式系统可以满足。为什么?因为割草机是用电池供电的,需要功耗低,体积小,价格低。
那么,我们如何实现自动割草机呢?
• 体积小
我们可以用嵌入式处理平台,比如SoC,SoC是电脑的核心电子元件,它集成GPU来完成视觉任务,同时集成CPU,内部总线,接口等,都在一个芯片上。尽管SoC性能不如PC的处理器,不过它已经可以满足很多应用场景了。
• 低成本
为了保证低成本设计,SoC直接焊接在PCB上。
如何集成嵌入式系统呢?
一个标准工业相机显然太大,太贵,功耗太高。一个板级相机是个好的选择,这种模块能保留了应用需要的部分。比如这种模块去掉了包装盒子,因为它可以直接集成到割草机里面,它节省空间,成本,低功耗。
相机模块又如何连接主处理板?
相机模块有不同的接口,一般会使用USB 2.0,USB 3.0,串行还是并行接口,MIPI CSI-2,它们都有各自的优劣势,下面详细介绍各自的优缺点。
USB 2.0
一般在SoC中都能支持,也就是说只有少量的硬件需要USB转接器,缺点是带宽低只有40MB/s,在高速高分辨率的场景下就不支持。
USB 3.0
带宽支持360MB/s,如果相机模块支持,那么集成性很好,驱动和SDK等都是基于LINUX/ARM嵌入式系统标准化的,在这样的系统中畅快运行。
即插即用的特性让USB接口很容易集成到应用系统中。如果开发预算费用比较紧张,USB是比较好的选择。
USB 2.0和USB 3.0有个共同点,都需要一个大的连接器和不太灵活的线缆,有可能会限制应用场景。并且,只有少量的SoC支持USB 3.0。
并行接口
相机模块通过基带线来和主板通信。这种模块需要有并行视频输入的SoC(很少见),它的最大线长支持是50cm。
串行接口
用于和FPGA 连接,如果嵌入式系统的核心已经是FPGA,那么就应该选择串行接口,这种相机模块也是通过基带线来和FPGA通信,有些模块支持1m。并行和串行接口有个共同点,需要相机的驱动已经在SoC中安装好了。
MIPI CSI-2
是由Mobile Industry Processor Interface Alliance这个组织标准化的接口,CSI-2代表Camera Serial Interface 2nd Generation,是移动应用的通用接口,用于智能手机摄像模块和SoC的通信,几乎所有的SoC都提供了6个串行通道用于连接1到多个相机,每个通道的传输速度达到300MB/s,能够支持和高清相机,但传输线缆只支持30cm以内,同样需要相机的驱动已经在SoC中安装好了,否则需要自己开发驱动,成本不低。
接口对比如下:
在我们的割草机中,不需要额外的硬件,因此线缆长度不是重点,CSI-2可以实现低功耗高性能的应用,它就是我们自动化割草机的最佳选择。
机器视觉:嵌入式视觉系统中的接口相关推荐
- 机器视觉:PC式视觉系统与嵌入式视觉系统区别
机器视觉:PC式视觉系统与嵌入式视觉系统区别 机器视觉作为一项新兴技术,近年来已经逐步被行业用户所接受.其高效.高速.高可靠性等技术优势,使其逐渐成为自动化检测行业的新宠.从组成结构来分类,典型的机器 ...
- 将eFPGA应用于嵌入式360度视域视觉系统中
引言 2018年4月11日,工业和信息化部.公安部和交通运输部联合发布"关于印发<智能网联汽车道路测试管理规范(试行)>的通知",为我国智能网联汽车道路测试提供了相关法 ...
- YAFFS2文件系统在嵌入式LINUX系统中的应用
YAFFS2文件系统在嵌入式LINUX系统中的应用 2011-03-31 19:59 181人阅读 评论(0) 收藏 举报 1.文件系统简述 随着32位CPU价格不断下跌,片上存储设备的容量相比越来越 ...
- 嵌入式linux系统中设备驱动程序
嵌入式linux系统中设备驱动程序是内核的一部分,完成对设备初始.读写操作和控制等功能.驱动程序隐藏了 硬件设备的具体细节,对不同的设备提供一致的接口,这些接口通过file_Operation结构来定 ...
- 战斗机嵌入式训练系统中的智能虚拟陪练
战斗机嵌入式训练系统中的智能虚拟陪练 人工智能技术与咨询 来源:<航空学报> ,作者陈斌等 摘 要:智能化"实虚"对抗是现代先进战斗机嵌入式训练系统的重要功能需求.自主 ...
- Linux播放器MPlayer嵌入式开发系统中的应用
摘要:本文论述了MPlayer在嵌入式开发系统中的应用,说明了如何在嵌入式开发板的平台上实现MPlayer的配置.编译.安装及调试过程. 关键词:嵌入式系统:MPlayer:MEncoder 引言 嵌 ...
- 嵌入式linux系统中常用的文件系统
原文:https://blog.csdn.net/li_wen01/article/details/80090624 嵌入式linux系统中常用的文件系统: 闪存主要有NOR和NAND两种技术:因为F ...
- 在HC免费开源物业系统中开发接口,很详细
在HC免费开源物业系统中开发接口,很详细 一.创建对应的数据表已经对应的DAO 二.创建Service,也就是SMO 1.创建测试接口 2.创建对应接口的实现类 3.接着是创建Cmd,也就相当于Con ...
- 嵌入式Linux系统中打印机驱动的移植
一.开发环境 硬件环境:DM365 打印机型号:HP P1007 虚拟机系统:Red Hat Enterprise Linux 5 交叉编译环境:Ti交叉编译环境安装包 二.详细步骤 1.下载Ghos ...
最新文章
- Android Studio Day03-1(Android studio 系统界面简介)
- hashmap::begin() 坑
- JAVA——基于HttpClient的正方教务系统[1999-2020]模拟登录基本解决方案
- DVWA通关教程(中)
- CSS学习之外边距合并
- z-index在IE中的迷惑
- STL --- UVA 123 Searching Quickly
- 一项一项教你测等保2.0——Windows入侵防范
- 问题 E: 求1+2+...+n=?
- MySQL数据类型和常用字段属性总结
- java GC垃圾回收
- PPT 如何做好关卡设计
- 单片机重要组成部分还有什么,引脚封装分布知识讲解(二)
- VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
- 车位编号lisp_CAD自动编号操作
- 记账时,如何对开销进行分类
- 国开大学计算机实操,国开大学计算机实操答案一 .pdf
- 服务器fps不稳定,FPS不稳定是什么原因?玩游戏FPS低怎么办?
- 线上CPU飙高问题排查 (Java)
- 错误Could not locate executable null\bin\winutils.exe in the Hadoop binaries的解决方案
热门文章
- C#正则表达式判断字符串中是否有数…
- Week09《java程序设计》第九次作业总结
- BZOJ 1801: [Ahoi2009]chess 中国象棋( dp )
- JAVA实现图的邻接表以及DFS
- System.Management.ManagementException: 访问遭到拒绝的解决方案
- Java线程池ExecutorService中重要的方法
- Java请求参数检查,Java如何检查servlet请求中是否存在参数?
- 需要注意的new Date 时区问题
- RDS SQL Server - 专题分享 - 巧用执行计划缓存之Table Scan
- 如何激活Microsoft Office 2010?