Overview
一些系统可能需要结合多个设备的更复杂的配置。 在试图为每个设备的每个通道协调数据而同时操作多个AD9371设备时,对于独立运行且没有任何用于对齐数据时序的机制的设备而言,这是不切实际的。 要实现此类配置,需要将数据同步到多个设备中或从多个设备中同步出去。

AD9371包含用于同步基带采样和数据时钟所需的外部控制输入和内部电路,从而允许系统设计并行使用多个器件,并具有与单个器件相同的性能。

不幸的是,AD9371不包含内部RF同步。 没有一些外部帮助,将无法同步内部RF本机振荡器。 幸运的是,这在当今的FPGA系统中是微不足道的,将在下面进行探讨。 也将探讨使用外部LO的替代选择。

AD9371 Multi-Chip Sync(MCS)


该图显示了AD9371的简化框图。该器件在基带PLL块中利用分数N合成器为给定系统生成所需的采样率。该合成器从为参考时钟输入指定的频率范围内的任何参考时钟生成ADC采样时钟,DAC采样时钟和基带数字时钟。
对于需要两个以上输入或两个输出通道的MIMO系统,需要多个AD9371器件和一个公共基准振荡器。 AD9371具有接收外部基准时钟并使用简单的控制逻辑使其与其他器件同步操作的能力。在上面的简化框图中忽略了这个细节。
每个AD9371都包括自己的基带PLL,该基带PLL从参考时钟输入生成采样和数据时钟,因此需要额外的控制机制来同步多个器件。需要逻辑SYNC_IN脉冲输入,以将每个设备的数据时钟与一个公共基准对齐。快速浏览原理图的原理图可了解如何完成此操作。

Internal LOs + FPGA
在本部分中,我们假设您已经阅读并理解了“ IQ旋转和校正”部分的数学部分,并且在此我们将重点放在事物的实际方面。

我们可以使用它来找到两个差分接收器(A和B)中的相位差。


由于我们的最小开关矩阵不包含发射器(这将具有其自身的相位误差),因此我们需要进行多步测量,并使用任一发射器的公共参考:

简单的代数重排,提供相位测量的简单差异。

发送器是相同的-通过使用公共接收器,比较两个发送路径非常容易。

通过以上计算过程,即可获取到多片之间的相位差,该设计相对复杂,硬件上和软件上都需要操作,还需要用到IQ相位旋转测量的方式获取到相位。

其中,相位测量原理以及IQ旋转法,如下链接所示:
https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/iq_rotation

而ADRV9009不需要专门的电路即可实现多片同步功能:
ADRV9009 Multi-Chip Sync(MCS)
对于ADRV9009来讲,其芯片内部就具有多片同步的功能,包括数字同步和模拟端PLL同步,这个是由于他参考了REF_CLK_IN信号,讲这个信号和多片同步信号作处理,得到相位同步信号后进行锁相环的调节,不需要额外的射频电路来实现多路同步的功能。

其中,时钟分配图如下:

从下图可以看到,当传输一定量数据后,不同的芯片之间相位可以最终达到一个同步的状态,不需要额外的电路参与

以上文章为千有科技专有,未经允许,不允许转发或者用于商用,否则将追责。

