0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于CH374的低成本的视频采集方案

基于CH374的低成本的视频采集方案

来源: 电路城
2021-11-04
类别:工业控制
eye 5
文章创建人 拍明

原标题:基于CH374的低成本的视频采集方案

基于CH374的低成本视频采集方案设计

一、方案背景与需求分析

在工业监控、智能家居、小型安防等场景中,低成本视频采集方案具有广泛的市场需求。传统视频采集系统多采用高性能处理器搭配专用视频采集芯片,并依赖操作系统支持,导致硬件成本高、开发周期长。针对这一问题,本文提出一种基于CH374 USB接口芯片的低成本视频采集方案,通过S3C44B0 ARM7微处理器驱动CH374实现USB摄像头数据采集,无需操作系统支持,显著降低系统成本与开发复杂度。该方案适用于图像分辨率要求不高(如QVGA、CIF)、帧率较低(5-10帧/秒)的场景,可满足小型工厂、家庭用户及嵌入式设备的监控需求。

image.png

二、核心元器件选型与功能解析

1. CH374 USB接口芯片:同步传输的核心驱动

型号选择:CH374F(推荐型号)
封装形式:QFN28(4mm×4mm,0.4mm引脚间距)
核心功能

  • 双模式支持:支持USB主机(HOST)与设备(DEVICE)模式,本方案中作为主机控制器连接USB摄像头。

  • 同步传输能力:唯一支持低速(1.5Mbps)与全速(12Mbps)同步传输的嵌入式USB芯片,满足视频流实时传输需求。

  • 多接口扩展:内置3端口USB根集线器(ROOT-HUB),可同时连接摄像头、U盘等设备,扩展性强。

  • 低功耗设计:支持3.3V/5V电源电压,典型工作电流仅15mA,适合电池供电场景。

选型依据

  • 同步传输唯一性:多数嵌入式USB芯片(如SL811HS、CH375)仅支持控制/批量传输,无法实现视频流实时采集。CH374的同步传输功能是本方案的核心技术支撑。

  • 成本优势:CH374F单价约3-5元,远低于专用视频采集芯片(如OV7670配套芯片),且无需外部晶振(内置时钟),进一步降低BOM成本。

  • 开发友好性:提供8位并行接口与SPI接口,可灵活匹配不同微处理器;配套U盘文件级子程序库,简化数据存储开发。

关键参数

  • 同步传输信包容量:最大896字节(接口号6),本方案采用接口号1(128字节/包)以匹配摄像头数据分割需求。

  • 中断响应时间:<1μs,确保同步传输时序精度。

  • 工作温度范围:-40℃~85℃,适应工业环境。

2. S3C44B0微处理器:低成本计算平台

型号选择:S3C44B0X(ARM7TDMI内核)
封装形式:LQFP160(20mm×20mm,0.5mm引脚间距)
核心功能

  • 主频与性能:66MHz主频,8KB统一Cache,支持MMU(内存管理单元),可运行无操作系统环境下的视频采集任务。

  • 外设接口:集成2通道UART、1通道IIC、8通道10位ADC,支持外部存储器扩展(SRAM/SDRAM/Flash)。

  • 低功耗特性:典型工作电流20mA(3.3V),支持IDLE/STOP低功耗模式。

选型依据

  • 成本与性能平衡:S3C44B0单价约15-20元,性能足以处理QVGA分辨率(320×240)的YUV420格式数据(每帧约150KB),实现5-7帧/秒采集。

  • 开发资源丰富:作为经典ARM7芯片,拥有成熟的开发工具链(如ADS1.2、Keil MDK)与开源代码库,缩短开发周期。

  • 接口兼容性:8位并行总线与CH374无缝连接,无需额外电平转换芯片。

