您的位置 首页 ADAS

根据单片机的低成本CMOS图画收集体系

在很多场合,由于客观条件限制,人们不可能进入现场进行直接观察,只能用适应性更强的电子图像设备来代替完成,在此背景下发展起来的图像技术成为人们关注的热点应用技术之一,它以直观、信息内容丰富而被广泛应用于

在许多场合,由于客观条件约束,人们不可能进入现场进行直接调查,只能用适应性更强的电子图画设备来代替完结,在此布景下发展起来的图画技能成为人们重视的热门运用技能之一,它以直观、信息内容丰厚而被广泛运用于许多场合。在物联网体系中完结图画收集,必需求考虑物联网的以下特色:

(1)物联网节点对价格灵敏。物联网是信息传感技能的大规模运用,传感节点数目成百上千,若每个节点的本钱进步一点,整个物联网体系的本钱就会进步许多。所以传感节点图画收集的本钱应尽量低。

(2)大部分物联网运用对图画质量要求不高。图画收集首要是协助用户不需求到现场就能够调查现场状况,关于大多数运用只要能分辩呈现场场景即可,没必要收集很高像素的图画。

(3)依据本钱考虑,物联网大多选用RS232,Zigbee,GPRS等传输速率不高的联网办法,图画传输时刻较长。但许多监测节点安放的方位固定,收集的图画是准静态图画,也便是说,大部分状况下,图画是不变的,所以对帧率要求不高。即便图画收集的速度慢一些,也不会对现场状况的调查有太大的影响。

依据单片机的低本钱CMOS图画收集体系正是在这样特定的运用布景下规划的。

针对物联网传感节点的特性,结合现有的技能条件和实践运用,提出一种用单片机直接与CMOS图画传感器相连,选用Flash为图画存储器,RS232为图画传输协议,并且多帧图画拼接成一幅图画的办法,完结了长途监控。所选器材价格低廉,硬件衔接简略,然后本钱十分低。该体系可独自作为独立的图画收集体系,又能以十分低的本钱附加到其他物联网节点上,运用领域广泛。

1 体系整体方案

图画收集体系是依据某种特定的运用意图和运用条件,由图画收集、图画存储、图画传输和体系操控等相关电子设备和传输介质组成的一个有机全体。图1是体系的整体框图,体系首要由单片机、图画传感器、Flash图画存储器组成。图画传感器担任图画的收集,收集的图画数据由单片机实时读取。图画传感器的分辩率为240×320,数据量为150 KB,而单片机的内部RAM只要2K,存不下一帧图画,所以挑选了一款Flash作为图画存储器,单片机将读取的图画数据转存人Flash图画存储器。由于图画数据转存入Flash需求占用数据收集的时刻,这就导致单片时机错失部分数据的收集,依据所采图画为静态图画这一运用布景,错失的数据可经过下两帧图画代替,由此确认了用3帧图画拼成一幅图画的算法。等一幅图画收集转存结束,单片机再从Flash图画存储器中读取图画数据,经过RS232 口传输到上位机。

EDNCOL_2014JUN23_MCU_EMBEDDED_AN_0101.JPG

图1 体系整体框图

2 体系硬件规划

2.1 图画传感器

体系选用了SP0828 CMOS芯片作为图画传感器。SP0828是一款完好的1/13英寸QVGA格局COMS图画传感器芯片。它支撑RGB565、YUV422、Raw Bayer、Format图画格局,最高像素为240×320,最高帧速率为30帧/s,能够满意物联网传感节点图画收集的要求。SP0828可作业在3种形式下:一般sensor、EMI、SPI;3种形式的挑选可经过I2C总线操控内部可编程功用寄存器来完结。该体系选用SPI形式,RGB565格局图画输出。

2.2 STM8单片机

STM8单片机是体系的操控中心,协调着整个体系的运作,所以必需求有较高的呼应速度和丰厚的外设资源。体系选用高性能、低功耗的8位微处理器STM8S207S6。它运转速度快,最高能够到达24 M。它的内部资源丰厚,具有32 KB的体系内可编程Flash,2 KB的内部RAM,l024 B的EEPROM,2个可编程的串行UART接口,一个最高速度可达400 bit/s的硬件I2C接口,一个可作业在主从形式的最高速度可达10 bit/s的硬件SPI接口等。并且它的开发工具简略,易于运用,价格便宜,开发材料多。因而,选用该款单片机不只不需求为体系装备额定器材,并且大大降低了整个体系的本钱及缩短了开发时刻。

