引言
我们开发的基于SOPC的事故现场处理系统可实现现场图像采集,图像数据压缩,无线传输,以及和远端控制中心通过无线方式交互数据的功能。系统分为5个部分:图像采集部分,压缩存储部分,无线传输部分,信息显示部分,远端服务器部分。系统构成框图如图1所示:

图1 事故现场处理平台构成框图
本系统采用了Altera公司的APEX EP20K 200E芯片, 该芯片利用了Altera公司的SOPC――Nios软核处理器技术,Nios软核处理器是一个基于流水线技术设计的通用RISC微处理器,通过将包括16或32位高性能处理器在内的多种应用模块嵌入到一个通用的FPGA/CPLD内,并针对Altera公司的可编程系统的设计思想做了相应的优化,逻辑器件实现了一个完全可重置的嵌入式系统。NIOS最大的优点在于它的灵活性,可裁减性,能够将CPU和FPGA的优点集于一身,真正在FPGA中实现SOPC。SOPC( System on a Programmable Chip),即片上可编程系统,与传统的SOC设计相比,其设计更灵活、更便捷,不仅性能、速度、连接具有优势,而且可以缩短上市时间。
为了实现数据图像的采集,必须有效控制SCCB总线来完成对CMOS图像传感芯片OV7649参数的配置。SCCB (Serial Camera Control Bus)串行控制总线接口提供简单的控制方式,通过SCCB接口,我们可以对CMOS图像传感芯片OV7649内部所有寄存器的值进行修改,从而完成对0V7649的控制。SCCB总线是双向、两线或三线(multi-slave)、串行接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。由于本系统中只使用一个CMOS图像传感芯片,故采用两线SCCB总线机制。我们没有使用传统的软件编程实现SCCB控制的方法,从系统小型化,充分利用FPGA的逻辑资源,提高硬件系统集成度的角度出发,选定在FPGA内自行设计SCCB控制核的方法,实现对CMOS图像传感芯片OV7649参数的配置。下面着重介绍如何使用VHDL进行SCCB总线控制核设计。
一、 总体设计思想
SIO_C和SIO_D分别为SCCB总线的时钟线和数据线。目前,SCCB总线通信协议只支持100Kb/s或400Kb/s的传输速度,并且支持两种地址形式:①从设备地址(ID Address,8bit),分为读地址和写地址,高7位用于选中芯片, 第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_ Address,8bit),用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。SCCB总线传输的启动和停止条件如图2所示:
|