机器视觉:嵌入式视觉系统中的接口

现在我们要构建一个自动割草机,割草机的空间定位需要通过相机扫描环境来获得,这个场景下传统的机器视觉系统满足不了,但嵌入式系统可以满足。为什么?因为割草机是用电池供电的,需要功耗低,体积小,价格低。
    那么,我们如何实现自动割草机呢?
    • 体积小
    我们可以用嵌入式处理平台,比如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可以实现低功耗高性能的应用,它就是我们自动化割草机的最佳选择。

机器视觉:嵌入式视觉系统中的接口相关推荐

  1. 机器视觉:PC式视觉系统与嵌入式视觉系统区别

    机器视觉:PC式视觉系统与嵌入式视觉系统区别 机器视觉作为一项新兴技术,近年来已经逐步被行业用户所接受.其高效.高速.高可靠性等技术优势,使其逐渐成为自动化检测行业的新宠.从组成结构来分类,典型的机器 ...

  2. 将eFPGA应用于嵌入式360度视域视觉系统中

    引言 2018年4月11日,工业和信息化部.公安部和交通运输部联合发布"关于印发<智能网联汽车道路测试管理规范(试行)>的通知",为我国智能网联汽车道路测试提供了相关法 ...

  3. YAFFS2文件系统在嵌入式LINUX系统中的应用

    YAFFS2文件系统在嵌入式LINUX系统中的应用 2011-03-31 19:59 181人阅读 评论(0) 收藏 举报 1.文件系统简述 随着32位CPU价格不断下跌,片上存储设备的容量相比越来越 ...

  4. 嵌入式linux系统中设备驱动程序

    嵌入式linux系统中设备驱动程序是内核的一部分,完成对设备初始.读写操作和控制等功能.驱动程序隐藏了 硬件设备的具体细节,对不同的设备提供一致的接口,这些接口通过file_Operation结构来定 ...

  5. 战斗机嵌入式训练系统中的智能虚拟陪练

    战斗机嵌入式训练系统中的智能虚拟陪练 人工智能技术与咨询 来源:<航空学报> ,作者陈斌等 摘 要:智能化"实虚"对抗是现代先进战斗机嵌入式训练系统的重要功能需求.自主 ...

  6. Linux播放器MPlayer嵌入式开发系统中的应用

    摘要:本文论述了MPlayer在嵌入式开发系统中的应用,说明了如何在嵌入式开发板的平台上实现MPlayer的配置.编译.安装及调试过程. 关键词:嵌入式系统:MPlayer:MEncoder 引言 嵌 ...

  7. 嵌入式linux系统中常用的文件系统

    原文:https://blog.csdn.net/li_wen01/article/details/80090624 嵌入式linux系统中常用的文件系统: 闪存主要有NOR和NAND两种技术:因为F ...

  8. 在HC免费开源物业系统中开发接口,很详细

    在HC免费开源物业系统中开发接口,很详细 一.创建对应的数据表已经对应的DAO 二.创建Service,也就是SMO 1.创建测试接口 2.创建对应接口的实现类 3.接着是创建Cmd,也就相当于Con ...

  9. 嵌入式Linux系统中打印机驱动的移植

    一.开发环境 硬件环境:DM365 打印机型号:HP P1007 虚拟机系统:Red Hat Enterprise Linux 5 交叉编译环境:Ti交叉编译环境安装包 二.详细步骤 1.下载Ghos ...

最新文章

  1. Android Studio Day03-1(Android studio 系统界面简介)
  2. hashmap::begin() 坑
  3. JAVA——基于HttpClient的正方教务系统[1999-2020]模拟登录基本解决方案
  4. DVWA通关教程(中)
  5. CSS学习之外边距合并
  6. z-index在IE中的迷惑
  7. STL --- UVA 123 Searching Quickly
  8. 一项一项教你测等保2.0——Windows入侵防范
  9. 问题 E: 求1+2+...+n=?
  10. MySQL数据类型和常用字段属性总结
  11. java GC垃圾回收
  12. PPT 如何做好关卡设计
  13. 单片机重要组成部分还有什么,引脚封装分布知识讲解(二)
  14. VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
  15. 车位编号lisp_CAD自动编号操作
  16. 记账时,如何对开销进行分类
  17. 国开大学计算机实操,国开大学计算机实操答案一 .pdf
  18. 服务器fps不稳定,FPS不稳定是什么原因?玩游戏FPS低怎么办?
  19. 线上CPU飙高问题排查 (Java)
  20. 错误Could not locate executable null\bin\winutils.exe in the Hadoop binaries的解决方案

热门文章

  1. C#正则表达式判断字符串中是否有数…
  2. Week09《java程序设计》第九次作业总结
  3. BZOJ 1801: [Ahoi2009]chess 中国象棋( dp )
  4. JAVA实现图的邻接表以及DFS
  5. System.Management.ManagementException: 访问遭到拒绝的解决方案
  6. Java线程池ExecutorService中重要的方法
  7. Java请求参数检查,Java如何检查servlet请求中是否存在参数?
  8. 需要注意的new Date 时区问题
  9. RDS SQL Server - 专题分享 - 巧用执行计划缓存之Table Scan
  10. 如何激活Microsoft Office 2010?