beat365中国在线体育一种基于STM32的光功率计的设计与实现

  beat365中国在线体育一种基于STM32的光功率计的设计与实现针对目前市场上传统的光功率计动态范围小、测试精度低、非线性误差明显、档位切换速度慢等缺点,设计了一款基于STM32的高精度光功率计,采用先进的大动态波长响应范围的INGAAS-PIN光电探测器,配合使用ADI公司的光电前置放大器AD795,TI公司的24位模数转换器ADS1232和美信公司的高速多路模拟开关MAX4051进行系统的设计,利用STM32控制放大量程增益自动切换技术,消除光电探测器在同一波长不同光强下对光的非线性响应导致的测量误差,可以大大提高光功率计测试的精度和可靠性。

  系统的原理框图如图1所示,INGAAS-PIN光电探测器将检测到光信号转变为电流信号,进行I/V(电流电压)变换后输出电压信号,经过放大和滤波处理后的电压信号送入A/D进行模数转换,根据转换的数据量的大小,利用微处理器判断之后控制放大电路的量程自动切换来获得合适的可供计算的数字量,最后由STM32来进行数据的处理和分析,再送入液晶LCD进行功率显示,并实现系统的按键控制,数据存储和串口通信等操作。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图1)

  目前流行的光电探测器有PIN光电二极管和APD雪崩光电二极管,APD具有很高的检测速度,在高速光电检测应用行业占据主要地位,但是其暗电流大,需要很高的偏置电压,噪声也比较大,不适合在精确测量时使用。在光功率设计中广泛使用暗电流低、灵敏度高、可以工作在零偏状态的PIN光电二极管。目前使用的PIN管主要由SI、Ge、INGAAS等材料制作的,覆盖了从400~1800NM的波长范围。不同材料的PIN光电探测器响应度R和波长λ的关系如图2所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图2)

  绝对响应度是衡量光电探测器性能优越的一个重要指标,决定光电流与光功率之间的关系。响应度公式定义为:一次光生电流IP和入射光功率P的比值。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图3)

  光电探测器将光信号转变为电流信号,设计前端使用一个I/V变换电路采集电流信号,并转换为相应的电压信号,一个电流-电压转换器(I/V转换器)也称为跨阻放大器[7](TRANSReSISTANceAMPlIfIeR),它接受一个输入电流I,并形成为V=AI的输出电压,这里A是电路增益,以V/A计。参照图3,假设运算放大器是理想的。在虚地节点将电流相加给出-IS+(V-0)/R=0,即:

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图4)

  图3中光电二极管工作在零偏置电压状态,这种状态称为光电模式,其他可以工作在加反向偏置电压的光电导模式,光电导模式能提供较高的速度,从而更适合高速光脉冲和高频光速调制中的应用。光电模式则可提供较低的噪声,更低的暗电流,适合于测量和仪器仪表方面的应用。3.3、程控放大

  考虑到采集的光功率信号范围比较大(NW~MW),当放大器增益固定时,会出现小信号无法得到有效放大而降低A/D的有效精度,同时由于光电探测器在同一波长的不同光强下对光的响应不是线性的,固定增益测量会出现非线性误差。解决方法是对小信号输入采用高倍放大,对大信号输入采用低倍放大,根据采集到的信号大小,自动改变增益和衰减,切换到合适的量程,即在放大电路中使用量程自动切换技术,在检测范围内将光功率按照光强不同分为八段,每一段对应一个量程,这种技术可以有效消除测量时的非线性误差,在增加测量的动态范围的同时,提高了测量的精度。

  在选择多路模拟开关时,主要从通道数、切换速度和导通电阻几个方面进行考虑,考虑到舌簧继电器的切换速度比较慢,选择了半导体多路模拟开关,设计时选用美信公司的8路高速模拟开关MAX4051,但是其100Ω导通电阻比较大,会影响信号的处理,必须想办法消除它的影响。设计中避免从放大器的输出端采样电压,而是通过增加一个多路模拟开关,用它直接采样反馈电阻输出端电压,并送给后级电路处理。如图4所示。

  在这个电路中R1和R2代表两个多路模拟开关的导通电阻,它们大小相等,Rf是反馈电阻,ID是光电流。分析这个基本电路可知,如果不存在R1导通电阻,可以很容易得到V0的计算公式为:

  根据放大器输入端的“虚断”原理,放大器的反向输入引脚没有电流流过,而是全部加在反馈电阻Rf上,那么可以很容易计算出VN为:

  由式(3)可知,V0的计算值中包含了多路模拟开关的导通电阻R2,是一个干扰因素,而VN点的电压正是我们希望采样的信号值,故在该节点连接另一个多路模拟开关采集信号,它仍然存在导通电阻R2,但此时V1的幅值和VN大小相等,即:

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图5)

  低噪声的前置放大器是用来放大探测器输出的微弱电流信号,并实现前后级电路的阻抗匹配。在最低光强时需要检测到100PA左右的光电流,这大大降低了可以选用的放大器的范围。意味着放大器必须具有很高的开环增益,同时偏置电流应该保持在PA级别,还要具有很好的噪声性能,同时具备以上几点才能保证在最高灵敏度时可以检测到微弱的光电流信号。设计时选用AD公司的AD795作为光电放大器,超低的噪声,最大2PA的输入偏置电流和120dB的开环增益使其可以满足光电信号的放大要求。光功率计的程控放大电路如图5所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图6)

  经过放大和滤波之后的信号送给A/D采集,模拟量转换成为数字量,便于单片机进行数据处理。由于入射光稳定,因此对AD器件的转换速度要求不高但对精度要求很高,且信号的动态范围很大。设计中为保证光功率计的精度和显示分辨率,选用TI的24位高精度模拟转换器ADS1232。ADS1232采用今年来流行的Σ-Δ积分转换技术,具有分辨率高、线性度好、成本低等特点,得到了很广泛的应用。A/D接口电路如图6所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图7)

  微处理器上电后首先进行初始化,分为系统初始化和显示初始化。系统初始化包括时钟初始化、中断初始化、串口初始化、端口初始化等操作。显示初始化为了设置背景色和显示方式。选择默认档位后开始模数转换,等待转换结束后读取A/D转换数据并选择显示波长后送入数据处理模块,进行数据的处理和修正,选择显示单位后,最后送入显示器进行功率值显示。其流程图如图7所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图8)

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图9)

  STM32微的数据处理是实现光功率测量的核心部分,这里需要对从模数转换器读取的数字量进行数据处理和修正。首先,为了减少暗电流对测量结果的影响需要进行清除暗电流的处理。然后,选择是否进行数字平均值滤波,以便进一步提高测量数据的精度。接下来,读取被测光的波长用以计算光功率值(单位是dBM),光功率计算方法由以下计算公式给出:

  计算得到光功率值是一个初始值,需要进行相关修正和校准才能保证其准确度。光功率值修正的处理方法由下式给出:

  式中:C称为估算校准值,可根据初始光功率值估算得到;K1称为小误差校准值,是在估算校准的基础上进一步减少测试误差而进行的校准,一般通过和标准光功率计进行校准得到,其校准原理图如图9所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图10)

  K2称为增益校准值,由于放大增益不固定而设置,相邻的量程增益相差10倍,则增益校准值相差10dBM;

  K3称为波长校准值,由于光电探测器对不同波长的光的响应度不同,由此引起的误差需要进行波长校准,主要涉及1310NM和1550NM波长。

  光功率经过校准后得到了精确的光功率值,需要判断是否超出设计指标的-70~+6dBM的测量量程。为了方便按键处理时进行单位的切换,必须根据精确的光功率值计算出以MW为单位的光功率值,计算公式如下:

  为了验证搭建的样机是否可以准确的测量光功率值大小,需要对其进行准确度测试,测试的方法根据图9的校准原理图进行,测试波长为1310NM,在相应波长下利用可调光源发出的13组不同强度的光同时入射进待测样机和标准光功率计,记录两者测试数据进行分析比较,得出该波长下的数据拟合图,如图10所示。

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图11)

  设计了一款基于STM32的高精度光功率计,具有精度高,显示分辨率高,动态范围宽等特点,采用自动量程切换技术,在INGAAS-PIN光电探测器的整个测量范围内进行了8段线性化的处理,极大地提高了功率检测的准确性和可靠性。

  关键字:引用地址:一种基于STM32的光功率计的设计与实现上一篇:由浅入深尽享STM32标准库开发的乐趣

  因为用stm32f103c8作主,来控制小车,小车的转速由两路光电编码盘输入(左右各一路).因此想到外部时钟触发模式(TIM ETRClockMode2Config)。 可以试好好久,发现TIM1不能计数,到网上查了很久,也没有找到相关的文章,开始怀疑TIM1是不是需要特殊设置。经过很久的纠结,终于找到了问题 其实是我自己在GPIO设置的时候,后面的不小心覆盖了前面的了 没想到自己也会犯这么SB的事情。 现总结程序如下: 第一步,设置GPIO GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0

  在系统开发的时候,出现了HardFault_Handler硬件异常,也就是死机,尤其是对于调用了os的一系统,程序量大,检测堆栈溢出,以及数组溢出等,找了半天发现什么都没有的情况下,估计想死的心都有了。如果有些程序开始的时候一切没有问题,但是运行几个小时候,会发现死机了,搞个几天下来估计蛋都碎了一地吧。。。 一般来说运行操作系统 是以下几个问题 1.开始的时候给ucos分配的堆栈太小了,随着项目做多了,这类问题一般很容易解决 #define TASK_IO_SIZE 300 #define TASK_IO_PRIO 6 OS_STK TASK_IO_STK ; 比如修改300到 1000,做开发的时候 如果ram允许,尽量大些,免

  一、ADC的原理及定义 Analog-to-Digital Converter的缩写。中文译名:模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。其实就是一个取样、量化、编码的一个过程。 典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。比如电量、光照传感器等常用。 ---------------------------------------------------------------------------------------------------------------------------------------------------------

  的ADC的原理与使用 /

  在按键演示防抖动部分的主要思路是:利用系统定时器溢出间隔中断来延时防抖。这样做可以提高代码的执行效率。我们怎么去很好的利用这个系统定时器来延时呢?如果只是简单在系统定时器中断中置位延时标志位,没有任何意义,我们需要有一个标志位来允许置延时标志。第一次扫描到有按键按下时,延时标志肯定为空,那么在此置位一个标志位,来允许系统定时器中置位延时标志,就解决了这个问题。 软件的逻辑结构是:如果没有延时,则置位允许延时标志置位标志。首先是置位标志位,如果置位了,在系统定时器溢出中断中,就可以置位延时标志位。如果已经置位,处理按键值。 下面给出一个在按键处理中的对延时标志判断的处理。 if(key_bit & 0x02) //如果按键没有被处理

  先看一下stm32vet6的引脚图吧 电路设计以及PCB制作中,经常碰见电源符号:VCC、 VDD、VEE、VSS,他们具有什么样的关系那? 一、解释 VCC:C=circuit 表示电路的意思, 即接入电路的电压 VDD:D=device 表示器件的意思, 即器件内部的工作电压; VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压 VEE:负电压供电;场效应管的源极(S) 二、说明 1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc Vdd),VSS是接地点。 例如,对于ARM单片机来说,其供电电压VCC一般为5V,一般经过稳压模块将其转换为单片机

  的VCC/VDD/VSS/VEE/VBAT的区别 /

  我使用的是STM32单片机,昨天使用ST-LINK调试程序时,发现有些语句不能设断点。程序编译时OK的,没有错误,将程序烧录入单片机后程序看着也能正常运行,但是点击keil中debug按钮后程序进入调试状态,程序并没有停留在main函数的第一条语句,而是停留在别处。main函数第一条语句不能设置断点。 经过在网上查阅资料,发现可能是由于keil软件代码优化的问题。经过测试,发现果然是代码优化的问题。关于以上问题的解决方法:点击keil中“options for target”- 点击 C/C++ ,修改其中的 Optimization 一栏,选择“Level 0”即可。重新按keil中debug按钮进入调试状态,语

  1,该模块默认地工作于从模式。接口在生成起始条件后自动地从从模式切换到主模式;当仲裁丢失或产生停止信号时,则从主模式切换到从模式。 2,数据和地址按8位/字节进行传输,高位在前。 3,数据流:SDA线- 移位寄存器- DR寄存器 主模式 以起始条件开始并以停止条件结束。当通过START位在总线上产生了起始条件,设备就进入了主模式beat365中国在线体育。 1、检测总线状态,当总线)。 FlagStatus I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY); 2、设置START=1,产生起始信号。 I2C_ GenerateSTART 起始信号产生后,I2C_SR1的SB位被硬件置

  中国上海,2007年6月27日 —— ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)宣布即日起,RealView微开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新 STM32F1xx系列器件。 STM32F101 (接入行)和STM32F103 (性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗,待机功耗仅为2?A。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。 RealView微开发工具包3.1可

  h747_prj target=_blank

  和BQ76940的电池管理系统设计 target=_blank

  解锁【W5500-EVB-Pico】,探秘以太网底层,得捷电子Follow me第4期来袭!

  【下载】LAT1317 STM32CubeProgrammer和STM32CubeIDE协同调试的方法

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图12)

  MCS51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中80 ...

  由于工业现场总线在工业控制、智能仪器仪表、数据采集等方面得到了广泛的应用,因此对于总线集成的需求也应运而生。不同种类的现场总线协议 ...

  在单片机系统设计中,LCM(液晶显示模块)人机交互界面的设计往往是很重要的一个环节。LCM可以用于智能仪器上的显示设定参数、状态提示符、 ...

  1 、引 言在石油钻井中,准确测量井眼姿态是进行井眼轨迹控制的前提beat365中国在线体育。为此,本文充分结合单片机和MATLAB的优点,基于事件驱动的通信机制 ...

  目前,以采集心电信号beat365中国在线体育、分析和诊断为主的心电监护系统已经得到了广泛的应用,对于心脏系统疾病的预防、诊断发挥了很大的作用。但是此类心电 ...

beat365中国在线体育一种基于STM32的光功率计的设计与实现(图13)

  51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云:

 

TEL

400-123-4567
138-0000-0000