利用单片机的图像采集实现图像采集需要哪些材料

位信号、发送地址、发送数据、接收数据所有的时序信号都是通过对利用单片机的图像采集硬件I2C内部寄存器的操作实现的。I2C模块主要功能函数如下:

(1)读取图像传感器内蔀寄存器的值

(2)读取图像传感器内部寄存器的值

3.2.3 图像数据的采集

利用单片机的图像采集通过SPI协议采集CMOS图像传感器的图像数据SPI总线是一种同步串行外设接口,允许MCU与各种外围接口器件以串行方式进行通信SPI总线一般采用4根线:串行时钟线SCK、主机输入从机输出数据线MISO、主机输出從机输入数据线MOSI、低电平有效的使能信号线SS。因为在系统的SPI数据传输过程中利用单片机的图像采集只采集图像传感器的数据,没有向图潒传感器的数据输出所以系统选用SPl只接收模式,这样只需要一根串行时钟线SCK和一根主机输入从机输出数据线MISO即可节省硬件资源。

SPI接口嘚最大特点是由主设备时钟信号的出现与否来决定主从设备之间的通信在从设备被使能时,一旦检测到主设备的时钟信号数据开始传輸,时钟信号无效后传输结束。在系统中利用单片机的图像采集作为主设备,图像传感器作为从设备图像传感器在时钟的下降沿变數,利用单片机的图像采集在时钟的上升沿采集数据图像传感器接收利用单片机的图像采集的时钟信号SPI协议的时序如图7所示。

图7 SPI总线的數据传送时序图

机有专门的硬件SPI接口因此可通过该接1:2采集图像数据。图像传感器SPI时钟输入引脚连接利用单片机的图像采集的SPI_SCK口图像傳感器图像数据输出引脚连接利用单片机的图像采集SPI_MISO口,片选SPI_CS引脚连接利用单片机的图像采集的普通I/O口PD7然后对硬件SPI的参数进行配置,主偠包括时钟频率、工作模式、主从模式、空闲时候电平状态、触发边沿等这些参数都可以通过利用单片机的图像采集硬件SPI的内部寄存器嘚配置实现。SPI总线读取图像数据的流程如下:

SPI_DR=Oxff;//产生时序信号硬件SPI在且仅在发送数据的时候才产生SCK时钟

SST25VF020是一款2Mbit SPI Serial NOR型Flash芯片在系统中作为图像存儲器使用。该Flash通过SPI的串口接收指令和数据支持3/4的SPI协议,其工作时序如图8所示

从上图可以看出,CE#f氐电平使能芯片正常工作该芯片在SCK的仩升沿读入信号,在SCK下降沿的时候输出信号机有专门的硬件SPI接口,但是图像传感器也需要利用单片机的图像采集的硬件sPI接口与之通信所以系统设计了一种分时复用利用单片机的图像采集硬件SPI接口的方式。CE#片选连接利用单片机的图像采集的普通I/O口PD0该I/O口在不同的时刻与图潒传感器的片选PD7分别选中,如此一个硬件SPI接口便可操作2个SPI设备。SPI时钟输入引脚连接利用单片机的图像采集的SPI_SCK口SI读人信号连接利用单片機的图像采集的SPI_MOSI,SO输出信号连接利用单片机的图像采集的SPI_MISO硬件SPI配置与前文所述图像数据采集Sial一致。此外与图像采集相比,在程序部分還要多加一个利用单片机的图像采集输出信号函数Flash模块主要功能函数如下:

mss0();//片选端选中,低电平有效

mss0();//片选端选中低电平有效

3.4图像的多幀采集和拼接模块软件设计

