一种基于高速超微型单片机的CCD驱动电路设计

发布者:书卷气息最新更新时间:2007-04-24 来源: 电子技术应用关键字:接触  输出  时序  模数 手机看文章 扫描二维码
随时随地手机看文章
CCD作为一种光电转换器件,由于其具有精度高、分辨率好、性能稳定等特点,目前广泛应用于图像传感和非接触式测量领域。在CCD应用技术中,最关键的两个问题是CCD驱动时序的产生和CCD输出信号的处理。对于CCD输出信号,可以根据CCD像素频率和输出信号幅值来选择合适的片外或片内模数转换器;而对于CCD驱动时序,则有几类常用的产生方法。

  1 常用的CCD驱动时序产生方法

CCD厂家众多,型号各异,其驱动时序的产生方法也多种多样,一般有以下4种:

  (1)数字电路驱动方法

这种方法是利用数字门电路及时序电路直接构建驱动时序电路,其核心是一个时钟发生器和几路时钟分频器,各分频器对同一时钟进行分频以产生所需的各路脉冲。该方法的特点是可以获得稳定的高速驱动脉冲,但逻辑设计和调试比较复杂,所用集成芯片较多,无法在线调整驱动频率。

  (2)EPROM驱动方法

这种驱动电路一般在EPROM中事先存放所有的CCD时序信号数据,并由计数电路产生EPROM的地址使之输出相应的驱动时序。该方法结构相对简单、运行可靠,但仍需地址产生硬件电路,所需EPR0M容量较大,同样也无法在

线调整驱动频率。

  (3)微处理器驱动方法

这种方法利用单片机或DSP通过程序直接在I/O口上输出所需的各路驱动脉冲,硬件简单、调试方便、可在线调整驱动频率。但由于是依靠程序来产生时序,如果程序设计不合理,会造成时序不均匀;而且往往会造成微处理器资源浪费;通常驱动频率不高,除非采用高速微处理器。

  (4)可编程逻辑器件驱动方法

这种设计方法就是利用CPLD、FPGA等可编程逻辑器件来产生时序驱动信号,硬件简单、调试方便、可靠性好,而且可以得到较高的驱动频率。同样也可在线调整驱动频率。电路设计完成以后,如果想更改驱动时序,只需将器件内部逻辑重新编程即可。

以上4类方法中目前常用的是微处理器驱动方法(通常又称为“软件驱动”法)和可编程逻辑器件驱动方法(又称“硬件驱动”法)。由于在CCD应用系统中,一般都要用到微处理器,所以若采用“软件驱动”法,则无需增加硬件,在电路结构上最为简单,系统成本也最低,因此,只要能克服其驱动频率低、资源浪费多、时序不均匀等缺点,无疑是一种理想的驱动方法。本文结合Toshiba公司的TCDl206线阵CCD,介绍如何利用C8051F300来产生其要求的驱动时序。

  2 硬件设计

如图1所示,虚线框内的电路构成CCD驱动处理板。安装在CCD相机内部。系统处理器采用美国Silabs公司推出的超微型高速8位单片机C8051F300,CCD采用Toshiba公司的高灵敏度线阵CCD图像传感器芯片TCDl206,双电压供电的总线驱动器LVC4245解决了单片机(3.3V)和CCD(5V)二者之间的电平匹配。CCD驱动脉冲由C8051F300提供,其像素输出电压经高速运放AD8031处理,由U0引脚引到外部,同时向外部提供像素同步信号PS和行同步信号FS(由PO.6、P0.7经LVT245总线驱动器所得)。

U0、PS、FS这3个信号供外部处理器采集CCD像元输出。另外,有时可能要在线调整CCD的某些参数(如驱动频率、积分时间等),为此设置了RS232串口与外部处理器进行通信。

  2.1 TCD1206

TCD1206是Toshiba公司生产的高灵敏度二相双沟道线阵CCD图像传感器芯片,2160个有效像素点,像素频率为0_3~2MHz(本系统为1.MHz),其驱动时序波形如图2所示。

