艾巴生活网

您现在的位置是:主页>科技 >内容

科技

数码相机的原理及构成图解_数码相机的原理及构成

2024-08-22 10:49:50科技帅气的蚂蚁
线性扫描相机是数码相机的一种。这种相机一般在各种机器中起着不可或缺的作用,现实生活中一般不容易独立看到。这个制作可以帮助你DIY,进

数码相机的原理及构成图解_数码相机的原理及构成

线性扫描相机是数码相机的一种。这种相机一般在各种机器中起着不可或缺的作用,现实生活中一般不容易独立看到。这个制作可以帮助你DIY,进一步了解线扫描相机。

线阵CCD(电荷耦合器件线传感器)是线阵扫描相机最重要的组成部分。十几年前在电子城买的。但是,制作小型便携式线扫描相机比较困难,电路需要高性能的微处理器和大容量的存储器。那时候普通的个人生产只能远离这些昂贵的高档货。于是我把它扔进了一个破盒子里,我自己都快忘了。

十年后,得益于半导体产业的飞速发展,芯片的价格终于降到了可以接受的水平。现在即使是初学者也可以随意享受32位微处理器和海量存储卡,所以我依靠最新的技术来重启这个项目!

1、线性扫描相机

1.1、相机原理

普通平板相机与线阵相机的比较

线扫描相机是数码相机的一种,使用线阵CCD传感器(一维CCD器件)作为图像传感器。普通数码相机使用一个平面CCD器件(二维CCD器件)在焦平面上捕捉图像,得到的图案是一个二维平面。对于线性扫描相机来说,它获得的图案是一维直线!

即使每幅图像中只有一条线,线性扫描相机仍然有能力获得完整的图像。制作线性扫描相机时,需要不断移动相机或物体——,使每次获得的部分数据存储在存储器中,最后像织布一样逐行拼凑成完整的图像。

过去的电影时代,有狭缝相机。它类似于这里所说的线性扫描相机,通过一个窄缝(一维窗口)成像,将一维图像组装起来,得到完整的二维图像。

1.2、功能应用

线性扫描相机具有以下功能:

-高分辨率。即使是廉价的传感器也能达到10000点以上的分辨率。

-简单紧凑的光学系统。不需要扫描表格。

-对物体的大小和长度没有限制,可以正确成像很长的物体。

因为这些功能,线扫描相机在很多地方被广泛使用,你可以在很多重要的设备上找到它。例如:

-复印机

-图像扫描仪

-传真机

-机器视觉(检测长物体)

-卫星(如拍摄谷歌地图的卫星)

-最终摄影(体育比赛)

2、硬件组成

2.1、功能模块

上图显示了组成线性扫描相机的功能模块。线阵CCD传感器将采集到的光感信息传输到AD(模数)转换器进行数字化,然后以数字信号的形式输入控制器。这些数据可以显示在显示屏上或传输到存储器中。根据CCD设备的类型,扫描频率可以从每秒500行调整到每秒2000行。

电路部分分为三个部分,每个部分通过柔性印刷电路连接。我经常不用定制的PCB,因为太贵没有DIY精神,而且设计麻烦,再改也麻烦。这种一次性制作最好用孔板上的摄像机。

这是什么飞行技巧.

2.2、光路和外壳

上图展示了如何制作这种线性扫描相机的外壳。这是由高市电机工业公司的SW-85B塑料盒改装而成的外壳。这个项目的光路需要非常精确的控制,所以在设计、加工和装配上要特别注意。这是外壳的图纸。带有线性传感器的模拟电路板安装在可移动的螺钉上,因此可以随意调节距离。

这次用的镜头是C卡口,这是工业相机用的标准镜头之一,但不是那么容易拿到的。我用一个C-CS适配器环将镜头安装在外壳上。一个UNC螺母粘在盒子底部,用来固定摄像头。盒子上涂了一层导电涂料,用于电磁屏蔽。

2.3、模拟电路部分