2.3 Flash图画存储器

STM8S207S6内部RAM为2 KB,一幅240×320分辩率图画的巨细为150 KB,内部RAM不足以存下该分辩率的图画,所以体系选用一款Flash存储器SST25VF020作为外挂图画存储器。SST25VF020是SST25VF系列产品中的一员,其芯片具有以下特色:总容量为256 KB;单电源读和写操作,作业电压为2.7~3.3 V;低功耗,作业电流为7 mA,等候电流为3μA;SPI接口,可接受SPI时钟频率高达33 MHz,快速编程、快速擦除、快速读取等,该系列特色满意图画存储的要求。

2.4单片机与图画传感器、图画存储器的衔接

STM8单片机与SP0828 COMS图画传感器、SST25VF020 Flash图画存储器的硬件衔接如图2所示。

STM8单片机经过硬件12C接口对图画传感器内部寄存器进行初始化,经过硬件SPI接口接纳图画传感器发送的数据。由于Flash图画存储器也是SPI接口,所以图画存储器与图画传感器分时复用STM8单片机的硬件SPI接口。

图2 硬件衔接框图

图2 硬件衔接框图

各接口代表的含义如下:

SPI_CS:图画传感器SPI接口片选,低电平有用,只要该接13为低电平,图画传感器才干接纳单片机的SPI时钟,然后往单片机传送数据。该引脚衔接单片机的PD7一般I/O口。

ECLK:图画传感器的主时钟输入引脚,衔接单片机的CLK_CCO口。单片机经过该口为图画传感器供给16 MHz的主时钟。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:Flash SPI接口的片选引脚,低电平有用,该引脚衔接单片机的PD0一般I/O口。

SST_SO、SST_SI:Flash SPI接口的数据引脚,衔接单片机SPI_MISO和SPI_MOSI口,与图画传感器的SPI_SDA分时复用SPI_MISO口。

SST_SCK:Hash SPI接口的时钟信号输入引脚,衔接单片机的SPI_SCK口,与图画传感器的SPI_CLK分时复用SPI_SCK口。

3 体系软件规划

3.1主程序的规划

体系软件可分为:图画传感器模块、图画存储器模块、图画的多帧收集和拼接模块、串口数据传输模块。其根本流程图如图3所示。为了尽量进步单片机的处理速度,将体系的时钟频率设置为最高,即16 MHz。

图3 主程序流程图

图3 主程序流程图

3.2 图画传感器模块软件规划

依据SP0828 CMOS数字图画传感器的作业原理和作业流程,图画传感器模块包含了图画传感器上电初始化、图画传感器寄存器初始化、图画数据收集3个部分。

3.2.1 图画传感器上电初始化

图画传感器上电初始化,便是图画传感器在上电结束但没有开端作业的时分,对图画传感器芯片供给主时钟、初始化信号线拉低一级一系列的操作,以使图画传感器能够正常作业或许取得最佳的作业状况。其首要流程如图4所示。

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

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

DVDD28AVDD衔接电源,DVDD28AVDD拉高便是上电。在上电之后,延时至少10岬,初始化信号线PWDN拉低。然后延时至少110μs,单片机为图画传感器供给主时钟,为使图画传感器作业在最快的速度,单片机为图画传感器供给最高16 MHz的时钟。最终延时至少20 clock,单片机经过I2C接口对图画传感器内部寄存器进行初始化。上电结束。

3.2.2 图画传感器内部寄存器初始化

CMOS图画传感器选用I2C总线操控其各项功用,简略、便利。I2C总线也是现在图画传感器选用最遍及的操控办法。用户能够经过I2C总线改动图画传感器内部可编程寄存器的缺省参数来设置图画传感器的作业办法,如时钟、帧率、曝光、对比度、亮度等。I2C总线是芯片间串行数据传输总线,它只用一根数据线SDA和一根时钟线SCL即可完结完善的双工同步数据传输。I2C总线规则,主操控器发送开端信号标明一次数据传输的开端,然后为寻址字节,寻址字节由高7位地址位和低1位方向位组成。方向位标明主操控器与被操控器之间的数据传输方向,当该位为“0”时标明主操控器对被操控器的写操作,为“1”时标明主操控器对被操控器的读操作。寻址字节后是依照指定地址读写操作的数据字节与应对位。数据传送完结后主操控器有必要发送停止信号。I2C协议的时序如图5所示。

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

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