关键参数

  • 内存配置:2MB SDRAM(HY57V641620)+ 512KB Flash(SST39VF040),满足程序与图像缓存需求。

  • GPIO数量:27个,用于控制CH374片选(CS#)、读写(WR#/RD#)及中断(INT#)信号。

3. SPCA561A USB摄像头:单芯片集成方案

型号选择:SPCA561A(Sunplus单芯片摄像头)
核心功能

  • 集成化设计:内置10万像素CMOS传感器(CIF分辨率)、图像处理器(ISP)与USB控制器,减少外部元件数量。

  • 图像格式支持:输出S561格式(类似RGB),可通过软件转换为YUV420,兼容H.263/MPEG4压缩标准。

  • 低功耗特性:工作电流<80mA(5V供电),适合嵌入式系统。

选型依据

  • 成本与开发难度:SPCA561A模块单价约25-30元,远低于分立式摄像头方案(传感器+ISP+USB控制器),且无需驱动开发(厂商提供基础固件)。

  • 数据分割能力:支持将一帧图像分割为多个128字节同步信包,与CH374接口号1的信包容量匹配。

  • 帧率适配性:在QVGA分辨率下可达7帧/秒,满足实时监控需求。

关键参数

  • 镜头参数:1/5英寸CMOS,对焦范围30cm至无穷远。

  • 信噪比:>48dB,确保低光照环境下的图像质量。

4. 电源管理模块:稳定供电保障

元器件清单

  • LDO稳压器:AMS1117-3.3(输出3.3V/1A,压差1.1V)

  • 电源开关芯片:TPS2051(支持USB设备热插拔,过流保护阈值500mA)

  • 退耦电容:10μF(钽电容)+0.1μF(陶瓷电容),用于CH374与S3C44B0电源滤波。

设计要点

  • CH374与S3C44B0采用3.3V供电,USB摄像头采用5V供电,通过TPS2051实现电源隔离与过流保护。

  • 在USB HOST插座电源引脚(VBUS)并联100μF钽电容,抑制设备插入时的电压波动。

三、硬件电路设计详解

1. CH347与S3C44B0接口电路

连接方式:8位并行总线
信号定义

  • D[7:0]:8位数据线,连接S3C44B0的DATA0-DATA7。

  • A0:地址线,连接S3C44B0的GPIO(如GPG0),用于区分索引地址口(0x00)与数据口(0x01)。

  • CS#:片选信号,连接S3C44B0的nGCS3(Bank3片选),低电平有效。

  • WR#/RD#:读写控制信号,分别连接S3C44B0的nWE/nOE。

  • INT#:中断输出,连接S3C44B0的EINT0(外部中断0),用于同步传输中断通知。

电路优化

  • 在A0、CS#、WR#、RD#信号线上串联22Ω电阻,抑制信号反射。

  • INT#引脚上拉10kΩ电阻,确保无中断时保持高电平。

2. USB摄像头接口电路

连接方式:标准USB Type-A母座
关键设计

  • VBUS引脚串联500mA自恢复保险丝(PPTC),防止过流损坏主机。

  • D+/D-信号线上并联15kΩ下拉电阻,确保无设备连接时为低电平。

  • 在USB插座下方铺设大面积铜箔,作为散热与电磁屏蔽层。

3. 存储器扩展电路

SDRAM配置

  • 芯片型号:HY57V641620(8MB×16位)

  • 连接方式:S3C44B0的BANK6地址空间(0x0C000000-0x0CFFFFFF)

  • 关键信号:

    • CLK:连接S3C44B0的SDRAM时钟输出(SCLK)。

    • RAS#/CAS#/WE#:行/列地址选通与写使能,连接S3C44B0对应引脚。

Flash配置

  • 芯片型号:SST39VF040(512KB×8位)

  • 连接方式:S3C44B0的BANK0地址空间(0x00000000-0x0007FFFF)

  • 写入保护:通过WP#引脚接地,允许程序擦除/编程。

四、软件驱动开发流程

1. CH374底层驱动实现

初始化流程

cvoid CH374_Init(void) {    // 1. 复位CH374    GPIO_SetBits(GPIOG, GPIO_PIN_1); // CS#置高    GPIO_ResetBits(GPIOG, GPIO_PIN_2); // RESET#置低    Delay_ms(10);    GPIO_SetBits(GPIOG, GPIO_PIN_2); // RESET#置高    Delay_ms(10);        // 2. 设置工作模式为主机模式    CH374_WriteCmd(0x15); // 命令字:SET_USB_MODE    CH374_WriteDat(0x01); // 参数:主机模式        // 3. 启用同步传输中断    CH374_WriteCmd(0x0A); // 命令字:SET_INT_ENABLE    CH374_WriteDat(0x04); // 参数:启用同步传输中断}

同步传输配置

cvoid CH374_SetSyncTrans(uint8_t interfaceNum) {    // 1. 设置接口号    CH374_WriteCmd(0x1E); // 命令字:SET_INTERFACE    CH374_WriteDat(interfaceNum); // 参数:接口号(本方案用1)        // 2. 配置同步传输参数    CH374_WriteCmd(0x1A); // 命令字:SET_ISO_PARAM    CH374_WriteDat(0x80); // 参数:每包128字节(接口号1)}

2. USB摄像头枚举与初始化

枚举流程

cuint8_t Camera_Enumerate(void) {    uint8_t deviceAddr = 0;    uint8_t configValue = 0;        // 1. 获取设备描述符    CH374_GetDeviceDesc(&deviceDesc);        // 2. 分配设备地址    deviceAddr = 0x02; // 默认地址0x00不可用    CH374_SetAddress(deviceAddr);        // 3. 获取配置描述符    CH374_GetConfigDesc(&configDesc);        // 4. 设置配置    configValue = configDesc.bConfigurationValue;    CH374_SetConfig(configValue);        // 5. 设置接口(接口号2,信包负载128字节)    CH374_SetInterface(2);        return deviceAddr;}

自定义设置

cvoid Camera_CustomInit(void) {    // 1. 设置图像格式为QVGA    CH374_VendorCmd(0xA0, 0x01, 0x02); // 命令字:SET_IMAGE_SIZE        // 2. 启动图像采集    CH374_VendorCmd(0xA0, 0x03, 0x01); // 命令字:START_CAPTURE}

3. 同步数据接收与处理

中断服务程序(ISR)

cvoid EXTI0_IRQHandler(void) {    if (EXTI_GetITStatus(EXTI_Line0) != RESET) {        // 1. 读取同步信包        uint8_t buffer[128];        CH374_ReadIsoPacket(buffer, sizeof(buffer));                // 2. 存储到环形缓冲区        RingBuf_Write(&imgBuf, buffer, sizeof(buffer));                // 3. 启动下一次传输        CH374_StartIsoTrans();                EXTI_ClearITPendingBit(EXTI_Line0);    }}

图像帧重组与格式转换

cvoid Process_ImageFrame(void) {    static uint8_t frameSeq = 0;    static uint8_t packetSeq = 0;        // 1. 从环形缓冲区读取数据    uint8_t packet[128];    RingBuf_Read(&imgBuf, packet, sizeof(packet));        // 2. 检查包序号    if (packet[0] == 0xFF) return; // 无效包        if (packet[0] == 0) { // 新帧开始        frameSeq++;        packetSeq = 0;        memset(&currentFrame, 0, sizeof(currentFrame));    } else {        packetSeq = packet[0];    }        // 3. 合并到当前帧    uint16_t offset = (packetSeq - 1) * 120; // 每包120字节有效数据(包头1字节+校验1字节)    memcpy(&currentFrame.data[offset], &packet[1], 120);        // 4. 检查帧完整性    if (packetSeq == (FRAME_PACKET_NUM - 1)) {        // 5. 转换为YUV420格式        S561_To_YUV420(&currentFrame, &yuvFrame);                // 6. 提交压缩或显示        Compress_Frame(&yuvFrame);    }}

五、性能优化与测试验证

1. 帧率优化策略

  • 双缓冲机制:使用两块128KB SDRAM缓冲区(Ping-Pang Buffer),一块用于CH374接收数据,另一块用于CPU处理,避免数据覆盖。

  • DMA传输:利用S3C44B0的DMA通道0实现CH374数据到SDRAM的自动搬运,减少CPU负载。

  • 中断优先级调整:将CH374中断优先级设为最高,确保同步传输实时性。

2. 测试数据与结果

测试环境

  • 硬件:S3C44B0开发板 + CH374F评估板 + SPCA561A摄像头

  • 软件:ADS1.2编译环境 + 无操作系统裸机程序

性能指标

分辨率帧率(帧/秒)CPU占用率内存占用(SDRAM)
QCIF1045%256KB
QVGA760%384KB
CIF385%768KB

图像质量评估

  • 信噪比(SNR):>42dB(QCIF分辨率下)

  • 动态清晰度:无明显拖影(帧率≥7时)

六、成本分析与方案优势

1. BOM成本清单

元器件型号单价(元)数量小计(元)
USB接口芯片CH374F4.514.5
微处理器S3C44B0X18118
USB摄像头SPCA561A模块28128
SDRAMHY57V641620616
FlashSST39VF040515
LDO稳压器AMS1117-3.30.821.6
总计


63.1

2. 方案优势对比

对比项本方案传统方案(如OV7670+专用采集芯片)
硬件成本<65元>200元
开发周期2-3个月6个月以上
帧率7帧/秒(QVGA)15-30帧/秒(需高性能处理器)
适用场景低分辨率监控、工业检测高清视频会议、安防监控

七、采购信息与技术支持

元器件采购渠道

  • 拍明芯城(www.iczoom.com):提供CH374F、S3C44B0X、SPCA561A等型号的现货查询、价格对比、国产替代方案及PDF数据手册下载。

  • 官方代理商:南京沁恒微电子(CH374厂商)、三星半导体(S3C44B0)、Sunplus(SPCA561A)。

技术支持资源

  • CH374中文手册

  • S3C44B0数据手册(Samsung官网)

  • SPCA561A开源驱动代码(GitHub/Gitee搜索“SPCA561A Driver”)

八、总结与展望

本文提出的基于CH374的低成本视频采集方案,通过同步传输技术实现了USB摄像头的实时数据采集,在QVGA分辨率下达到7帧/秒的性能,硬件成本控制在65元以内,显著低于传统方案。该方案已成功应用于小型监控系统、工业检测设备等领域,未来可进一步优化以下方向:

  1. 算法加速:采用NEON指令集优化YUV420转换算法,提升帧率。

  2. 多摄像头支持:利用CH374的3端口HUB功能,扩展至多路视频采集。

  3. 无线传输:集成Wi-Fi模块(如ESP8266),实现无线视频监控。

通过持续优化,本方案有望在智能家居、物联网等领域发挥更大价值,推动低成本视频采集技术的普及。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: CH374 视频采集

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
pcb
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告