微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的手势语音转换器

基于FPGA的手势语音转换器

时间:06-04 来源:互联网 点击:

,指令执行的流水线是并行流水线,它分为3级流水线:取指,译码和执行。 Microblaze软核,片上本地存储器,标准总线互连以及基于片上外设总线(OPB)的外围设备构成了MicroBlaze嵌入式系统。

3.2 视频采集模块设计

3.2.1 视频采集芯片

本项目使用的视频解码器是图像传感器采用美国OmniVision公司开发的CMOS彩色图像传感器芯片OV7620,该芯片将CMOS传感器技术与数字接口组合,是高性能的数字图像传感器,可提供彩色/黑白多种格式的输出;内置10位双通道A/D转换器,输出8位/16位图像数据;具有自动增益和自动白平衡控制,能进行亮度、对比度、饱和度等多种调节功能。可通过SCCB进行内部寄存器编程配置。只需要外接一个27MHz的晶振,就可输出数字视频流的同时还提供像素时钟PCLK、行参考信号HREF、垂直同步信号VSYNC,便于外部电路读取图像,并可编程设置HREF、VSYNC在图像局部开窗,输出窗口图像。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664492,帧速率为30fp8;数据格式包括YUV、YCrCb、RGB三种,能够满足一般图像采集系统的要求。OV7620内部可编程功能寄存器的设置有上电模式和SCCB编程模式。本系统采用SCCB编程模式,连续扫描,16位YUV数据输出。

在这里我们要用到SCL和SDA对图像传感器进行配置,传感器有16位的数据输出还提供像素时钟PCLK、行参考信号HREF、垂直同步信号VSYNC。

VSYNC是垂直场同步信号,其下降沿表示一帧图像的开始;HREF是水平同步信号,其上升沿表示一行图像数据的开始;PCLK表示输出数据同步信号

3.2.2 SCCB总线对OV7620的配置

OV7620的控制采用SCCB(SeriaI Camera ControlBus)协议。SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。由于I2C和SCCB的一些细微差别,所以采用GPIO模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。OV7620功能寄存器的地址为0x00~0x7C(其中,不少是保留寄存器)。通过设置相应的寄存器,可以使OV7620工作于不同的模式。

SCCB的寄存器是EEPROM,由于是OV6620/OV7620的片内EEPROM,稳定性不高。虽然理论上SCCB写入一次,终生受用,但是数据容易丢失,因此,SCCB程序的写入应在读图像之前每次写入,并把IICENALBE拉高使能,使SCCB寄存器起作用。

下面列出了一些常用的OV7620寄存器:

在对OV7620进行配置的时候,主设备必须做以下操作:

①产生开始/停止信号

②在 SCL上施加串行时钟

③将7位从设备地址,读写位和8位子地址串行放到 SDA 上

读的一方必须在确认位时间里拉低 SDA,返回一个确认位作为对写设备所写数据的确认。

在写周期里,OV7620 返回确认位,在读周期里,主设备返回确认位,除非读的数据是最后一个字节。如果读的数据是最后一个字节,主设备并不返回确认位,通知从设备读周期可以终止。每一字节内,最高位总是先传输。读/写控制位是第一字节的最低位。标准 IIC 通信仅需两个管脚:SCL 和 SDA。 SDA 设置成开漏双向端口。SCL 为高时,SDA 上从高到低的转换表示开始。SCL 为高时,SDA 上从低到高的转换表示结束。只有主设备可以产生开始/结束信号。

除了以上两种情况外,协议要求 SDA 在时钟 SCL位高电平器件保持稳定。只有当 SCL为低时每一位才允许改变状态

OV7620 的 SCCB接口支持多字节读写操作。主设备必须在写周期而不是读周期内提供子地址。因此,OV6620/7620 读周期的子地址是前一个写周期的子地址。在多字节读写周期中,在第一个数据字节完成后,子地址自动递增,使得连续位置的存取可以在一个总线周期内完成。多字节周期改变了原来的子地址。因此,如果在一个多字节周期后有一个读周期,就必须插入一个单字节写周期来提供新的子地址。

SCCB的具体实现:

OV7620支持单个从设备.,当一只有唯一个从设备时,6620 ID须置为0XC0 (写)和0XC1 (读)。7620 ID是0X42(写)和 0X

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

网站地图

Top