STM8单片机有专门的硬件I2C接口,因而可经过该接口完结与图画传感器的通讯。该体系中STM8单片机的I2C_SDA数据线和I2C_SCL时钟线别离衔接图画传感器的SBDA数据传输口和SCLK时钟传输口。经过上述对I2C协议的剖析,规划了如图6所示的I2C总线数据传输流程。

图6 I2C总线数据传输流程

图6 I2C总线数据传输流程

I2C总线操作的典型时序信号有开端位信号、停止位信号、发送地址、发送数据、接纳数据,一切的时序信号都是经过对单片机硬件I2C内部寄存器的操作完结的。I2C模块首要功用函数如下:

(1)读取图画传感器内部寄存器的值

unsigned char I2C_Read(unsigned char slave—address,unsigned charreg address,unsigned char slave_read_address)

/* slave_address是图画传感器的地址+写操作符“0”,reg_address是图画传感器内部寄存器的地址,slave_read_address是图画传感器的地址+读操作符“1”*/

{

unsigned char val;

I2C_Start();//发动I2C总线,I2C_CR2寄存器最低方位l

I2C_SendDAdr(slave_address);//发送图画传感器的地址+写操作符“0”

I2C_SendDat(reg_address);//发送内部寄存器的地址

I2C_Start();//发动I2C总线,I2C_CR2寄存器最低方位1

I2C_SendDAdr(slave_read_address);//发送图画传感器的地址+读操作符“1”

vai=12C_RcvDat();//从I2C接口读取数据

I2C_stop();//开释I2C总线,I2C_CR2寄存器次低方位1

retunl val;

}

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

unsigned char I2C_Main(unsigned char slave_address,unsigned charreg_address,unsigned char write_data)

{

/* slave_address是图画传感器的地址+写操作符“0”,reg_address是内部寄存器的地址,write_data是要写入寄存器的数据*/

I2C_Start();//发动I2C总线,I2C_CR2寄存器最低方位1

I2C_SendDAdr(slave_address);//发送图画传感器的地址+写操作符“0”

I2C_SendDat(reg._address);//发送内部寄存器的地址

I2C_SendDat(write_data);//发送内部寄存器要写入的数据

I2C_stop();//开释I2C总线,I2C_CR2寄存器次低方位1

}

3.2.3 图画数据的收集

单片机经过SPI协议收集CMOS图画传感器的图画数据。SPI总线是一种同步串行外设接口,答应MCU与各种外围接口器材以串行办法进行通讯。SPI总线一般选用4根线:串行时钟线SCK、主机输入从机输出数据线MISO、主机输出从机输入数据线MOSI、低电平有用的使能信号线SS。由于在体系的SPI数据传输过程中,单片机只收集图画传感器的数据,没有向图画传感器的数据输出,所以体系选用SPl只接纳形式,这样只需求一根串行时钟线SCK和一根主机输入从机输出数据线MISO即可,节约硬件资源。

SPI接口的最大特色是由主设备时钟信号的呈现与否来决议主从设备之间的通讯。在从设备被使能时,一旦检测到主设备的时钟信号,数据开端传输,时钟信号无效后,传输结束。在体系中,单片机作为主设备,图画传感器作为从设备,图画传感器在时钟的下降沿变数,单片机在时钟的上升沿收集数据,图画传感器接纳单片机的时钟信号SPI协议的时序如图7所示。

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

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

STM8单片机有专门的硬件SPI接口,因而可经过该接1:2收集图画数据。图画传感器SPI时钟输入引脚衔接单片机的SPI_SCK口,图画传感器图画数据输出引脚衔接单片机SPI_MISO口,片选SPI_CS引脚衔接单片机的一般I/O口PD7。然后对硬件SPI的参数进行装备,首要包含时钟频率、作业形式、主从形式、闲暇时分电平状况、触发边缘等,这些参数都能够经过单片机硬件SPI的内部寄存器的装备完结。SPI总线读取图画数据的流程如下:

unsigned char spinet_byte(void)

{

while(!(SPI_SR0x02));//等候总线闲暇

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

while(!(SPI_SR 0x01));//等候数据接纳结束

return SPI_DR;//将接纳到的数据回来

}

3.3 Flash模块软件规划

SST25VF020是一款2Mbit SPI Serial NOR型Flash芯片,在体系中作为图画存储器运用。该Flash经过SPI的串口接纳指令和数据,支撑3/4的SPI协议,其作业时序如图8所示。

图8 SST25VF020的作业时序图

图8 SST25VF020的作业时序图

