杂记:Atmel sama5d3 Image Sensor Interface (ISI)_jun7118的博客-程序员ITS203

技术标签: Atmel sama5  

Image Sensor Interface (ISI)

概述:
图像传感器接口ISI连接cmos摄像头和处理器,提供多种图像抓取格式。
在dma传输数据之前可以对图像进行转格式。
ISI支持彩色和灰度传感器,并提供一些简单功能
内部的在预览和编码路径上的fifos用来储存数据。rgb输出的数据格式与lcd控制器所需格式相兼容
这个模块还支持缩放功能,用来配合lcd的分辨率
rgb和ycbcr数据输入格式都支持
支持两种同步模式
    硬件支持ISI_VSYNC and ISI_HSYNC signals
    Start-of-Active-Video (SAV) and End-of-Active-Video (EAV) synchronization sequence.
用 eav和sav同步节省引脚,翻转极性可以配置


ISI_VSYNC         IN Vertical Synchronization
ISI_HSYNC         IN Horizontal Synchronization
ISI_DATA[11..0]   IN Sensor Pixel Data
ISI_MCK           OUT Master Clock Provided to the Image Sensor
ISI_PCK           IN Pixel Clock Provided by the Image Sensor



特色:
支持 ITU-R BT. 601/656 8-bit
支持 12-bit 灰度传感器
支持 ITU-R BT.656-4 SAV and EAV
垂直水平分辨率 高达 2048*2048
预览功能
灰度支持2048*2048 rgb支持640*480
32字节fifo 编码功能 和 预览功能
支持YCbCr 4:2:2 格式
预览功能支持图像缩小
支持可控制的抓取速率
预览支持 VGA, QVGA, CIF, QCIF格式
支持自定义分辨率 (16的倍数)


isi中断线连接adc(Advanced Interrupt Controller),触发中断在一帧开始传输和传输一dma帧结束的时候
如果用SAV/EAV同步,中断会在每个界定事件触发


当预览dma通道被配置和使能,则预览功能被开启,rgb帧开始传输。预览功能采样速率设置ISI_CFG1寄存器的FRATE域
当编码dma通道被配置和使能,则编码功能被开启,ISI Control Register (ISI_CR)的ISI_CDC被置位时,ycbcr 422帧开始传输


ISI_CFG1 寄存器的FULL被置位时,预览和编码dma通道能同时运作。
如果FULL没置位,先判断ISI_CFG1寄存器的FRATE,如果是0,则编码通道运行。
如果FRATE不是0,则推后编码通道数据帧。
ISI_CR寄存器的ISI_CDC为1时,数据流会传送到预览和编码两个通道中去。
为了利用好带宽,最好只有抓图的时候编码通道才被使能


灰度数据模式时,数据直接传到内存,不会有任何操作。12bit的数据可能1pixel或2pixel占一个字,
通过设置ISI_CFG2 寄存器GS_MODE 位
灰度模式开启时,编码通道不能用


VSYNC/HSYNC同步模式
ISI_PCK的上升沿抓数据
ISI_CR可以设置SFD(一帧开始前等待的行数)和SLD(一行开始前等待的pixel周期数)


ITU-RBT.656-4规定了8bits接口的时序


SAV (0xFF000080)模式
EAV(0xFF00009D)
只有在两者中间的数据会被保存,水平和垂直空隙会被忽略,至少需要一行数据


isi可以兼容不同的数据输入格式


ISI_MCK可以内部Advanced Power Management Controller (APMC)产生,或者传感器外部晶振产生
内部产生可以起到能源控制作用
isi有两个时钟域,master时钟和传感器的pixel时钟,这两个时钟不是同步的,master时钟必须要快于pixel时钟


只能缩小,水平和垂直缩小倍率一样,是1/16的倍数


yuv或者ycbcr 转rgb时候自动防止数据溢出,且转换矩阵可以自定义
rgb888缩小到rgb565时候低字节被舍弃


预览和编码都有fifos,用来传数据从pixel时钟域到ahb时钟域,支持dma
离散dma模式,让我们能够使用多个帧缓冲区
帧缓冲区由Frame Buffer Descriptors (FBD)定义,它由连续的三个字组成
当前缓冲区地址DMA_X_ADDR寄存器,控制信息DMA_X_CTRL寄存器,下一个描述符Descriptors地址 DMA_X_DSCR
这种模式在预览和编码通道都可以使用。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jun7118/article/details/51974203

智能推荐

【51单片机】【8*8 LED矩阵如何开发】【点亮一个led却出现一列全部点亮问题解决】_kiramario的博客-程序员ITS203

