MiniGen开发板使用指南:从入门到进阶

电子说

1.4w人已加入

描述

MiniGen开发板使用指南:从入门到进阶

在电子工程师的日常工作中,信号发生器是一个非常实用的工具。今天,我们就来详细介绍一款名为MiniGen的信号发生器开发板,它可以独立使用,也能作为扩展板与Arduino Pro Mini搭配,为我们的项目带来更多可能性。

文件下载:BOB-11420.pdf

一、MiniGen概述

功能特点

MiniGen能够生成正弦、方波或三角波,最高频率可达3MHz,输出幅度约为1Vp-p,直流偏置为Vcc/2,且偏置和幅度不可调节。默认情况下,它配备3.3V稳压器,只能处理3.3V信号。不过,通过焊接背面的跳线,可绕过稳压器,支持5V信号,但要注意输入电压不能超过5V。

相关资源

更多关于MiniGen的信息可在其GitHub仓库中找到,里面有库文件、示例代码和设计文件。在使用之前,建议熟悉一些相关教程,如AC与DC、模拟与数字信号、SPI接口等,同时,由于部分操作需要焊接技能,可提前复习巩固。

二、连接方式

板载接口

MiniGen的布局紧凑,标签位于PCB底部。它有两个输出源:一个2x1的0.1"间距排针和一个u.FL连接器,其中u.FL连接器以屏蔽层作为接地。安装在Pro Mini上时,输出端应与FTDI连接器相对。

引脚功能

  • GND:只需连接其中一个,可只使用一侧的排针。
  • VIN:默认连接到3.3V稳压器,若要使用5V的Pro Mini,需在背面的跳线焊盘上焊接,将三者连接起来。
  • OUTPUT+:来自AD9837的抗锯齿输出,输出信号为1Vp-p,相对于地的偏置为½ Vin。
  • OUTPUT-:连接到地。
  • SCLK:SPI时钟输入,SPI总线最高可处理40MHz的输入。
  • SDATA:主设备的输入,AD9837没有DOUT引脚,无法读取寄存器内容。
  • FSYNC:相当于片选信号。

SPI接口

SPI接口最高可驱动40MHz,默认应接近芯片的供电电压(3.3V)。若自行编写SPI控制代码,时钟空闲时为低电平(CPOL = 0),数据在上升沿锁存(CPHA = 1),对应SPI模式2。

三、组装步骤

输出连接

在进行其他操作之前,需要确定MiniGen的输出连接方式,如使用裸线、u.FL连接器还是0.1"排针。以使用两根实心导线为例,可将其插入面包板或连接示波器探头,注意保持导线长度不同,避免短路。

添加排针

为了方便将MiniGen插入面包板或与Arduino Pro Mini连接,需要安装排针。首先将排针修剪至合适长度,每侧需要12根。可选择不同类型的排针,如 female headers、short male headers 或 long male headers。将排针插入面包板,确保其与电路板垂直,然后将MiniGen板放在排针上进行焊接。

安装方式

  • 元件面朝下:这种方式便于查看引脚标签,适合作为独立开发板使用,但无法安装在Pro Mini的顶部。
  • 元件面朝上:可安装在带有 female headers 的Pro Mini板上。若计划在Pro Mini上安装 female headers,建议先将 male headers 焊接在MiniGen上,再用其固定 female headers 的角度,以确保后续连接顺畅。

堆叠使用

使用 long breakaway male headers 时,可从底部插入排针,使引脚突出在顶部,以便堆叠其他电路板,如 MiniFet Shield 或 Pro Mini Protoshield,但会覆盖 u.FL 连接器。

四、Arduino库的使用

库的获取

MiniGen的Arduino库可从其GitHub仓库下载。将整个仓库的zip文件下载并解压后,将“Arduino”文件夹中的“libraries”目录复制到Arduino Sketchbook目录中,该目录可在Arduino IDE的“Preferences”窗口中找到。若安装过程中遇到问题,可参考相关教程。

库的使用

在代码开头添加以下两行代码:

#include < MiniGen.h >
#include < SPI.h >

注意,必须同时包含这两行代码,否则代码编译将失败。然后在代码中实例化一个MiniGen对象:

MiniGen sig_gen;

可根据需要更改对象名称。若使用的不是Arduino Pro Mini,可通过构造函数更改芯片选择引脚:

sig_gen = MiniGen(pin_number);

需注意,Atmega的SPI功能要求引脚10为输出引脚,使用该引脚后将无法用于其他功能。

库命令

  • sig_gen.reset():将MiniGen重置为默认状态,清除相位偏移寄存器,将频率重置为100Hz,禁用输出,输出端为约½供电电压的直流电压。
  • sig_gen.setMode(newMode):设置输出模式,newMode 可取值为 MiniGen::TRIANGLE、MiniGen::SINE、MiniGen::SQUARE 或 MiniGen::SQUARE_2,输出频率取决于所选频率寄存器的值。
  • sig_gen.selectFreqReg(reg):AD9837芯片有两个频率寄存器,可通过传入 MiniGen::FREQ0 或 MiniGen::FREQ1 选择寄存器,通过切换寄存器可实现频率的快速调整。
  • uint32_t freqRegVal = sig_gen.freqCalc(desiredFrequency):根据所需频率计算32位值,将该值写入AD9837频率寄存器可得到近似所需频率的输出。
  • sig_gen.adjustFreq(reg, mode, newFreq):调整频率,reg 可选择频率寄存器,mode 可取值为 MiniGen::FULL、MiniGen::COARSE 或 MiniGen::FINE,不同模式下写入频率值所需的SPI事务数不同。
  • sig_gen.FreqAdjustMode(newMode) 和 sig_gen.adjustFreq(reg, newFreq):若对速度有要求,可预先选择模式,减少写入时间,但需注意传入合适的值。
  • sig_gen.selectPhaseReg(reg) 和 sig_gen.adjustPhaseShift(reg, newPhase):调整输入时钟与输出信号之间的相移,有两个相移寄存器可供选择,newPhase 应为16位无符号值,最大值为4095,每个计数代表0.00153弧度(0.551度)。

五、资源与拓展应用

相关资源

  • MiniGen产品页面:可在SparkFun网站上查看。
  • AD9837产品页面:在Analog Devices的网站上有关于该产品、相关产品及直接数字合成的详细信息。
  • AD8045产品页面:提供板上运算放大器的信息。
  • Analog Devices的FilterWizard:在线工具,可帮助调整电路中的滤波器参数。
  • GitHub仓库:包含电路板设计文件和Arduino库。

拓展应用

MiniGen可用于各种信号合成,其中一个有趣的应用是通过频移键控(FSK)进行信号传输,通过切换 FREQ0 和 FREQ1 寄存器,可在输出端编码数据。如果你使用MiniGen进行了有趣的项目,欢迎与我们分享。

以上就是关于MiniGen开发板的详细介绍,希望能帮助电子工程师们更好地使用这款开发板,为项目带来更多创意和可能性。你在使用过程中遇到过哪些问题呢?欢迎在评论区交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分