基于51单片机的光功率计的设计

发布者:安静宁静最新更新时间:2012-03-03 来源: 现代电子技术 关键字:光功率计  AD转换  单片机 手机看文章 扫描二维码
随时随地手机看文章
1 背景概述
1.1 光功率定义
    光功率是光在单位时间内所做的功。光功率常用单位是毫瓦(mW)和分贝(dB),其中两者关系为1mW=0dB,而小于1mW的分贝为负值。例如,在光纤收发器或交换机说明书中,有其产品的发光和接收光功率,通常发光小于0dB。
     接收端所能够接收的最小光功率称为灵敏度,能接收的最大光功率减去灵敏度的值称为动态范围,发光功率减去接收灵敏度是允许光纤损耗值。
1.2 使用分贝做单位主要有两个好处
    (1)数值较小,便于记录。电路放大倍数通常数量级较大,有些大型电路甚至达到万级以上。用分贝表示时,先转化为对数,数值较小,便于记录。(2)运算方便。放大器级联时,总的放大倍数是各级相乘。用分贝做单位时,总增益就是相加。如果某个功率放大器第一级的放大倍数是100倍(20dB),第二级是20倍(13dB),则总功率放大倍数为2 000倍,总增益33dB。
1.3 光功率计的设计要点
    针对实际应用,要选择适合的光功率计,应该关注以下各点:
    (1)选择最优的探头类型和接口类型。
    (2)评价校准精度和编写校准程序,与光纤和接头要求范围相匹配。
    (3)确定这些型号与测量范围和显示分辨率相一致。
    (4)具备直接插入损耗测量功能。

2 实验器件
    光功率计探头(光电传感器),P89V51单片机实验板,RC低通滤波电路,TL074,CS5550,导线若干。

3 各功能模块详解

a.jpg


3.1 光功率计探头
    光功率计探头,是光信号转换为电信号的核心部件。探头带有光电传感器,用来接收被测光源的辐射并将其转换为电流信号。探头采用双线正负两个端口输出。当被检测光源强度发生变化时,传感器输出的电流会随之改变。我们通过对电流量变化进行转换分析最终获得外部光源的光功率变化参数。
3.2 I/U变换
    光功率探头输出小电流信号。电流信号与电压信号相比,长距离传输抗干扰性能较好。但是由于本次试验距离较短,同时为了与后面电压放大器相匹配,所以要转换为电压信号。连接时,光功率探头的输出正端口接入转换电路输入端,负端口与I/U变换电路共地连接。图2电路图中,J1为档位调节开关。

b.jpg[page]

3.3 运算放大电路
    将电压信号通过仪用放大器进行放大。仪用放大器设计简单、放大效果好并且能够通过滑动电阻调整增益,便于实时调节电压信号、保护ADC芯片的输入量程、保护电路等。
    关于放大电路和I/U信号转换电路中运放芯片的选取,本设计采用TL074芯片。TL074芯片低功耗,低成本,拥有较低的输入偏置和低噪声,高输入阻抗及电流补偿,同时是具有内部频率补偿的一款常见芯片。电路设计如图3所示。

c.jpg


    图3中电阻阻值R11=R10=R=R13=R12 R7=R9
    输出电压表达式:
    d.jpg
3.4 低通滤波器
    由于光电信号的变化属于低频范围,并且通过放大器引入的噪声不大,频率成分比较单一,滤波器阶数不需要太高,所以普通有源低通滤波器就可以满足实验的去噪要求。
