网上有许多内容丰富、制作精良的网页介绍这些设备的工作原理,非常有吸引力,而且传播范围更广。借此机会,我想向您介绍一个比前一个电路稍微复杂一些的电路,它在许多应用中都很有用。
描述
所有东西的底部都有一个在线购买的小模块,只需几欧元,配备了“Analog Device”的 AD9850 和其他一些组件,所有这些都在几平方厘米的空间内。
这些功能,也考虑到物有所值,正如您亲眼所见,非常有趣。所讨论的 AD9850 使用 120 MHz 时钟工作,因此正如制造商所建议的那样,可以轻松地使其生成最高 40 MHz 的信号,超过该信号尽管仍会生成,但在光谱纯度。
所讨论的模块通过允许以串行模式或并行模式访问的接口提供与外界对话的两种可能性。显然,最小化电路复杂性的最方便的访问是串行访问,但它也是最慢的,并且考虑到我的目标是在幅度或频率上调制模块,我必须选择使用并行访问,从硬件的角度来看要复杂得多,但也快得多。
这些功能,也考虑到物有所值,正如您亲眼所见,非常有趣。所讨论的 AD9850 使用 120 MHz 时钟工作,因此正如制造商所建议的那样,可以轻松地使其生成最高 40 MHz 的信号,超过该信号尽管仍会生成,但在光谱纯度。
所讨论的模块通过允许以串行模式或并行模式访问的接口提供与外界对话的两种可能性。显然,最小化电路复杂性的最方便的访问是串行访问,但它也是最慢的,并且考虑到我的目标是在幅度或频率上调制模块,我必须选择使用并行访问,从硬件的角度来看要复杂得多,但也快得多。
即使用适合用途的接收机收听的信号清晰易懂,我马上告诉你,就模块的 AM 和 FM 调制而言,仪器验证的结果并不好,但它仍然是一个有效的正弦信号发生器,并且在任何情况下都尝试收听该文件,您将在后面找到其链接。
nco_front2.jpg
电路
负责管理电路所有功能的是微控制器,即Microchip生产的PIC 16F876。PIC 的“C”端口保证对模块的并行访问,它的输出线从 C0 到 C7,将数据发送到 DDS,DDS 的控制权委托给“A”端口的三个输出线,分别用“CK”表示发送数据的同步时钟,“FQ”表示加载数据到DDS,“RS”表示复位。
关于数据输出和三条控制线的生成,我邀请那些有兴趣的人查阅数据表,它可以直接从“Analog Device”网站下载,我发现它非常完整和详尽。
nco_sche.jpg
从接线图中可以清楚地看到,端口“C”的部分线路,从 C4 到 C7,也用于管理字母数字键盘,更准确地说,用于快速连续扫描其列,同时用于读取键按下端口“B”的输入线 B4 至 B7 被使用。
此外,端口“C”的线路,从 C4 到 C7,也用于将数据发送到 2 行 16 个字符的显示器,它们与控制线 C3 和 B2 一起,分别用于“RESET”和“ENABLE”,执行著名的“HITACHI”HD44780通讯协议进行显示管理。
端口“C”执行的三重工作可以快速连续地管理 DDS、显示器和键盘,这要归功于控制线,这些控制线轮流对传出数据进行分类,现在是 DDS,然后是显示器,然后是到键盘。
线路 B0 和 B1,设置为中断输入,仅在激活时读取与其相连的增量编码器的状态,增加或减少显示屏上指示的频率值,STEP 默认设置为 1KHz。
B3 线激活连接到它的蜂鸣器几毫秒,在键盘上的每个压力生成 BIP,BIP 可以从菜单中停用。
在 A4 线上,只要将新的频率值加载到 DDS 中,就可以读取同步脉冲,这是我希望将来使用的功能,以同步 PC 的输入,以便导出滤波器响应曲线,vobulator 类型。也许有点雄心勃勃,但如果我成功了,我会随时通知你。
模拟输入线A0,用于读取低频信号,用于DDS的调频。
输入线 A2 和 A3 读取连接到它们的两个电阻分压器产生的两个电压,大约等于 1.5 V 和 3.4 V,用作 PIC 内部 10 位模数转换器的低和高参考.
nco_cs.jpg
调制
用于频率调制的技术需要使用 ASM 语言,以便尽可能加快四个主要过程中包含的所有必要操作:
1) 将 BF 信号从模拟信号转换为数字信号;
2) 将采样信号乘以256,以获得足够的频偏;
3) 将这样得到的值加到前面阐述的表示载波频率值的基码上;
4) 将完整的转移码发送给DDS。
2) 将采样信号乘以256,以获得足够的频偏;
3) 将这样得到的值加到前面阐述的表示载波频率值的基码上;
4) 将完整的转移码发送给DDS。
到现在列出的所有操作都是在低于22uS的时间内完成的,这也是获取采样所需的时间;事实上,在开始每次转换后,在内部电路完成转换所需的所有时间里,pic 负责从其内存中检索先前的采样值,执行之前的采样值,将运算结果添加到表示载波频率值的代码,并将得到的结果发送给DDS。
这意味着采样频率在 45 KHz 左右,与 DDS 刷新率重合,这决定了调制信号的质量,这并非例外,但考虑到所使用的手段,它可以令人满意。要了解结果,您可以在以下链接中收听一分钟的录音。
收听 FM 调制 DDS 信号。
为了使接线图不那么混乱,我更愿意将其分为两部分。因此,在下文中,您将找到有关低频音调的生成以及 AM 和 FM 之间切换的部分。
BFxDDS.jpg
更具体地说,配置为非稳态多谐振荡器的 AO1 生成大约 600 Hz 的信号。该信号可以从引脚 1 获取,那里有一个方波,但我更喜欢从引脚 2 获取它,那里有一个几乎是三角形的信号,由低通滤波器制成几乎是正弦波,由 47 KΩ 电阻和33nF。
在这个电容器的末端获取的信号被发送到前面板上的开关,这将使我们能够在内部或外部 BF 信号之间进行选择,以发送到 DDS,以将其调制为 AM 或 FM。
图片的引脚 4 执行双重功能,当设置为输入时,它在由图片的 ADC 转换器所需的 2.2 和 1 KOhm 电阻组成的分压器上读取等于约 1.5V 的参考电压;当设置为输出时,它会命令 2N7000 mosfet 关闭继电器以启用 AM 调制。继电器静止时,启用 FM 调制。
就 AM 调制而言,我想澄清的是,即使可以从任何接收器以良好的保真度收听信号,实际上,从 AD9850 芯片的数据表中可以看出,或者连接示波器对于它的输出,振幅的变化只影响载波的正半周期,但是,调制信号仍然是一个有效的参考。
最后,连接到 AO2 引脚 7 的 10 KΩ 电位器配置为一个简单的反相放大器,将使我们能够控制调制信号,从而控制 AM 中的调制指数和 FM 中的偏差。
就 AM 而言,必须在模块上进行连接,最好使用非常柔软的电线,以避免突然移动时断开模块的精密轨道。鉴于尺寸,必须非常小心地进行焊接,在照片中用红点指示的 R6 一侧,如您所见,我使用了一个 4.7 KΩ 电阻器,其端子非常灵活。
nco_am.JPG
菜单
在前面的段落中,我提到了一个菜单,实际上非常简单直观,可以让您做出一些选择。
开机后,可以立即通过以下方式改变显示屏上显示的工作频率:
a) 通过编码器;
b) 从 32 个存储器中的一个中取值,只需键入由 00 到 31 的两位数字组成的数字;
c) 键入以星号开头和结尾的值,例如设置10.7 MHz,键入*10700000*,新值将立即获得。
b) 从 32 个存储器中的一个中取值,只需键入由 00 到 31 的两位数字组成的数字;
c) 键入以星号开头和结尾的值,例如设置10.7 MHz,键入*10700000*,新值将立即获得。
输入时,输入#可以删除错误输入的数字。
要将显示屏上指示的频率值保存在 32 个可用存储器之一中,请键入前面带有井号的数字,例如 #18,将显示屏上指示的频率值保存在存储器编号 18 中。
按下按钮 D 以激活或停用 FM 调制。
使用按钮 C 激活或禁用 AM 调制。
使用按钮 B,您可以在内存 01 和 02 中保存的两个下限和上限内激活或停用频率扫描。
使用按钮 A,您可以进入或退出主菜单以修改 STEP、PAUSE、BEEP 和 IF(中频)。
使用按钮 C 激活或禁用 AM 调制。
使用按钮 B,您可以在内存 01 和 02 中保存的两个下限和上限内激活或停用频率扫描。
使用按钮 A,您可以进入或退出主菜单以修改 STEP、PAUSE、BEEP 和 IF(中频)。
在主菜单中,键入 4 打开一个子菜单,从中键入 1 到 6 之间的数字,您可以更改扫描或编码器使用的 STEP;1 代表个位,2 代表十位,以此类推,直到 6 代表百万,或 # 退出。
在主菜单中,键入 5 打开一个子菜单,您可以从中键入 1 到 9 之间的数字来更改扫描速度;以毫秒表示的值 大约等于 100* 输入的数字,或 # 退出。
在主菜单中,键入 6 可激活或停用每次按下键盘时都能听到的 BIP。
在主菜单中,键入 7 打开一个子菜单,其中:
在主菜单中,键入 7 打开一个子菜单,其中:
a) 通过键入 1,IF 值被添加到显示屏上显示的值;
b) 通过键入 2,从显示屏上显示的值中减去 IF 值;
c) 输入 3,不会插入 IF 值;
d) 或 # 退出。
b) 通过键入 2,从显示屏上显示的值中减去 IF 值;
c) 输入 3,不会插入 IF 值;
d) 或 # 退出。
显然,要使一切按预期工作,您必须首先将所需的 IF 值存储在内存 00 中。
dds模组菜单.png
关于菜单,欢迎任何可以改进生成器功能的建议。
在总结之前,我想澄清一下接线图在某些地方与印刷电路不同,只是因为在施工期间和不同时间进行了一些修改,例如AM和FM调制,即当镀铜底座与印刷电路电路已经存在了几个月;事实上,一些连接是通过直接在轨道或电阻器上焊接电线来实现的。
nco_comp.JPG
来源:电子资料库