上图是本次制作中的模拟电路部分,包含了线扫描相机中最重要的器件。CCD线性传感器和模拟电路安装在它上面。CCD线性传感器是东芝TCD132D单色CCD,对红外光也很敏感,所以需要红外滤光片(IRCF)才能获得类似人眼的图像。CCD线性传感器需要由来自主控电路板的时钟信号驱动。传感器的模拟图像信号输出首先经过可变增益放大器(AD8830),然后由模数转换器(ADC1173)转换为数字信号。ADC1173的8位数字信号输出发送至主控制电路板。像素采集速率可以在0.5MHZ到2MHZ之间变化,但模数转换器必须在至少两倍于采样速率的时钟频率下工作。每两个采样后,数字信号输出到主控电路板。

这是模拟电路部分的电路图。

2.4、主控制电路部分

主控制电路板包括微处理器(MCU)、可编程逻辑器件(PLD)和电源。微处理器的芯片是恩智浦LPC2368,它集成了一个工作频率为512千兆赫的ARM7TDMI内核、一个512千字节的32K 16K 8K字节SRAM和强大的外设。它可以通过集成的SD卡控制器在4位原生模式下控制外部MicroSD存储卡。LPC系列的ARM微处理器由于其市场政策正确、质量好、价格低,现在广泛应用于电子产品中。

可编程逻辑器件(LC4256V)用于驱动CCD线性传感器。PLD配有时钟发生器和先进先出队列,为传感器提供时钟。电源部分提供数字电源(3.3V)。和用于模拟部分的电源(12V)。

这是主控制电路的电路图。

2.5、显示电路部分

显示部分的电路安装在盒子的背面,提供相机的操作界面。上述装置包括有机发光二极管显示屏和开关。五向键和一个MicroSD插槽。您可以通过打开盒盖来安装或移除SD卡。

这是显示电路部分的电路图。

内部视图

仰视图

镜头接口视图

3、软件组成

3.1、数据处理

AD转换器的像素采集速率可高达每秒2.1M像素。首先,图像数据存储在微处理器的缓冲存储器中。由于每秒的数据量对于软件来说太多了,图像数据会存储在PLD 2.1M的先进先出队列中,当队列半满时,触发微处理器的DRDT中断,然后微处理器一次接受半个队列的数据。队列的大小为16字节,这意味着软件的运行周期仅为像素采集速率的1/8。这对于触发中断来说并不算太快,但仍然需要微处理器高速运行。本项目中使用了ARM7TDMI内核的快速中断请求功能(FIQ,fast interrupt request ),但是很遗憾在Cortex-M3内核中去掉了这个功能。

当微处理器响应FIQ请求时,一些寄存器切换到FIQ的分组寄存器状态,然后FIQ例程可以直接进入/离开,而不需要切换过程。为了最大化执行效率,FIQ例程一般用汇编语言编写。在开启该功能的数据波形图中,可以观察到8位数据在不存储时只需要0.8微秒处理,DMA模式下从总线写到SD卡只需要2微秒,延迟可以接受。

每行数据有1094个像素,但只有1024个有效。这些数据存储在存储器中,并且在每行数据的开始输出中断信号SYNC#以同步第一个像素的数据。

3.2、重建图像

拍摄的数据可以以一般的8位灰色BMP位图格式存储在MicroSD卡中,宽度为1024像素,视拍摄时间而定。存储格式为DCIMLCAMYNNN。BMP (NNNN是数字),和普通数码相机差不多。

使用廉价的微处理器在SD卡中存储图像数据会有一些困难,主要是输入的数据必须在很短的时间内存储在文件中。该产品的最大数据传输速率为每秒2MB。好在LPC2368有一个MCI(SD/MMC卡原生控制模式),可以提供8MB/s的数据读取和6MB/s的数据写入能力。但这是指读写大文件的平均速度。事实上,SD卡的内部处理和文件系统在读写之间需要一些死区时间。为了避免这些浪费,使用了一个数据缓冲区来临时存储死区时间的数据,但是微处理器系统的内存大小有限,可能没有足够的空间进行缓冲。

