海思his35xx安防芯片音视频媒控驱动基础篇MIPI RX模块(一)

2023-10-27

先给自己打个广告,本人的微信公众号正式上线了,搜索:张笑生的地盘,主要关注嵌入式软件开发,股票基金定投,足球等等,希望大家多多关注,有问题可以直接留言给我,一定尽心尽力回答大家的问题,二维码如下:
在这里插入图片描述

一 背景介绍

海思芯片的应用方向大致分为如下几种:手机端芯片(麒麟系列)、安防端芯片(his35xx系列)、机顶盒芯片(Hi3716系列),一般地,以HI开头的芯片都在市场销售的,以K开头的芯片都是专供华为的。
本文主要讨论的是以his35xx系列,应用于安防市场的芯片为例,分析音视频媒控驱动的实现以及相关技术知识

二 硬件原理

对于音视频终端设备,按照视频数据的传输方向,流程一般如下:
在这里插入图片描述
其中sensor板就是将自然景观转换为数字信号,然后通过排线将数据送到海思芯片的视频接口,两者之间一般是通过排线连接,排线上传输的信号一般是mipi信号。
海思内部的mipi模块接收到数据之后,将数据送往VI模块(video input),然后后在送到vpss(video process)模块,再送到venc编码模块,这样视频数据就在这套流上传输起来了。

三 海思内部视频模块介绍

A. MIPI RX模块
mipi:Mobile Industry Processor Interface(移动行业处理器接口),它是mipi联盟定义的一套标准接口,传感器和芯片之间有很多接口标准,常见的有uart,i2c,spi,i2s等等,随着智能手机越来越普及,同时还有各种与摄像头传感器和显示器相关的并行接口,多种不同的接口标准导致了设计时的混乱。MIPI联盟定义了一套接口标准,把移动设备内部的接口如摄像头、显示屏、基带、射频接口等标准化,从而增加设计灵活性,同时降低成本、设计复杂度、功耗和EMI。
具体的mipi协议在这里就不展开来讨论,因为内容很多,可以参考链接:
https://blog.csdn.net/qq_38880380/article/details/81280875
https://blog.csdn.net/zhang_danf/article/details/78705133
海思芯片内部使用mipi rx模块实现mipi接口时序,通过como-PHY接收数据,因此我们在软件中需要设置como-PHY属性,其特点为:
(1)输入信号:差分信号,如MIPI D-PHY,LVDS,HiSPi high-speed Serial Pixel Interface(当然也可以直接输入DC信号,这样MIPI RX模块不需要信号转换,直接将DC信号输出)
(2)输出信号:DC时序的信号(将差分信号转化为DC信号)
在这里插入图片描述
基本概念
LVDS:low voltage differential,通过同步码区分消隐区和数据区
Lane:连接发送端和接收端的一对差分信号线,可以是时钟lane,也可以是数据lane,比如如下原理图部分就是4lane数据
在这里插入图片描述
Link:时钟lane和至少一个数据lane,组成一个link,如下
?在这里插入图片描述
同步码:mipi接口使用mipi协议CSI-2中的短包进行同步,LVDS通过同步码区分消隐区和数据区
?在这里插入图片描述
性能限制如下,具体可参考手册:
在这里插入图片描述
在这里插入图片描述

四 MIPI模块的数据流

(1)MIPI_RX通过PHY接收sensor的差分数据,Phy controller检测到同步头后,将每条lane上的数据对齐
(2)Pixel controller解析同步信息并按照raw data的位宽将lane上面的额数合并为Pixel数据;output模式将Pixel数据发送给后面模块
(3)Phy controller和Pixel controller由sensor的pixel clk提供时钟,output模块的时钟称为随路时钟,与后面模块的工作时钟相同。MIPI_Rx 的crop 功能在Pixel Controller 的末端实现,所以Crop 后可以降低需要的随路时钟
(4)
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

