结合外围电路产生占空比和幅度可调的正弦波、方波、三角波该函数信号发生器的频率可调范围为1~100kHz, 步进为0.1kHz, 波形稳定, 无明显失真。
1.系统设计框图如图1 为系统设计框图。本设计是利用键盘设置相应的频率值, 根据所设置频率段选择相应电容, 经计算获得相应数字量送数字电位器实现D/A 转换, 同时与参考电压( 本例为5.5V) 相加后形成数控调压去控制ICL8038 第8 脚, 这样即可由ICL8038 实现对应频率值的矩形波、三角波和正弦波。方波幅度经衰减后送单片机可测得信号源频率并由数码管显示。
2.电路原理图
图2 为电路原理图。其中AT89C2051 是8 位单片机, 其中: P1.4~P1.7、P1.2、P1.3、P3.0、P3.1 作为数
码显示P3.3、P3.5 、P3.7 作为键盘输入口P3.4 作为计数口, 用于测量信号源频率P3.0~P3.2 作为数字电位器的SPI总线P1.1、P1.0 可根据需要扩展继电器或模拟开关选择ICL8038第10 脚( CAP) 与第11 脚间的电容C。
MCP41010 是8 位字长的数字电位器, 采用三总线SPI 接口。/CS: 片选信号, 低电平有效SCK:时钟信号输入端SI: 串行数据输入端, 用于寄存器的选择及数据输入。MCP41010 可作为数字电位器, 也可以作为D/A 转换器, 本设计是将MCP41010 接成8 位字长的D/A 转换器, MCP41010 根据输入的串行数据, 对基准电压进行分压后由中间抽头输出模拟电压, 即VPWO =DN/256VREF ( 式中VREF=5V) 。
函数发生电路ICL8038, 图2所示是一个占空比和一个频率连续可调的函数发生电路。ICL8038是一种函数发生器集成块, 通过外围电路的设计, 可以产生高精密度的正弦波、方波、三角波信号, 选择不同参数的外电阻和电容等器件, 可以获得频率在0.01Hz~300kHz 范围内的信号。通过调节RW2 可使占空比在2%~98%可调。第10 脚( CAP) 与第11 脚间的电容C 起到很重要的作用, 它的大小决定了输出信号频率的大小, 当C 确定后, 调节ICL8038 第8 脚的电压可改变信号源的输出频率。从ICL8038 引脚9(要接上拉电阻)输出的波形经衰减后送单片机P3.4 进行频率测量。
正弦函数信号由三角波函数信号经过非线性变换而获得。利用二极管的非线性特性, 可以将三角波信号的上升和下降斜率逐次逼近正弦波的斜率。ICL8038 中的非线性网络是由4 级击穿点的非线性逼近网络构成。一般说来, 逼近点越多得到的正弦波效果越好, 失真度也越小, 在本芯片中N= 4, 失真度可以小于1。在实测中得到正弦信号的失真度可达0.5 左右。其精度效果相当满意。为了进一步减小正弦波的失真度, 可采用图2 所示电路中两个电位器RW3 和RW4 所组成的电路, 调整它们可使正弦波失真度减小。当然, 如果矩形波的占空比不是50% , 矩形波不再是方波, 引脚2 输出也就不再是正弦波了。 图2 电路原理图
经实验发现, 在电路设计中接10 脚和11 脚的电容值和性能是整个电路的关键器件, 电容值的确定也就确定电路能产生的频率范围, 电容性能的好坏直接影响信号频率的稳定性、波形的失真度, 由于该芯片是通过恒流源
对C 充放电来产生振荡的, 故振荡频率的稳定性就受到外接电容及恒流源电流的影响, 若要使输出频率稳定, 必须采用以下措施:外接电阻、电容的温度特性要好外部电源应稳定电容应选用漏电小、质量好的非极化电容器。3.实验结果
当±12V 工作电源时, 输出频率如下表: 失真度情况, 实验数据如下表: 4.软件流程图
图3 为软件流程图。T0 设为计数器,T1 设为定时器(初值为5ms)。5ms 启动主循环, 主要用于键盘扫描及扫描显示, 图2 中K0 作为控制键, K1 作为调整键, K2 作为增加键上电时程序进入频率设置模式, 按一下K0 键程序进入数控模式, 按二下K0 键程序进入扫频模式, 按三下K0 键程序进入频率设置模式, 周而复始。在频率设置模式, 由K1 键和K2 键完成频率设置。图3 软件流程图基于ICL8038的函数发生器函数发生器是一种可以同时产生方波、三角波和正弦波的专用集成电路。当调节外部电路参数时,还可以获得占空比可调的矩形波和锯齿波。因此,广泛用于仪表之中。一、电路结构函数发生器ICL8038的电路结构如图虚线框内所示,共有五个组成部分。两个电流源的电流分别为IS1和IS2,且IS1=I,IS2=2I;两个电压比较器Ⅰ和Ⅱ的阈值电压分别为 和 ,它们的输入电压等于电容两端的电压uC,输出电压分别控制RS触发器的S端和 端;RS触发器的状态输出端Q和 用来控制开关S,实现对电容C的充、放电;两个缓冲放大器用于隔离波形发生电路和负载,使三角波和矩形波输出端的输出电阻足够低,以增强带负载能力;三角波变正弦波电路用于获得正弦波电压。RS触发器是数字电路中具有存储功能的一种基本单元电路。Q和 是一对互补的状态输出端,当Q=1时, ;当Q=0时, 。S和 是两个输入端,当 时,Q=0时, ;反之,当 时,Q=1时, ;当S=0, 时,Q和 保持原状态不变。两个电压比较器的电压传输特性如下图所示。二、工作原理★当给函数发生器ICL8038合闸通电时,电容C的电压为0V,根据电压比较器的电压传输特性,电压比较器Ⅰ和Ⅱ的输出电压均为低电平;因而RS触发器的 ,输出Q=0, ;★使开关S断开,电流源IS1对电容充电,充电电流为IS1=I因充电电流是恒流,所以,电容上电压uC随时间的增长而线性上升。★当上升为VCC/3时,电压比较器Ⅱ输出为高电平,此时RS触发器的 ,S=0时,Q和 保持原状态不变。★一直到上升到2VCC/3时,使电压比较器Ⅰ的输出电压跃变为高电平,此时RS触发器的 时,Q=1时, ,导致开关S闭合,电容C开始放电,放电电流为IS2-IS1=I因放电电流是恒流,所以,电容上电压uC随时间的增长而线性下降。起初,uC的下降虽然使RS触发的S端从高电平跃变为低电平,但 ,其输出不变。★ 一直到uC下降到VCC/3时,使电压比较器Ⅱ的输出电压跃变为低电平,此时 ,Q=0, ,使得开关S断开,电容C又开始充电,重复上述过程,周而复始,电路产生了自激振荡。由于充电电流与放电电流数值相等,因而电容上电压为三角波,Q和 为方波,经缓冲放大器输出。三角波电压通过三角波变正弦波电路输出正弦波电压。结论:改变电容充放电电流,可以输出占空比可调的矩形波和锯齿波。但是,当输出不是方波时,输出也得不到正弦波了。三、性能特点ICL8038是性能优良的集成函数发生器。可用单电源供电,即将引脚11接地,引脚6接+VCC,VCC为10~30V;也可双电源供电,即将引脚11接-VEE,引脚6接+VCC,它们的值为±5~±15V。频率的可调范围为0.01Hz~300kHz。输出矩形波的占空比可调范围为2%~98%,上升时间为180ns,下降时间为40ns。输出三角波(斜坡波)的非线性小于0.05%。输出正弦波的失真小于1%。四、常用接法如图所示为ICL8038的引脚图,其中引脚8为频率调节(简称为调频)电压输入端,电路的振荡频率与调频电压成正比。引脚7输出调频偏置电压,数值是引脚7与电源+VCC之差,它可作为引脚8的输入电压。如图所示为ICL8038最常见的两种基本接法,矩形波输出端为集电极开路形式,需外接电阻RL至+VCC。在图(a)所示电路中,RA和RB可分别独立调整。在图(b)所示电路中,通过改变电位器RW滑动的位置来调整RA和RB的数值。当RA=RB时,各输出端的波形如下图(a)所示,矩形波的占空比为50%,因而为方波。当RA≠RB时,矩形波不再是方波,引脚2输出也就不再是正弦波了,图(b)所示为矩形波占空比是15%时各输出端的波形图。根据ICL8038内部电路和外接电阻可以推导出占空比的表达式为故RA<2RB。 为了进一步减小正弦波的失真度,可采用如下图所示电路中两个100kΩ的电位器和两个10kΩ电阻所组成的电路,调整它们可使正弦波失真度减小到0.5%。在RA和RB不变的情况下,调整RW2可使电路振荡频率最大值与最小值之比达到100:1。在引脚8与引脚6之间直接加输入电压调节振荡频率,最高频率与最低频率之差可达1000:1。
AD转换部分:使用ADC0834==========AD转换==============
入口:A(存放通道选择值:1***0000)
出口:A(存放AD转换值)
ADC:MOV R7,#4
CLR AD_CS
ADC1: CLR CLK
RLC A
MOV SDI,C
SETB CLK
DJNZ R7,ADC1
SETB SDO
CLR CLK
SETB CLK
MOV R7,#08H
ADC2: CLR CLK
SETB CLK
MOV C,SDO
RLC A
DJNZ R7,ADC2
MOV R7,#08H
ADC3: CLR CLK
SETB CLK
DJNZ R7,ADC3
CLR CLK
SETB AD_CS
RET
END
==============================
DA转换部分:使用MCP41010
入口参数:(A)=Dn
DAC: MOV R6,A
MOV R7,#08H
CLR DA_CS
DAC1: MOV A,#11H
DAC2: CLR CLK
RLC A
MOV SDI,C
SETB CLK
DJNZ R7,DAC2
MOV R7,#08H
MOV A,R6
DAC3: CLR CLK
RLC A
MOV SDI,C
SETB CLK
DJNZ R7,DAC3
CLR CLK
SETB DA_CS
RET
END
波/三角波/正弦波信号发生器(ICL8038)该信号发生器采用了精密波形发生器单片集成电路ICL8038。该电路能够产生高精度正弦波,方波,三角波,所需外部元件少。频率可通过外部元件调节。ICL8038的正弦波形失真=1%,三角波线性失真=0.1%,占空比调节范围为2%~98%。
ICL8038的第10脚外接定时电容,该电容的容值决定了输出波形的频率,电路中的定时电容从C1至C8决定了信号频率的十个倍频程,从500μF开始,依次减小十倍,直到5500pF,频率范围对应为0.05Hz~0.5 Hz~5Hz~50Hz~500Hz~5kHz~50kHz~500kHz。电路中的V1、R7、R8构成缓冲放大器,R9 为电位器,用于改变输出波形的幅度。
附:基于ICL8038函数信号发生器的设计
本设计是以ICL8038 和AT89C2051 为核心设计的数控及扫频函数信号发生器。ICL8038 作为函数信号源
结合外围电路产生占空比和幅度可调的正弦波、方波、三角波该函数信号发生器的频率可调范围为1~100kHz, 步进为0.1kHz, 波形稳定, 无明显失真。
1.系统设计框图
如图1 为系统设计框图。本设计是利用键盘设置相应的频率值, 根据所设置频率段选择相应电容, 经计算获得相应数字量送数字电位器实现D/A 转换, 同时与参考电压( 本例为5.5V) 相加后形成数控调压去控制ICL8038 第8 脚, 这样即可由ICL8038 实现对应频率值的矩形波、三角波和正弦波。方波幅度经衰减后送单片机可测得信号源频率并由数码管显示。
2.电路原理图
图2 为电路原理图。其中AT89C2051 是8 位单片机, 其中: P1.4~P1.7、P1.2、P1.3、P3.0、P3.1 作为数
码显示P3.3、P3.5 、P3.7 作为键盘输入口P3.4 作为计数口, 用于测量信号源频率P3.0~P3.2 作为数字电位器的SPI总线P1.1、P1.0 可根据需要扩展继电器或模拟开关选择ICL8038第10 脚( CAP) 与第11 脚间的电容C。
MCP41010 是8 位字长的数字电位器, 采用三总线SPI 接口。/CS: 片选信号, 低电平有效SCK:时钟信号输入端SI: 串行数据输入端, 用于寄存器的选择及数据输入。MCP41010 可作为数字电位器, 也可以作为D/A 转换器, 本设计是将MCP41010 接成8 位字长的D/A 转换器, MCP41010 根据输入的串行数据, 对基准电压进行分压后由中间抽头输出模拟电压, 即VPWO =DN/256VREF ( 式中VREF=5V) 。
函数发生电路ICL8038, 图2所示是一个占空比和一个频率连续可调的函数发生电路。ICL8038是一种函数发生器集成块, 通过外围电路的设计, 可以产生高精密度的正弦波、方波、三角波信号, 选择不同参数的外电阻和电容等器件, 可以获得频率在0.01Hz~300kHz 范围内的信号。通过调节RW2 可使占空比在2%~98%可调。第10 脚( CAP) 与第11 脚间的电容C 起到很重要的作用, 它的大小决定了输出信号频率的大小, 当C 确定后, 调节ICL8038 第8 脚的电压可改变信号源的输出频率。从ICL8038 引脚9(要接上拉电阻)输出的波形经衰减后送单片机P3.4 进行频率测量。
正弦函数信号由三角波函数信号经过非线性变换而获得。利用二极管的非线性特性, 可以将三角波信号的上升和下降斜率逐次逼近正弦波的斜率。ICL8038 中的非线性网络是由4 级击穿点的非线性逼近网络构成。一般说来, 逼近点越多得到的正弦波效果越好, 失真度也越小, 在本芯片中N= 4, 失真度可以小于1。在实测中得到正弦信号的失真度可达0.5 左右。其精度效果相当满意。为了进一步减小正弦波的失真度, 可采用图2 所示电路中两个电位器RW3 和RW4 所组成的电路, 调整它们可使正弦波失真度减小。当然, 如果矩形波的占空比不是50% , 矩形波不再是方波, 引脚2 输出也就不再是正弦波了。
图2 电路原理图
经实验发现, 在电路设计中接10 脚和11 脚的电容值和性能是整个电路的关键器件, 电容值的确定也就确定电路能产生的频率范围, 电容性能的好坏直接影响信号频率的稳定性、波形的失真度, 由于该芯片是通过恒流源
对C 充放电来产生振荡的, 故振荡频率的稳定性就受到外接电容及恒流源电流的影响, 若要使输出频率稳定, 必须采用以下措施:外接电阻、电容的温度特性要好外部电源应稳定电容应选用漏电小、质量好的非极化电容器。
3.实验结果
当±12V 工作电源时, 输出频率如下表:
失真度情况, 实验数据如下表:
4.软件流程图
图3 为软件流程图。T0 设为计数器,T1 设为定时器(初值为5ms)。5ms 启动主循环, 主要用于键盘扫描及扫描显示, 图2 中K0 作为控制键, K1 作为调整键, K2 作为增加键上电时程序进入频率设置模式, 按一下K0 键程序进入数控模式, 按二下K0 键程序进入扫频模式, 按三下K0 键程序进入频率设置模式, 周而复始。在频率设置模式, 由K1 键和K2 键完成频率设置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)