从上图能够看出,CE#低电平使能芯片正常作业,该芯片在SCK的上升沿读入信号,在SCK下降沿的时分输出信号。STM8单片机有专门的硬件SPI接口,可是图画传感器也需求单片机的硬件sPI接口与之通讯,所以体系规划了一种分时复用单片机硬件SPI接口的办法。CE#片选衔接单片机的一般I/O口PD0,该I/O口在不同的时刻与图画传感器的片选PD7别离选中,如此,一个硬件SPI接口便可操作2个SPI设备。SPI时钟输入引脚衔接单片机的SPI_SCK口,SI读人信号衔接单片机的SPI_MOSI,SO输出信号衔接单片机的SPI_MISO。硬件SPI装备与前文所述图画数据收集SPI共同。此外,与图画收集比较,在程序部分还要多加一个单片机输出信号函数。Flash模块首要功用函数如下:

void sst_send_byte(unsigned char byte)

{

while(!(SPI_SR0x02));//等候总线闲暇

SPI_DR=byte;//即将写入的数据byte存入SPI_DR

while(!(SPI_SR0x01));//等候数据发送结束结束

tmp=SPI_DR;//清空接纳缓冲区

void flashwrite_byte(unsigned long addr,unsigned char data)//向缓冲区l的指定方位(0—263)写入指定字节

}

write_en();//写使能指令

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

send(0x02);//写指令

send((unsigned char)(addr>>16));//发送数据的地址

send((unsigned char)(addr>>8));

send((unsigned char)addr);

send(data);//发送要写入的数据

mssl();//开释片选

}

unsigned char flashreadbyte(unsigned long addr)

}

unsigned char byte;

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

send(0x03);//读指令

send((unsigned char)(addr>>16));//发送数据的地址

send((unsigned char)(addr>>8));

send((unsigned char)addr);

byte=get();//读取数据

mssl();//开释片选

return byte;

}

3.4图画的多帧收集和拼接模块软件规划

为保存图画数据,体系引进Flash存储器,而数据转存入Flash存储器需求占用中止呼应时刻,这就导致了中止呼应时刻不行的问题。为处理这个问题,依据所采图画为静态图画这一运用布景,提出一种多帧图画的部分收集与拼接算法,在中止呼应时刻中,只读取图画传感器中的图画数据,然后占用两次中止的时刻,把图画数据转存入Flash。每帧图画有160次中止,每帧图画只取其1/3,取3帧图画的数据,即可拼接成一幅完好的图画。多帧收集办法如图9所示。图中,实线表明捕获到的中止,虚线表明因转存人Flash错失的中止。

图9 多帧收集图画办法暗示

图9 多帧收集图画办法暗示

单片机把收集的数据依照收集时刻的次序转存入Flash数据在Flash中的摆放次序如图10所示。

图10 图画数据在Flash中的存储次序

图10 图画数据在Flash中的存储次序

在Flash中读取图画数据的时分,依照中止次数的先后次序读出,即第l帧第1次中止、第2帧第2次中止、第3帧第3次中止、第1帧第4次中止、第2帧第5次中止……第2帧第158次中止、第3帧第159次中止、第1帧第160次中止。这样,3帧图画的数据拼接成一幅完好的图画。在读取图画数据的一起,单片机以2个字节为单位,拼接成一个无符号整型,即一个像素点,经过RS232接口传送至上位机。

4 实验及剖析

图11是体系的实物图,硬件体系面积是(7.5×7。5)cm2,双层PCB板,体系结构简略,运转安稳。体系对图画的处理速度是4帧/s,满意实时性的要求。

图12为收集的一幅图画,巨细为240×320,图画格局为bmp,像素格局为RGB565,该图画是3帧图画拼接而成,是单片机经过RS232接口传输至上位机,并在显现器上显现的。

图11 体系实物图

图11 体系实物图

图12 实验成果图画

图12 实验成果图画

5 结束语

介绍了依据STM8单片机的低本钱CMOS图画收集体系的硬软件构成,与其他嵌入式图画收集体系比较,有3点优势:榜首,价格低廉,有较强的市场竞争力;第二,办法新颖,提出了一种多帧图画拼接成一幅图画的办法,处理了单片机处理速度慢的问题,取得了很好的实验作用;第三,体系体积小,结构简略,实时性好,能以十分低的本钱附加到其他物联网传感节点上,使物联网节点具有收集和传输图画的功用,更大程度上便利用户运用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/284487.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部