微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于单片机的低成本CMOS图像采集系统

基于单片机的低成本CMOS图像采集系统

时间:05-24 来源:互联网 点击:

始化信号线拉低等一系列的操作,以使图像传感器能够正常工作或者获得最佳的工作状态。其主要流程如图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总线数据传输流程

  I2C总线操作的典型时序信号有起始位信号、终止位信号、发送地址、发送数据、接收数据,所有的时序信号都是通过对单片机硬件I2C内部寄存器的操作实现的。I2C模块主要功能函数如下:(1)读取图像传感器内部寄存器的值unsignedcharI2C_Read(unsignedcharslave—address,unsignedcharregaddress,unsignedcharslave_read_address)/*slave_address是图像传感器的地址+写操作符"0",reg_address是图像传感器内部寄存器的地址,slave_read_address是图像传感器的地址+读操作符"1"*/{unsignedcharval;I2C_Start();//启动I2C总线,I2C_CR2寄存器最低位置lI2C_SendDAdr(slave_address);//发送图像传感器的地址+写操作符"0"I2C_SendDat(reg_address);//发送内部寄存器的地址I2C_Start();//启动I2C总线,I2C_CR2寄存器最低位置1I2C_SendDAdr(slave_read_address);//发送图像传感器的地址+读操作符"1"vai=12C_RcvDat();//从I2C接口读取数据I2C_stop();//释放I2C总线,I2C_CR2寄存器次低位置1retunlval;}(2)读取图像传感器内部寄存器的值unsignedcharI2C_Main(unsignedcharslave_address,unsignedcharreg_address,unsignedcharwrite_data){/*slave_address是图像传感器的地址+写操作符"0",reg_address是内部寄存器的地址,write_data是要写入寄存器的数据*/I2C_Start();//启动I2C总线,I2C_CR2寄存器最低位置1I2C_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接口的最大特点是由主设备时钟信号的出现与否来决定主从设备之间的通信。在从设备被使能时,一旦检测到主设备的时钟信号,数据开始传输,时钟信号无效后,传输结束。在系统中,单片机作为主设备,图像传感器作为从设备,图像传感器在时钟的下降沿变数,单片机在时钟的上升沿采集数据,图像传感器接收单片机的时钟

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top