3.5 AD转换电路
    由于光信号为低速信号,我们选用CS5550与单片机相连接。
    CS5550是CIRCUS LOGIC公司出的一款双通道△-∑串行AD芯片。芯片具有促进补偿和校准增益的功能。同时,具有SPI数字双向串行接口可以与单片机等MCU设备连接通讯。
    CS5550串行端口与配有收发缓冲器的状态机相配合。由状态机负责在SCLK的上升沿翻译8位字节命令。ADC的工作都是由内部24位寄存器所控制。
    8位读写命令告诉状态机是否进行寄存器的访问。在读出操作时,对应寄存器被载入芯片的输出缓冲器,同时在时钟SCLK的控制下输出。在写入操作时,数据在时钟控制下写进输入缓冲器,所有24位数据在第24个SCLK之后完全转换入对应寄存器。
    SPI串行总线接口
    CS5550串行总线包括四个控制线:CS,SDI,SDO和SCLK。CS作为芯片选择控制,用于使能对于串行接口的访问。当CS为低电平时,端口成为SPI总线端口。SDO用作串行输出,用于输出被AD转换器转换后的数据信号。当CS置为高电平时,SDO的输出成高阻状态。SCLK用作串行总线时钟,控制数据进出ADC的串行端口。只有在CS为低电平之后,SCLK的变化才可以被端口逻辑所识别。

e.jpg

[page]


    关键代码如下:
     f.jpg
g.jpg
h1.jpg
   h.jpg

[page]

3.6 P89V51单片机
    选用PHILIPS公司生产的P89V51RD2芯片。该芯片拥有80C51型号CPU,四个八通道I/O口,三个16位定时计数器,可编程看门狗定时器,片内64KFLASH MEMORY等。单片机的P2口接CS5550的八位输出端。

i.jpg


3.7 单片机串口通讯
    将实验测量结果通过串口发送到PC中进行软件处理,绘制图线等,可以得到更加准确的光功率值。如MATLAB软件可以将其单位转化为dB形式,并将变化曲线描绘出来,从而更加直观地看到测试结果。也可以利用LabVIEW软件制作一个虚拟的显示屏,从而实时显示测量结果。
    串口发送函数:
    j.jpg
    k.jpg

4 光功率计的发展前景
    光功率计用于测量绝对光功率或通过一段光纤的光功率相对损耗。在光纤系统中,光功率的测量十分重要。通过测量发射端机或光网络的绝对功率,一台光功率计就能够评价光端设备的性能。将光功率计与稳定光源组合使用,能够测量连接损耗、检验连续性,并帮助评估光纤链路传输质量。

5 结束语
    实验结果数据校正需借助专业光功率计。将测试结果与光功率计的真实测量结果进行修正和拟合,我们发现在光强变化缓慢的情况下,实验结果与真实值相近,符合实验要求。但是在高频测量场合效果不理想,需要高性能的光感探头和高速AD转换器。

关键字:光功率计  AD转换  单片机 引用地址:基于51单片机的光功率计的设计

上一篇:基于ADS8343及51单片机的多路采集系统
下一篇:基于AD9851信号发生器的设计

推荐阅读最新更新时间:2024-03-16 12:54

单片机简单数字滤波算法
1)限幅滤波算法 该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值A进行比较。A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次采样有效;否则取上次采样值作为本次数据的样本。 算法的程序代码如下: #defineA //允许的最大差值 chardata; //上一次的数据 char filter() { chardatanew; //新数据变量 datanew=get_data(); //获得新数据变量 if((datanew-data) A||(data-datanew A)) return data; else returndatanew; } 说明:限幅滤波
[单片机]
医疗电子 MCU厂成长新动力
    医疗电子市场可望强劲成长,将成国内微控制器(MCU)厂近年业绩成长主要动力之一。 根据研调机构IC Insights预期,全球医疗电子市场在2010年因全球经济疲软,及欧、美遏制医疗成本,成长趋缓后,未来3年可望回复强劲成长动能。 IC Insights预估,今年全球医疗电子市场产值将约473亿美元,将年增3%,明年全球医疗电子市场产值可望攀高至509亿美元,将较今年成长8%。 今年医疗系统半导体产值将约44亿美元,年增7%,IC Insights看好,明年医疗系统半导体产值可望达49亿美元规模,将较今年强劲成长12%。 IC Insights预期,2017年全球医疗电子产值可望达654亿美元,2012年至2017年复合成长
