模拟乘法器3

  • 格式:doc
  • 大小:144.53 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟乘法器

摘要

本设计以集成模拟乘法器芯片MC1595构成乘法电路,以通用的51系列单片机+周立功最小系统(ZLG )对TLC5615的电压控制输出直流信号输出,并用信号发生器实现交流信号输出,同时还可实现波形幅度的数控可调。

一、方案论证与选择

方案一、采用数控可调电阻AD8403对一个输入端的电阻阻值进行修改,这样便可以修改MC1595的K 值,但是计算出的阻值并不精确,这样会使 误差变大,故不采用。

方案二、采用通用的51系列单片对DA 芯片TLC5615进行控制,将DA 输出的值输入到模拟乘法器的一个输入端,这样就可以直接控制且数控可调,可将误差变至最小,故采用此方案。

系统整体结构如图1所示,本系统主要有最小系统+ZLG 控制模块、DA 转换模块、MC1595模块、741运放模块组成。

二、电路设计与分析

1、最小系统+ZLG 模块

本系统采用现在比较通用的51系列单片机。51系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较成熟,此系列单片机是8位机,其最小系统的外围电路由自己设计和制作,可以灵活应用。

周立功显示模块,主要以ZLG7289芯片为单位。数码管显示,十六按键。周立功芯片控制端分为四个端口,CS 片选端、DIO 数据输入输出端,CLOCK 最小系统

+ZLG 模块

DA 转换模块 MC1595模块 741运放模块 输入 输入 信号输出 图1 系统框图

时钟信号端,KEY 按键信号端。芯片本身含有八个段选端,八个位选端。按键部分可以由八个位选,八个段选构成8×8=64个按键。数码管显示可以最多8位。据实际情况,我们选用按键2×8=16个按键。程序对按键的判断通过判断是否周立功KEY 端是否有按键按下的信号,有就通过读DIO 发来的数据来判断哪个按键按下。通过软件的处理,实现D/A 数字量的输入。

2、模拟乘法器模块

模拟乘法器是一种时变参量电路。在高频电路中,乘法器是实现频率变换的基本组件,与一般非线性器件相比,乘法器可进步一克服某些无用的组合频率分量,使输出信号频谱得以净化。

模拟乘法器以MC1595芯片为核心,它是对两个模拟信号(电压或电流)实现相乘功能的有源非线性器件。其主要功能是实现两个互不相关信号的相乘,且输出信号与两输入信号之乘积成正比,可以表示为:

21I I O u Ku u = (1)

K 为比例系数,为正值时是同相乘法器,为负值时是反向乘法器。所以可得出MC1595电路中K 的值,可表示为:

)(231I R R R K Y X ⨯⨯= (2)

1R 为芯片1号脚所接的电阻,X R 、Y R 分别为两个输入端的电阻。

由DATASHEET 可得出MC1595通用电路,如图2所示。

图2 MC1595原理图

模拟乘法器属于非线性器件还是线性器件取决于两个输入电压的性质。一般情况下当两个输入信号ux 和uy 均不确定时,模拟乘法器体现出非线性特性,属于非线性器件;然而,在一定的条件下,当两个输入信号u x 或u y 中,有一个

为恒定直流电压时,如u x =E ,则有21I I O u Ku u =。可见,此时模拟乘法器相当于一个线性放大器,放大倍数为K ’=KE ,模拟乘法器为线性器件。因此,为了简化动态误差的分析,通常在乘法器的一个输入端加上固定的直流电压,另一输入端加上正弦交流电压,使乘法器对输入的交流信号电压起线性放大作用。在乘法器的一个输入端加上正弦交流电压,另一输入端加上直流电压,使乘法器对输入的交流信号电压起衰减作用。同时,模拟乘法器输出的波形幅度也因为输入数字量的不同而改变,这样即实现了对幅度的数控可调。

图中,741模块将模拟乘法器的输出起了衰减作用,这样使电路不至于殷输出的电压过大而产生误差或者是烧坏。

3、DA 转换模块

主要以TLC5615芯片为单位。一个电位器调节TLC5615基准电压输出。在输出级加了滤波电路,消除TLC5615输出的干扰信号。滤波电路采用了RC 滤波电路。TLC5615是一块D/A 转化模块,采用串口发送数据,最大发送数据10位。单片机对TLC5615的控制端分四个端口,但实际只要控制3位,分别为数据输入端DIN ,片选端CS,时钟信号端。因此,可得出TLC5615电路图,如图3所示。

由TLC5615的DATASHEET 可得出其输出电压可由公式计算得出,其公式可表示为:

1024)(2IN REFIN OUT X V V = (3) 其中,REFIN V 为基准电压,在电路中将其调为V V REFIN 5.2=;IN X 为输入的待转换值,输入范围0~1023。

三、软件设计与调试

利用ZLG 按键对输入TLC5615的数据进行控制,并将输入的值进行转换后输出,即输入经过模拟乘法器相乘之后的乘积即可。

程序流程图:

按键扫描模块:

数字键的输入只能输入3次,构成一个发送到D/A 的3位数据;如果大于3 次,则前面输入的数据将被覆盖,需要重新输入3位数据;如果小于3次,则在后面补零,构成3位数据。

功能键表示发送,按下功能键,则将输入的数据发送到D/A ,进行转换,同时将变量清零,方便下一次数据的输入与发送。

数字处理模块:

因为本程序输入的是经过模拟乘法器相乘之后的乘积,那么必须将输入的数据进行处理才能发送到D/A 转换。

开始 系统初始化 有键按下? 调用键盘扫描 N Y 功能/数字? 数字键 数字键处理 返回键盘扫描 功能键 发送数据 返回键盘扫描

由前面的公式2和图2可得出10

1 K ;由公式3可知如果想输入经D/A 转换过后的电压值,需将输入的值除以489;而模拟乘法器需要两个量的输入,一个是D/A 转换后的值,另一个可以是固定的电压值,那么将电压值固定为10V ,这样只需将输入的值除以489即可得到要所发送到D/A 转换的值。

四、测试数据

X (DA )输入 Y 输入 输出 绝对误差 相对误差

五、总结

本系统以51系列单片机为核心,通过软件编程,利用MC1595模拟乘法器实现对幅度的数控。尽量做到线路简单,减小电磁干扰。充分利用软件编程,弥补元器件的精度不良。由于水平有限,我们认为系统还有需要改进的地方,便如采用高精度的元器件,测量算法进一步完善等。