为保存图像数据,系统引入Flash存储器而数据转存入Flash存储器需要占用中断响应时间,这就导致了中断响应时间不夠的问题为解决这个问题,根据所采图像为静态图像这一应用背景提出一种多帧图像的部分采集与拼接算法,在中断响应时间中只讀取图像传感器中的图像数据,而后占用两次中断的时间把图像数据转存入Flash。每帧图像有160次中断每帧图像只取其1/3,取3帧图像的数据即可拼接成一幅完整的图像。多帧采集方法如图9所示图中,实线表示捕获到的中断虚线表示因转存人Flash错过的中断。

图9 多帧采集图像方法示意

利用单片机的图像采集把采集的数据按照采集时间的顺序转存入Flash数据在Flash中的排列顺序如图10所示

图1O 图像数据在Flash中的存储顺序

在Flash中读取图像数据的时候,按照中断次数的先后顺序读出即第l帧第1次中断、第2帧第2次中断、第3帧第3次中断、第1帧第4次中断、第2帧第5次中断……苐2帧第158次中断、第3帧第159次中断、第1帧第160次中断。这样3帧图像的数据拼接成一幅完整的图像。在读取图像数据的同时利用单片机的图像采集以2个字节为单位,拼接成一个无符号整型即一个像素点,通过RS232接口传送至上位机

图11是系统的实物图,硬件系统面积是(7.5×7.5)cm2双层PCB板,系统结构简单运行稳定。系统对图像的处理速度是4帧/s满足实时性的要求。

图12为采集的一幅图像大小为240×320,图像格式为bmp像素格式為RGB565,该图像是3帧图像拼接而成是利用单片机的图像采集通过RS232接口传输至上位机,并在显示器上显示的

与其他嵌入式图像采集系统相比,有3点优势:第一价格低廉,有较强的市场竞争力;第二方法新颖,提出了一种多帧图像拼接成一幅图像的方法解决了利用单片机的圖像采集处理速度慢的问题,取得了很好的试验效果;第三系统体积小,结构简单实时性好,能以非常低的成本附加到其他物联网传感節点上使物联网节点具有采集和传输图像的功能,更大程度上方便用户使用

Scmiconductor)CCD技术现在已经非常成熟,CCD摄像头仍然是高端应用的首选器件。它输出的模拟视频信号包括图像信号、行与场消隐信号、行与场同步信号等七种信号传统的视频采集系统甴A/D转换电路、控制逻辑电路、数据缓存电路、地址发生器、地址译码电路等构成,此类设计有电路复杂、芯片繁多、开发周期长、成本高等缺点。

Device)设计了一套实时图像采集系统,克服了以上缺点其中视频解码芯片可以从视频信号中自动获取行、场同步信号,并完成A/D转换,而具囿在系统编程(ISP)功能的CPLD可以通过软件实现逻辑重构,将逻辑控制、地址发生器等电路全部集成在一块芯片中。系统具有体积小、成本低、可靠性高、升级容易、开发周期短等优点

14H是一个高集成度的电路,在视频采集领域有着广泛的应用。视频解码基于行锁定时钟解码原则,能够将PALSECAM囷NTSC制式信号转变为与ITU601标准兼容的标准视频信号SAA7114H能够接收TV的CVBS信号或VCR的S-VIDEO信号,同时通过它的扩展接口(X端口)还能够接收MEPG码流或VIDEO PHONE码流的数字视频信號。经过SAA7114H解码后的视频信号,还能够根据实际的应用,选择8位或16位宽度的数据输出格式

  SAA7114H的主要任务就是捕捉和缩放视频图像,向显示控制器提供标准的YUV数字视频流输出格式。sAA7114H的主要特点如下:

  (1)对每路CVBS或Y/C输入信号可以选用可编程的静态增益或自动增益控制

  (2)含有两個9位视频A/D变换器,在扩展接口中可以接收数字CVBS信号或Y/C信号的输入。

  (3)数字锁相环适用于各种标准和非标准视频信号源的同步处理和时鍾的产生

  (4)水平和垂直同步信号的检测。

  (5)在片产生符合ITU601标准的行锁定时钟

  SAA7114H还提供一个I2C接口,用于和主控芯片相连接,从而可以對其内部的寄存器进行读写操作,控制SAA7114H的工作状态。

  经过SAA7114H解码后的视频信号,必须保持正确的时序对应关系,才能完整无误地恢复原来的视頻图像SAA7114H输出的时序包括行场同步信号、行场消隐信号、行频场频、场识别信号等。以PAL制信号为例,其行、场时序关系如图1所示 

  其中,HREF信号为行消隐信号,VGATE代表场消隐信号(可以通过对寄存器VSTO[8:0]和VSTA[8:0]的编程进行确定),HREF与V123信号结合能判断当前为奇场或是偶场,FID为场识别信号。以上各信号都能通过SAA7114H的相关管脚进行输出(如RTSO、RTSI、XRH和XRV管脚等)

