1 引 言 自20世纪下半叶以来,微电子技术得到了迅速的发展,可将原先由许多IC组成的电子系统集成在一个单片系统上,构成片上系统(System On Chip, SOC[5])。同时,电子系统的设计已经由通用的IC进行PCB板级的设计转向以大规模FPGA等物理载体的系统芯片设计,即可编程片上系统 (System On a Programmable Chip,SOPC[4])。SOPC设计是以IP(Intellectual Property Core)核为基础,硬件描述语言为主要设计手段,借助计算机平台的EDA工具进行的。 CMOS(Complementary Metal Oxide Semiconductor)在成像领域已有广阔应用。它利用全像素电荷转移和传感器模拟处理等技术克服了CMOS相比CCD在信噪比等方面的不足。其成 像芯片在每个像素基础上进行信号放大,可进行快速数据扫描,能胜任千万像素级别的信息处理速率。而且CMOS是标准工艺制程,可利用现有的半导体制造流水 线,不需额外投资生产设备,品质可随半导体技术的进步而提升。 当今数字相机越来越向高分辨率、小型化和低功耗的方向发展。本文提出的设计采用CMOS彩色高分辨率成像芯片,结合SOPC设计方法,设计实现了一套集图 像采集、存储和显示于一体的小型高分辨率彩色数字相机系统。该系统图像分辨率高,体积小,功耗低,可扩展性强,应用前景广阔。 本文结构如下:第二节概述SOPC技术,第三、四节分别介绍了该图像采集系统的硬件和软件架构,第五节阐述了系统的测试情况,最后对整个系统的设计进行总结。 2 SOPC概述 SOPC技术是由美国Altera公司最先提出的基于FPGA解决方案的SOC技术。它既有基于FPGA嵌入IP硬核[4]的SOPC系统,也有基于嵌入 式软核处理器[4]的解决方案。采用嵌入式的软核处理器,可以克服硬核固有的知识产权、外围器件复杂和系统难以定制等问题,故有更广泛的应用前景。目前比 较有代表性的软核嵌入式处理器有Altera公司的NiosII[1] 软核和Xilinx公司的MicroBlaze软核等。特别是Altera的NiosII软核,它是32位的RISC嵌入式软核CPU,最高速率可达 200DMIPS,它无论在对嵌入式操作系统的支持,还是FPGA的通用性发面都要优于Xilinx公司MicroBlaze软核。图1为NiosII软 核的体系结构。 NiosII软核采用Avalon Bus总线[3]接口,所有的外设接口与总线时钟同步;信号高低电平有效,便于高速传输;地址、数据和控制信号分离,最大可寻址4GB地址空间;可实现动 态地址对齐;支持多主设备,自动生成仲裁逻辑;用户可以配置和构建自己的指令集,也可为处理器设计各种加速器,以指令的形式加入到NiosII的指令系统 中成为一个专用设备。同时NiosII软核为开发者提供了强大的硬软件调试方式,用户可自己定制设备,使系统在硬件结构、功能特点和资源消耗方面都满足用 户自身的设计要求;所有设备可集成在任何一款Altera的FPGA中,没有芯片数量和型号的限制,集成度高,功耗低; NiosII的SOPC开发过程分硬件和软件两个部分。硬件开发主要包括由用户定制系统硬件结构和由SOPC Builder和QuartusII工具生成硬件配置文件;软件开发和传统方式类似,分为HAL(Hardware Abstraction Layer)层驱动程序开发和应用系统开发,设计的源代码可通过NiosII IDE编译器生成可执行代码。最后硬件配置文件和可执行代码通过JTAG下载电缆下载到Altera的FPGA芯片中,完成系统的设计。 NiosII软核技术不仅给用户带来了完善的解决方案,而且设计的系统功能强大,结构简单,可扩展性强,集成度高,功耗低,开发简易。另外,NiosII 的软核是由Altera公司直接推出的非第三方产品,无需支付知识产权费用,开发成本低、周期快,应用场景广阔。 3 系统硬件框架 本文设计的系统以NiosII软核为核心处理器,附加片外的Flash和SDRAM构成最小系统。在此基础上,增加DMA控制器、自定制的图像采集模块、 图像显示模块和外围接口块(如IO、CF接口等),组成了一套完整的数字相机系统。图2为数字相机的硬件架构。 该系统的核心为Altera公司的NiosII 32-Bit嵌入式软核处理器。FLASH和SDRAM分别通过一个三态桥和SDRAM控制器与Avalon Bus总线连接。CMOS DMA、CMOS Controller和CF Peripheral等模块都直接挂接在总线上。 采集到的图像数据通过DMA传输到SDRAM中存储。DMA传输还负责将图像数据传送到VGA显示模块上。通过使用DMA进行大数据量的传输,可以不需要 CPU干预,大大提高了系统的工作效率。需要保存图像时可将其以文件的形式存储到CF卡中。以下将分别介绍系统中各模块的功能。 CMOS Chip采用的是OmniVision公司的OV2610[7]。它是一款2百万象素级别的高分辨率彩色数字CMOS成像芯片,可用于静态或动态图像的拍 摄。这款芯片的图像分辨率高,成像精度高,采集图像质量好,功耗低,非常适合作为数字相机的采集前端。表1为OV2610芯片的主要技术参数: CMOS Controller:该模块是用VHDL语言在FPGA内部设计实现的图像采集控制器。其结构框图如图3所示。它由NiosII处理器控制,按照 CMOS成像芯片的控制逻辑,控制芯片的初始化、开始、停止、采集等操作。CMOS芯片的内部寄存器是通过SCCB[7]总线进行配置的。SCCB 总线是一个串行三线制总线,类似于I2C总线,由SCCB Enable、SCL和SDA构成。本系统通过三个IO口(总线选通信号SCCB Enable,总线时钟SCL和数据线SDA)实现了对SCCB总线的读/写操作。 同时CMOS Controller也是图像信号的数据通道。由于Avalon Bus总线和CMOS芯片之间的时序并不匹配,故设计了一级缓存实现了CMOS接口和Avalon Bus总线接口间的时序匹配。CMOS成像芯片采集到的图像数据在控制模块的控制下,通过DMA传输,将其从Buffer中传输到SDRAM中。 VGA Controller:存储在SDRAM中的图像数据可通过该模块显示在VGA显示器上。VGA Controller结构框图如图4所示。同样为了匹配Avalon Bus的总线时序,在该模块中运用了一级Buffer缓存。在NiosII初始化VGA Controller模块和VGA DMA传输后,VGA DMA即将图像数据从SDRAM中读到VGA Controller的缓存中。VGA时序发生器则负责将数据从缓存中读出,并按照640×480的分辨率同步图像数据的行、场同步信号,并将其一起传送 到D/A转换模块上,接上VGA显示器即可直接显示数字图像。 CF Periphreal:由于CF(Compact Flash)卡具有寿命长、容量大、体积小等优点,而且读写速度快,可与多种电脑操作系统平台兼容,因此本系统选择CF卡作为图像存储介质。CF Peripheral模块是一个用Verilog HDL编写的 CF 卡接口模块,它实现了NiosII软核和CF卡间的通信。该模块通过地址空间映射和CPLD的组合逻辑产生读/写控制信号,从而实现了对CF卡的读/写操作。 此外,系统还提供按键控制和显示器菜单控制两种用户交互方式。 |
文章评论(0条评论)
登录后参与讨论