AD9268、AD9643调试过程中遇到的问题

  1. Ad9268芯片

    AD9268是一款双通道、16位、80 MSPS/105 MSPS/125 MSPS模数转换器(ADC)。AD9268旨在支持要求高性能、低成本、小尺寸和多功能的通信应用。双通道ADC内核采用多级差分流水线架构,集成输出纠错逻辑。每个ADC都具有宽带宽、差分采样保持模拟输入放大器,支持各种用户可选的输入范围。集成基准电压源简化了设计考虑。占空比稳定器用于补偿ADC时钟占空比的变化,使转换器保持出色的性能。ADC输出数据可以直接路由至两个外部16位输出端口。这些输出可以设置为1.8 V CMOS或LVDS。有灵活的关断选项可以显著省电。设置和控制编程利用三线式SPI兼容型串行接口完成。

  AD9643管脚与AD9268相同,故一般都兼容设计。AD9643的最高采样率为250Msps,分辨率为14bit。

2.调试环境

使用UD LAN-402信号处理模块,软件配置如下:

硬件框图如下:

LAN-402的主要特点是支持4通道A/D(可以分别用于短波、超短波和雷达),对外支持16路双向差分RS422接口(可用作波控),也有千兆网和PCIe2.0x8接口,fpga可以完成信号处理任务。

3.调试过程

AD9268对外的接口支持LVDS接口、CMOS接口两种模式,通过SPI可以配置芯片使用哪种接口、是否开启测试模式等等。

调试中时,可以先通过SPI对ADC芯片进行配置为累加数测试模式(用于测试硬件连接是否正常),效果如下:

再配置为PN码测试模式,用于校验相位和测误码,效果如下:

4.调试遇到的问题

    1. 调试时遇到的问题记录
      1. 通道1的ADC数据无法呈现正常的正弦波脉络,表现如下

        1. 分析猜测1:可能是通道1和2数据隔离没做好,导致ADC数据混合

尝试测试与实验:配置寄存器将通道2设置未完全断电模式:

结果仍然不正确:

        1. 分析猜测2:ADC寄存器配置错误,导致ADC数据输出有

1;尝试修改数据输出格式:

二进制补码:

偏移二进制

结果仍不正确

2;尝试配置输入输出延时

3;打开deither_enable

4;测试寄存器配置表

配置完成后,表现变好;但仍然不正确

        1. 分析猜测3:ADC数据输出后在FPGA内部DDR采样时出问题

将DDR采样时 差分终结设置为TRUE,设置为高性能表现模式。

        1. 分析猜测4:ADC数据输出后在FPGA内部DDR采样时时钟未对齐(延迟)

给DDR的数据线的时钟添加延时

        1. 分析猜测5:ADC芯片未焊接好,导致LVDS模式下P/N某个脚无数据

1;在FPGA内部将ADC数据输出的电平约束改为LVCMOS,发现通道2数据完全正确,但通道1仍不正确

2;在使用FPGA内部测试模式,输出一个累加数据,发现ADC芯片通道1的bit15,13,12一直没有数据,通道2正确

        1. 最终问题定位为ADC芯片通道1的15,13,12三个管脚未焊接好

再次焊接后,输入70MHz中频,双通道最终数据采集结果与环境记录。

数据导入matlab,查看频谱图,分析信噪比:

以上频谱可以看出,输入70MHz中频时,有两个杂散,导致SFDR才80.73dB,还没有达到datasheet的性能指标,还需要继续调试。

这两个杂散分布为主信号的左右两侧,且对称,频率为10MHz。模块中,使用10MHz的晶振给PLL供时钟,应该是这个10MHz泄露产生的。今天没时间来调试了,请关注后续文章,来解决此问题的记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用豆包写单元测试

用豆包写单元测试, 输入 vue 模板内容,输入 参考vue模板内容写一个单元测试要求用jest.mock实现构造完成,修复bug。npm run test:unit – tests/unit/views/xxx/xxx.spec.js看下 % Stmts 语句覆盖率:执行到的代码语句占总语句的比…

css样式块重复调用

通译灵码解释。还给了一些示例,包含传参等内容 scss和sass的区别。scss与sass是两种样式编写风格,scss是大括号加;号形式。而sass是缩进的格式使用scss为什么要要安装sass呢。sass是一门css预处理器语言。所以要安装。

【深度学习新浪潮】以图搜地点是如何实现的?(含大模型方案)

1. 以图搜地点的实现方式有哪些? 扫描手机照片中的截图并识别出位置信息,主要有以下几种实现方式: 通过照片元数据获取: 原理:现代智能手机拍摄的照片通常会包含Exif(Exchangeable Image File)元数据。Exif中除了有像素信息之外,还包含了光圈、快门、白平衡、ISO、焦距…

DeepSeek R1 与 V3 的全面对比,两个版本有什么差别?

DeepSeek R1与DeepSeek V3是深度求索(DeepSeek)公司推出的两款定位不同的大语言模型,界面上用户可选择基础模型(V3)、深度思考(R1)、联网搜索。 基础模型(V3)是DeepSeek的标配,没有勾选默认就是基础模型。为了让用户更清晰地了解两款模型的差…

Spring Boot 深度集成 Ollama 指南:从聊天模型配置到生产级应用开发

Spring Boot 深度集成 Ollama 指南:从聊天模型配置到生产级应用开发 前言 在人工智能应用开发中,大语言模型(LLM)的本地化部署需求日益增长。Ollama 作为开源的本地LLM运行平台,支持Mistral、LLaMA等主流模型&#x…

