摘 要: 采用ST公司生产的STM32F103系列主控芯片,该系列芯片能够产生系统所需要的驱动线阵CCD的时序信号,通过蓝牙技术进行数据传输,使用虚拟仪器编程软件LabVIEW进行上位机软件开发,从而能够完整地做出所要求的一个线阵CCD图像采集系统。该系统可以实现蓝牙无线数据方式采集,软件界面的开发时间缩短,操作性强。
关键词: STM32;线阵CCD;蓝牙技术;LabVIEW;数据采集
0 引言
传统的数据采集方式基本上是以有线的方式连接,线多且乱,有时会造成不必要的损失,而且使用大多基于C或C++的软件界面,操作起来不易,开发时间比较长,功能上不能往外扩展。电荷耦合器件(Charge Couple Device,CCD)[1]已经在非接触测量领域和传感领域得到了应用,这种器件从20世纪60年代发展而来,具有很多优点,比如精度高、功耗低、尺寸小,寿命长等。在某一个有关于CCD的系统中,CCD的驱动时序要求是很重要的,影响着CCD的信噪比等特性,而像EPROM驱动、单片机驱动、IC驱动以及PLD驱动存在着很多缺点,比如调试困难、逻辑设计复杂、驱动频率低[2],所以CCD驱动是所要考虑的。上述的这些问题是该系统所要解决的主要问题,也正是因为这些问题的要求,才设计出了这样的一个系统。
根据上述所提出的问题,采用蓝牙技术来实现无线数据传输,它具有很多优点,如功耗低、成本低、传输速率高、稳定性强、安全性高、使用便捷,关键是目前智能手机也都自带蓝牙功能。而其他的无线技术,比如WIFI,虽然传输速率高,但是安全性不够;ZigBee技术耗能低、低成本但传输速率不高[3]。所以综合以上考虑,使用蓝牙适配器作为无线传输方式。
CCD驱动方面继承了实验室经常使用的ARM芯片,该芯片不止作为驱动芯片,也是整个系统的“大脑”,承担着核心的作用,此芯片是ST公司生产的STM32F103系列,选用它主要因为其产生的驱动时序稳定、精确。对于界面开发,选用了LabVIEW作为编程开发软件,它是虚拟仪器的软件开发工具,虚拟仪器在国内已经比较成熟,而且它是一种图形化编程语言,是未来编程语言的发展趋势,具有很多优点,关键是强大的扩展功能是所需要的。
1 整体方案设计
系统主要由ARM处理器STM32F103、电平转换、线阵CCD、滤波放大电路、A/D转换及蓝牙传输模块等组成。此图像采集系统的基本工作步骤是:首先微处理器芯片产生CCD所需要的4种驱动脉冲信号,使CCD能够正常工作,然后CCD的光敏单元部分采集到光信号,并且输出的是模拟信号,为了得到数字信号,必须经过放大处理然后输入到A/D转换当中,微处理器读取数字信号结果并且存入到自己的存储器当中,当这样一帧数据接收完成之后,经过串口将数据送入上位机当中处理[4]。系统框架如图1所示。
2 系统硬件组成
2.1 蓝牙模块的选择
采集模块选用的是蓝牙模块HC05,这个模块是实验室经常使用的,在资料和调试上是非常成熟的。这块蓝牙器件的数据传输率范围极广,基本上在4 800 b/s~1 382 400 b/s之间,电压精度要求不高,一般的单片机系统电压是可以兼容的,此款蓝牙可以与电脑、手机等智能终端配对。表1展示了所使用的蓝牙部分参数。
2.2 微处理器的选择
根据系统的需要,整个测量系统的控制,对于采集信号的调理和转换,与上位机之间的通信以及蓝牙适配器的连接,对于传感器CCD的驱动控制,选择了由ST(意法开云棋牌官网在线客服)公司出产的一款ARMv7-M架构的32位微处理器。它的内核是Cortex-M3,该处理器非常高效,功耗低,实时性能好,而且价格便宜。根据提供的数据资料可以知道该款微处理器最大的工作时钟频率达到了72 MHz,满足系统的实时性要求。它具有128 KB闪存,20 KB静态RAM,满足图像采集系统的要求。它具有基本的32位Thumb-2指令集架构。此器件在整个的设计上解决了很多的问题。
2.3 线阵CCD驱动设计
在CCD驱动设计上,选择了经常使用的TCD1206SUP,该CCD传感器价格上比较便宜而且满足要求。此器件的驱动电压脉冲是两相5 V,有效像元数为2 160个,满足了实际需求,每一行的输出像元是2 236个。根据数据每一个是14 m×14 m,有效总长度为30.24 mm。
此款CCD器件TCD1206SUP需要4路驱动信号,由上述微处理器STM32F103系列来产生满足需求的时序,包括:两相电荷转移脉冲、复位的脉冲RS以及所要的光积分脉冲SH。图2是波形图。
由图2可以解读出当在SH下降沿时,、各自保持为高低电平交替存在,当光积分脉冲是处在高电平期间时,驱动脉冲是高电平,是低电平状态的。这样的驱动时序是为了保证在光敏区间的采集信号能够完完全全地转移到CCD这样一个模拟移位寄存器当中,这是关键所在。但是在控制SH的电平时间上一定要把握住其时间上的要求,因为如果SH的高电平时间过长的话,那么信号转移到模拟移位寄存器里的信号将不仅是有效信号,而且还有少量的噪声信号[5],这将严重影响有效信号的获取。实际上噪声信号的多少主要取决于所设置的这个SH在高电平上的时间长短[6]。通过以上来看,时间长短是必须注意的地方。
2.4 A/D转换
其实在STM32F103系列处理器的内部是有A/D转换模块的,但是由于CCD驱动频率为1 MHz、500 kHz、250 kHz,当微处理器工作频率达到72 MHz时,A/D转换速度却达不到1 MHz,所以需要一个外部的A/D芯片。经过提供的数据资料分析,采用了AD9945信号处理器。采用AD9945的原因是其采用了40 MHz单通道架构,设计主要是为了用于采样、调节交错和对逐行扫描区域CCD阵列的输出。它的内部寄存器部分使用的是串行接口。AD9945的组成部分包括:CDS(相关双采样)、VGA(数字控制增益放大器)、ADC(12位模数转换器)以及黑色电平钳位电路[7]。它是由3 V电源供电,功耗典型值大约为140 mW,封装形式是采用32引脚的LFCSP。
3 硬件系统软件设计
TCD1206SUP的SH、、RS这些驱动时序信号分别是由微处理器STM32F103的TIM1_Channel1、TIM2_Channel1、TIM2_Channel2和TIM3_Channel1这些定时器通道产生的,其中高级定时器TIM1在PWM_1模式工作,而通用定时器TIM2在翻转模式工作,通用定时器TIM3工作在PWM模式。把TIM2的翻转频率设置为 0.5 MHz,TIM2_Channel1和TIM2_Channel2的输出极性相反,TIM3的工作频率为1 MHz。
TCD1206SUP会在的下降沿输出信号,它是双通道的,TIM2_Channel1输出信号的下降沿以及TIM2_Channel2的下降沿应该与TIM3输出信号的下降沿对齐,这样才能够有效、及时地释放出采集信号。在工作模式上将TIM1设置为主工作模式,而TIM2设置为从工作模式。TIM2的门控信号是TIM1的OCxRef,这是一个输出信号,TIM1的输出为低电平,参考输出为高电平;否则输出为高电平,参考输出为低电平。这些工作条件是TIM1定时器的计数值小于它的计数器预装载值。当定时器TIM1为高电平的参考电平时,TIM2处在正常工作状态,反之,在前者处于低电平工作状态时,后者将处于停止工作状态,此时TIM1_Channel1通道将会输出高电平状态,所以应该始终使TIM2_Channel1的输出电平为高电平。这一点是关注的重点部分,是整个驱动时序的关键,所以一定要控制好这两个定时器在周期上始终是匹配的。
4 上位机软件开发
上下位机的配对主要以主从的形式进行。在下位机部分主要是用蓝牙模块,使用它作为系统的从机部分,在通过上电之后,与MCU通信,同一时间上,还要等待和允许主机对蓝牙模块进行搜索。在上位机接口部分,所要求的程序由LabVIEW软件编写。在软件部分,接口所需要的程序由LabVIEW图形化软件编写。作为主机部分,上位机对下位机进行全面的搜索、搜索服务、建立连接、传输数据[8]。部分LabVIEW程序框图如图3所示。
5 结论
本文主要介绍了一种基于LabVIEW虚拟仪器机蓝牙技术的CCD图像采集系统。此系统解决了许多复杂的采集问题,实现了无线蓝牙传输数据图像采集。基于LabVIEW图形化编程系统在应用上有很大的灵活性,后续功能升级方面的空间比较大。事实上,这个系统还可以作为其他系统来使用,例如光谱分析时就可以使用。
参考文献
[1] 王庆有.CCD应用技术[M].天津:天津大学出版社,2000.
[2] 周根荣,姜平.一种基于高速超微型单片机的CCD驱动电路设计[J].电子技术应用,2006,32(3),105-107.
[3] 刘书生,赵海.蓝牙技术应用[M].沈阳:东北大学出版社,2001.
[4] 赵凯生,刘爽,龙再川,等.基于ARM的线阵CCD测量系统分析[J].光电技术应用,2006,21(1):31-34.
[5] 许秀贞,李自田,薛利军.CCD噪声分析及处理技术[J].红外与激光工程,2004,33(4):343-346.
[6] 王庆有.图像传感器应用技术[M].北京:电子工业出版社,2003.
[7] 王华伟,刘波,曹剑中.CCD信号处理电路设计研究[J].科学技术与工程,2007,7(16):4153-4156.
[8] 侯国屏,王坤,叶齐鑫.LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2005.