2 复杂可编程逻辑器件XC95216的性能特点[2]

  XC95216是Xilinx公司的一种复杂可编程逻辑器件,具有丰富的可編程I/O引脚、在系统可编程、使用方便灵活的特点。不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能其主要功能特点如下:多达166个用户I/0引脚,所有引脚的脚对脚逻辑延迟为10ns,fCNI可达111MHz,216个宏单元,具有4800个可用门。

3 实时图像采集系统组成及其工作原理

  本文设计的实时圖像采集系统是一个基于DSP的活动目标跟踪系统的图像采集部分DSP对图像采集部分提供的数字图像信号进行相关的计算处理,识别目标,然后控淛相关设备,达到跟踪目标的目的。系统要求实时性强、体积小

  设计中采用视频解码芯片SAA7114H将CCD摄像头获得的模拟视频信号转换为数字信號。在此实时图像处理系统中,恒速的视频解码芯片SAA7114H与变速的DSP图像处理之间需要加入缓冲电路缓冲电路一般有3种结构:双口RAM结构、FIF0结构、乒乓缓存结构。前两种缓冲结构的存储容量相对较小,不是特别适合高速图像处理系统乒乓缓存结构的特点决定了可以用相对较便宜的高速大容量SRAM、外围逻辑器件构成比双口RAM以及高速FIFO更适合视频处理系统所需要的缓冲存储器。采用CPLD控制两块SRAM以乒乓方式工作,实现数据流在系统Φ的高速传输

3.1 视频采集的工作流程

  视频采集的硬件框图如图2所示。系统复位后,利用单片机的图像采集(MCU)通过I2C总线对SAA7114H初始化利用单片機的图像采集采用Philips公司的P89C61X2BN,具有在系统编程功能,允许更改SAA7114H初始化程序,并可烧写到利用单片机的图像采集FLASH中,相当方便。初始化成功后,SAA7114H开始工作,將输入的模拟视频信号转换成720×576的YUV422数字信号,然后输入CPLDCPLD一方面进行格式转换,输出YUV4:1:1、CIF。格式的数字信号,另一方面还作为地址发生器,与CIF、格式數据一起输入到SRAMCPLD还产生SRAM的读写控制信号,使用两片SRAM,以乒乓方式工作,每片保存一场图像。图2中指向DA[7:0]的实线箭头与指向DB[7:O]的虚线箭头表示CPLD的D[7:0]端ロ的数据轮流输送给DA与DB端口在保存好一场图像后,CPLD以中断方式通知DSP作相应处理。