点亮8*8 LED 矩阵最左上角第一个led灯我的51版型号是HC6800-ES上图中画圈的地方是控制74HC595的OE引脚的电平,OE位低电平时,74HC595芯片输出正常。8*8LED矩阵主要时由74HC595芯片和P0 I/O口控制。如上图所示,P0口控制显示列, D0-D7(595芯片的输出口)控制列中哪个LED亮。此款单片机的8*8LED模式可以看到,阳极...

制造策略_congxinhuang3004的博客-程序员ITS203

制造策略主要受到市场营销和技术力量两方面的约束。根据顾客的认可程度来制订企业的制造策略,是当前最常见的模式。市场和技术水平都会随时间发生变化,相应地,企业的战略模式也会随之改变。1. 制造流程单件生产批...

python数据处理包_[踩坑系列]python数据处理_weixin_39605455的博客-程序员ITS203

[踩坑系列]python数据处理处理包含数据的文件最近利用Python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误:TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('作为一个new Pythoner,遇到这个问题花了很多...

Python Turtle库画树_幻欢子的博客-程序员ITS203_turtle画树

一、树形1代码:from turtle import *from random import *from math import *def tree(n, l): pd() # 下笔 # 阴影效果 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(...

PyCharm2018专业版激活方式_SL_World的博客-程序员ITS203

原文出处:裸睡的猪破解补丁下载:JetbrainsCrack-3.1-release-enc.jarPyCharm2018专业版下载:pycharm-professional-2018.2.4最近很多同学反馈pycharm2018.2.1版本无法使用补丁激活或闪退问题,今天也是给大家带来新的激活码;原来使用激活码激活的同学也可以换成补丁激活了~激活前准备工作激活前请先关闭pycharm修改配...

日志打印skywalking的traceId_FourZeroZero的博客-程序员ITS203_skywalking traceid

项目中已经通过skywalking进行链路追踪,为了方便查看日志排查问题,需要在日志中打印traceId,skywalking的一个工具jar,可以在日志中记录traceId

随便推点

java整数类型int字面值_JavaKotlinAndroidGuide_貔蚯的博客-程序员ITS203

Java是一种强类型化的语言,每个变量都有一种类型,每个表达式也都有一种类型,并且每一种类型都是严格定义的。所有的赋值操作不管是显式的还是在方法中调用中通过参数传递的,都要经过类型兼容性检查一、基本数据类型1.1、概述Java定义了八种基本数据类型:byte,short,int,long,char,float,double,boolean基本数据类型也称为简单类型,这些类型可以分为四组:整型。包括...

uni-app app热更新+整包更新 使用uniCloud开发_风花一世月的博客-程序员ITS203

App端插件:https://ext.dcloud.net.cn/plugin?id=4542网页端后台(统一管理多个app的整包和热更新):https://ext.dcloud.net.cn/plugin?id=4470网页端后台我是自己搭了一个,并且通过uniCloud托管后台网页新增一个app的更新步骤1、把uni-upgrade-center - App插件引入项目2、 找...

答疑第二期 | 使用Airtest最常见问题8大问题_AirtestProject的博客-程序员ITS203_airtest 小米手机 无法点击

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途此文章来源于项目官方公众号:“AirtestProject”1.用Airtest测试iOS一定要用macOS吗?① 使用 xcode 部署 iOS-Tagent 需要在macOS完成;② 部署好以后可以在macOS或Windows机器上连接到iOS手机进行测试。2.本地pip list可以找到airtest,但pych...

怎么接收layui上传的文件_如何利用 layui 发送请求到 controller 实现文件上传到 ftp..._weixin_39851918的博客-程序员ITS203

如何利用 layui 发送请求到 controller 实现文件上传到 ftp1.首先我们需要一个上传文件到 ftp 的方法类,里面有上传的方法,供我们直接调用,代码如下:public class FtpUtil {/**** @param url* FTP服务器hostname* @param port* FTP服务器端口* @param userna...

HDU1075“What Are You Talking About”_pretty_girls的博客-程序员ITS203

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075大意:将火星文翻译成对应的单词,除了字符和字典里没有的单词可以不变,这个题如果用常规的两个数组存入和依次去比较会超时。从其他博主哪里学到了一个新东西,map容器,容器很好用,但是有时候总是会忘记使用它。Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能...

Spring boot --- Spring Oauth(一)_weixin_33897722的博客-程序员ITS203

文章部分图片来自参考资料,这篇文章主要讲 spring security oauth 概述 上一篇我们学习了 SS 中重要的工作原理和几个大概的认证和授权过程。而 spring security oauth 用到的就是 spring security 知识,我们学习 sso 之前先看一下oauth 是什么,可以学习阮一峰老师的文章 oauth 的流程...

推荐文章

热门文章

相关标签