图2中:φl、φ2为像素脉冲,两者互为反相,RS为复位脉冲.SH为光积分脉冲,OS为像元输出,DOS为像元补偿输出。当SH为低电平时,在φ1、φ2交变后,OS输出像元电压信号,随后发RS脉冲,以便去掉信号输出缓冲中的残余电荷,为下一点像素电压输出做准备。各脉冲具体时序关系可参见参考文献。

  2.2 C8051F300

C8051F系列单片机其CPU内核采用流水线结构,机器周期由标准8051的12个系统时钟周期降为1个系统时钟周期,使其执行速度在相同晶振下是标准8051的12倍,处理能力大大提高,大部分C8051F单片机的峰值处理速度是25M1PS,而C8051F12X、13X系列的峰值处理速度则达到了100MIPS。C8051F系列单片机功能齐全,性能优异,其整体性能超过很多目前的16位单片机,甚至在一些低端应用中可取代低速的16位DSP器件,目前在仪器仪表、工业控制、嵌入式产品等领域日益得到广泛应用。

C8051F300是C8051F系列中的超微型高速混合系统级单片机,是目前世界上最小封装的8位单片机,11个引脚,封装在面积为3ram×3mm的芯片上。内部集成了3个16位定时器、3个可编程捕捉,比较模块、1个UART串口、1个I2C串口、1个8通道500KSPS采样率的8位ADC、8KB的Flash程序存储器、256B的内部RAM、8个I/O口,系统内部振荡时钟为24.5MHz(±2%)、最大峰值处理速度可达25MIPS。

由图2可见,在4路CCD驱动脉冲中,对时序要求严格的是φ1、φ2和RS,为此,利用C8051F300的可编程计数器阵列模块的2个可编程捕捉,比较模块输出口(CEXO、CEXl)自动产生φl、φ2,以CEXO为基准点,再产生RS和其他脉冲。

  2.3 可编程计数器阵列(PCA)

PCA提供增强的定时器功能,由一个专用的16位计数器,定时器和3个16位捕捉,比较模块组成,每个捕捉/比较模块有其自己的I/O口(CEXn,n=l,2,3)。计数器,定时器的时基信号可在6个时钟源中选择:系统时钟、系统时钟/4、系统时钟/12、外部振荡器时钟/8、定时器0溢出或ECI输入引脚上的外部时钟信号。而每个捕捉,比较模块都可以被独立配置为6种工作方式之一:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。

由于φ1、φ2(对应CEXO、CEXl)是占空比为50%的方波,所以捕捉/比较模块0、1工作在频率输出方式,这种工作方式可在CEXn引脚产生可编程频率的方波,其工作原理图如图3所示。当PCA计数器低字节与捕捉,比较寄存器低字节相同即PCAOL=PCAOCPLn时,称为“比较匹配”,此时CEXn引脚电平翻转,同时捕捉/比较寄存器高字节即PCAOL与PCAOCPHn相加后的结果送入PCAOCPLn,以便下一次比较用。显然,只要改变PCAOCPHn的值,便可在CEXn引脚上得到频率可调、占空比为50%的方渡,其频率由下式定义:

  fCEXn=fPCA/(2×PCAOCPHn),

其中:fPCA是PCA计数器,定时器的时钟频率。

  3 软件设计

为了得到时序严格的ccD驱动脉冲和外部输出同步脉冲,程序不是靠软件延时来达到合适宽度的脉冲,而是利用PCA模块本身强大的功能,用中断程序来完成各路脉冲,即开放捕捉,比较模块0的“比较匹配”中断作为同步信号,并以此为基准点完成相应脉冲的每一次变化。

  3.1 CCD驱动脉冲

