条形码解决方案 条码扫不出来,问题可能不在算法:光电信号采集与处理方案
  • 发布时间:2026-10-27 10:03:56
  • 浏览次数 29 次
工业现场的读码设备,要把条形码上那束微弱、随扫描明暗变化的反射光,变成稳定可译码的信号并传出去——光路、放大、供电、上传,每一环都可能拖慢整机。

工业现场的读码设备,要把条形码上那束微弱、随扫描明暗变化的反射光,变成稳定可译码的信号并传出去——光路、放大、供电、上传,每一环都可能拖慢整机。

这条链路上,运放、电源和通信接口三个关键环节,芯佰微搭建出用 CBM8622(双通道)运放完成光电信号的二级放大,以 CBM1117 做电源稳压,以 CBM9002A 承担 USB 上行的解决方案——从光电二极管输出的 nA 级电流,到 USB 口送出解码数据。光电二极管为外购器件,ADC、LED 驱动器和主控 MCU 的型号按整机设计确定。

image.png 

一、系统整体架构

本方案以主控 MCU 为控制核心,包含四条协同链路:

光路驱动链:MCU → LED 驱动器 → LED → 反射镜 → 条形码

信号采集链:反射光 → 光电接收器 → 两级放大 → ADC → MCU

电源链:电池 → 充电电路 → DC-DC Boost → CBM1117 LDO

通信链:CBM9002A 提供 USB 上行接口 → 外部设备

图片1.png

PCB 布局时,可将模拟前端与数字、电源区域适当分开,以降低相互干扰。光电接收器和前置放大区域可根据实际情况采取屏蔽措施,减小环境光和电磁干扰的影响。

二、扫描与信号采集链路

(一)光路驱动与光电转换

LED 宜由 MCU 输出 PWM 控制恒流驱动器,保证照明亮度一致——反射光强直接决定信号幅度,亮度波动会被两级放大一并放大,影响解码稳定性。

LED 发出的光经反射镜投射到条形码表面,条形码的黑白条纹造成反射光强变化,光电二极管将其转换为电信号。光电二极管的暗电流和结电容直接影响前放的噪声基底与带宽;环境光在弱信号下是直流偏置与噪声源,需通过遮光与局部屏蔽压低,LED 驱动器宜预留调光接口。

(二)CBM862X 放大光电信号

光电二极管输出的电流信号幅度很小、易混入噪声,通常采用“跨阻放大 + 电压放大”的两级结构送至 ADC。这两级可由芯佰微 CBM862X 系列运放完成——CBM8621、CBM8622 和 CBM8624 为该系列的单、双、四运放型号,带 S 后缀的型号具有关断功能;该系列可用于光电二极管放大和传感器接口,与读码前端对应。

该系列的主要参数包括:7 MHz 增益带宽积、3.7 V/μs 压摆率、0.7 mV 典型输入失调电压;支持单电源或双电源供电,单电源范围为 2.5–5.5 V,双电源范围为 ±1.25–±2.75 V;在 Vs = 5.5 V 时,输入电压范围最低可至 −0.1 V;工作温度范围为 −40–125 °C,支持轨至轨输入和输出,并可在单位增益下稳定工作。

第一级(跨阻前置放大):反馈电阻将光电二极管的电流转换为电压。增大反馈电阻可提高转换增益,但也会影响带宽和噪声,具体取值应结合光电二极管的响应和结电容确定。

第二级(滤波与 ADC 驱动):可采用同相放大,并通过 RC 网络抑制带外噪声,将信号调整到 ADC 的输入范围。3.7 V/μs 压摆率与 0.7 mV 典型输入失调电压为线性放大提供基础;能否满足中高速解码的线性要求,需结合光电二极管参数、反馈网络与 ADC 输入范围设计验证。

CBM8622 为双运放型号,选一颗即可覆盖上述两级放大;若系统还需要电平转换或缓冲,可评估采用通道数更多的 CBM8624,通道需求更少则可选 CBM8621。两级级联可将微弱光电信号放大至 ADC 输入范围附近,最终的增益分配与 ADC 量程利用率应通过具体电路设计确定;配合滤波与电源、接地布局,可按设计目标抑制带外干扰和电源耦合噪声,具体噪声表现仍取决于外部电路与 PCB 布局。

(三)模数转换与解码

模拟信号经 ADC 采样后送入 MCU,由 MCU 完成条码译码。ADC 供电可由 CBM1117 电源链提供;模拟与数字电源的分配、去耦和接地应结合所选 ADC 设计,以降低噪声耦合;ADC 基准源需单独设计,并按具体型号确认。MCU 可结合自适应阈值算法判读黑白条纹,对弱光与高反光表面有更好的容错;算法效果需根据实际光照、材料和扫描条件验证。

三、电源链设计

(一)升压与稳压

