您现在的位置: 晨光科技 >> 文章 >> 技术 >> 电子 >> 正文  
  硬件电路简述   电路才是“硬”道理           
硬件电路简述   电路才是“硬”道理
[ 作者:佚名    转贴自:http://www.hobbypress.cn/bencandy.php?fid-189-id-2234-page-1.htm    点击数:47    更新时间:2012/6/28    文章录入:admin ]
[注:本站登载的某些文章并不代表本站支持或反对其观点或肯定其真实性]

通过我的“蛊惑”,想必大家都想自制一台示波器玩玩,那就继续跟着我走吧!所有的电子设备都离不开硬件,首先让我来对它的硬件结构进行一下简述:总体电路的系统框图见图1,前面已讲过,为了提高性能,本电路采用“双核”结构,两片AVR单片机协同工作,MCU1用于控制和频率测量,MCU2用于数据处理和显示控制,两片单片机采用SPI总线通信。信号从探头输入,进入程控放大(衰减)电路进行放大(衰减),再对被放大(衰减)的信号进行电平调整后送入高速AD转换器对信号进行采样,采样所得的数据存入FIFO存储器中,当FIFO存满后通知MCU2,MCU2从FIFO存储器中读出数据进行处理,将波形显示在LCD模块上。时钟电路为高速AD转换器和FIFO存储器提供从600Hz~60MHz的8种不同的频率信号作为不同水平扫速时的采样时钟频率。从程控放大器输出的信号一路送入AD转换器,另一路送入整形电路对输入信号进行整形,作为测频率的待测信号送入MCU1的16位计数器外部触发引脚T1(PD5),进行频率测量,程控放大器的放大(衰减)倍数和时钟电路的输出频率均由MCU1控制。MCU1将被测信号的频率、程控放大器的放大倍数和时钟电路的输出频率等数据通过SPI总线发送给MCU2,MCU2以这些数据作为频率、水平扫速、灵敏度和峰峰值计算、显示的依据。

下面就各个模块电路做一简单介绍。

1.程控放大电路和电源电路

将程控放大电路与电源电路放在一起讲,是因为他们不仅有着密切的联系,而且还是做在一块电路板上的。

程控放大器的作用是对输入信号进行衰减或放大调整,使输出信号电压在AD转换器输入电压要求范围内,达到最好的测量与观察效果,所以程控放大器电路在规定带宽内的增益一定要平坦,故对运算放大器的要求比较高,在本电路中我选用的是NS公司生产的高速运算放大器LM6172双运放,带宽为100MHz,转换速率3000V/μs,每通道消耗电流2.3mA,输出电流可达50mA,完全满足本电路的要求,选择该芯片的另一个原因是价格,邮购价格为8元一片,相比ADI、MAX等公司几十元一片的高速运放芯片来说算是很廉价了,电源采用正、负双电源供电,由于整个电路总的电源输入为单8V,所以专门用一片DC/DC电路MC34063为其构成了负压转换器,再经稳压得到-5V电压,+5V通过对输入电压稳压得到。

程控放大器电路如图2所示,被测信号从BNC插孔输入,K0继电器决定输入耦合方式,K0吸合为直流耦合方式,K0断开为交流耦合方式。信号通过交、直流耦合选择开关后被送入由R3~R5和C2~C4组成的×0.5/×0.05的衰减电路,衰减倍数由K1控制,当K1未吸合时接在“3”端,对应的衰减倍数为(R 4+R 5)/(R 3+R 4+R 5)=0.5,当K1吸合时接在“1”端,对应的衰减倍数为R5/(R3+R4+R5)=0.05,C2、C3对高频信号进行补偿。经过衰减的信号进入由高速运算放大器U1A组成的缓冲器缓冲,然后被送入由U1B组成的×-0.8/×-2/×-4的反相放大电路,放大倍数由K2和K3控制,当K2、K3均未吸合时对应的放大倍数为-(R9+R10)/R7=-2,当K2吸合K3未吸合对应的放大倍数为-R 9/R7=-0.8,当K3吸合则不用考虑K2的情况,但为降低功耗使K2断开,此时对应的放大倍数为-R 8/R 7=-4。输出信号又通过K4选择是否经由U2A组成的同相放大器放大,当K4未吸合,则不经过同相放大,当K4吸合,则信号被放大 (R 11+R 12)/R 11=10倍,最后信号被送入由U2B组成的放大倍数为-1倍的反相放大器来消掉由第一级反相放大器所带来的负号,与此同时U3A送来的反相基线电压由U2B反相后作为AD转换器的输入中点电压被叠加在被测信号上送入AD转换器,因为ADS830E的模拟输入电压范围是1.5~3.5V,输入中点电压为2.5V,所以基线电压应为2.5V。调节可变电位器RP1将调整基线电压的值,从而调整基线的位置。程控放大电路的放大倍数以及垂直电压灵敏度与K1~K4的关系见表1。 “L”代表继电器未吸合,“H”代表继电器吸合,确定继电器的常闭触点和常开触点很重要,因为继电器的吸合需要消耗一定电流,我选用的继电器型号为TO2-5V,吸合电流为15mA。在常用的3个灵敏度上(0.5V/div,0.2V/div,0.1V/div)最多只有一个继电器吸合,继电器的驱动由ULN2003AD担任。这种由运算放大器构成组合程控放大器的思想也可用于别的放大电路,平时多总结积累电路模型对提高电路设计能力非常有帮助,这个电路你记下了吗? 电源电路为整个示波器提供能源,作用非常重要!电路见如图3所示。

该示波器电路中供电分为数字和模拟两部分。为避免相互干扰,将数字部分的供电与模拟部分的供电分开,分别用独立的稳压电路,并用电感与电容做成的滤波器隔离。数字部分需要单+5V电源,由一片LM7805CT对8V电源电压稳压得到。模拟部分主要是程控放大器电路和AD转换器的模拟输入电路,程控放大器电路需要±5V双电源,AD转换电路的模拟部分需要+5V的单电源,+5V电压由LM317T对8V电源电压稳压得到,而-5V电压专门用一片DC/DC芯片MC34063AD将+8V转换成约-8.3V,DC/DC输出电压由R30和R31决定,VOUT=(R30+R31)/R31×1.25V=-8.25V,输出的负电压由负压稳压芯片LM337T稳压得到-5V,为避免DC/DC电路对其他电路产生干扰,在其输入和输出端分别串联L4和L5进行隔离,在选择元件时蓄能电感L3选择磁罐封装带屏蔽的电感,使干扰降到最低。

2.高速AD转换与FIFO存储电路

数字示波器中最重要的电路是AD转换电路,它的作用是将被测信号采样并转换成数字信号存入存储器,说它是数字示波器的咽喉一点也不为过,因为它直接决定着数字示波器所能测量的最高频率。根据乃奎斯特定理,采样频率至少是被测信号最高频率的2倍才能复现出被测信号。

而在数字示波器中采样频率至少应该是被测信号频率的5~8倍才行,否则根本观察不到信号的波形。在本电路中我选用的AD转换芯片为BB公司的8位高速AD转换器ADS830E,官方资料给出的采样频率为10kS/s~60MS/s,通过实验发现转换速率在1kHz以下工作也很正常,所以本示波器的最低采样频率为600S/s,要说明的一点是高速AD转换器一般都有高低端转换速率的限制,比如TLC5540,8位AD转换器,转换速率为5~40MS/s,我试过当转换频率降到2MHz以下时就不能正常工作,所以选择AD转换芯片时不仅要注意最高转换速率,还要关注最低转换速率,否则可能导致电路无法正常工作。有朋友也许会问8位转换精度会不会有点太低?其实8位转换器对于示波器来说是够用的,就拿这个电路来说,我选用的LCD显示模块的分辨率为320×240,垂直分辨率为240格,而8位转换精度的分辨率为256格,比显示器的分辨率还高,所以绝对够用。还有就是价格及电路的设计,在最高采样率相同的情况下10位AD转换芯片的价格是8位AD转换芯片的几倍,而且位数的增加也使电路的复杂程度大大增加,将直接影响处理速度,导致屏幕刷新过慢,反而影响性能。所以本着够用的原则本示波器选用60MHz的8位AD转换芯片ADS830E。引脚排列见图7。

AD转换与FIFO存储电路见原理图4,由程控放大电路调整后的信号分成两路,一路进入AD转换电路进行采样, 采样所得的数据由74LVC574锁存缓冲后送入FIFO存储器。FIFO存储器是一种双口的SRAM,这种存储器没有地址线,随着写入或读取信号对数据地址指针进行递加或递减,来实现寻址。在AD转换器与MCU2之间加入FIFO的作用是起到高速数据缓冲的作用,因为AD转换器的最高工作频率为60MHz,远高于MCU2的工作频率,所以让FIFO与AD转换器同步工作存储AD转换器的转换输出数据。FIFO存储器有3个标志位引脚,分别为FF(满标志):当存储器存满后置位该标志,此时存储器忽略一切写数据操作。HF(半满标志):当存储器存满一半后置位该标志。EF(空标志):当存储器被读空时置位该标志,此时存储器忽略一切读数据操作。FIFO存储器结构图见图5。本电路中只用了该芯片的FF标志与MCU2的PB3相接,当FIFO存储器存满后FF引脚被拉高,通知MCU2进行数据读取,这时MCU2禁止AD转换器与FIFO存储器的时钟,FIFO的控制权交给MCU2(其实MCU2只是禁止了FIFO存储器的写时钟,见图6,时钟信号通过U8C组成的缓冲器后直接加给了ADS830E,所以MCU2不能禁止AD转换时钟,只能通过由与门U8A组成的时钟控制开关禁止或使能FIFO存储器的时钟信号。因为实验中发现AD转换在启动后的几个时钟周期内的采样不可靠,所以就让AD转换器一直工作,通过控制FIFO存储器来控制AD采样。在AD转换电路与FIFO存储器中加入74LVC574的目的是锁存数据提高数据通道的稳定性)。

当MCU2读完数据并完成软件触发后使能AD转换器与FIFO存储器时钟,继续读取新的数据,同时MCU2对读取的数据进行处理、显示。

这儿再将高速数模转换器ADS830E的工作简单介绍一下,ADS830E的时序如图6所示,由图可知每个时钟周期进行一次数模转换,所以采样速率就是时钟频率,故可以很方便的通过控制采样时钟来控制采样频率,当前输出的采样数据是4个时钟周期以前采样电压的值,也就是说从采样到输出有4个时钟周期的延迟,这对我们所要做的电路并不重要,所以我们可以简单的理解为输入一个时钟脉冲转换一次,时钟脉冲的下降沿输出数据就行,应用非常方便。还有一点就是ADS830E的输入电压幅度是可以编程控制的,11脚(RSEL)为控制引脚,当11脚置高电平时,ADS830E的输入电压范围是1.5~3.5V,即2Vpp。当11脚置低电平时,输入电压范围是2~3V,即1Vpp。进行程控放大器设计时要考虑这个问题,本电路选用2Vpp的输入电压范围。

3.时钟产生电路

时钟产生电路为AD转换器提供一系列的采样时钟信号,分别为600Hz、6kHz、60kHz、600kHz、3MHz、6MHz、30MHz和60MHz,共8种,分别对应着不同的水平扫速,由MCU1控制,控制关系见表2。时钟产生电路见图8,基准时钟信号由一块60MHz的温度补偿型有源晶体模块提供,输出的60MHz信号一路直接作为60MHz采样时钟送入多路选择器74F151,另一路被送入由74F74触发器组成的2分频器分频,得到30MHz的信号分为两路,一路送入多路选择器74F151,另一路送入由2-5-10分频器74LS390组成的5分频器进行分频,得到6MHz信号,再分为两路,一路继续分频,另一路送入多路选择器74F151,后面几级分频与以上相同。对60MHz信号进行第一次二分频没有用74LS390中的二分频器,而单独使用了一片74F74,是因为74LS390中的二分频器的最高输入频率为40MHz,所以在其前面用了一级独立的二分频器。8种时钟信号都被送入多路选择器,MUC1通过对74F151的S0、S1、S2三根选通信号线进行控制来选择所需的采样频率。

4.MCU2单片机显示处理电路

MCU2选用ATMEL公司的AVR单片机ATmega32-16AI,与51单片机相比AVR单片机具有更高的工作频率与更高效率的硬件结构,51单片机的指令周期是将晶体振荡器的振荡频率进行12分频后得到的,又有累加器Acc在高速执行指令时的瓶颈因素,而AVR单片机则不同,它的指令周期就是晶体振荡器的振荡周期,有32个类似与累加器Acc的寄存器直接和运算器相连,取址周期短,又可预取指令实现流水作业,故可高速执行指令。ATmega32-16AI的ROM容量为32KB,RAM为2KB,32个输入、输出口,官方给出的最高速度为16MHz,但在实际使用中工作在18~20MHz也很稳定,所以用该单片机做显示处理非常合适。在本电路中为了提高LCD显示器的屏幕刷新速率使其工作在18MHz,实际使用中电路工作十分正常。

MCU2电路见图9所示。PD0~PD7与LCD显示器8位并行数据端相连,PC1~PC5与LCD显示器的控制端相连用于驱动LCD显示器,PC0用于控制LCD背光,PC0=0有背光,PC0=1无背光。PB4、PB5与PB7作为SPI通信端口与MCU1相连进行两个单片机之间的通信。PA0~PA7与FIFO存储器的数据输出端D0~D7相连接,PB0~PB3分别与FIFO存储器的使能(FIFO_EN)控制端、复位(FIFO_RES)控制端、读数据(FIFO_R)控制端和满标志(FIFO_FF)位相接。上电时,MCU2通过FIFO_RES端口对FIFO存储器进行复位,复位后存储器的读写指针都指向0,允许写数据,MCU2通过FIFO_EN端使能FIFO存储器,开始将AD转换器输出的数据写入存储器,当FIFO存储器写满数据后FIFO_FF位被拉高通知MCU2读取采样数据,MCU2禁止FIFO存储器写入数据,然后从FIFO存储器中读数据,当数据读完并完成软件触发后使能FIFO存储器继续存储采样数据,然后从读取的数据中测出波形的峰峰值后将数据转换成波型与参数显示在LCD显示器上,峰峰值的测量是通过对一屏显示数据进行比较取出最大值与最小值与当前垂直电压灵敏度作为系数计算出来的。SPI通信通过中断的方式实现,MCU1每次给MCU2发送频率、水平扫速、垂直电压灵敏度等数据一共为9个字节,每发送一个字节MCU2中断一次,将接收到的数据存到一个数组中,直到9个字节全部发送完毕MCU2才对接收到的数据进行处理显示。这样可以使MCU2在平时都工作在数据的处理和显示上,提高了数据的处理速度。

5.MCU1单片机控制与信号整形电路

MCU1同MCU2一样也选用AVR单片机,型号为ATmega8-16,工作频率为16MHz,在电路中负责控制程控放大器和时钟发生电路,并负责测量被测信号频率,将各种参数通过SPI总线发送给MCU2。

MCU1电路见图10, PC2~PC5共4个I/O口接4个轻触开关S1~S4,S1、S2是两个复用键,用于控制水平扫速与垂直电压灵敏度,功能通过S4切换,当前功能状态显示在显示器上,如果当前的控制功能为控制水平扫速,则在显示器的右下边反显示“T”, 如果当前的控制功能为控制垂直电压灵敏度,则在显示器的右下边反显示“V”。S3是触发控制,当前状态显示在控制状态左边,箭头上升则自动触发,箭头向下则不触发。长按S3选择交直流耦合方式。该示波器现在只能实现基本功能,其他更多功能有待于广大爱好者共同努力。S0、S1、S2、S3、S4共5个端口分别连接PB4、PB0、PB1、PC0、PC1用于垂直电压灵敏度控制,控制数据见“程控放大电路”中的表1。 PB2、PB3、PB5作为SPI总线接口与MCU2通信,为了防止下载程序时两芯片SPI口冲突,在两单片机之间的SPI总线上串联了3只1kΩ的电阻,实验证明此法非常有效,电路工作稳定。PD0~PD2共3个I/O口用于时钟控制,控制数据见“时钟产生电路”中的表2。频率的测量使用了16位计数器,外部下降沿触发。程控放大器输出的信号送给由场效应管VT2和高频三极管VT3组成的高输入阻抗整形电路,整形后再由U17触发器74F74进行4分频,然后送入MCU1的T1(PD5)脚进行计数测频,在低水平扫速时(5ms/div和50ms/div)为了保证测频精度测频周期为1s,在高水平扫速时(小于5ms/div)测频周期为0.25s。测频的原理是通过记录1s或0.25s内计数器记录的脉冲数来换算频率,测频定时由中断完成,每测完一次频率就通过SPI总线向MCU2发送一次数据,所以在高水平扫速时每秒向MCU2发送4次数据,而在低水平扫速时每秒向MCU2发送1次数据,能较好地保证参数显示的实时性。

  • 上一篇文章: 几款便携式短波电台对比导购

  • 下一篇文章: 比目鱼机器人
  •    
    [注:标题搜索比内容搜索快]
    发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • 轨道钢承重计算公式及应用[109]

  • 【选型】如何为变频器选取阻值…[86]

  • AIS2023参展厂商名录[346]

  • AGV综合选型[170]

  • APIE 2023第4届亚太国际智能装…[138]

  •  
     最新5篇推荐文章
  • 外媒:正在唤醒中国的习近平[305]

  • 中国反伪科学运动背后的CIA黑手…[494]

  • [转载]袁隆平真言:中国最大的…[668]

  • 台专家:当年我们造IDF时 大陆…[572]

  • 旅日华人:中国严重误判日本民…[577]

  •  
     相 关 文 章
  • 3类二极管钳位电路[25]

  • 8张图让你彻底理解晶体管开关电…[28]

  • 程序设计 给你的电路注入灵魂[42]

  • 比目鱼机器人[45]


  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    版权所有 Copyright© 2003 晨光科技        站长:璀璨星辰        页面执行时间:250.00毫秒
    Powered by:MyPower Ver3.5