时间:2012年4月14日 来源:互联网 关键词:I2C总线 图像传感器 接口电路

  1引言  数码相机等图像消费类电子产品产业正在飞速发展,这使得图像传感器和数码相机专用集成芯片的研制获得巨大的市场支持。目前广泛使用的数码相机图像传感器主要是以下两种:CCD和CMOS。CCD图像传感器具有技术成熟、图像噪声小等优点,但由于制作工艺复杂,与标准工艺不兼容,且需要高电压供电,芯片功耗大,目前仅在高级型数码相机市场上占有一席之地。而CMOS图像传感器采用了CMOS工艺,可以将图像采集单元和信号处理单元集成到同一块芯片上,因而具有集成度高、功耗低、价格便宜的优点,具有很好的发展前景。随着噪声消除技术的改进,目前CMOS图像传感器正由中、低档数码相机向高级型数码相机发展。  现在的CMOS图像传感器芯片大都把I2C总线的一个子集作为控制接口(如Motorola公司的MCM20027,Omnivision公司的OV9620等),因而用户可以很方便地对芯片进行编程操作。与其他串行总线相比,I2C总线以两根连线实现了全双工同步数据传送,可以极方便地构成多机系统,并进行扩展,适用于消费电子、通信电子、工业电子等领域的低速器件。I2C总线由双向数据线SDA和时钟线SCL组成川,用户使用集电极开路门以“线与”方式进行总线连接。  

  图1为I2C总线的通信协议示意图,包括开始信号、结束信号、应答信号和数据有效等状态。当SCL持续为高电平时,SDA由‘1跳变到‘0,表示开始信号;当SCL持续为高电平时,SDA由‘0跳变到‘l,表示结束信号:在数据传输过程中,SDA在时钟高电平时有效,低电平时更换数据。开始和结束信号均由主I2C产生,通过SDA传输的数据以字节(8—bit为单位,高位在前,低位在后,在每个字节后面由接收端发送一个低电平的应答信号。  本文设计了一种基于I2C控制总线的CMOS图像传感器接口电路,能够有效控制CMOS图像传感器的指令,产生数码相机专用集成电路其他模块的同步时序,在MCU的控制下完成取景和拍照操作,并支持多种规格的CMOS图像传感器和液晶显示器。  2顶层设计  根据所设计的数码相机专用集成电路芯片的系统要求[2],CMOS图像传感器接口用来控制最高达400万像素多种规格的CMOS图像传感器,并且在MCU的控制下,能控制传感器芯片的自动/手动曝光和自动/手动白平衡及其他芯片支持的功能。该接口电路能够在取景和拍照两种模式下工作,在取景模式下,实现可编程的降采样处理,能够输出以4的倍数为基准的任意分辨率的图像,并接受多种规格的液晶显示器,取景速度达到30帧/s。根据上述功能要求将CMOS图像传感器接口划分为三个模块:主I2C总线接口模块、寄存器文件接口和可编程降采样模块,其总体框图和输入输出端口线如图2所示。 

   端口线主要有:①和MCU接口的连接,包括MCU_AB(地址总线),MCU_DB(数据总线),MCU_nWR(写使能),MCU_nRD(读位能),MCU—nCS(MCU操作选中信号)和MCUnINT(中断信号)②和CMOS图像传感器的连接,包括来自CMOS图像传感器的帧同步(VCLK)、行同步(HCLK)、像素同步(PCLK)、数据ADC(10位CMOS输出的数值),以及I2C总线的SDA,SCL,SCCB_E等:③和数码相机专用集成电路芯片的其他子模块相连,如VSYNC(帧同步)、HSYNC(行同步)、PSYNC(像素同步)、ADCOUT(输出图像数据)。  3模块设计  3.1寄存器文件模块  寄存器文件模块包括一个中断状态机和MCU接口。中断状态机用以控制主I2C总线模块,降采样处理模块和MCU接口的协调工作,它主要包括5个状态:  INT_DECIDE,INT_I2C_READ,INT  _MCU_READ,INT_I2C_WRITE和INT_CLEAR。状态机缺省状态为INT_DECIDE判决状态,表示状态机处于等待状态:  INT_I2C_READ表示I2C,总线正在从CMOS传感器读数据:  INT_12C_WRITE表示I2C总线正在从CMOS传感器写数据:  INT_MCU_READ表示MCU正从I2C上读数据:INT_CLEAR表示清中断。  MCU接口通过给内部寄存器读写参数,使CMOS图像传感器接口电路能够实现取景、拍照和软复位的功能:并通过I2C总线给CMOS传感器的内部参数寄存器读写参数,实现对CMOS传感器进行各种参数设置,以充分发挥CMOS传感器的性能。其中内部寄存器包括控制寄存器和降采样寄存器,降采样寄存器主要给降采样处理模块提供可编程所需要的参数。控制寄存器为低4位有效,第0位为软复位位,当系统复位或系统设置该位为l时,整个接口置于复位状态;当系统设置该位为0时,则取消复位状态变为工作状态。第1和第2位一起用来控制拍照和取景操作,当两位均为1时表示拍照状态:当第1位为1,第2位为0时表示取景状态;第3位用来表示中断位。  3.2主I2C总线接口  

  集成智能传感器的发展呈现出四大热点  电子自动化产业的迅速发展与进步促使传感器技术、特别是集成智能传感器技术日趋活跃发展,近年来随着半导体技术的迅猛发展,国外一些著名的公司和高等院校正在大力开展有关集成智能传感器的研制,国内一些著名的高校和研究所也积极跟进,集成智能传感器技术取得了令人瞩目的发展。  传感器向集成化、智能化发展  大规模集成电路技术和微机械加工技术的迅猛发展,为传感器向集成化、智能化方向发展奠定了基础,集成智能传感器在应用领域成为传感器发展的总体趋势。图1给出了集成智能传感器的组成框图。集成智能传感器采用微机械加工技术和大规模集成电路工艺技术,利用硅作为基本材料来制作敏感元件、信号调制电路,以及微处理器单元,并把它们集成在一块芯片上构成。这样,使智能传感器达到了微型化和结构一体化,从而提高了精度和稳定性。目前市场上的集成智能传感器已经成为研究热点,其发展方向主要有以下几个方面:  (1)向微型化发展; (2)应用新的物理现象、化学反应、生物效应作为传感器原理; (3)使用新型材料; (4)向微功耗及无源化发展; (5)采用新的加工技术(如化学微腐技术、微机械加工技术); (6)向高可靠性、宽温度范围发展。  集成智能传感器四大热点  1.物理转化机理  由于集成智能传感器可以很容易对非线性的传递函数进行校正,得到一个线性度非常好的输出结果,从而消除了非线性传递对传感器应用的制约,所以一些科研工作者正在对这些稳定性好、精确度高、灵敏度高的转换机理或材料进行研究。比如,谐振式传感器具有高稳定性、高精度、准数字化输出等许多优点,但传统的传感器频率信号检测需要较复杂的设备,限制了谐振式传感器的应用和发展,现在利用同一硅片上集成的智能检测电路,可以迅速提取频率信号,使得谐振式微机械传感器成为国际上传感器领域的一个研究热点。  2.数据融合理论  数据融合是集成智能传感器理论的重要领域,也是各国研究的热点,数据融合技术,简言之,即对多个传感器或多源信息进行综合处理,从而得到更为准确、可靠的结论。对于多个传感器组成的阵列,数据融合技术能够充分发挥各个传感器的特点,利用其互补性、冗余性,提高测量信息的精度和可靠性,延长系统的使用寿命。数据融合是一种数据综合和处理技术,是许多传统学科和新技术的集成和应用,如通信、模式识别、决策论、不确定性理论、信号处理、估计理论、最优化技术、计算机科学、人工智能和神经网络等。近年来,不少学者又将遗传算法、小波分析技术、虚拟技术引入数据融合技术中。  3.CMOS工艺兼容  目前,国外在研究二次集成技术的同时,集成智能传感器在工艺上的研究热点集中在研制与CMOS工艺兼容的各种传感器结构及制造工艺流程,探求在制造工艺和微机械加工技术上有所突破。目前,利用CMOS工艺兼容的集成湿度传感器将敏感电容和处理电路集成在一块硅片上,通过Coventor模拟得到全量程总的敏感湿敏电容变化值,同时提高了可靠性并降低了成本,随着微机械加工技术的逐步发展,使得以CMOS工艺技术制造的集成湿度传感器已经成为当前研究的热点。图像传感器在CMOS工艺兼容基础上使得其动态范围扩展技术有所进步。  4.传感器的微型化  集成智能传感器的微型化决不仅仅是尺寸上的缩微与减少,而是一种具有新机理、新结构、新作用和新功能的高科技微型系统,并在智能程度上与先进科技融合。其微型化主要基于以下发展趋势:尺寸上的缩微和性质上的增强性;各要素的集成化和用途上的多样化;功能上的系统化、智能化和结构上的复合性。  由于CMOS图像传感器目前普遍采用的是I2C总线功能集中的一个子集,因此该接口比一个完整的主I2C总线要更简单。它的读写周期如下:当要进行I2C总线写操作时,先发送所使用的CMOS传感器特定ID写地址,紧接着发送需要写的寄存器的地址(sub_address),再发送数据(data);当进行I2C总线读操作时,先发送所使用的CMOS传感器特定ID写地址,紧接着发送需要写的寄存器的地址(sub_address),再发送CMOS传感器特定ID读地址,最后接收数据(data)。对于不同的CMOS传感器产品,它们的ID地址是不同的,例如Omnivision公司为60h(写)[3]、61h(读)Motorola公司为66h(写)[4]、67h(读)。  考虑该主I2C总线的读写周期的特殊性,将该I2C总线设计成如图3所示的总体结构。主要包括控制状态机、数据缓存器、SDA产生接收器、SCL产生器以及并-串转换和串-并转换。数据缓存器用来将要通过I2C总线传输的数据组合成所需要的格式,由于CMOS图像传感器的I2C总线特殊的读写操作格式,因此可以将需要传输的ID地址、subaddress和data组合在一个30位的缓存器中,它的低六位用来表示高24位的3个字节的属性,以便正确的传输,通过这种数据组合,便于I2C总线传输和识别。串-并转换和并-串转换本质上是两个移位寄存器,用来将接收到的串行数据转变成并行数据或并行数据转变成要发送的串行数据。  SDA产生接收器用宋生成主总线的控制命令如开始、结束和应答位等(和SCL配合工作),随后接收和读取数据。SCL产生器用来产生I2C总线的时钟信号和控制命令信号(和SDA配合工作)。控制状态机主要负责控制整个I2C总线的流程,其状态图如图4所示。 

   主要包括以下八个状态:IDLE(等待读取或写入数据)、LOAD(加载需要传输的数据)、START(发送开始信号)、WRRD(I2C总线处于读取或写入数据状态)、DECIDE(判决当前状态是读取数据还是写入数据)、WR_ACK(写应答)、RD_ACK(读应答)、STOP(发送结束信号)。例如给CMOS图像传感器的一个寄存器写一个字节的数据,需要经历以下状态:IDLE→LOAD→START→WRRD→WR_ACK→WRRD→WR_ACK→WRRD→WR_ACK→STOP→IDLE;一个字节的写操作的ActiveHDL的仿真时序如图5所示。  3.3可编程降采样模块  可编程降采样模块是通过MCU给内部的降采样寄存器写入需要的降采样参数来实现可编程的,接口内一共有6个降采样参数寄存器:总行数寄存器(hrefprecnt)、总列数寄存器(pixprecnt)、行丢寄存器(hrefdropcnt)、列丢寄存器(pixdropcnt)、行降采样寄存器(vdscnt)、列降采样寄存器(hdscnt),各个寄存器参数所表示的意义如图6所示。操作过程如下:先跳过列丢寄存器值和行丢寄存器值数目的列和行,接下来保留总列数寄存器值和总行数寄存器值数目的列和行,在这些保留的行和列当中用列降采样寄存器和行降采样寄存器的值进行降采样:行降采样寄存器和列降采样寄存器分为两部分:保留和丢弃,保留和丢弃的像素和行的数目均为偶数且为连续的像素,从而保证降采样后输出的像素满足RGRG…RG或GBGB…GB的Bayer格式。通过这样几个降采样寄存器可以很方便实现的各种分辨率的降采样,能够输出任意4的倍数的分辨率的图像,因而可以很方便的支持多种规格的LCD显示器。 

   4电路的FPGA验证  在经过上述顶层设计和各个子模块的设计后,用Verilog语言[5]来实现,并用ActiveHDL来进行RTL级仿真,并对电路进行了FPGA验证,使用的芯片是Xilinx公司的SPARTANIIXC2S200PQ208,系统时钟为54MHz,FPGA综合的结果显示需要FPGA芯片的11%的SLICEs,22%的IOBs和25%的GCLKIOBs。整个测试流程由MCU控制,在拍照模式下,CMOS图像传感器的数据流经CMOS接口采样存储在SDRAM中,再由EPP接口上传至PC上:在取景模式下,则有LCD显示器实时显示。该接口电路在各种工作模式下功能验证正确。  FPGA验证通过后,作为数码相机专用集成电路芯片的一部分采用上华0.6μm工艺库进行了ASIC的后端自动综合,包括用DesignCompiler(Synopsys公司)进行逻辑综合、PrimeTime(Synopsys公司)做版图前验证、SiliconEnsemble(Cadence公司)做自动布局布线、Virtuoso(Cadence公司)做DRC和LVS,最后得到的版图面积约为3.7mm×3.7mm,综合频率为25MHz,在5V供电下,功耗约为150mW。  5结论  CMOS图像传感器接口电路的设计模块可以分为寄存器文件、主12C总线接口和可编程降采样模块3部分,经过电路的顶层设计和各个子模块的功能设计,进行了Verilog语言代码实现,用ActiveHDL进行了RTL级仿真,并进行了FPGA验证,功能设汁正确,并打算作为数码相机专用集成电路芯片的一部分到工艺厂流片。