手持设备可采用电池供电,电池电压会随电量变化。电池经充电电路后,可由 DC-DC Boost 升压,再由 CBM1117 做线性稳压;电池类型和升压电压应根据整机功耗和电源轨需求确定。

CBM1117 系列提供最高 0.8 A 的输出电流,并有 1.5 V、1.8 V、2.5 V、3.3 V 和 5.0 V 固定输出版本及可调(ADJ)版本,最大输入电压 15 V,负载调整率最大 0.4%(典型 0.2%),内置电流限制与过热保护,工作温度范围为 −40–125 °C,封装包括 SOT-223 和 TO-252。它为 MCU、光电接收器与运放提供稳压电源;实际噪声抑制效果取决于电源设计和 PCB 布局。

可用电源轨取决于 Boost 输出电压和所选 CBM1117 型号:以 5 V 总线为例,固定 3.3 V 版本适用输入范围 4.75–10 V,可直供 MCU 与数字部分;若模拟前端或 LED 驱动需要 5 V 电源轨,5.0 V 输出版本适用输入范围 6.5–12 V,需相应提高 Boost 电压或选用 ADJ 版本按实际压差设定。

(二)去耦与布局

LDO 输出端布置 10 μF 钽电容可提升瞬态响应与稳定性;模拟与数字电源分区走线、靠近器件放置去耦电容,有助于降低采样信号中的干扰;光电接收器和第一级运放附近可缩短反馈走线,并根据实际情况采取接地和屏蔽措施,进一步压低环境光与射频干扰。

四、控制与通信

(一)MCU 与接口

主控 MCU 负责采样控制和条码译码,并可根据系统设计控制 LED 驱动器和扫描电机;电机控制方式、反射镜转速及扫描范围应结合光机结构确定。译码结果通过 USB 或可选的 RS-232 接口上传。

(二)USB 上传(CBM9002A)

CBM9002A 是集成增强型 8051 内核和 USB 接口的微控制器,可承担 USB 微控制器功能:内核工作频率支持 48 MHz、24 MHz 和 12 MHz(指令吞吐约为标准 8051 的 3 倍),片上 16K 字节 SRAM,并集成 UART、I2C 和 GPIO 等接口;工业级型号的工作温度范围为 −40–105 °C,封装包括 SSOP56、QFN56 和 LQFP100。

CBM9002A 支持 USB 2.0 高速模式和全速模式;在指定固件框架下,经 Slave FIFO / PIF 接口可实现 50 MB/s 以上的数据传输能力——该指标为接口传输能力,整机实际扫码数据速率以固件与系统实现为准。本方案以其提供 USB 上行接口,可用于扫码数据上传;固件可通过 USB 下载或从外部 EEPROM 加载。CBM9002A 与主控 MCU 的具体分工,应根据系统设计确定。

(三)可选 RS-232 接口

如需连接工业 PLC 或其他具备 RS-232 接口的老式终端,可将 CBM3232 作为可选收发器(不属主体信号链)。CBM3232 包含两个接收器和一个驱动器,最高保证数据率为 120 Kbps;该接口可与 USB 配合使用,覆盖新老设备接口,具体是否采用取决于设备端需求。

五、快速选型参考表

信号链位置

推荐型号

关键参数

备注

光电接收

光电二极管

低暗电流、小结电容

前置放大输入,宜屏蔽

两级放大(跨阻+驱动)

CBM8622(双通道,862X 系列)

7 MHz GBW、3.7 V/μs、0.7 mV 失调、轨至轨、2.5–5.5 V、−40–125 °C

一个型号覆盖两级;余量上 CBM8624(四通道)

电源稳压

CBM1117

0.8 A、固定/可调、负载调整最大 0.4%(典型 0.2%)、−40–125 °C

LDO 二次稳压,稳压输出

USB 通信

CBM9002A

USB 2.0 高速 480 Mbps / 全速 12 Mbps、工业级 −40–105 °C

USB 微控制器,提供 USB 上行;工业宽温

(可选)RS-232 扩展

CBM3232

RS-232 收发器(2 收 1 驱,最高保证 120 Kbps),对接 PLC / 老终端

与 USB 互补,覆盖 PLC / 老终端

(可选)DC-DC Boost

—

电池升压至所需总线电压(如 5 V,按 CBM1117 输出档确定)

与 CBM1117 配合

实际读码效果取决于光学结构、光电接收、放大与采样、解码算法和 PCB 设计。落地时,可先确认光电二极管输出和 ADC 输入范围,再确定放大和滤波参数,最后结合目标条码和扫描条件验证整机效果。

分享到:0

010-62106066

( 周一至周五 9:00 - 18:00 )

北京市海淀区丰豪东路9号2号楼D座704-705

sales@corebai.com

关注微信公众号

© Copyright 芯佰微电子(北京)有限公司 京ICP备15051729号