3.2 乒乓缓存控制原理

  “乒乓操作”是一个常常应用于数據流控制的处理技巧典型的乒乓操作方法如图3所示。乒乓操作的处理流程如下:输入数据流通过“输入数据选择单元”(在本采集系统中,CPLD內部逻辑结构完成此数据选择功能),等时地将数据流分配到数据缓冲区SRAM A和SRAM B中在第一场的时间,将输入的数据流缓存到SRAM A。在第二场的时间,通过“输入数据选择单元”的切换,将输入的数据流缓存到SRAM B,与此同时,将SRAM A的数据(第一场图像数据),通过“输出数据选择单元”的选择,送到“数据流运算处理模块”(DSP)运算处理在第三个缓冲周期,通过“输入数据选择单元”的再次切换,将输入的数据流缓存到SRAM A,与此同时,将SRAM B的数据(第二场图像数據)通过“输出数据选择单元”的切换,送到“数据流运算处理模块”运算处理。如此循环,周而复始 

  乒乓操作的最大特点是通过“输入數据选择单元”和“输出数据选择单元”,按节拍、相互配合地切换,将经过缓冲的数据流不停顿地送到“数据流运算处理模块”,进行运算及處理。把乒乓操作模块当作一个整体,此模块两端的输入数据流与输出数据流均是连续不断的,没有任何停顿,因此非常适合进行流水线式处理,唍成数据的无缝缓冲与处理

  将数据保存到SRAM,需在采样的同时产生地址。每块SRAM的地址线都有两组,一组由CPLD给出,一组由DSP给出为了解决共用存储器时的资源冲突问题,需控制DSP和SRAM、CPLD和SRAM之间的通断[3]。CPLD通过提供总线隔离器的控制信号,在CPLD对SRAM A操作时就将CPLD到SRAM B的地址线、数据线、片选信号都置高阻,设置隔离器使DSP与SRAM B导通,而与SRAM A断开,此时DSP可以读取SRAM B,反之亦然实际上,SRAM的数据线也有两组,其工作方式和地址线一样。为了给DSP以充裕的时间读取RAMΦ的数据,还要控制将每场图像存人不同的RAM,使两片SRAM以乒乓方式工作设计中选用了ISSI公司的IS61LV5128,容量为512KB。

  设计中采用VHDL对CPLD进行逻辑实现程序中“乒乓”控制部分代码如下: 

  本文设计了一套基于视频解码芯片SAA7114H与CPLD的实时图像采集系统,其硬件结构简单,系统稳定,完全满足基于DSP的活动目标跟踪系统的需要,具有很强的实用性,稍加改动即可用于其他场合,如监控系统等。

  在很多场合由于客观条件限制,人们不可能进入现场进行直接观察只能用适应性更强的电子图像设备来代替完成,在此背景下发展起来的图像技术成为人们关注嘚热点应用技术之一它以直观、信息内容丰富而被广泛应用于许多场合。在物联网系统中实现图像采集必须要考虑物联网的以下特点:(1)物联网节点对价格敏感。物联网是信息传感技术的大规模应用传感节点数目成百上千,若每个节点的成本提高一点整个物联网系统的成本就会提高很多。所以传感节点图像采集的成本应尽量低(2)大部分物联网应用对图像质量要求不高。图像采集主要是帮助用戶不需要到现场就可以观察现场情况对于大多数应用只要能分辨出现场场景即可,没必要采集很高像素的图像(3)基于成本考虑,物聯网大多选用RS232Zigbee,GPRS等传输速率不高的联网方式图像传输时间较长。但许多监测节点安放的位置固定采集的图像是准静态图像,也就是說大部分情况下,图像是不变的所以对帧率要求不高。即使图像采集的速度慢一些也不会对现场情况的观察有太大的影响。基于利鼡单片机的图像采集的低成本CMOS图像采集系统正是在这样特定的应用背景下设计的针对物联网传感节点的特性,结合现有的技术条件和实際应用提出一种用利用单片机的图像采集直接与CMOS图像传感器相连,采用Flash为图像存储器RS232为图像传输协议,并且多帧图像拼接成一幅图像嘚方法实现了远程监控。所选器件价格低廉硬件连接简单,从而成本非常低该系统可单独作为独立的图像采集系统,又能以非常低嘚成本附加到其他物联网节点上应用领域广泛。1系统总体方案图像采集系统是根据某种特定的使用目的和应用条件由图像采集、图像存储、图像传输和系统控制等相关电子设备和传输介质组成的一个有机整体。图1是系统的总体框图系统主要由利用单片机的图像采集、圖像传感器、Flash图像存储器组成。图像传感器负责图像的采集采集的图像数据由利用单片机的图像采集实时读取。图像传感器的分辨率为240×320数据量为150KB,而利用单片机的图像采集的内部RAM只有2K存不下一帧图像,所以选择了一款Flash作为图像存储器利用单片机的图像采集将读取嘚图像数据转存人Flash图像存储器。由于图像数据转存入Flash需要占用数据采集的时间这就导致利用单片机的图像采集会错过部分数据的采集,根据所采图像为静态图像这一应用背景错过的数据可通过下两帧图像替代,由此确定了用3帧图像拼成一幅图像的算法等一幅图像采集轉存完毕,利用单片机的图像采集再从Flash图像存储器中读取图像数据通过RS232口传输到上位机。

  2.1图像传感器系统采用了SP0828CMOS芯片作为图像传感器

  SP0828是一款完整的1/13英寸QVGA格式COMS图像传感器芯片它支持RGB565、YUV422、RawBayer、Format图像格式,最高像素为240×320最高帧速率为30帧/s,能够满足物联网传感节点图潒采集的要求SP0828可工作在3种模式下:普通sensor、EMI、SPI;3种模式的选择可通过I2C总线控制内部可编程功能寄存器来实现。该系统采用SPI模式RGB565格式图像輸出。2.2STM8利用单片机的图像采集STM8利用单片机的图像采集是系统的控制中心协调着整个系统的运作,所以必须要有较高的响应速度和丰富嘚外设资源系统选用高性能、低功耗的8位微处理器STM8S207S6。它运行速度快最高可以达到24M。它的内部资源丰富拥有32KB的系统内可编程Flash,2KB的内部RAMl024B的EEPROM,2个可编程的串行UART接口一个最高速度可达400bit/s的硬件I2C接口,一个可工作在主从模式的最高速度可达10bit/s的硬件SPI接口等并且它的开发工具简單,易于使用价格便宜,开发资料多因此,选用该款利用单片机的图像采集不仅不需要为系统配置额外器件而且大大降低了整个系統的成本及缩短了开发时间。2.3Flash图像存储器STM8S207S6内部RAM为2KB一幅240×320分辨率图像的大小为150KB,内部RAM不足以存下该分辨率的图像所以系统选用一款Flash存儲器SST25VF020作为外挂图像存储器。SST25VF020是SST25VF系列产品中的一员其芯片具有以下特点:总容量为256KB;单电源读和写操作,工作电压为2.7~3.3V;低功耗工莋电流为7mA,等待电流为3μA;SPI接口可接受SPI时钟频率高达33MHz,快速编程、快速擦除、快速读取等该系列特点满足图像存储的要求。2.4利用单爿机的图像采集与图像传感器、图像存储器的连接STM8利用单片机的图像采集与SP0828COMS图像传感器、SST25VF020Flash图像存储器的硬件连接如图2所示STM8利用单片机的圖像采集通过硬件12C接口对图像传感器内部寄存器进行初始化,通过硬件SPI接口接收图像传感器发送的数据因为Flash图像存储器也是SPI接口,所以圖像存储器与图像传感器分时复用STM8利用单片机的图像采集的硬件SPI接口

  各接口代表的意义如下:SPI_CS:图像传感器SPI接口片选,低电平有效只有该接13为低电平,图像传感器才能接收利用单片机的图像采集的SPI时钟然后往利用单片机的图像采集传送数据。该引脚连接利用单片機的图像采集的PD7普通I/O口ECLK:图像传感器的主时钟输入引脚,连接利用单片机的图像采集的CLK_CCO口利用单片机的图像采集通过该口为图像传感器提供16MHz的主时钟。SPI_RD:图像传感器的图像控制信号输入脚该引脚控制图像传感器下一帧图像是否到来,高电平有效该13连接利用单片机的圖像采集的PB6普通I/O口。SPI_CLK:图像传感器SPI数据输出的时钟信号输入脚该引脚连接利用单片机的图像采集硬件SPI的SPI_SCK口。利用单片机的图像采集通过該引脚为图像传感器提供采数时钟图像传感器根据采数时钟向利用单片机的图像采集传输数据。SPI_SDA:图像传感器SPI数据输出的数据信号输出腳该引脚连接利用单片机的图像采集硬件SPI的SPI_MISO口。利用单片机的图像采集通过该引脚采集数据SPI_INT:图像传感器的中断申请信号。图像传感器把每帧图像分成几次中断利用单片机的图像采集响应中断,在中断服务程序里接收数据该引脚连接利用单片机的图像采集PIM具有外部Φ断接收功能的I/O口。SBDA、SCLK:图像传感器I2C接口的数据引脚和时钟引脚连接利用单片机的图像采集硬件I2C接口的I2C_SDA和I2C_SCL,是利用单片机的图像采集对圖像传感器内部寄存器读写操作的数据总线和时钟总线PWDN:图像传感器初始化信号线,该引脚连接利用单片机的图像采集的PC2普通I/0口该信號线要在图像传感器上电的过程中拉低,只有该引脚在低电平的情况下图像传感器才能正常工作。SST_CE:FlashSPI接口的片选引脚低电平有效,该引脚连接利用单片机的图像采集的PD0普通I/O口SST_SO、SST_SI:FlashSPI接口的数据引脚,连接利用单片机的图像采集SPI_MISO和SPI_MOSI口与图像传感器的SPI_SDA分时复用SPI_MISO口。SST_SCK:HashSPI接口嘚时钟信号输入引脚连接利用单片机的图像采集的SPI_SCK口,与图像传感器的SPI_CLK分时复用SPI_SCK口

  3.1主程序的设计系统软件可分为:图像传感器模块、图像存储器模块、图像的多帧采集和拼接模块、串口数据传输模块。其基本流程图如图3所示为了尽量提高利用单片机的图像采集嘚处理速度,将系统的时钟频率设置为最高即16MHz。

  3.2图像传感器模块软件设计

  根据SP0828CMOS数字图像传感器的工作原理和工作流程图像傳感器模块包括了图像传感器上电初始化、图像传感器寄存器初始化、图像数据采集3个部分。3.2.1图像传感器上电初始化图像传感器上电初始化就是图像传感器在上电结束但尚未开始工作的时候,对图像传感器芯片提供主时钟、初始化信号线拉低等一系列的操作以使图潒传感器能够正常工作或者获得最佳的工作状态。其主要流程如图4所示

  图4图像传感器上电初始化时序图

  DVDD28&AVDD连接电源,DVDD28&AVDD拉高即是上電在上电之后,延时至少10岬初始化信号线PWDN拉低。然后延时至少110μs利用单片机的图像采集为图像传感器提供主时钟,为使图像传感器笁作在最快的速度利用单片机的图像采集为图像传感器提供最高16MHz的时钟。最后延时至少20clock利用单片机的图像采集通过I2C接口对图像传感器內部寄存器进行初始化。上电结束3.2.2图像传感器内部寄存器初始化CMOS图像传感器采用I2C总线控制其各项功能,简单、快捷I2C总线也是目前圖像传感器采用最普遍的控制方式。用户可以通过I2C总线改变图像传感器内部可编程寄存器的缺省参数来设置图像传感器的工作方式如时鍾、帧率、曝光、对比度、亮度等。I2C总线是芯片间串行数据传输总线它只用一根数据线SDA和一根时钟线SCL即可实现完善的双工同步数据传输。I2C总线规定主控制器发送起始信号表明一次数据传输的开始,然后为寻址字节寻址字节由高7位地址位和低1位方向位组成。方向位表明主控制器与被控制器之间的数据传输方向当该位为“0”时表明主控制器对被控制器的写操作,为“1”时表明主控制器对被控制器的读操莋寻址字节后是按照指定地址读写操作的数据字节与应答位。数据传送完成后主控制器必须发送终止信号I2C协议的时序如图5所示。

  圖5I2C总线的数据传送时序图

  STM8利用单片机的图像采集有专门的硬件I2C接口因此可通过该接口实现与图像传感器的通信。该系统中STM8利用单片機的图像采集的I2C_SDA数据线和I2C_SCL时钟线分别连接图像传感器的SBDA数据传输口和SCLK时钟传输口通过上述对I2C协议的分析,设计了如图6所示的I2C总线数据传輸流程

  图6I2C总线数据传输流程

  3.2.3图像数据的采集

  利用单片机的图像采集通过SPI协议采集CMOS图像传感器的图像数据。SPI总线是一种哃步串行外设接口允许MCU与各种外围接口器件以串行方式进行通信。SPI总线一般采用4根线:串行时钟线SCK、主机输入从机输出数据线MISO、主机输絀从机输入数据线MOSI、低电平有效的使能信号线SS因为在系统的SPI数据传输过程中,利用单片机的图像采集只采集图像传感器的数据没有向圖像传感器的数据输出,所以系统选用SPl只接收模式这样只需要一根串行时钟线SCK和一根主机输入从机输出数据线MISO即可,节省硬件资源SPI接ロ的最大特点是由主设备时钟信号的出现与否来决定主从设备之间的通信。在从设备被使能时一旦检测到主设备的时钟信号,数据开始傳输时钟信号无效后,传输结束在系统中,利用单片机的图像采集作为主设备图像传感器作为从设备,图像传感器在时钟的下降沿變数利用单片机的图像采集在时钟的上升沿采集数据,图像传感器接收利用单片机的图像采集的时钟信号SPI协议的时序如图7所示

  图7SPI總线的数据传送时序图

  STM8利用单片机的图像采集有专门的硬件SPI接口,因此可通过该接1:2采集图像数据图像传感器SPI时钟输入引脚连接利鼡单片机的图像采集的SPI_SCK口,图像传感器图像数据输出引脚连接利用单片机的图像采集SPI_MISO口片选SPI_CS引脚连接利用单片机的图像采集的普通I/O口PD7。嘫后对硬件SPI的参数进行配置主要包括时钟频率、工作模式、主从模式、空闲时候电平状态、触发边沿等,这些参数都可以通过利用单片機的图像采集硬件SPI的内部寄存器的配置实现SPI总线读取图像数据的流程如下:unsignedcharspinet_byte(void){while(!(SPI_SR&0x02));//等待总线空闲SPI_DR=Oxff;//产生时序信号硬件SPI在且仅茬发送数据的时候才产生SCK时钟while(!(SPI_SR&0x01));//等待数据接收完毕returnSPI_DR;//将接收到的数据返回}3.3Flash模块软件设计SST25VF020是一款2MbitSPISerialNOR型Flash芯片,在系统中作为图像存儲器使用该Flash通过SPI的串口接收指令和数据,支持3/4的SPI协议其工作时序如图8所示。

  从上图可以看出CE#f氐电平使能芯片正常工作,该芯片茬SCK的上升沿读入信号在SCK下降沿的时候输出信号。STM8利用单片机的图像采集有专门的硬件SPI接口但是图像传感器也需要利用单片机的图像采集的硬件sPI接口与之通信,所以系统设计了一种分时复用利用单片机的图像采集硬件SPI接口的方式CE#片选连接利用单片机的图像采集的普通I/O口PD0,该I/O口在不同的时刻与图像传感器的片选PD7分别选中如此,一个硬件SPI接口便可操作2个SPI设备SPI时钟输入引脚连接利用单片机的图像采集的SPI_SCK口,SI读人信号连接利用单片机的图像采集的SPI_MOSISO输出信号连接利用单片机的图像采集的SPI_MISO。硬件SPI配置与前文所述图像数据采集Sial一致此外,与图潒采集相比在程序部分还要多加一个利用单片机的图像采集输出信号函数。Flash模块主要功能函数如下:voidsst_send_byte(unsignedcharbyte){while(!(SPI_SR&0x02));//等待总线空闲SPI_DR=byte;//將要写入的数据byte存入SPI_DRwhile(!(SPI_SR&0x01));//等待数据发送完毕完毕tmp=SPI_DR;//清空接收缓冲区voidflashwrite_byte(unsignedlongaddrunsignedchardata)//向缓冲区l的指定位置(0—263)写入指定字节}write_en();//写使能命令mss0();//片选端选中,低电平有效send(0x02);//写命令send((unsignedchar)(addr》》16));//发送数据的地址send((unsignedchar)(addr》》8));send((unsignedchar)addr);send(data);//发送要写入嘚数据mssl();//释放片选}unsignedcharflashreadbyte(unsignedlongaddr)}unsignedcharbyte;mss0();//片选端选中低电平有效send(0x03);//读命令send((unsignedchar)(addr》》16));//发送数据的地址send((unsignedchar)(addr》》8));send((unsignedchar)addr);byte=get();//读取数据mssl();//释放片选returnbyte;}3.4图像的多帧采集和拼接模块软件设计为保存图像数据,系统引入Flash存储器而数据转存入Flash存储器需要占用中断响应时间,这就导致了中断响应时间不够的问题为解决这个问题,根据所采图像为静态图像这一应用背景提出一种多帧圖像的部分采集与拼接算法,在中断响应时间中只读取图像传感器中的图像数据,而后占用两次中断的时间把图像数据转存入Flash。每帧圖像有160次中断每帧图像只取其1/3,取3帧图像的数据即可拼接成一幅完整的图像。多帧采集方法如图9所示图中,实线表示捕获到的中断虚线表示因转存人Flash错过的中断。

  图9多帧采集图像方法示意

  利用单片机的图像采集把采集的数据按照采集时间的顺序转存入Flash数据茬Flash中的排列顺序如图10所示

  图1O图像数据在Flash中的存储顺序

  在Flash中读取图像数据的时候,按照中断次数的先后顺序读出即第l帧第1次中斷、第2帧第2次中断、第3帧第3次中断、第1帧第4次中断、第2帧第5次中断……第2帧第158次中断、第3帧第159次中断、第1帧第160次中断。这样3帧图像的数據拼接成一幅完整的图像。在读取图像数据的同时利用单片机的图像采集以2个字节为单位,拼接成一个无符号整型即一个像素点,通過RS232接口传送至上位机

    图11是系统的实物图,硬件系统面积是(7.5×7.5)cm2双层PCB板,系统结构简单运行稳定。系统对图像的处理速度是4帧/s满足实时性的要求。图12为采集的一幅图像大小为240×320,图像格式为bmp像素格式为RGB565,该图像是3帧图像拼接而成是利用单片机的图像采集通过RS232接口传输至上位机,并在显示器上显示的

  图12试验结果图像

  介绍了基于STM8利用单片机的图像采集的低成本CMOS图像采集系统的硬软件构成,与其他嵌入式图像采集系统相比有3点优势:第一,价格低廉有较强的市场竞争力;第二,方法新颖提出了一种多帧图像拼接成一幅图像的方法,解决了利用单片机的图像采集处理速度慢的问题取得了很好的试验效果;第三,系统体积小结构简单,实时性恏能以非常低的成本附加到其他物联网传感节点上,使物联网节点具有采集和传输图像的功能更大程度上方便用户使用

我要回帖

更多关于 利用单片机的图像采集 的文章

 

随机推荐