完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想必你已摸清了“魔电”中幅度调制和包络检波器那些事儿,也可能实战了有源滤波和频谱分析。但如何通过手里的口袋仪器ADALM2000 (M2K) 与Scopy的逻辑分析仪一起实现两个器件之间串行外设接口(SPI)事务的可视化,你应该还需要M2K进阶学习走一波。
|
|
相关推荐
2个回答
|
|
使用溶解固体总量测量演示(TDS)项目作为示例。该项目使用 EVAL-CN0411-ARDZ扩展板,其安装在 EVAL-ADICUP360 微控制器板上。该扩展板包括两个SPI器件:一个16位电压输出DAC AD5683R和一个低噪声、低功耗、24位Σ-Δ型ADC AD7124-8。
TDS项目的功能包括DAC电压设置和通过ADC回读,提供了一个SPI事务处理分析的完整示例。(有关如何设置和使用软件的更多详细信息,请参阅上述TDS演示链接)。 串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。它是一种同步串行全双工主从接口,适用于短距离通信(通常在同一PC板上)。数据传输由时钟同步,可在时钟上升沿或下降沿读取数据(具体取决于工作模式)。数据从主器件传输到从器件,从从器件传输到主器件均使用独立的信号,从而使主器件和从器件可以同时传输数据。 图1.SPI主-从配置 SPI总线包含4个逻辑信号:
来自主器件的片选(CS)信号用于选择单个从器件并使能其SPI接口。它通常是低电平有效信号;高电平将禁用从器件,从而使其忽略SPI总线上的任何活动,并使其MISO输出处于三态。当使用多个从器件时,每个从器件都需要独立的片选信号。只允许选定的从器件(其CS信号置位)驱动MISO。(主器件连续驱动SCK和MOSI信号,在事务间置于高电平或低电平空闲状态,具体取决于SPI模式。) 产生时钟信号(SCLK)的器件称为主器件。主器件和从器件之间传输的数据与主器件产生的时钟同步。SPI接口只能有一个主器件,但可以有一个或多个从器件。 MOSI和MISO是数据线。MOSI将数据从主器件发送到从器件,MISO将数据从从器件发送到主器件。(如CS信号描述中所述,一次只能有一个从器件驱动MISO。)要开始SPI通信,主器件必须通过置位从器件CS信号来选择该从器件。在SPI通信期间,同时进行数据发送(串行移出到MOSI总线上)和接收(采样或读取MISO总线上的数据)。有效串行时钟沿同步数据的移位和采样。 SPI接口可以使用由CPOL和CPHA两个参数定义的四种模式中的一种,这两个参数指定使用时钟的上升沿还是下降沿是否进行数据采样和/或移位,以及时钟在事务间是高电平还是低电平空闲状态。必须将主器件和从器件配置为相同的SPI模式——通常从器件的模式是固定的,而主器件模式可在运行时(通常是微控制器和微处理器的情况)或编译时(例如某些FPGA SPI IP内核的情况)进行配置。 图2.SPI模式 CPOL代表时钟极性(Clock POLarity),指定总线空闲时SCK信号的默认值(高电平/低电平)。CPHA代表时钟相位(Clock PHAse),用来确定进行数据采样的时钟沿(上升沿/下降沿)。从器件的数据手册将指定这些参数,以便对主器件进行相应的配置。图3显示了两种CPOL配置的SPI传输示例。从MSB开始发送8个数据位。 图3.SPI传输示例 硬件配置 图4显示M2K板与EVAL-ADICUP360 + EVAL-CN0411-ARDZ扩展板之间的硬件连接。 图4.SPI调试硬件设置 CN0411扩展板的SPI引脚可用于端口DIGI1监控。由于有2个从器件(ADC和DAC)连接到主器件,因此提供2个引脚用于每个从器件的片选。 EVAL-CN011-ARDZ SPI引脚配置:端口DIGI1
M2K SPI引脚配置:
|
|
|
|
Scopy逻辑分析仪配置
为了正确配置Scopy,需要确定几个SPI配置参数 对于CN0411项目,这些参数配置如下:
用户界面概述如图5所示。打开逻辑分析仪,选择DIO0-DIO3线路,然后按下“Group with selected”(选定分组)按钮。 图6.逻辑分析仪组通道 选择构成的通道组并应用SPI解码器。选择组后,按下用户界面右上角的按钮打开设置菜单。将出现SPI解码器设置面板,可以进行信号通道配置和参数设置。将上述参数应用于这个组,注意ADC和DAC具有不同的时钟相位设置。 图7.组设置 必须对逻辑分析仪进行设置,才能在逻辑分析仪曲线上“捕获”SPI传输。因此我们需要进行触发配置。当片选信号置位低电平时开始SPI传输,因此可以使用CS通道的下降沿作为触发信号。 图8.触发设置 SPI发送 此示例验证,对于给定的软件命令,是否能够将正确的配置位和输出代码发送到DAC。请确保将正确的DAC CS引脚连接到M2K数字引脚(请参阅硬件配置步骤)。 要将DAC输出设置为1.0V,可使用DAC电压至数值公式来计算需要写入的值: 将逻辑分析仪的时基设置为10us,触发位置设为35us,并运行单次扫描。 图9.通用设置 逻辑分析仪将等待CS信号的下降沿被触发。运行“setdac 1.0”命令。这将启动SPI传输。结果如图10所示。 图10.SPI写序列 分析该曲线,从MSB开始,在MOSI线路上发送3个字节(24位)。前4位对应于命令位0x3,即“写入DAC并输入寄存器”命令。接下来的16位代表之前计算得到的DAC输出代码(0x6666)。最后4位是“无关位”,在软件中设置为0(尽管它们并非必须为0。) SPI接收 现在对ADC输出代码进行分析,以确认它对应于1.0V。(如有需要,也可以使用电压表再次检查DAC输出端的电压。) 首先,将M2K DIO3引脚连接到ADC CS引脚(DIGI1引脚2)。由于SPI配置与DAC配置略有不同(请参阅SPI参数列表),请修改组设置菜单,将时钟相位(CPHA)设置为1。 在逻辑分析仪上再次运行单次扫描并执行“readdac”命令。这将读取与DAC输出对应的ADC通道。结果如图11所示。 图11.SPI读序列 接收寄存器值时,MOSI线路上的数据对应于ADC的寄存器地址(0x42),然后是3个虚拟字节(0x00)。 在发送虚拟字节时,ADC同时发送存储在MISO线路(0x665DBF)上请求寄存器中的24位值。 然后可以使用以下公式将ADC代码转换为电压: 如预期的一样,DAC电压非常接近之前设置的DAC电压。因此,我们可以得出结论,SPI通信的写入和读取都能正常工作。 结论 除SPI外,该应用还包括一组解码器,涵盖大量通信协议,如I2C、I2S、UART、JTAG等,从而使ADALM2000成为一款功能强大的数字信号分析和调试工具。 来源:ADI校园计划 |
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4442 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
312浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
296浏览 2评论
311浏览 2评论
311浏览 2评论
352浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 09:43 , Processed in 0.848725 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号