[手机便携]
STM32单片机----外部中断EXTI学习
可屏蔽中断和不可屏蔽中断: 按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(NonMaskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Iinterrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。 GPIO口与EXTI外中断的映像图:
[单片机]
STM32<font color='red'>单片机</font>----外部中断EXTI学习
PIC单片机与液晶显示模块DMF5001N的接口应用
  DMF5001N图形液晶显示模块由一块160×128点阵单屏结构的液晶显示器件、两片T6961B、两片T6A39、一片T6963C及其8KRAM以及配套电路组成。T6963C有一内置字符器CGROM,共有128个5×7点阵ASCII字符;它有64K的显示RAM,用户可在其中方便地设置文本、图形和用户自定义的显示数据缓冲区。从而DMF5001N不仅可显示汉字,还可显示ASCII字符和各种曲线;它可以选择文本与图形之间的逻辑“与”、“或”、“异或”等组合,可以实现反显、闪烁、滚屏、翻页及动画等多种显示功能,还具有多种光标显示功能。因此可将它与单片机连接构成功能强、结构简单、人机界面友好的各种智能仪表和控制系统。   PIC16
[单片机]
PIC<font color='red'>单片机</font>与液晶显示模块DMF5001N的接口应用
1天搞定单片机中断——基础知识大全
注意: Stc89c51/52单片机的P0口为开漏输出,若作为普通I/O口试,需要加上拉电阻,不然输出不了高电平。(注:P1、P2、P3都是准双向输出) 其中上拉电阻的作用: 1、加大普通IO口的驱动能力。 2、起到限流的作用。 3、抵抗电磁干扰。 1、单片机时钟时序单位(晶振周期/拍节、状态、机器周期、指令周期): 2、单片机最小系统组成5部分:单片机、晶振电路、复位电路、电源电路、下载电路 3、单片机引脚解释:单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端
[单片机]
1天搞定<font color='red'>单片机</font>中断——基础知识大全
单片机无线传输设计
我们知道,RSR232串行口传输协议的最大有效距离是10M,且为有线传输,这给一些需要远距离传输控制带来很大的不便。根据课题需要,我们设计了一种基于特高频(300M以上)无线传输方法,实际使用效果连好,能满足一般的传输和控制,可应用于微机、单片机等控制领域。对于误码率要求较高的场合,建议采用CRC编码减少误码率。 一、调制与发射 常见的模拟调制方式有调幅、调频和调相,常见的数字调制方法有频移键控、幅移键控等。OOK调制方式虽性能较差,但电路简单实现容易,工作稳定,被广泛应用于无线防盗和保安领域。如汽车、摩托车报警器,仓库大门,以及家庭保安系统中,大多使用这一类型电路。见图1 早期的发射器使用的是LC振荡电路,但该电路受分布参数的
[单片机]
<font color='red'>单片机</font>无线传输设计
利用MCU 设计离线锂电池充电器
高效、低成本及可靠的电池充电器设计可用各种方法来实现,但采用8 位闪速MCU 不仅能缩短设计时间、降低成本及提供安全可靠的产品,而且还能使设计人员以最少的工作量来进行现场升级。考虑到电池安全充电的成本、设计效率及重要性,基于MCU 的解决方案可为设计者们提供诸多优势。通过选择带适当外围与闪存的8 位MCU,工程师们能充分利用其优势来设计一种离线锂电池充电器。带2KB 闪存及适当外围以提供一种廉价解决方案的飞利浦 80C51 型MCU 就是这样一个例子。集成化闪存还能提供高效及方便地调试应用代码并进行现场软件升级(如果需要)的能力。由于设计界不仅熟悉而且广泛接受8 位MCU,故软硬件开发可快速进行。由众多厂商提供的各种功能强大且并不昂
[应用]
单片机的结构原理详细说明
8051是MCS-51系列单片机的非常典型的产品,我们用这一个代表性的型号进行系统的单片机原理讲解。 8051单片机包含中央处理器、数据存储器(RAM)、定时/计数器、程序存储器(ROM)、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别对其原理加以说明: ·数据存储器(RAM): 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·中央处理器: 中央处理器(CPU)是整个单
[单片机]
<font color='red'>单片机</font>的结构原理详细说明
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved