现代电路与系统论文可调光源驱动设计

上传人:仙*** 文档编号:149727091 上传时间:2022-09-07 格式:DOC 页数:21 大小:723.02KB
返回 下载 相关 举报
现代电路与系统论文可调光源驱动设计_第1页
第1页 / 共21页
现代电路与系统论文可调光源驱动设计_第2页
第2页 / 共21页
现代电路与系统论文可调光源驱动设计_第3页
第3页 / 共21页
点击查看更多>>
资源描述
学号1049721202900课程名称:现代电路与系统学 院:信息工程学院专 业:电子与通信工程班 级:信研1203姓 名:杨顺生指导老师:娄平2013年6月11日摘 要本文的设计内容是基于一个光纤传感项目,主要是光源驱动的设计,设计中涉及数字频率合成器、程控电压放大器、压控电流源、温度补偿电路以及负载热插拔检测电路的设计,并对程控电路有了新的认识。通过理论分析、波形仿真和实际电路的搭建,深入理解了系统设计的技术思想。同时对基于直接数字频率合成技术的波形发生器的输出特性进行了分析,对输出波形频率带宽,频率分辨率进行了讨论,并在ISE中进行了系统设计,并在Modelsim中进行了仿真,并对数模转换器件参数及性能作了一定的认识。最后,本文基于光源驱动的性能优点上对今后实现技术进行了展望。关键字:数字频率合成器,程控电路,压控电流源,光源驱动IIAbstractThis design is based on a project associated with optical fiber sensing, mainly light-driven design, the design involves digital frequency synthesizer, programmable voltage amplifier, voltage-controlled current source, temperature compensation circuit and a load hot plug detect circuit design brought a new understanding of programmable circuits to me. Through theoretical analysis, waveform simulation and actual circuit building, I obtain in-depth understanding of the technical ideas of system design. At the same time, I analyzed output characteristics of the direct digital frequency synthesis technology based on waveform generator, discussed the output waveform frequency bandwidth, frequency resolution and carried out system design in the ISE and carried out simulation in Modelsim, and the parameters and performance of DAC members made a certain understanding. Finally, I will discuss the performance advantages of technology for future implementation based on the light source driving.Key Word: DDS, programmable circuit, voltage-controlled current source, light-driven目 录摘 要IAbstractII1. 绪论11.1 研究背景11.2 研究内容22. 硬件电路设计32.1 系统总体方案32.2 数字频率合成器的设计32.2.1 频率合成简介32.2.2 数字频率合成原理42.2.3 DDS硬件设计52.3 程控放大电路72.4 压控电流源的设计72.5 补偿电路93. 软件设计101. 绪论1.1 研究背景在医学临床诊断中,血液的氧分压(pO2)和酸碱度(pH值)是评估病人病理生理状态的两个重要监测指标。在休克、呼吸衰竭、脑损伤等危重病人监护和重大麻醉手术中,需要通过频繁测定血液或组织的pO2和pH来评价病人的氧供需平衡和酸碱平衡状态。目前,临床多采用常规血气分析仪,通过间歇性的动脉采血,对血样进行离体的化学分析得出pO2 和pH等多参量信息。常规血气分析存在几大缺点:间断的血气快照无法准确地反映连续的生理事件;通常只在发生不良反应后行血气分析,可能延误治疗;非实时的离体分析存在血样改变或污染的风险;多次采血还可能造成医源性贫血。毋庸置疑,能对血液、组织甚至是单个细胞进行原位、实时、无创、多参量监测,己经成为生物医学临床和生命科学研究中的迫切需求。为了同时测量生物体内的多参量信息,人们先后提出了各种各样的生物医学多传感解决方案,如电化学微阵列、片上实验室(Lab on a chip)、微全分析系统(TAS)、生物微机电系统(BioMEMS)等。它们都为微尺度下多参量的原位分析提供了可行的实现手段,但大多存在着需消耗被测物、可靠性较差、制造平台要求高、检测系统复杂等问题。与上述传感方案相比,荧光光纤传感器集合了光纤传感的微小、抗电磁干扰、遥测,以及荧光传感的不消耗被测物、特异性强、包含多维信息(发射光谱、荧光强度、荧光寿命、荧光偏振等)等独特优点,从众多传感器中脱颖而出,成为现代生物医学传感领域的研究热点。本文的设计是在一个光纤传感项目的基础上进行探讨,而且项目处于初步探索阶段,对猜想和数学模型进行验证和校正,因此,设计一个功能比较齐全的光源驱动是这个项目的第一步。1.2 研究内容 光源驱动的设计包括以下几个模块:数字频率合成器、程控电压放大器、压控电流源、温度补偿电路以及负载热插拔检测电路。数字频率合成器主要是生成所需的调制波形,这里使用双频自动切换技术,在输入相应参数后,系统可自动输出相应幅度、相位、单个频率波形持续时间、相位无缝频率转换。程控电压放大器用于控制频率合成器的输出增益和滤波带宽,能有效降低噪声对波形的干扰。压控电流源将上述两个模块输出的电压信号转换为驱动光源的电流信号,由于光源发射光强由电流直接控制(发射光波长由光源本身决定),由此实现光的调制。至于温度补偿电路是为防止温度波动使得光源电流偏置发生漂移而设计的,对温度进行检测并反馈到压控电流源上。负载热插拔检测电路属于保护性电路,实现空载时候电路的零功耗,降低电路的发热损耗。172. 硬件电路设计2.1 系统总体方案光源驱动的设计包括以下几个模块:数字频率合成器、程控电压放大器、压控电流源、温度补偿电路以及负载热插拔检测电路。图1 光源驱动器总体设计图2.2 数字频率合成器的设计2.2.1 频率合成简介频率合成就是以一个或几个参考源为基准,产生多个频率的过程。频率合成技术是近代通信系统的重要组成部分,在无线电技术与电子系统的各个领域中得到广泛的应用。各种新型的频率合成器和频率合成方案还在不断涌现,现在己达到比较成熟的阶段。目前频率合成主要有三种方法:直接模拟合成法(Direct simulation Frequency synthesis)、锁相环合成法(Phase-lock link Frequency Synthesis即PLL)和直接数字合成法(Direct Digital Frequency Synthesis)。直接模拟合成法利用倍频(乘法)、分频(除法)、混频(加法与减法)及滤波,从单一或几个参数频率中产生多个所需频率。直接频率合成中,基准信号通过脉冲形成电路,产生谐波丰富的窄脉冲。该方法频率转换时间短(小于100ns),用这种方法合成的频率范围将受到限制,更重要的是由于采用大量的倍频,混频,分频,滤波等装置,使得频率合成器不仅带来了庞大的体积和重量,而且输出的谐波,噪声及寄生频率都难以抑制,目前己经基本不被采用。锁相环合成法通过锁相环完成频率的加、减、乘、除运算。该方法结构简单、便于集成,且频谱纯度高,目前使用比较广泛,但存在高分辨率和快转换速度之间的矛盾,一般只能用于小步进频率合成技术中。DDS或DDFS是Direct Digital Frequencysynthesis的简称,通常将此视为第三代频率合成技术。它突破了前两种频率合成法的原理,从“相位”的概念出发进行频率合成。这种方法不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位,还可以用DDS方法产生任意波形,它是把一系列数字量形式的信号通过DAC转换成模拟量形式的信号的合成技术。2.2.2 数字频率合成原理 DDS与大多数的数字信号处理技术一样,它的基础仍然是奈圭斯特采样定理。奈圭斯特采样定理是任何模拟信号进行数字化处理的基础,它描述的是一个带限的模拟信号经抽样变成离散序列后可不可以由这些离散序列恢复出原始模拟信号的问题。奈圭斯特采样定理告诉我们,当抽样频率大于或者等于模拟信号最高频率的两倍时,可以由抽样得到的离散序列无失真地恢复出原始模拟信号。只不过在DDS技术中,这个过程被颠倒过来了。DDS不是对模拟信号进行抽样,而是一个假定抽样过程已经发生且抽样值已经量化完成,如何通过某种方法把已经量化的数值重建原始信号的问题。DDS电路一般由参考时钟、相位累加器、波形存储器、D/A转换器(DAC)和低通滤波器(LPF)组成。 N位加法器 N位寄存器波形存储器DACLFPNfoNKAD参考时钟fc图2 DDS原理图假设系统时钟频率为fc,DDS系统输出频率为fo,当fo非常接近fc/2时,非谐波分量fc-fo也接近fc/2,且两者幅度趋于相等,这是很难设计出能滤除fc-fo分量的低通滤波器,这是DDS最大输出频率不取fc/2而取0.4fc的原因,因为实际的低通滤波器总存在一定的过渡带,在设计DDS最大输出频率是一定要留有一定的余量。为了取出干净的主频fo,常在D/A输出端接入截止频率为fc/2的低通滤波器以抑制杂散信号。图3 DDS输出信号频谱分量2.2.3 DDS硬件设计在DDS系统中,波形的幅度值被量化成数字值存储在ROM中,通过一组数据线输出代表二进制编码的电平信号。为了将数字信号转换成模拟信号,需要用到数/模转换器,简称DAC(Digital-Analog Converter)。为了数据处理结果的准确性,DAC转换器必须有足够的转换精度,同时为了能够在较高频率下工作,它必须有足够快的转换速度。因此,转换精度和转换速度是衡量DAC转换器性能优劣的主要指标。本文的设计使用DAC902,这是带有12bits分辨率以及165M的转换速率的电流型DA转换器。图4 DAC902外围接口电路本设计使用两片DAC902,一片负责对DDS输出内容进行转换,另一个为前者提供参考电压,假设DDS用的DAC1采样电阻使用2K欧姆和50欧姆的负载电阻,而为DAC1提供参考电压的DAC2使用内部参考源即1.24V,其满偏输出范围于01.25V,对应于最大电流摆幅020mA,因此DAC2应该使用63欧姆的负载电阻。假设后面的电路增益为1,则DDS幅度调节精度为在DAC后紧接着是带增益低通滤波器,由于项目需求,DDS输出可调频调幅,频率范围为1kHz1MHz,这里使用的转换时钟为25MHz(或者50MHz),由上述,LPF通带范围为0.4fc,应为10MHz,其原理图如下:图5 0dB增益的有源低通滤波器这里的运放使用AD8656,其带宽与供电范围满足要求。上图的低通滤波器幅频相频特性如下:图6 LPF幅频特性与相频特性图7 DAC+LPF的PCB布局2.3 程控放大电路 程控放大电路使用模拟开关实现不同增益通道的选通,但需要注意的是模拟开关的导通电阻随供电电压的增大而下降,而且存在导通电容,这里使用MAX4983的单刀双掷模拟开关芯片,这款芯片属于低压高速CMOS模拟开关,在5V的贡献下,导通电阻仅有8欧姆,寄生电容为5pF,图8 程控电路示意图图中的开关均为模拟开关,程控电路工作流程如下:C9与R18组成交流耦合,U3A组成电压跟随器,用于隔离和增加输出阻抗,U3B为可选增益反相放大电路,U4A则将U3B的负增益转化为正增益。这里需要说明一点的是,对于精密仪表电路而言,使用模拟开关还需要考虑为消除开关电阻而进行的补偿,由于模拟开关的电阻随温度呈非线性关系,还可以对其建立数学模型以提高补偿精度。2.4 压控电流源的设计 在经过DDS与增益放大器后,将得到的调制电压信号转换为调制电流信号,这里使用双反馈电路设计压控电流源。OP37运放属于高速运放,带宽比较宽,而且具有低偏置电流以及低失衡电压。运放输出接入射极放大电路对电流进行放大,从而为光源提供足够电流。R6属于采样电阻,这里使用大功率金属膜电阻。图9 压控电流源电路 图10 模拟输入设置以及仿真结果图11 采样电阻上的波形2.5 补偿电路为降低温度的波动对器件稳定工作的影响,引入温度补偿电路是很有必要的。温度补偿电路如下所示:图12 简单的温度检测电路U5A属于比较器,VRon_off用于数字输入,对温度补偿电路进行开关控制,当使能温度补偿电路,Q1导通使得+5V由R19、RT以及可调电阻共同决定补偿电压,补偿电路后面还可以接程控放大电路以进行非线性的温度补偿设定。补偿信号则由加减法电路使得反馈信号进入控制电路: 图13 加法减法电路引入反馈信号3. 软件设计 软件设计主要围绕着STM32与上位机的通信协议、STM32与FPGA的接口时序、STM32外围电路控制程序以及FPGA的DDS生成器。STM32与上位机通信使用串口通信,在STM32方使用字节序列检测方法检测命令,命令由上位机决定,支持非定长命令与数据长度。其流程图如下:图 串口通信协议流程至于STM32关于LCD屏幕菜单、键盘及其他控制程序,由于篇幅有限,这里不详细说明。STM32与FPGA通信采用8080时序,其接口有WR、RD、EN、RS、D0D7,并行口的设计有助于降低FPGA的设计难度。FPGA的DDS模块流程如下:图 FPGA的调制波流程图DDS模块部分代码如下:module Sine_Waveform(sysclk, nrst, start, eint, sine_waveform_dout, ROM_addr, daclk);parameter reg_freq_size = 28; /为保证输出精度,频率控制字位数不超过(频率累加位数-波形寻址位数)即reg_addrcnt_size-reg_outputaddr_sizeparameter reg_cycle_size = 4; /最多可连续产生16个周期信号parameter reg_addrcnt_size = 32; /累加寄存器parameter reg_phase_size = reg_addrcnt_size; /可调相位0到360度parameter reg_outputaddr_size = 10; /输出12位分辨率精度,10位寻址,最多1024个采样点if (!nrst)begindaclk = 0;div_clk = 0;endelse if (div_clk8h02)begindiv_clk = div_clk+1;endelsebegindaclk = daclk;div_clk = 0;endend/频率控制字计算公式如下:/delta_f=2(reg_addrcnt_size-reg_outputaddr_size)/(f_osc/f_define)reg reg_freq_size-1:0 freq1;reg reg_freq_size-1:0 freq2;/相位初始位移p度(即p/360*2*pi弧度)的增量计算公式如下:1弧度相当于频率控制字增加2(reg_addrcnt_size-reg_outputaddr_size)/delta_p=2(reg_addrcnt_size-reg_outputaddr_size)*p_define/360*2*pireg reg_phase_size-1:0 phase1;reg reg_phase_size-1:0 phase2;reg reg_cycle_size-1:0 cycle1;reg reg_cycle_size-1:0 cycle2;reg 31:0 time_protect;/ROM_addr恒等于ROM_addr_cnt的高reg_outputaddr_size位reg reg_addrcnt_size-1:0 ROM_addr_cnt;reg reg_outputaddr_size-1:0 ROM_addr_cnt_shadow;reg reg_outputaddr_size-1:0 ROM_addr; /截取查找地址reg 31:0 time_protect_cnt;reg reg_cycle_size-1:0 cycle_cnt;reg 2:0 state;reg 19:0 eint_pulse_width;reg 1:0 cycle_state;reg 2:0 start_edge;/start端口上跳沿开始执行always (posedge sysclk)beginif(nrst) beginstart_edge = 3b000;endelse beginstart_edge2:1 = start_edge1:0;start_edge0 = start;endendreg action;/dds动作使能位always (posedge sysclk)beginif(nrst) beginaction = 0;endelse beginif(start_edge2:1 = 2b01) beginaction = 1;endelse if(start_edge2:1 = 2b10) beginaction = 0;endendend/有状态机完成always (posedge daclk)beginif(nrst) begin/参数控制freq1=68710000;/1M /3355;/10Kfreq2=103079000;/500K/6711;/20Kphase1 = 0;phase2 = 0;cycle1 = 1;cycle2 = 1;time_protect= 32h00000000;/实时运行参数cycle_cnt = 0;cycle_state = 0;time_protect_cnt = 0;ROM_addr_cnt = 0;ROM_addr_cnt_shadow = 0;eint_pulse_width = 0;/中断信号/eint = 0;/状态机状态state = 3b000;end/*/else if(action = 0) begin /实际使用else if(start = 0) begin /调试使用state = 3b000;cycle_state = 2b00;eint_pulse_width = 0;end*/else begin/if(action = 1) begin /实际使用/if(start = 1) begin /调试使用case (state) /state采用格雷码3b000 : begin/从外部获取参数/*freq1=频率控制字freq2=phase1=初始相位位移phase2=cycle1=波形产生周期数cycle2=*/state = 3b001;end3b001 : begin/初始化运行参数cycle_cnt = 0;time_protect_cnt = 0;ROM_addr_cnt = 0;/ROM_addr_cnt_shadow = 0;eint_pulse_width = 0;ROM_addr_cnt = phase1;ROM_addr_cnt_shadow=phase1reg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1;state = 3b011;cycle_state = 2b00;end3b011 : begin/产生cycle1个周期的波形1if(cycle_cnt cycle1) begin/ROM_addr_cnt_shadow = ROM_addr_cnt;ROM_addr_cnt = ROM_addr_cnt + freq1;case (cycle_state)2b00 : beginif(ROM_addr_cnt_shadow!=ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state = 2b01;endend2b01 : beginif(ROM_addr_cnt_shadow=ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state = 2b11;endend2b11 : beginif(ROM_addr_cnt_shadow!=ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state= 2b10;endend2b10 : begincycle_state = 2b00;enddefault: beginendendcaseif(cycle_state = 2b10) begincycle_cnt = cycle_cnt + 1;endendelse begincycle_cnt = 0;ROM_addr_cnt = 0;ROM_addr_cnt_shadow = 0;state = 3b010;cycle_state = 2b00;endend3b010 : begin/波形间保护间隔if(time_protect_cnt time_protect) begintime_protect_cnt = time_protect_cnt + 1;endelse begintime_protect_cnt = 0; /可省略ROM_addr_cnt = phase2;ROM_addr_cnt_shadow= phase2reg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1;state = 3b110;cycle_cnt = 0;cycle_state = 2b00;endend3b110 : begin/产生cycle2个周期的波形2if(cycle_cnt cycle2) beginROM_addr_cnt = ROM_addr_cnt + freq2;case (cycle_state)2b00 : beginif(ROM_addr_cnt_shadow!= ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state = 2b01;endend2b01 : beginif(ROM_addr_cnt_shadow= ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state = 2b11;endend2b11 : beginif(ROM_addr_cnt_shadow!= ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1) begincycle_state = 2b10;endend2b10 : begincycle_state = 2b00;enddefault: beginendendcaseif(cycle_state = 2b10) begincycle_cnt = cycle_cnt + 1;endendelse begincycle_cnt = 0;ROM_addr_cnt = 0; state = 3b111;endend3b111 : begin/波形间保护间隔if(time_protect_cnt time_protect) begintime_protect_cnt = time_protect_cnt + 1;endelse begintime_protect_cnt = 0; /可省略state = 3b101;endend3b101 : begin/产生中断if(eint_pulse_width 20h000FF) begineint_pulse_width = eint_pulse_width + 1;endelse begineint_pulse_width = 0;state = 3b100;endend3b100 : begin/状态机末端state = 3b001;enddefault: beginendendcaseendendalways (posedge sysclk)beginif(nrst) begineint = 0;endelse if(eint_pulse_width != 0) begineint = 1;endelse begineint = 0;endendalways (posedge sysclk)beginif(nrst) beginROM_addr = 0;endelse beginROM_addr=ROM_addr_cntreg_addrcnt_size-1:reg_addrcnt_size-reg_outputaddr_size-1;endendwire 11:0 ROM_waveform_output;DDS_sine_waveform_ROM sin1 (.clka(daclk),.addra(ROM_addr), / Bus 9 : 0 .douta(ROM_waveform_output) / Bus 11 : 0 ); always (posedge daclk)beginif(nrst) beginsine_waveform_dout = 0;endelse beginsine_waveform_dout = ROM_waveform_output;endendendmodule
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!