AD9371,ADRV9009多路同步模块设计相关推荐

  1. Windows平台RTMP/RTSP直播推送模块设计和使用说明

    开发背景 好多开发者一直反馈,Windows平台,做个推屏或者推摄像头,推RTMP或者RTSP出去,不知道哪些功能是必须的,哪些设计是可有可无的,还有就是,不知道如何选技术方案,以下是基于我们设计的W ...

  2. Apache Web Server - httpd的HTTP的多路处理模块MPM

    同步synchronous 和 异步asynchronous 是站在被调用者角度: 同步synchronous:进程发起一个调用,在没有获得结果之前,被调用者是不回返回的.           异步a ...

  3. 硬件架构的艺术:同步FIFO设计

    目录 1. 概述 2. 同步FIFO设计 2.1 同步FIFO结构 2.2 同步FIFO空满信号产生 2.2.1 时序逻辑产生空满 2.2.1.1 fifo满信号产生 2.2.1.2 fifo空信号产 ...

  4. 智能手环功能模块设计_基于51单片机的智能手环蓝牙模块设计

    龙源期刊网 http://www.qikan.com.cn 基于 51 单片机的智能手环蓝牙模块设计 作者:王烈进 王游司 陈洪燕 孙超 卢宇 来源:<电脑知识与技术> 2018 年第 2 ...

  5. 使用Verilog语言描述计数器——脉动计数器;脉动计数器具有减法计数功能。采用模块设计和行为级设计方法。

    使用Verilog语言描述计数器--脉动计数器. 内容说明: 本次设计的计数器属于脉动计数器.使用Verilog语言设计,并且设计方法采用模块设计和简单的行为级设计.会有这两种设计的对比测试.最后,会 ...

  6. C# 样品管理模块和订单模块设计

    C# 样品管理模块和订单模块设计 1.1样品管理模块 1.1.1概述 样品管理模块主要处理样品信息的登记和维护.用户可以通过样品登记模块进行样品基本信息.样机状态信息.主关件信息和技术参数信息录入.登 ...

  7. FPGA学习之串口发送模块设计与验证

    FPGA学习之串口发送模块设计与验证 1.实验目的: 实现一个串口输出,通过上位机PC查看接收到的是否是串口发送的数据. 2.实验介绍: 学习UART通信原理及其硬件电路设计,使用FPGA实现UART ...

  8. 同步FIFO设计verilog设计及仿真

    同步FIFO设计 1.功能定义: 用16*8 RAM实现一个同步先进先出(FIFO)队列设计.由写使能端控制该数据流的写入FIFO,并由读使能控制FIFO中数据的读出.写入和读出的操作由时钟的上升沿触 ...

  9. 企业级自定义表单引擎解决方案(二)--架构及核心模块设计

    .net core研发的自定义表单引擎,采用强大的规则引擎将所有的业务串联起来的,和其他低代码平台是有本质的区别的,目标是完全解放繁琐的CRUD工作. 先总体介绍一下大概的架构和核心模块设计.先上一张 ...

  10. 【餐厅点餐平台|三】模块设计

    餐厅点餐平台导航 [餐厅点餐平台|一]项目描述+需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 [餐厅点餐平台 ...

最新文章

  1. 小实验:用创建进程()打开计算器,然后关闭进程句柄。再用打开进程(进程ID),使用两次,得到两个进程句柄。实验目的:这两个进程句柄都能控制这个进程吗?通过该试验加深对句柄的理解!!...
  2. php 字符串表示,php字符串是否包含某字符串
  3. sharding-jdbc源码解析之sql解析
  4. python库整理:os
  5. 【SAP】PO中“交货已完成”的功能解析
  6. 关于用批处理写ftp上传文件
  7. 阿里云喻义:十年牧码,从码农走向工程师的进化之路
  8. B端产品经理要掌握的基本功
  9. ASP.NET核心之路微服务第03部分:Identity
  10. 编辑器安卓手机版_手机上最专业的视频编辑器,内购版!
  11. Oracle数据库基本操作(windows 本地环境)
  12. Python操作PDF的神器——PyMuPDF
  13. 【职场攻略】送礼给老板有讲究
  14. “2019年新出的境外云闪付是什么?
  15. 打开个税App:竟要补税两万多...
  16. clickhouse初体验之create insert update select group by
  17. 2019年的最后一天,你会想些啥?
  18. %3c php 连接数据库,深究.htaccess的原理,和用户利用其恶意篡改服务器配值导致的深层安全问题...
  19. CAN总线控制器SJA1000的使用
  20. 学习笔记:Java虚拟机——JVM内存结构、垃圾回收、类加载与字节码技术

热门文章

  1. ai软件基础教程自学网,怎么快速学会ai软件
  2. 0动态规划中等 LeetCode97. 交错字符串
  3. 微信HOOK之二叉树获取信息 201-12-25
  4. VM 网络设置 for xp3
  5. qt unicode转gbk_Qt中文编码和QString类Unicode编码转换
  6. 【机器人控制架构】控制系统架构【控制流程图、控制算法】
  7. 基于SSM+Eclipse+MySQL的球鞋商城(SSM毕业设计源码)(SSM在线商城)
  8. Mysql数据库详解
  9. 微软windows10易升_Win10 如何摆脱易升这个流氓软件,如何拒绝每半年一次的大更...
  10. 修改Tomcat8 内存