我们来估算一下每次数据写入操作的允许耗时。在该产品中,所有32K SRAM都用作数据缓冲区,程序在16K以太网RAM上运行。数据缓冲器分为两半,其中一半在装满数据时将数据写入闪存。这需要每8毫秒写入16KB的数据,并且每个操作必须在下一个操作之前完成。下面的软件技术可以解决这个问题。

数据写入中最重要的延迟发生在集群分配期间,这是实时操作系统中的一个大问题。根据具体情况,集群分配导致的停滞时间可能高达几秒钟。在这个制作中,使用了集群预分配(写数据时使用f-lseek函数申请比当前需要大得多的空间)来避免写数据时进入分区表进行重定位。每个写操作包含结束操作的群集边界条件。想象一下,SD卡中的文件提前为数据安排了一个整齐的空间,避免了写入数据过程中大量延迟的未知问题。

尽管有这些方法来最小化死时间,SD卡或多或少有一些内部处理时间。在选择SD卡时,需要选择写入速度最快的SD卡。我在众多品牌中做了一个对比,发现东芝做的SD卡写入延迟最小,性能最稳定。

3.3、显示图像

由于得到的图像数据都是一维线条,不能像传统平面成像的二维图像那样显示。这个问题需要一些特殊的显示模式。

其中一个是range view,输入的图像信号连接到Y轴,就像示波器的输入一样。Y轴信号表示亮度,X轴信号表示线性传感器上每个点的位置。这种模式适合观察灵敏度和焦距。不同点之间的数据差距可以用来帮助聚焦。当图像聚焦时,波形上会产生许多波峰和波谷,最大的波峰表示焦距已对准。这就是现在数码相机中自动对焦功能的雏形。

另一种是滚动视图,图像向上滚动,新扫描的图像出现在屏幕底部。此模式可用于调整线分辨率。最后,生成的二维图像的纵横比取决于线分辨率和对象的移动速度。滚动视图可以显示捕获的2D场景,但如果对象不移动,则只留下水平线,因此相机或对象之一必须以给定的速度拍摄,以便可以在观察时调整线分辨率。

4、使用说明

线扫描相机的通用目的类似于胶片时代的狭缝相机。狭缝相机在性能上可以轻松击败线扫描相机,其感光颗粒直径为14um,远小于CCD中单元的直径,这意味着出色的分辨率。但是玩狭缝相机意味着你得有足够的取景、对焦、拍摄、显影能力,非老鸟做不到。

摄像机位置

这个摄像头需要固定在一个合适的角度,这样物体的图像才能被线性传感器扫描到。比如物体横向移动或者横向特别长,最好把摄像头固定在线性传感器的垂直位置。这个角度一定要准,不然画面会扭曲的像个平行四边形。

调整焦距

这种线性扫描相机由5向操纵杆(上、下、左、右和中间键)控制。向右按可切换显示模式(范围模式或滚动模式)。首先,输入信号的电平可以通过光圈或增益(上下点击)来控制。也可以通过左键自动调整增益控制。接下来,通过对焦环调整焦距,直到信号的峰峰值达到最大。

调整传感器线分辨率。

可以在滚动模式下调整摄像机匹配传感器线分辨率。调整直到屏幕上显示正确的宽高比。传感器的线性分辨率也可以通过物体的移动速度、物体与镜头的距离以及焦距来计算,略有误差,但数码图片可以通过后期处理进行修正。当然,如果传感器线分辨率太低,这个过程会丢失一些信息。一般来说,传感器的线性分辨率高并不是坏事,或者灵敏度可能更低。传感器的线性分辨率影响曝光时间(灵敏度),因此输入电平的增益需要匹配不同的线性分辨率。

获取图像

中间按钮用于开始/停止拍摄。按下按钮开始录制图像。集群预分配将在0.5秒内完成,然后暂停,直到它被释放。当您释放按钮时,您将开始记录图像,然后在按下任何按钮时停止,或者直到写入的数据到达簇预分配区域的边界。预分配的大小配置为100,000行(约100MB),但可以根据被摄体的大小进行更改。生成的图像文件可以在计算机上进行预处理,可以调整图像方向、纵横比或伽马校正。

5、实拍效果显示