PCA的2个捕捉,比较模块工作方式设置为如图4所示的频率输出方式。其输出引脚CEX0、CEXl的初始电平设置为1、0,当PCAOL与PCAOCPLn(n=O、1)“比较匹配”时,电平翻转,由此形成反相的φ1、φ2脉冲;而HS脉冲的产生,则是在捕捉/比较模块O的“比较匹配”中断程序中,即先对RS(P0.2)置l,随后清零,这样就可产生80ns的RS脉冲(SETB bit指令周期为2个时钟周期,即80ns)。

  3.2 外部输出同步脉冲及像素电压

行同步信号FS、像素同步信号IX5均设置为低电平有效,CCD时序中φl、φ2交变后直到像素电压输出有一个延迟时间tdly(典型值为150ns),但由于捕捉/比较模块0“比较匹配”时,一方面CEXO(φ1)翻转,一方面向CPU请求中断,而中断响应时间需5个时钟周期(200ns),显然大于tdly,所以进入中断后,不必考虑tdly,可直接对PS(P0.6)清零,待合适的时间后再将PS置1.这样就产生一个低电平有效的PS信号。

CCD像素输出OS、DOS经高速运放AD8031处理后,其外部输出像素电压Uo时序如图4所示。

针对单片机在CCD时序驱动应用中存在的优缺点.选用新型高速C8051F单片机,实现CCD驱动电路,克服了单片机驱动方式存在的驱动频率低、系统资源浪费、时序间隔不均匀等缺点;具有硬件结构简单、调试编程方便、可在线调整驱动频率等优点。本文所介绍的驱动电路己应用于TCDl206,超微型的封装结构使其很容易与其他芯片一起嵌入在CCD相机中,系统运行可靠。

关键字:接触  输出  时序  模数 引用地址:一种基于高速超微型单片机的CCD驱动电路设计

上一篇:一种基于高速超微型单片机的CCD驱动电路设计
下一篇:MCS-51单片机P0口扩展技术研究

推荐阅读最新更新时间:2024-03-16 12:21

