光电组方案by_zhao.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光电组方案by_zhao

线性CCD 方案 一、 线性CCD 的介绍 第八届之前的光电组采用的传感器一般都是红外对管或者激光对 管,从第八届开始,比赛规则要求光电组采用线性CCD 型号为 TSL1401 。相比之前的传感器,线性CCD的优点在于硬件设计简 单,并且采集到的信息多了,而且相对比较来说看得更宽一些(虽 然也看得还是不够宽)。 以上是来自TSL1401的Datasheet。可以看到我们需要用到的就是五 个引脚,VCC GND SI CLK 还有AO。VCC GND不用解释了。SI是串行 输入。SI定义数据输出序列的开始。CLK定义为时钟,时钟控制电荷 转移,像素输出和复位。TSL1401包含128*1个线性光电二极管,相 关的电荷放大电路,还能在积分开始和结束时给所有像素提供像素 数据保持功能。操作被内部控制逻辑简化后,只需要一个连续输入 信号和一个时钟信号。也就是说线性CCD其实就是面阵CCD的一行。 用自己的话理解就是TSL1401线性CCD传感器包含128个线性排列 的光电二极管。每个光电二极管都有各自的积分电路,以下我们将 此电路统称为像素。每个像素所采集的图像灰度值与它所感知的光 强和积分时间成正比。 那么这128个像素是怎么进行采集并输出的呢,这就用到了SI和CLK 信号。根据前面的介绍可以简单的了解它们的功能。在128个像素 之外,还有一个开关逻辑控制和移位寄存器电路。SI通过该电路, 控制每一个像素的积分和复位操作;CLK通过该电路控制每一个像 素电压的依次输出。 图中可以看到上面提到的像素电路、开关逻辑控制和位移寄存器电 路。从图中我们还可以看到一个GainTrim,该模块对传感器输出的电 压进行增益调整,因此从AO 引脚输出的电压无需再接其他运放 (但在之后的调车过程中发现再外接个运放还是比较重要的特别放 大倍数可调这个是关键),直接接入单片机的AD 输入引脚即可。每 个像素的值可以在CLK 的下降沿时从AO 采集。 如果你阅读了TSL1401 的英文技术文档,经常会看到积分 (integration )这个词,其实这里所说的积分时间就是我们熟知的曝 光时间。这个曝光时间的概念和相机中胶片的曝光时间是一样的。 曝光时间是指底片的感光时间,曝光时间越长底片上生成的相片越 亮,相反越暗。线性CCD 的曝光时间也是这个原理。 从1 到18 位复位时间,第19 个到下一个SI 为曝光时间。 关于曝光时间 根据TSL1401技术文档的提供的数据,该器件的最大曝光时间为 100ms,即无论你实际曝光多长时间,只要超过100ms,其图像效 果和100ms是一样的。那么如何选择合适的曝光时间,就成了需要 面对的问题。 即使是相同的物体,在不同的光线环境下得到的图像是不一样的。 从理论上讲,在光线较暗的环境中,应该增加曝光时间,以换取亮 度合适的图像;在光线较强的环境中,应该减少曝光时间,以防止 图像出现饱和现象。 但是对于采集变化较快的图像,例如在智能车的应用中,应该避免 增加曝光时间。原因有两个: 一、增加曝光时间意味着图像采集周期变长,不利于系统的控制。 说白了就是采集周期变长,系统控制的反应能力就变弱; 二、增加曝光时间会使图像变模糊,不利于图像处理。这个道理也 和相机一样,相机的快门越快,越适合捕捉高速运动的图像,反之 则捕捉的图像很模糊! 当然如果你用来采集变化较慢的图像,或者是静止的图像,则没有曝 光时间长短的问题。之后在调车过程中我都将曝光时间固定为10MS, 或者5MS 。 如果碰到光线暗的情况下 曝光时间也固定,去调节运放的放大倍数, 来让图像达到我想要的效果。这样也不会破坏程序的整体时序。对于 程序框架后面会详解。个人感觉某宙的自适应曝光不怎么好,直接一 个固定曝光时间,可调运放,即可搞定,包括最后比赛也是这样。 二、 线性CCD 的采集 线性CCD 的采集就相对比较简单了,实际上网上也有很多CCD 的资 料,例程。如果你不想深究,那么直接拿过来复制粘贴就可以搞 定。我也是参考网上的例程。然后用了一个PIT 定时器中断去产生 曝光时间,然后把采集函数扔到中断里就好。 最后是将ADC_QuickReadValue(AD_MAP)4 的数据存放在了一个128 个元素的八位数组里面。ADC 用的是12 位向右移4 位就是八位。 这只是单个采集函数。那么怎么连续曝光采集呢? 首先初始化PIT 中断,在PIT 中断函数中给标志位来判断到达了某个 时间。 这是PIT 中

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档