查询oracle进程数和会话数进行优化

查看当前参数配置 首先需要查询当前的 processes 和 sessions 参数值,以确定是否需要调整。 SQL SHOW PARAMETER processes; SHOW PARAMETER sessions; 这些命令可以显示当前实例中允许的最大进程数和会话数 查询当前连接数,查询并发会话 SELECT COUNT…

顶会新方向:卡尔曼滤波+目标检测

卡尔曼虑波+目标检测创新结合,新作准确率突破100%! 一个有前景且好发论文的方向:卡尔曼滤波+目标检测! 这种创新结合,得到学术界的广泛认可,多篇成果陆续登上顶会顶刊。例如无人机竞速系统 Swift,登上nat…

运维自动化工具 ansible 知识点总结

1.Ansible 基础 1.1 Ansible简介 Ansible 是一个开源软件,提供配置管理和应用程序部署等项目通用的管理功能。它主要运行在类 Unix 系统上,通过特性语言来描述各种资源对象,进而管理类 Unix 系统和 Microsoft Windows 系统等系统资源。 官网…

基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统

详细视频:【基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统-哔哩哔哩】 https://b23.tv/azUqQXe

C语言进阶--数据的存储

1.数据类型介绍 内置类型 char //字符数据类型 1字节 short //短整型 2字节 int //整型 4字节 long //长整型 4/8字节 long long //更长的整型 8字节 (C99中引入的) float //单精度浮点数 4字节 double //双精度浮点数 8字节sizeof(long…

C++学习细节回顾(汇总三)

一.多态概念 同样是动物叫的⼀个⾏为(函数)&#xff0c;传猫对象过去&#xff0c;就是”(>ω<)喵“&#xff0c;传狗对象过去&#xff0c;就是"汪汪"。 1.根据对象不同类型&#xff0c;调用不同函数&#xff0c;这就叫做运行时多态(动态多态) 2.编译时多态(静态…

SpringAI+MCPServer+MCPClient快速入门

SpringAI MCPServer MCPClient 快速入门编写大纲 源代码地址&#xff1a;https://download.csdn.net/download/user_admin_god/90926893 1. 介绍 本文通过使用免费的智普AI的glm-4-flash模型&#xff0c;设计并实现了一个智能问答系统。在该系统中&#xff0c;我们编写了一…

Linux `vi/vim` 编辑器深度解析与高阶应用指南

Linux `vi/vim` 编辑器深度解析与高阶应用指南 一、核心功能解析1. 模式系统2. 与主流编辑器对比二、核心操作体系1. 高效导航命令2. 文本操作矩阵三、高阶配置体系1. .vimrc 配置示例2. 插件管理系统四、企业级开发实践1. 代码编辑技巧2. 宏录制与批量处理五、可视化与多窗口1…

Java五种方法批量处理List元素全解

Java:如何优雅批量处理List中的每个元素 一、场景分析&#xff1a;为什么需要批量处理List&#xff1f;二、核心方法&#xff1a;五种实现方式对比2.1 普通for循环&#xff08;最直接的方式&#xff09;代码示例&#xff1a;优缺点&#xff1a; 2.2 Java 8 replaceAll&#xff…

【Elasticsearch】`_refresh`和`_flush`的区别

在Elasticsearch中&#xff0c;_refresh和_flush操作虽然看似都与“刷新”有关&#xff0c;但它们的功能和作用范围有显著区别&#xff1a; _refresh操作 - 目的&#xff1a;使索引操作&#xff08;如新增、更新、删除文档&#xff09;后的更改能够立即被搜索到。 - 工作原理…

Java核心数据类型:String深度解析(JDK 8+)

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 问题驱动&#xff1a;从用户注册场景说起 场景描述&#xff1a;开发一个用户注册功能时&#xff0c;需要处理用户名的校验、格式化和存储。你可能会遇到…

人员睡岗检测算法AI智能分析网关V4打造工业/安防/交通等多场景应用方案

一、引言​ 在工业生产、安防监控等多领域&#xff0c;众多岗位需员工长时间值守&#xff0c;如流水线工人、监控值班员等。但高强度工作易引发睡岗问题&#xff0c;导致生产效率下降&#xff0c;甚至造成安全事故与财产损失。传统人工巡检响应慢、成本高&#xff0c;难以满足…

自动生成提示技术突破:AUTOPROMPT重塑语言模型应用

AUTOPROMPT 预训练语言模型的显著成功促使人们研究这些模型在预训练期间学习了哪些类型的知识。将任务重新表述为填空题(例如,完形填空测试)是衡量此类知识的自然方法 但是,它的使用受到编写合适提示所需的手动工作和猜测的限制。为了解决这个问题,我们开发了 AUTOPROMP…

6个月Python学习计划 Day 7 - 复盘 + 测试日

第一周 Day 1 - Python 基础入门 & 开发环境搭建 Day 2 - 条件判断、用户输入、格式化输出 Day 3 - 循环语句 range 函数 Day 4 - 列表 & 元组基础 Day 5 - 字典&#xff08;dict&#xff09;与集合&#xff08;set&#xff09; Day 6 - 综合实战&#xff1a;学生信息…

Pycharm and Flask 的学习心得(9)

request对象&#xff1a; 1. request包含前端发送过来的所有请求数据 将from表单里的内容CV到request里面&#xff0c;可以添加if语句来做判断出请求类型后的操作 在网页上的表单上input的数据&#xff0c;后端如何获取呢&#xff1f; request对象获取前端发送来的数据 // …