正弦波输出变压变频电源调制方式的研究
摘要:介绍了正弦波输出变压变频电源系统。对正弦波输出变压变频电源三种SPWM调制方式厦数字化控制策略进行了研究,以期得到一种较理想的调制方式,使变压变频电源的开关管损耗、可靠性及输出电压质量得以改善。并以TMS320F240数字信号处理器为主控芯片,实现逆变电源变频、变压输出,最后给出实验结果。 关键词:变压变频;正弦脉宽调制;谐波分析;多环控制 中图分类号:TM46 文献标识码:A 文章编号:()219 2713(2005106 0025—05 O 引言 随着电力电子技术的飞速发展,正弦波输出变压变频电源已被广泛应用在各个领域中,与此同时对变压变频电源的输出电压波形质量也提出了越来越高的要求。对逆变器输出波形质量的要求主要包
[电源管理]
STM32f103的数电采集电路的TIMER定时器的使用与时序控制的程序
STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。 通用定时器设置的一般步骤可以总结为如下几个步骤: 1.定时器时钟使能 2.设置定时参数 3.定时器工作方式初始化 4.定时器中断方式使能 5.开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤) 6.使能定时器 7.编写中断处理函数 前端采
[单片机]
可线性输出10MV/°C电压的IC温度转换电路
电路的功能 半导体CI温度传感器可获得与温度变化成线性关系的输出,无须使用线性关系的输出,无须使用线性化电路,但不能作为高温传感器使用。由于误差较大,在实用中需作改进。本电路是一种测量设备内部温度,并有温度补偿的温度转换电路,在任何环境卫生温度下均可调零,灵敏度为正负10MA/°C。 电路工作原理 IC内部的温度传感器可以获得与10MV/°K成正比的电压输出,内部放大器的引线2、3相接后可起到缓冲的作用,用电平移位电路A1可在任意温度下使输出电压为零。传感器IC的第4、第1根引线内部有6.85V的齐纳二极管,从R1可得到1MA~5MA的置偏电流。基准电压从R2输入,它由可变电阻VR1分压得到。 温度传感器U
[模拟电子]
可线性<font color='red'>输出</font>10MV/°C电压的IC温度转换电路
使用差分放大器驱动模数转换器
高速差分放大器让包含高速模数转换器(ADC)的信号链设计更加灵活。差分运放能提供包括增益,阻抗变换和单端到差分转换等的信号调理功能。 ADC一般是固定增益的器件,当输入信号幅值小于满量程的输入范围的时候性能最好。对幅值不足一个最低有效位LSB的信号进行量化时会引入失真。同样对幅值超过满量程的信号也会引入失真。很多ADC会被轻微的过驱动损坏。CLC5526是一个可变增益的差分放大器,当驱动高速ADC的时候能提供给信号增益或者衰减。它在微控制器的控制下能额外获得42dB的动态范围。对于要求低失真,固定增益和直流耦合的应用,LMH6550是理想的选择。类似LMH6550的差分放大器能选择精确的共模工作点。LMH6550和CLC5526都
[模拟电子]
I2C总线信号时序总结
总线空闲状态   I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 启动信号   在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。启动信号是一种电平跳变时序信号,而不是一个电平信号。启动信号是由主控器主动建立的,在建立该信号之前I2C总线必须处于空闲状态。 重启动信号   在主控器控制总线期间完成了一次数据通信(发送或接收)之后,如果想继续占用总线再进行一次数据通信(发送或接收),而又不释放总线,就需要利用重启动Sr信号
[单片机]
I2C总线信号<font color='red'>时序</font>总结
关于linux的framebuffer和s3c2410的硬件接口与时序问题
像素时钟的公式: VCLK = HCLK/ 在本系统中,HCLK的值为100M HZ 下面是几个参量与s3c2410fb_display数据结构之间的关系: VBPD是vertical back porch 表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应upper_margin; VFBD是vertical front porch 表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应lower_margin; VSPW是vertical sync pulse width 表示垂直同步脉冲的宽度,用行数计算,对应vsync_len; HBPD是horizontal back porch 表示从水平同步信号的下降沿开始到
[单片机]
飞思卡尔S08微控制器再添新丁
  飞思卡尔进一步扩大了其低端8位HCS08微控制器(MCU)系列。QA4 和 QA2 MCU分别具有4KB/2KB的闪存和256B/160B的RAM,提供一个进入飞思卡尔S08系列的切入点。QA4/QA2器件适合于从电机控制到便携式保健的通用消费和工业应用。   当设计人员需要扩展功能时,QA4/QA2器件在飞思卡尔MCU系列内提供支持环境和兼容管脚的移植。 MC9S08QA4的产品特征: • 4KB闪存 • 256B RAM • S08 8位 CPU @ 20MHz • 1.8V至3.3V的电压范围 • 基于闪存的 EEPROM • 4 个通用的 I/O (GPIO), 和1个仅输入I/O 和 1个仅输出I/O
[新品]
FP6277单节锂电池升压输出5V3A,15W同步整流升压芯片
FP6277是台湾远翔的一款同步整流升压IC,封装为SOP-8(EP),它的PWM 电路内置 30mΩ高压侧开关和30mΩ低压侧开关,使该调节器具有很高的功率效率。内部补偿网络也将外部元件的数量减少到只有 6 个。内线 0.6V 电压连接到误差放大器非逆变输入作为精密参考电压。 内置软启动功能,降低励磁涌流; 输入电压范围:2.4V~4.5V; 可调输出电压高达5.3V; 最大输出功率15W; PWM固定频率500KHz; 反馈精准电压0.6V(±2%); 静态功耗关断电流小于1uA。 FP6277的产品应用 1.便携式电子设备:例如智能手机、平板电脑、移动电源等; 2.家用电器:例如空气净化器、加湿器、除湿机、电风扇等
[嵌入式]
FP6277单节锂电池升压<font color='red'>输出</font>5V3A,15W同步整流升压芯片
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved