发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名

[经验] 【ADI M2K开发板试用连载】非正弦周期信号的分析与合成实验

2019-12-19 09:31:28  348
分享
0
项目名称:非正弦周期信号的分析与合成实验

试用计划:电路电工实验中有“非正弦周期信号的分解与合成”实验,目前全国高校没有几家能开出实物实验,大多为仿真实验,其原因就是需要的信号源和分析仪器比较多,指标参数也比较高,这些指标对于科研设备可能不高,但对于面向众多学生的基础课一般难以达到,所以姑且以仿真来代替。本项目期冀利用M2K便携式仪器和其附加配件完成硬件的“非正弦周期信号的分析与合成”实验。
主要内容:1、利用任意信号发生器产生非正弦周期信号,如三次谐波和五次谐波的合成波等。2、利用数字示波器分析任意波形的频谱特性。3、使学生了解M2K的功能和指标,以便应用于以后的创新实践中。

预期指标:基于100M的采集和刷新频率,产生和观测模拟10M的信号没有问题,再配合配套的SCOPY软件,预期指标为:1、完成硬件的非正弦周期信号的分解与合成实验。2、编写实验指导书。3、逐步代替仿真的实验。

连载一:
收到板卡了,类似手机大小,一端通过microusb接计算机,另一个microusb接口为供电接口(说明能USB OTG啊),还有两个LED反映工作状态吧。另一端通过IDC30引出杜邦线插孔与外界接口,计算机上运行SCOPY软件就能用作数字电源、信号源、多种测量仪表啦,实验台三大件全了。跑了一下软件,人机接口GUI感觉一般啊,一是不能自动适配显示器,现在都多端适配的时代了。二是界面的各种控件配色简单,有点像20年前老DOS下的应用程序啊,实话实说不喜勿喷。简单的性能指标如下:一是两个通用模拟差分输入最大25 V、输入特性为1 MΩ||30 pF、采样为12位100 MSPS ADC,模拟带宽25 MHz。二是两路DAC刷新频率是150MHZ。三是两个可变电源0 V至正负5 V负载为50 mA(受USB接口的限制有点小啊,可以外扩电源)
。四是两个数字触发器可选3.3 V或1.8 V电平兼容5 V采样频率是100 MSPS。总体上
基本具有20M的模拟通道,可以作为大学生电子设计竞赛中非通信类题目的配套仪表来使用。

    M2K=ADALM2000=ADI active learning module 2K,最好能翻译成ADI自主学习模块,比主动学习模块更常用一些。配合ADI的ADALP2000模块使用可以完成20Mhz之内的电路实验、模拟电子实验、数字电子实验、传感器实验等课程,要实验高频电子和通信原理等课程,最好选择ADI的ADALM-PLUTO模块。M2K区别于NI的ELVIS和DIGITAL的AD2等类似产品,最大的优势是软硬件开源,可以利用其软硬件基础平台开发创新其他的应用,因此了解M2K的软硬件平台是个重要的开始。


连载二:
两个通用模拟输入:差分、范围±25 V、输入特性1 MΩ||30 pF、采样时12位100 MSPS ADC,模拟带宽25 MHz
两个可变电源:0 V至5 V,-5 V至0 V,负载为50 mA(受USB接口的限制有点小啊,可以外扩电源)
两个数字触发器:3.3 V或1.8 V电平选择兼容5 V,100 MSPS
基本具有20M的模拟通道,可以作为大学生电子设计竞赛中非通信类题目的配套仪表来使用。

图片.png
安装完驱动后如上所示,有个USB模拟的网卡、USB串口是115200-8-n-1的用root@analog登录后为linux的控制台,还有个U盘里面有配置等资源。iiO全称是Industrial I/O subsystem(工业 I/O 子系统)填补某些LINUX的设备空缺。另外支持USB OTG啊,貌似能插入WIFI或U盘当做主机使用。

    还提供用于构建电路的部件套件ADALP2000。
https://www.analog.com/cn/design-center/evaluation-hardware-and-software/evaluation-boards-kits/EVAL-ADALP2000.html
https://wiki.analog.com/university/tools/adalp2000/parts-index

要做高频实验或通信实验需要ADI的ADALM-PLUTO,在
https://www.analog.com/cn/design ... ts/ADALM-PLUTO.html

今天用了一下SCOPY软件,怎么像老DOS应用程序啊,现在都WEB2.0啦,这种人机接口真不舒服,不能自动适配不同的终端啊,debug下运行JS程序好像也没跑通,再看看吧。

zhaotao_b67 2019-12-25 17:45:15

安装完驱动后有多个设备可以使用如上所示。
有个USB模拟的网卡、USB串口是115200-8-n-1的用root@analog登录后为linux的控制台,还有个U盘里面有配置等资源。iiO全称是Industrial I/O subsystem(工业 I/O 子系统)填补某些LINUX的设备空缺。另外支持USB OTG啊,貌似能插入WIFI或U盘当做主机使用。
    还提供用于构建电路的部件套件ADALP2000。
要做高频实验或通信实验需要ADI的ADALM-PLUTO,在

回复

举报

wa123441 2020-1-7 09:28:52
https://wiki.analog.com/_media/university/tools/adalm2000/hacking/adalm2000_schematic_revc.pdf


控制器件是XILINX的zynq FPGA,里面有ARM核核传统FPGA,在ARM核上跑了LINUX操作系统,就类似计算机了。多年前不看好这种做法啊,FPGA的优势是并行和高速,嵌入ARM核跑OS何如外接MPU啊。跑了LINUX就有许多系统特性了,如可以有主控USB就是USB otg。用外接电源时能支持USB设备,如USB WIFI, HID. U盘等,需要用正确的连线。Config.txt中有 ESSID and WPA-PSK配置USB WIFI。竟然支持javascript了,参见https://wiki.analog.com/university/tools/m2k/scopy/scripting-guide。非常希望能用JS很好地测控M2K模块,正所谓“学好JS走遍天下也不怕”,但资料很少啊,有时间好好看看。

无标题.png
回复

举报

wa123441 2020-1-9 08:28:01
连载三:
今天有点收获。SCOPY界面不好,近期alice更新了不少。其入口参见https://wiki.analog.com/university/tools/m2k/alice/users-guide-m2k
使用说明参见
https://wiki.analog.com/university/tools/m1k/alice/desk-top-advanced-guide

无标题.png

可以下载源代码,在PYTHON中编译运行。

回复

举报

wa123441 2020-1-16 16:50:51
如何开发M2K的上位机应用程序?参考ALICE可以利用PYTHON进行二次开发。ALICE源代码中alice_init.ini 是初始化文件,alice-desktop-2.0.pyw是主文件,调用的IIO.PY实现了与硬件接口LIBIIO.DLL的接口。
Libiio.dll的说明参见https://wiki.analog.com/software/linux/docs/iio/iio
http://analogdevicesinc.github.io/libiio/

安装anaconda后打开其中的spyder工具,打开alice-desktop-2.0.pyw运行。用的主要接口函数有
buf = iio.Buffer(m2k_adc, 1000, False)实现ADC数据读入
Buff0 = iio.Buffer(m2k_dac_a, 4096, True) 实现DAC数据输出
DigBuff0 = iio.Buffer(Dig_Out, int(MaxPatLength), True)实现数字量输出

上述函数在IIO.PY中调用了DLL中的下面函数
_c_read_attr(self._channel, self._name_ascii, buf, len(buf))
_c_is_output(self._channel)
_c_is_scan_element(self._channel)
_c_enable/disable(self._channel)
_c_read_raw(self._channel, buf._buffer, c_array, len(array))
_c_read(self._channel, buf._buffer, c_array, len(array))
_c_write_raw(self._channel, buf._buffer, c_array, len(array))
_c_write(self._channel, buf._buffer, c_array, len(array))

界面GUI接口采用的TKINTER,简单快捷。

回复

举报

wa123441 2020-1-21 22:12:56
本帖最后由 wa123441 于 2020-2-1 09:54 编辑

分三大部分:一是基于Vivado设计生成BIT文件和第一阶段启动所需的FSBL文件,二是基于Petalinux进行Linux系统移植肯IP核驱动程序设计生成U-Boot、Linux内核、设备树以及文件系统,三是基于Xilinx SDK工具将FSBL、BIT和U-Boot制作启动文件Boot.Bin,开发应用程序,最后将Boot.Bin、uImage、设备树和文件系统拷贝至SD中。 未命名.JPG
PL中的工作如上所示。

AXI_AD9963 IP用于产生100M时钟给ADC,产生75M时钟给DAC后倍频为150M。

AXI_ADC_TRIGGER用于缓冲同步模拟前端和FPGA的时钟关系。
UTIL_VAR_FIFO用于缓存触发和显示前的信号,可以理解为缓存深度。
AXI_ADC_TRIGGER用于产生双通道ADC的触发信号。
AXI_ADC_DECIMATE用于模拟端放大倍数的调整。
AXI_DAC_INTERPOLATE用于DAC通道的放大倍数的调整
AXI_LOGIC_ANALYZER用于逻辑分析仪和模式发生器,为数字逻辑部分。

回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表