海思his35xx安防芯片音视频媒控驱动基础篇MIPI RX模块(一) 的相关文章

  • 在阿里云Ubuntu中使用coturn创建和配置您自己的STUN/TURN服务

    1 前言 此前rtsp转webRTC的本地服务运行的不错 但是使用的某个免费stun服务突然被关停了 造成一些rtspToWebRTC的服务受到影响 因此 目前打算在我闲置的阿里云服务器上搭建stun turn服务 我的域名xiaoyaoy
  • FFmpeg源码分析:av_register_all()注册封装器与解封装器

    FFmpeg中av register all 函数用于注册所有muxers demuxers与protocols FFmpeg4 0以前是用链表存储muxer demuxer FFmpeg4 0以后改为数组存储 并且av register
  • FFplay文档解读-18-音频过滤器三

    26 21 anequalizer 每个通道的高阶参数多频带均衡器 它接受以下参数 params 此选项字符串的格式为 cchn f cf w w g g t f 每个均衡器带由 分隔 均衡器 解释 chn 设置要应用均衡的通道编号 如果输
  • Ubuntu22.04编译安装FFmpeg

    FFmpeg介绍 概述 FFmpeg是一款用C语言编写的跨平台免费开源多媒体处理工具 该软件可实现音视频的采集 编解码 转码 过滤以及流媒体相关操作等功能 同时 FFmpeg也为其他多种语言和操作系统提供了开发组件 包括Java Pytho
  • RTSP和SDP协议学习

    RTSP和SDP协议学习 版本说明 版本 作者 日期 备注 0 1 loon 2019 2 14 初稿 目录 文章目录 RTSP和SDP协议学习 版本说明 目录 第一部分 RTSP协议 一 RTSP协议概述 二 RTSP协议与HTTP协议区
  • 流媒体技术基础-流媒体编码与协议

    一 流媒体传输协议 1 实时传输协议RTP 针对多媒体数据流的一种传输协议 建立在UDP协议上 属于传输层协议 定义互联网上传递音频和视频的标准数据包格式 RTP协议常用于流媒体系统 配合RTCP协议 视频会议和视频电话系统 配合H 263
  • 音视频开发--基础知识

    目录 音视频基础知识 1 相关术语 1 1 帧 1 2 分辨率 1 3 刷新率 1 4 码率 1 5 画质 1 6 采样率 1 7 量化精度 1 8 视频帧 I帧 P帧 B帧 1 9 音频帧 1 10 声道 1 11 PTS DTS 1 1
  • Moviepy时间变换time_mirror再遇‘OSError: MoviePy error: failed to read the first frame of video file‘解决示例代码

    老猿Python博文目录 https blog csdn net LaoYuanPython 一 引言 在 https blog csdn net LaoYuanPython article details 106478711 moviep
  • live555在Ubuntu上的编译及对于armLinux的交叉编译

    live555在Ubuntu上的编译及对于armLinux的交叉编译 版本说明 版本 作者 日期 备注 0 1 ZY 2019 3 7 初稿 目录 文章目录 live555在Ubuntu上的编译及对于armLinux的交叉编译 版本说明 目
  • 走进音视频的世界——RGB与YUV格式

    在图像的世界里 一般使用RGB作为存储格式 而在视频的世界里 一般使用YUV作为压缩存储格式 有时候面试官会问 为什么视频使用YUV来压缩存储 而不用RGB YUV与RGB有什么区别 两者如何转换的 常见的RGB格式有哪些 常见的YUV格式
  • FFMPEG进阶系列02-ffmpeg命令详解3

    ffmpeg 的封装转换 FFmpeg的封装转换部分 主要是通过libavformat这部分来完成的功能 通过libavformat库进行mux和demux操作 多媒体文件的格式有很多种 但是还是有好多demux与mux的操作参数是公用的
  • 云直播SDK核心功能对比|腾讯云、阿里云、声网、即构等SDK厂商对比

    直播业务概述 大家所熟知的直播平台虎牙 斗鱼 快手 抖音 B站 直播功能看似普遍 但从零到一开发却不简单 直播中运用到的技术难点非常之多 音频视频处理 编解码 前后处理 直播分发 即时通讯等技术 学好任何一项都需要比较高的成本 将它们融合到
  • Android平台RTSP

    1 背景 我们在做Android平台RTSP或者RTMP播放器开发的时候 需要注意的点非常多 以下 以大牛直播SDK 官方 的接口为例 大概介绍下相关接口设计 2 接口设计 2 1 Open 接口 Open接口的目的 主要是创建实例 正常返
  • FFmpeg编译与集成

    Java是 write once run anywhre 但 C 不一样 各平台均有差异 无法只写一次 而且各个平台的编译都不一样 比如android的ndk工具链 不同平台的库都是不一样的 本文主要讲解下 ffmpeg 在 win 平台下
  • 浏览器访问.m3u8文件

    浏览器播放m3u8文件
  • moviepy音视频剪辑:视频半自动追踪人脸打马赛克

    一 引言 在 moviepy1 03音视频剪辑 使用manual tracking和headblur实现追踪人脸打马赛克 介绍了使用手动跟踪跟踪人脸移动轨迹和使用headblur对人脸进行打马赛克 实际上 moviepy除了使用manual
  • 浏览器播放rtsp视频流:3、rtsp转webrtc播放

    浏览器播放rtsp视频流 3 rtsp转webrtc播放 文章目录 浏览器播放rtsp视频流 3 rtsp转webrtc播放 1 前言 2 rtsp转webRTC 3 初步测试结果 4 结合我们之前的onvif gSoap cgo的方案做修
  • 基于google升级版c++代码规范指南

    有些团队所有成员写的代码都一致 10个人写的代码像1个人写的 正因为有代码规范 使得代码可读性强 方便代码review 利于后期维护 这体现了代码规范的重要性 接下来 在参考google的代码规范基础上 详细列举代码规范细节 1 文件描述
  • 封装一个OpenH264 编解码H264视频文件的类

    下面是一个更新后的代码 增加了 H 264 编码的支持 在这个示例中 我使用了 OpenH264 的 ISVCEncoder 接口进行编码 请确保在项目中正确链接 OpenH264 库 并根据你的项目需要调整代码 include
  • 嵌入式开发、C++后端开发、C++音视频开发怎么选择?

    嵌入式开发 C 后端开发和C 音视频开发的选择问题 近年来 随着互联网和物联网的快速发展 嵌入式开发 C 后端开发和C 音视频开发等职业领域也逐渐受到广泛关注 对于有志于从事这些领域的人来说 如何做出选择呢 下面将从前景 薪酬和职业稳定性等

