CCD 驱动 时序理解

由于项目的需要,接触到perkinelmer 公司生产的CCD sensor;年末了,好好回顾下;目前生产CCD传感器的公司有dalsa,e2v,toshiba,sony等,perkinelmer公司目前主要从事医疗设备以及生物工程等,其传感器生产与销售已经分离出去,由埃赛力经营,好了,废话不多说,我们来探讨下该CCD驱动时序吧;

CCD驱动信号不多包含以下:

ØPG:photo gate;

ØTG: transfer gate;

ØAB: antibooming gate;

VOG: output gate;

ØRG: reset gate;

Ø1,Ø2: horizontal clocks;

对应的驱动电平其datasheet上有详细秒速;整体驱动波形如下图:

这里显示的是单个读出周期内的驱动时序;ØTG拉高后CCD内部建立一个通道,使得像素点内的电子转移到移位寄存器;ØPG拉高确保此次转移完成,厂商建议ØPG的高电平时间最好保持0.1us以上,拉低ØPG后在拉低ØTG以关闭通道;关闭后,再拉高ØAB清除上一次像素存储内的残余电荷,然后再拉低ØAB,CCD的曝光时间由t7决定;曝光是针对下一次的曝光;

再说一下CCD的输出像素,CCD的输出像素包含有效像素、前后10个暗像素、两端2个转移像素;有效像素由具体型号决定;暗像素的值可以用于后面对CCD整体暗电流提供参考;而转移像素则不能做任何用途;像素的读出时序如下:

电荷转移的原理以及清零可以参考:来宝网CCD工作原理;

CCD驱动时序对电源以及PCB的EMI要求比较高,因此PCB设计是个十分总要的问题;需要严格控制走线长度,以及对相关信号做包地处理;涉及的负电压、DCDC电源最好放在其他模块上实现;

参考资料:RL1024P

时间: 2024-08-16 11:03:52

CCD 驱动 时序理解的相关文章

东芝线阵CCD芯片TCD1305DG驱动时序设计

最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成了相关双采样电路,直接输出稳定的像元电压值,而不是传统的三阶梯信号.TCD1305DG需要三路驱动信号,分别是主时钟CLK,移位输出信号SH,积分清除信号ICG,芯片手册上给出的时序波形如下: 图1 TCD1305DG驱动时序 该CCD的基本工作原理如下:光敏元接收外部光信号并将其转换为电荷储存在光

从Linux内核LED驱动来理解字符设备驱动开发流程

目录 博客说明 开发环境 1. Linux字符设备驱动的组成 1.1 字符设备驱动模块加载与卸载函数 1.2 字符设备驱动的file_operations 结构体中的成员函数 2. 字符设备驱动--设备号注册卸载 2.1 设备号注册 2.2 设备号注销 3. 字符设备驱动--文件操作 参考资料 示例代码 @(从Linux内核LED驱动来理解字符设备驱动开发流程) 博客说明 撰写日期 2018.12.08 完稿日期 2019.10.06 最近维护 暂无 本文作者 multimicro 联系方式 [

【智能家居篇】wifi驱动的理解(1)——驱动架构

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 在分析WIFI驱动前,分享一下个人对Linux驱动的一些了解,其实纵观Linux众多的设备驱动,几乎都是以总线为载体,所有的数据传输都是基于总线形式的,即使设备没有所谓的总线接口,但是Linux还是会给它添加一条虚拟总线,如platform总线等:介于WIFI的驱动实在是太庞大了,同时又是基于比较复杂的USB总线,所以建议读者在看此文章之前,先了解一下USB设备驱动和网络设备驱动. 我们要看懂WIFI驱动,首先要

对于硬盘驱动的理解

目录 如何读写硬盘 读写操作 硬盘控制器端口及作用 硬盘中断 硬盘分区信息的获取 如何读写文件 TASK_HD 如何读写硬盘 读写操作 第一次看到linux 0.12关于读写硬盘几行代码时候,感觉很费解. do_hd = intr_addr; outb_p(hd_info[drive].ctl,HD_CMD); port=HD_DATA; outb_p(nsect,++port); outb_p(sect,++port); outb_p(cyl,++port); outb_p(cyl>>8,+

【智能家居篇】wifi驱动的理解(2)

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 上一篇文章我们已经通过三条线索简单地描述了wifi驱动的框架,现在我们开始深入到每条线索中.首先我们从USB设备这条线索开始.在分析之前,我们需要理解在整个wifi模块中,USB充当什么角色?它的作用是什么?实质上wifi模块上的数据传输有两端,一端是wifi芯片与wifi芯片之间,通过无线射频(RF)进行数据传输:另一端则是wifi芯片与CPU之间,通过USB进行数据传输. 了解Linux的USB驱动的读者都知

SylixOS nand驱动框架理解

1.适用范围 该应用笔记适用于帮助用户在SylixOS下使用nandflash器件. 2.原理概述 2.1nandflash存储结构 nandflash存储结构如图2-1所示,下面以mini2440开发板上的k9f1g08系列nandflash为例,简单介绍nandflash的存储结构. 图2-1 nandflash存储结构 nandflash的存储结构主要有两个单位:页(page),块(block).每页大小为2K+64字节,2K用来存储数据,64字节用来存储控制信息(OOB区,例如坏块信息.

VGA驱动时序说明

根据不同的显示器分辨率,需要不同的刷新频率. 其中显示模式中@60表示显示器1秒钟刷新60帧. 其中时钟(MHz),表示FPGA输出给显示器的时钟频率.需要我们配置PLL的时钟频率为对应频率. 其中行时序和帧时序可通过VGA行扫描和场扫描时序得出:a\b\c\d\e分别对应表格中的字母

【智能家居篇】wifi驱动的理解(3)——usb接口在wifi模块中的角色

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 上一篇文章已经提到USB接口在wifi模块中的最重要两个函数是usb_read_port()和usb_write_port().那它们是怎么和wifi扯上关系的呢?我们可以从以下三个方面去分析: 1.首先需要明确wifi模块是USB设备,主控(CPU)端是USB主机: 2.USB主机若需要对wifi模块进行数据的读写时,就必须经过USB接口: 3.既然涉及到数据的读写操作,必然要用相应的读写函数,那么usb_re

驱动框架理解

概述 API在某个头文件中定义,被封装在某个DLL中,而这个DLL会进一步被封装在ntdll.dll中(它里面的API叫native api),比如,ReadFile在ntdll.dll中就对应着ntReadFile;然后这个API会通过sysenter的方式进入内核层. 那么,比如对于CreateFile的执行参数,必须告知内核,而这些参数就被封装在IRP中.IRP是一个结构体,它封装了应用层传下的命令和数据. 驱动拿到IRP并进行处理,并把处理结果返回给应用层. 现在随意附加到一个进程当中,