FPGA图像、语音数据采集系统记录

在设计中有些细节方面容易忽略,所以将一些东西记录下来,以便日后查看时可以少翻手册(这个项目目前并没有完成,所以有些内容还在持续补充)。

1、I2S接口麦克风相关(INMP441)

INMP441 是一款高性能、低功耗、数字输出、全向 MEMS 麦克风,具有底部端口。完整的 INMP441 解决方案包括一个 MEMS 传感器、信号调理、模数转换器、抗混叠滤波器、电源管理和一个行业标准的 24 位 I²S 接口。I²S接口允许INMP441直接连接到数字处理器,如DSP和微控制器,而无需系统中的音频编解码器。INMP441 具有高 SNR,是近场应用的绝佳选择。INMP441 具有平坦的宽带频率响应,可产生具有高清晰度的自然声音。下图为INMP441的引脚功能。
INMP441传感器引脚功能
其中引脚4为声道的选择,本文中选择左声道进行语音数据的采集。搭配手册中下图9:当将L/R引脚拉低,则串行数据会在WS为下降沿起的第一个SCK的下降沿从SD引脚输出(PS:第一个SCK下降沿即图中WS时序上标注的1与2中间时刻)。
在这里插入图片描述

2、OV5640图像传感器相关

OV5640 是一款 1/4 英寸单芯片图像传感器,其感光阵列达到 2592* 1944(即 500W 像素),能实现最快 15fps QSXVGA(2592 * 1944)或者 90fps VGA(640* 480)分辨率的图像采集。传感器采用 OmniVision推出的 OmniBSI(背面照度)技术,使传感器达到更高的性能,如高灵敏度、低串扰和低噪声。传感器内部集成了图像处理的功能,包括自动曝光控制(AEC)、自动白平衡(AWB)等。同时该传感器支持 LED补光、MIPI(移动产业处理器接口)输出接口和 DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及 AFC(自动聚焦控制)等功能。
OV5640 的功能框图如下图所示:
在这里插入图片描述
由上图可知,时序发生器(timing generator)控制着感光阵列(image array)、放大器(AMP)、AD转换以及输出外部时序信号(VSYNC、HREF 和 PCLK),外部时钟 XVCLK 经过 PLL 锁相环后输出的时钟作为系统的控制时钟;感光阵列将光信号转化成模拟信号,经过增益放大器之后进入 10 位 AD 转换器;AD 转换器将模拟信号转化成数字信号,并且经过 ISP 进行相关图像处理,最终输出所配置格式的 10 位视频数据流。增益放大器控制以及 ISP 等都可以通过寄存器(registers)来配置,配置寄存器的接口就是 SCCB接口,该接口协议兼容 IIC 协议。
OV5640 支持多种不同的数据像素格式,包括 YUV(亮度参量和色度参量分开表示的像素格式)、RGB(其中 RGB 格式包含 RGB565、RGB555 等)以及 RAW(原始图像数据),通过寄存器地址 0x4300 配置成不同的数据像素格式。
由于摄像头采集的图像最终要通过 LCD 显示,故我们将 OV5640 摄像头输出的图像像素数据配置成RGB565 格式。
接下来,我们介绍一下 OV5640 的图像数据输出时序,首先我们简单介绍一些定义。
QSXGA,这里指:分辨率为 2592* 1944 的输出格式,类似的还有:QXGA(2048* 1536)、UXGA(1600* 1200)、SXGA(1280* 1024)、WXGA(1440* 900)、WXGA(1280* 800)、XGA(1024* 768)、SVGA(800* 600)、VGA(640* 480)、QVGA(320* 240)和 QQVGA(160* 120)等。
PCLK:像素时钟,一个 PCLK 时钟输出一个像素或者半个像素(像素数据的高 8 位或者低 8 位)。
VSYNC:帧同步信号。
HREF/HSYNC:行同步信号。
D[9:0]:像素数据,在 RGB565 格式中,只有高 8 位是有效的。
tPclk:一个时钟周期 。
tp:一个像素点的周期,在 RGB565 和 YUV422 输出格式下,tp=2* tPclk;Raw 输出格式下,tp=tPclk。
下图为 OV5640 输出图像数据的行时序图。
在这里插入图片描述
从上图可以看出,传感器在 HREF 为高电平的时候输出图像数据,当 HREF 变高后,每一个 PCLK 时钟,输出一个 8 位或者 10 位像素数据。比如我们采用 QSXGA 时序,RGB565 格式输出,tp=2* tPclk,每 2个字节组成一个像素的颜色,这样每行总共输出 2592* 2 个 PCLK,也就是 2592* 2 个字节。再来看看帧时序(QSXGA 模式,分辨率 2592* 1944),如下图所示:
在这里插入图片描述
由上图可知,VSYNC 的上升沿作为一帧的开始,高电平同步脉冲的时间为 5688tp,紧接着等待 48276tp时间后,HREF 开始拉高,此时输出有效数据;HREF 由 2592tp 个高电平和 252tp 个低电平构成;最后一行图像数据输出完成之后等待 14544tp 时间,一帧数据传输结束。所以输出一帧图像的时间实际上是 tFrame = 5596992tp。

3、FT232H USB2.0接口芯片相关

(PS最近调试中发现该芯片输出的60MHz时钟只有在USB接口与上位机连接后才有,汗=-=!调试了好久,都是没熟读手册的后果)
FT232H 是一款单通道 USB 2.0 高速 (480Mb/s) IC,它能够配置在各种行业标准串行或并行接口中。
FT232H可配置为FT245同步FIFO接口。在此模式下配置时,使用的引脚和信号说明如表所示。要设置此模式,必须将外部 EEPROM 设置为 245 模式。然后,应用程序将软件命令(FT_SetBitMode)发送到FTDI D2xx驱动程序,以告知芯片进入245同步FIFO模式。在此模式下,数据在 CLKOUT 的上升沿写入或读取。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值