随机推荐

  • SpringBoot 对接微信公众号模板消息通知

    效果图见测试结果 有问题评论 模板消息 开通模板消息功能 登录微信公众平台开通模板消息功能 未开通时 添加模板消息 审核通过后 登录微信公众平台 点击 广告与服务 gt 模板消息 公众号如果未设置服务类目 则需要先设置服务类目 然后在模板库
  • html通过id设置css样式,使用ID值如何应用CSS样式?

    假设你一个ID为 mytext 的HTML段落标记 如下面的代码片段所示 This is HTML interview questions 你可以使用有着 id 名称的 选择器创建一个样式 并应用CSS值到段落标记 为了应用样式到 myte
  • [spring] 注解@Autowired是如何实现的

    Table of Contents 前言 Autowired注解用法 Autowired注解的作用到底是什么 Autowired注解是如何实现的 例子注解 Override 自己实现一个注解 Autowired注解实现逻辑分析 问题 注解的
  • LaTeX学习笔记(数学公式编辑:公式与矩阵中符号的设置)

    1 使用 left与 right指令对公式中括号的长度进行调整 方法 将 left与 right命令分别放到公式左右括号前 这是调整括号长度前 这是调成括号长度后 2 使用 left与 right指令对公式中竖线的长度进行调整 方法 在数学
  • python怎么做多个矩阵,在python中添加两个矩阵

    I m trying to write a function that adds two matrices to pass the following doctests gt gt gt a 1 2 3 4 gt gt gt b 2 2 2
  • Java GUI,mybatis实现资产管理系统

    Java GUI 资产管理系统 前言 为了做java课设 学了一手Java GUI 感觉蛮有意思的 写写文章 做个视频记录一下 欢迎大家友善指出我的不足 资产管理系统录制视频 从头敲到尾 模块划分 资产信息管理 资产信息查询 各种条件查询
  • 实现一个完整的前后端交互

    题目一 计算器 1 构建项目 前端代码
  • C/C++中float和double的存储结构(转)

    在C C 中float是32位的 double是64位的 两者在内存中的存储方式和能够表示的精度均不同 目前C C 编译器标准都遵照IEEE制定的浮点数表示法来进行float double运算 无论是float还是double 在内存中的存
  • 软件测试需要学什么?软件测试技能图谱

    很多新手 不知道软件测试学习该如何开始 软件测试需要掌握哪些知识 下面是根据本人的理解 粗略整理的一个学习大纲 基本上涵盖了软件测试工程师需要掌握的全部技能 希望对刚入行或者准备学习测试的朋友提供一点指引 1 测试基础理论 不管有没有计算机
  • docker 搭建 Jenkins 容器 ,拉取git代码

    Docker 搭建 Jenkins 容器 拉取git代码 一 安装jenkins 前提条件 宿主机安装docker 1 拉取镜像 docker pull jenkins jenkins 2 查看镜像 docker images 列表中有je
  • C++ 引用作为函数返回值

    1 以引用返回函数值 定义函数时需要在函数名前加 2 用引用返回一个函数值的最大好处是 在内存中不产生被返回值的副本 引用作为返回值 必须遵守以下规则 1 不能返回局部变量的引用 主要原因是局部变量会在函数返回后被销毁 因此被返回的引用就成
  • unity音效添加

    音频资源AudioClip 播放的音频通过摄像头上的Audio Listener监听 Audio Listener有且只有一个 否则会报警告 创建一个空对象 重命名为Music Player 音频源 为其添加上Audio Souce组件 将
  • Mysql - 直接查询存储的Json字符串中的数据

    我们平时使用mysql 出于项目需求 可能需要直接将Java对象或者一个大json 直接存到表中的某个字段中 使用的时候再查出来 反序列化到对象或者一个Map中 方便我们操作 大多时候 我们可能并不需要所有的数据 只想使用这个对象或者jso
  • 详解synchronized与Lock的区别与使用

    引言 昨天在学习别人分享的面试经验时 看到Lock的使用 想起自己在上次面试也遇到了synchronized与Lock的区别与使用 于是 我整理了两者的区别和使用情况 同时 对synchronized的使用过程一些常见问题的总结 最后是参照
  • 关于easyExcel实体字段对应日期类型格式化问题

    可以写一个实体转换器来实现easyExcl中的Converter接口 可参考easyExcel官方文档中的 Alibaba Easy Excel 简单 省内存的Java解析Excel工具 读Excel
  • MATLAB实现传递函数

    1 简单的传递函数模型 num 1 10 den 1 5 4 3 2 G tf num den 2 零极点模型 KGain K 系统增益K Z 1 2 3 零点 P 4 5 6 极点 G zpk Z P KGain 3 反馈系统 G1 tf
  • 阿里马涛:重新定义云时代的开源操作系统

    作者 Just 出品 CSDN ID CSDNnews 随着云计算的发展 以及Linux平台的不断发展和生态系统的不断完善 越来越多的企业 云服务提供商都将Linux作为其数据中心的首选操作系统 不过 作为云基础设施的底座 针对云上产品和环
  • HyperLedger Fabric链码开发及测试

    https blog csdn net TripleS X article details 80550401 https blog csdn net weixin 44676392 article details 87938451 http
  • C# 实现多种语言切换,通过VS实现

    步骤 1 在要更换语言的界面 如Form1界面 选择属性 Language 选择要使用的语言 如下图 2 添加完语言之后VS会自动生成对应语言的 resx文件 通过该文件可以编辑语言 由于VS已经给我们添加了该界面的所有字段和变量 所以我们
  • 海思his35xx安防芯片音视频媒控驱动基础篇MIPI RX模块(一)

    先给自己打个广告 本人的微信公众号正式上线了 搜索 张笑生的地盘 主要关注嵌入式软件开发 股票基金定投 足球等等 希望大家多多关注 有问题可以直接留言给我 一定尽心尽力回答大家的问题 二维码如下 一 背景介绍 海思芯片的应用方向大致分为如下