1.项目简介

用索尼的imx264 sensor采集图像,在内部模数转换之后,由lvds接收,然后解码,最后送给后端显示

2.框图

imx264配置成从模式,由spi总线配置,需要由FPGA提供 行、场信号,imx264根据接收到的行场信号输出四路数据,FPGA用lvds IP核接收这四路数据,然后还原成正确的像素,再产生相应的行场,与数据一起送给后端显示

3.时序

由时序图可以看到,一帧一共2088行(有效行2048行),每行2656个像素点(有效像素点2448个)。每行有头同步字和尾结束同步字。每个像素12bit,先送高位再送低位。

4.同步字

由同步字可以看出,一帧2088行分为通讯期(4行,无同步字),消隐期(16行,头同步字fff,尾同步字AB0),信息行(1行),ob行(10行),像素边缘行(8行,上4+下4),有效行2048行,尾消隐期(1行)。对应的同步字见图。

5.lvds IP核配置

由于从imx264送过来的是差分时钟和差分数据,所以配置成差分时钟和差分数据,后面也没什么东西了

6.仿真

说明

1.根据imx264的数据手册,一帧图像有2656*2088个像素点,每个像素12bit,35.7帧每秒。所以一共有2656*2088*12*35.7=2.376Gbps。一共分四路输出,所以每路输出的数据量为2.376/4=594mbps。因为是双沿输出数据,所以差分时钟为594/2=297m。

2.在594m的时钟下产生4路12bit数据,每个时钟进行移位,12次移完。只看data1-data4的最高位。每个时钟下data1-data4的最高位组成一个4bit的差分数据。这个由LVDS的配置决定。

3.lvds IP 核把4个4bit的数据组成一个16bit的数据数据,把最先进来的数据放在最低位,最后进来的数据放在最高位。我们需要把lvds输出的数据进行解析,需要把3个16bit的数据还原成4个12bit的数据。

4.lvds输出来的数据有两种情况。看上图lvds_d_p这个信号,LVDS IP核可能会把fo8a组成一个16bit的数据输出,也可能把3af0组成一个16bit数据输出。如果是f0a8这种输出,f0是由后面的4个12bit数据产生的,8a是由前面4个12bit数据产生的。而且会根据上电,可能会来回切换,所以要准备两种解析方式。代码如下 lvds_data表示lvds IP核输出的数据recover_data1核recover_data2表示两种方式解析出来的数据。(如果lvds IP核里面的数据位宽配置成2,就不会出现这种情况)

7.输出显示

根据两种方式解析出来的数据进行检测同步字,根据同步字指示出有效数据,然后进行乒乓缓存,同时产生相应的行场信号,

lvds接口介绍的更多相关文章

  1. LVDS接口分类,时序,输出格式

    LVDS接口分类,时序,输出格式 2016年01月19日 16:57:35 打个飞机去美国 阅读数:24673 标签: LVDS液晶屏格式时序 更多 个人分类: 硬件基础   1.1.1        ...

  2. LVDS接口液晶屏点屏流程

    使用MStar的TSUM系列的芯片,主要是用来驱动LVDS的屏.在硬件设置无误的情况下(屏开关口.屏电压.PWM等),按照屏规格书上的参数配置屏参,就可以完成点屏了.大概分为几个步骤,确定屏供电电压, ...

  3. Hive 接口介绍(Web UI/JDBC)

    Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...

  4. SSH动态查询封装接口介绍

    SSH动态查询封装接口介绍 1.查询记录总条数 public int count(Class c,Object[][] eq,Object[][] like,String[] group,String ...

  5. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

    原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

  6. 如何删除要素类 IFeatureWorkspace 接口介绍(1)

    如何删除要素类 要想删除一个要素类,那么必须先得到这个,在得到这个要素类的时候,我们要学习一个新的接口IFeatureWorkspace. IFeatureWorkspace  接口介绍 这个接口主要 ...

  7. Redis --> Redis的接口介绍及使用

    Redis的接口介绍及使用 Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然 ...

  8. iic接口介绍

    最近遇到一个BUG,跟IIC通信有关,所以借这个机会总结一下IIC总线协议 1.引脚接口介绍 1.A0,A1,A2为24LC64的片选信号,IIC总线最多可以挂载8个IIC接口器件,通过对A0,A1, ...

  9. Spring之InstantiationAwareBeanPostProcessor接口介绍

      InstantiationAwareBeanPostProcessor接口是BeanPostProcessor的子接口,通过接口字面意思翻译该接口的作用是感知Bean实例话的处理器.实际上该接口的 ...

随机推荐

  1. Git让你从入门到精通,看这一篇就够了!

    简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...

  2. 微信小程序开发笔记

    前言: 因为前段时间一直在做关于微信小程序方面的项目,作为一名后端的攻城狮而言做一些简单的前端页面数据操作和管理还是比较容易快上手的,当然前提是要理解微信小程序的基本语法和请求原理.该篇博客主要记录的 ...

  3. 解决 HomeBrew 下载缓慢的问题

    macOS 自身不提供包管理器,常用的包管理器有 HomeBrew MacPorts MacPorts 第一次使用要 build 整个基本库,编译时间很长.优点是不怎么依赖系统,更新 macOS 不会 ...

  4. .NET Core TDD 前传: 编写易于测试的代码 -- 缝

    有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试.... 举个例子, 如果一辆汽车在产出后没完成测试, 那么没人敢去驾驶它. 代码也是一样的, 如果项目未能进行该做的测试, 那么客户就不敢 ...

  5. DotNetCore跨平台~关于appsettings.json里各种配置项的读取

    回到目录 对于dotnet Core来说,依赖注入的集成无疑是最大的亮点,它主要用在服务注册与注入和配置文件注册与注入上面,我们一般会在程序入口先注册服务或者文件,然后在需要的地方使用注入即可,下面主 ...

  6. Session的使用与Session共享问题

    Session的使用与Session共享问题 Session方法 getId():获取sessionId,这个id不一定是数字,比方说它用字符串来表示唯一标识,所以它返回值是String; boole ...

  7. Virtual Box虚拟机Ubuntu系统安装及基本配置

    Linux简介 什么是 Linux? Linux:世界上不仅只有一个 Windows 操作系统,还有 Linux.mac.Unix 等操作系统.桌面操作系统下 Windows 是霸主,而 Linux ...

  8. leetcode math类型题目解题总结

    2. Add Two Numbers https://leetcode.com/problems/add-two-numbers/description/ class Solution { publi ...

  9. EasyUI 使用tabs切换后datagrid显示不了内容

    今天刚遇到这个问题,找了下各群的深度合作伙伴,没有好的答案,那就自己研究吧. 问题点在于打开tab1时,快速切到tab2,这时tab1的datagrid渲染未完成,再次回到tab1,因为是在不可见区域 ...

  10. PostgreSql的Explain命令详解

    http://toplchx.iteye.com/blog/2091860 使用EXPLAIN PostgreSQL为每个收到的查询设计一个查询规划.选择正确的匹配查询结构和数据属性的规划对执行效率是 ...