搜狐数码频道 > 数码影像 > 数码资讯 > 行业动态

又一神级DIY!自己动手做数码相机

2011年11月03日07:52
来源:驱动之家

  3、软件构成

  3.1、数据处理

  AD转换器的像素采集率可以高达2.1M像素每秒。首先,图像数据被存储在微处理器的缓冲存储器里。因为每秒2.1M的数据量对软件来说实在太过分,图像数据会存储到PLD的先进先出队列里。队列半满时触发微处理器的DRDT中断,然后微处理器一次接受一半队列的数据。队列的大小是16字节,也就是说软件的操作周期只要有像素采集率的1/8就足够。这对触发中断来说不算太快,但是仍然需要微处理器高速运行。这个项目里用了ARM7TDMI核心的快速中断请求功能(FIQ,fast interrpt request,通过编组寄存器产生低延迟中断),可惜在Cortex-M3核心中这一功能被去掉了。

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

  在每一行数据中有1094个像素,但其中有效的只有1024个。这些数据被存入内存,中断信号SYNC#在每一行数据的开始输出,用来同步第一个像素的数据。

  3.2、重建图像

  捕捉到的数据可以用通用的8位灰度BMP位图格式存储在MicroSD卡里,宽1024像素,长视拍摄时间而定。存储的格式是DCIMLCAMYnnnn.BMP(nnnn 是编号),和普通的数码相机几乎一样。

  在使用廉价的微处理器将图像数据存入SD卡时会遇到一些困难,主要是输入的数据要在极短的时间内存进文件。这个制作中的最大数据传输率是2MB每秒。幸运的是LPC2368有一个MCI(SD/MMC卡的原生控制模式),它能提供8MB/s的数据读取和6MB/s的数据写入能力。但是这是指读写大文件时的平均速度,事实上每次读写之间都需要一些死时间用在SD卡的内部处理和文件系统上,为了避免这些浪费,一个数据缓冲器被用来在死时间中暂存数据,但是微处理器系统的内存大小是有限的,不一定有足够的空间进行缓冲。

  让我们估计一下每次写数据操作所能容许的时间耗费。在这个制作里,所有32K的SRAM都用来做数据缓冲器,而程序在16K的ethernet RAM上运行。数据缓冲器分成两半,其中一块填充数据的时候另一块将数据写入闪存。 这要求在每8毫秒里写入16KB的数据,每次操作必须在下次操作之前完成 。接下来的软件技巧可以解决这个问题。

  数据写入过程中最重要的延迟发生在集群分配时,在实时操作系统里这是个很大的问题,集群分配导致的死时间视情况不同可能高达数秒钟。这个制作里使用集群预分配(写入数据时用f-lseek函数申请一个比目前需要大很多的空间)来避免写入数据时进入分区表重新定位。每次写入操作都包含一个用来结束操作的集群边界条件。想象一下SD卡里的文件预先整理出一块整齐的空间给数据,这就避免了写入数据过程中大量导致延迟的未知问题。

  尽管有这些用来尽可能减小死时间的方法,SD卡或多或少还有一些内部处理时间。在挑选SD卡的时候需要挑写入速度尽可能快的SD卡。我在许多牌子之间做过比较,结果发现东芝产SD卡有最小的写入延迟,也有最稳定的表现。

  3.3、显示图像

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

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

  其中一种是范围视图,输入的图像信号连接到Y轴,就像像示波器的输入。Y轴信号表示亮度,X轴信号表示各点在线性传感器上的位置。这个模式适于用来观察感光度和聚焦情况。不同点之间数据的差距可以用来帮助对焦,当图像聚焦时,波形图上产生许多峰谷,出现最大的峰峰值表明焦距已经对上。这是现在数码相机里自动对焦功能的原型。

  另外一种是卷动视图,图像向上卷动,新扫描到的图像出现在屏幕底部。这个模式能够用来调整线分辨率。最后生成的二维图像的高宽比决定于线分辨率和物体移动的速度。卷动视图能够展现出捕捉到的2D景象,但是如果被摄物体不移动就只剩下水平的线了,所以相机或者物体之一一定要在给定的运动速度下拍摄,这样才能一边观察一边调节线分辨率。

[上一页] [1] [2] [3] [4] [5] [下一页]
(责任编辑:刘伟)
  • 分享到:
上网从搜狗开始
网页  新闻

我要发布

近期热点关注
网站地图

数码频道

搜狐 | ChinaRen | 焦点房地产 | 17173 | 搜狗

实用工具