【2021集创赛】NI杯三等奖:基于IECUBE-3100的高精度数模转换器设计及自动化测试方案

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。

杯赛题目:DAC芯片测试
参赛要求:本科生组
赛题内容
NIC公司最近正在竞争一个8bit DAC芯片设计的订单机会,需要按照甲方需求尽快提交芯片的设计和测试方案参加评审会。你们作为NIC公司的芯片研发和测试团队,承担了这个任务,需要在2021年8月31日以前完成芯片的设计和测试方案,方案的好坏直接决定了甲方是否会和NIC公司合作。

甲方对于芯片的设计和测试方案要求如下:

  1. DAC芯片架构为R-2R,分辨率为8bit
  2. DAC芯片的接口和封装形式可自行设计
  3. 要求基于Multisim实现该DAC芯片的电路原理仿真(基于分立器件的电路原理功能性仿真)
  4. 要求基于Ultiboard实现该DAC芯片的测试接口板设计
  5. 要求基于IECUBE-3100完成该DAC芯片的自动化测试方案设计,测试项需要尽量多的覆盖该DAC芯片的静态参数指标和动态参数指标测试(至少覆盖:INL&DNL,THD,SFDR,SINAD,SNR),并给出每种指标的测试原理和基于制定测试平台的实现方式
  6. 要求提交该DAC芯片的Multisim仿真源文件、Ultiboard设计源文件和Gerber文件以及测试方案详细设计文档

团队介绍

参赛单位:湖南工业大学
队伍名称:会飞的特斯拉
参赛人员:张佳栋 汪敏琪 寻彬彬
总决赛奖项:三等奖

1.项目简介

1.1 DAC设计

本数模转换器由开关电路、滤波电路、R-2R电阻网三部分组成,控制信号通过控制开关电路的开通与关断,进而控制基准电压施加在不同的R-2R电阻网接口上,来决定电阻网最后的输出电压,最后通过二阶低通有源滤波电路对输出信号进行滤波,使其输出波形更加光滑,提高了输出波形的精度。为了避免输出非光滑信号时由于滤波电路本身的特性而产生失真,本设计加入了一个拨动开关SW1,控制滤波电路与电阻网之间的连接与断开。以消除此种影响。
开关电路是由八个nMOS与八个pMOS构成八个CMOS开关。每个CMOS开关输出端连接一个运放,其作用是防止八个CMOS开关电路相互干扰,导致输出信号失真。同时每个运放的输出管脚与反向输入端管脚短接,产生电压跟随的作用,不会影响开关电路的输出。
本数模转换器输出的正弦波形如下图所示。
在这里插入图片描述

1.2 测试方案

1.2.1 IECUBE-3100介绍

IECUBE-3100是一个面向半导体测试教学的实训平台,Ready to teach的完整教学方案产品,包含教学课件、实验指导书和实践实验平台。课程内容及实验设置完全来源于实际工业应用,适合半导体测试基础教学、实训及竞赛等应用场合。
IECUBE-3100的可用资源包括可编程直流电源(0V6V、0V25V、-25V~0V)、双通道示波器逻辑分析仪数字I/0波形发生器通用PCI DUT接口面包板数字万用表。支持USB、WIFI连接。可用LabVIEW\C\Python来进行开发。

1.2.2 测试流程图

在这里插入图片描述

1.2.3 DNL / INL测试

差分非线性(DNL)是指DAC局部(细节)的非线性程度,可以这样理解,在理想的情形下,在数字编码中的1LSB变化对应于输出模拟信号的严格的1个V_LSB变化。DAC从一个模拟电压输出转换到下一个模拟电压输出应该有严格的1个V_LSB模拟输入的变化。在模拟信号对应于1个V_LSB数字变化大于或小于1个V_LSB的地方,被称为DNL误差。

通过配置3100的数字IO产生8位二进制数字锯齿信号,将信号接入接口板中的D0-D7接口,其中D7为最高位,D0为最低位,并将基准电压通过接口板中的REF接口接入,供电电压通过接口板中的VDD接口接入,数字锯齿信号经过数模转换器转换后得到输出波形,此时将SW1拨至断开滤波电路位置,3100的示波器通过Vo2采集到数模转换器的输出信号并传入到LabVIEW中。通过设置采样点和采样时间来获得一个周期的完整的锯齿信号,为了减少偶然误差,将采集频率设置为数字IO输出频率的十倍,即每一个数据点采集十次取平均值,即为该数据点的模拟电压,通过LabVIEW编程快速将256个点的模拟电压测出,从第二个数据点开始每个数据点的输出电压与前一个数据点的输出电压之差减Vlsb后再除Vlsb所得的最大值即为该数模转换器的DNL。DNL积分后得到INL。

1.2.4 THD\SINAD\SFDR\SNR测试
1.2.4.1 测试步骤
  1. 电源施加合适的电源电压和参考电压,输出端接负载电阻;
  2. 数字码型发生器给待测DAC施加规定幅度和规定频率fs的数字正弦信号;
  3. 待DAC工作稳定后,通过对输出波形进行FFT变换得到输出正弦波形的功率谱,分别按定义计算出基波信号分量Vs、各次谐波信号分量Vi、噪声信号分量Vn、最大杂波分量Vz。经过FFT变换后,得到的图像如下图。
    在这里插入图片描述
1.2.4.2 信号分量测量

通过配置3100的数字IO产生8位二进制数字正弦信号,将信号接入接口板中的D0-D7接口,其中D7为最高位,D0为最低位,并将基准电压通过接口板中的REF接口接入,供电电压通过接口板中的VDD接口接入,数字正弦信号经过数模转换器转换后得到输出波形,此时将SW1拨至接入滤波电路的相应位置,3100的示波器通过Vo1采集到数模转换器的输出信号并传入到LabVIEW中。对采集到的波形通过进行谐波失真分析,采集到波形的基波电平和2-10次谐波信号分量

输出信号进行偏移和缩放后进行谐波失真分析得到信号的基频,同时通过输出信号经过FFT变换得到信号的功率谱

进行谐波失真分析将高级搜索范围设置为基频的倍数,循环10次,可以得到采集波形的基波信号分量V_s和2-10次谐波信号分量V_i。

在各次谐波信号分量中判断最大值,得到最大杂波分量V_z。将输出信号再一次进行谐波失真分析,设置最高谐波为1,高级搜索范围为基波的倍数,循环10次,进而得到采集波形去除基波和2-10次谐波之后的波形,并将这个波形传输到滤波器模块对基频倍数附近很小范围进行的频率进行滤波,最后得到调制后的信号,调制信号电平标准差即为噪声信号分量V_N。

1.2.4.3 参数计算

测量得到输出模拟信号的基波信号分量V_s、各次谐波信号分量V_i、最大杂波分量V_z、噪声信号分量V_N,在LabVIEW中的公式节点中插入各项参数的计算公式,即可得到数模转换器的动态参数。具体公式如下
在这里插入图片描述

2.软件界面介绍

2.1 动态参数测试界面

在这里插入图片描述

2.2 静态参数测试界面

在这里插入图片描述

本软件分为静态测试和动态测试两个模块,测试时,在左侧列表中选择IECUBE-3100仪器、配置直流电源、数字I/O和示波器。仪器配置好后点击“start inport data ”使数据导入软件,此时“inported date”界面中显示输出信号的各项参数,然后点击“start”开始测试模拟信号的静态参数和动态参数,“Test Results”显示各项测试结果。

3.参赛体会

3.1 参赛感受

在比赛过程中,为了解决遇到的问题,不断在集成电路测试领域进行探索,我们的软硬件设计能力在学习过程中得到很大提升。
此次大赛作为集成电路行业顶尖的比赛,云集了全国250多家院校,3000多支队伍的参加,经过初赛、分区赛,NI杯共有24支队伍进入总决赛,能与这么多优秀的大学生进行同台竞技,让我们开拓了视野,将目光不止局限于学校。通过比赛,也使我们更加了解了集成电路领域的发展,提升了自己的能力。非常感谢赛事组委会的老师和工作人员对此次大赛的辛苦付出,让我们可以有这样一个充分展示自己的平台。

3.2 后续计划

  • 本数模转换器将会进一步优化,使其达到更高的精度。
  • 自动化测试软件后续将会精简算法,使测试达到更高的速度
  • 后续将会丰富软件的功能,使其可以测得更多的参数,可以更加全面的了解器件性能。

作品内容来源于会飞的特斯拉队,非开源,转载请标明出处,基于此作品的合作请联系本作者little_jang@163.com。欢迎大家参加极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动,10月1日截止~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二百零四、Flume——登录监听窗口报错Ncat: bind to :::44444: Address already in use. QUITTING.

一、目的 Flume安装好后测试开启监听窗口44444,结果报错Ncat: bind to :::44444: Address already in use. QUITTING. 二、报错详情 Ncat: bind to :::44444: Address already in use. QUITTING. 三、报错原因 经过分析发现,44444窗口已经被占用 […

在UOS系统中编译CEF源码

一、下载cef代码 git clone gitbitbucket.org:chromiumembedded/cef.git 二、执行自动下载代码 由于chromium的代码很大,至少需要准备大概80G的硬盘!!!整个代码量太大还是多准备一些空间吧(强烈建议使用固态硬盘保存否…

如何在外部数据库中存储空间化表时使用Mapinfo_mapcatalog

开始创建地图目录表之前 您将使用EasyLoader在要使用的数据库中创建地图目录表。EasyLoader与MapInfo Pro一起安装。 (工具“DBMS_Catalog”不再随MapInfo Professional 64位一起提供,因为它的功能可以在EasyLoader工具中找到。) ​ 注&…

如何在MapInfo Pro中访问WMS数据?

从Web地图服务检索地图数据 将WMS服务器添加到MapInfo Pro后,用户可以从中检索地图数据。请记住,Web地图服务是一项新技术,您正在寻找的地图可能不适合所需的地理位置。 此外,所提供的数据由服务器确定。当将WMS数据作为工作空间的…

MODBUS转PROFINET网关TS-180连接西门子PLC和工业称重仪表

项目 随着科技的高速发展,工业自动化行业对日益多样的称重需求越来越高,上海某公司在国内的一个 工业自动化项目中,监控中心系统需要远程实时采集工业称重仪表测量的各种称重参数。该系统使用的是 西门子 S7-300 PLC,支持 PROFINE…

一书了解国产操作系统openEuler

操作系统是计算机之“魂” 数字化、智能化正在深刻地改变着我们的生活方式,也深刻地影响着世界格局。 支撑数字化、智能化的关键是数字基础设施,主要涉及数据中心、互联网、物联网、人工智能等新一代信息技术。 数字基础设施已成为保障产业格局、经济…

requests 技术问题解决流程:从问题重现到测试验证

在 #homedesign 项目中,用户 jimmysisonlucas 报告了一个bug。根据他的描述,他希望解决这个bug。然而,由于他没有提供详细的bug描述,我们无法确定具体的bug是什么。 问题的解决流程:从bug重现到测试验证 尽管我们没有…

Java爬虫框架下代理使用中的TCP连接池问题及解决方案

引言 当使用Java爬虫框架进行代理爬取时,可能会遇到TCP连接池问题,导致"java.net.BindException: Cannot assign requested address"等错误。本文将介绍如何以爬取小红书为案例,解决Java爬虫框架中代理使用中的TCP连接池问题&…

递归和分治

递归 递归(英语:Recursion),在计算机科学中,递归指的是一个函数在其定义中调用自身的方法。这种技术允许程序解决复杂问题,通过将它们分解为更小、更易管理的相似问题。递归通常与分治策略相关联&#xff…

Idea 2023.2.5配置(插件、Maven等)

IDEA2023.2.5配置 一. 插件Alibaba Java Coding Guidelines plugin supportMaven HelperMyBatisXSonarLintTranslationVuesion Theme 二. 自定义创建live template,快速写代码三. 修改全局配置3.1 Maven配置3.1.1 安装MavenStep1. 下载Step2. 安装Step3. 创建系统环…

论文阅读:“iOrthoPredictor: Model-guided Deep Prediction of Teeth Alignment“

文章目录 IntroductionMethodologyProblem FormulationConditional Geometry GenerationTSynNetAligned Teeth Silhouette Maps Generation ResultsReferences Github 项目地址:https://github.com/Lingchen-chen/iOrthopredictor Introduction 这篇文章提出了一种…

栈和队列

目录 1.栈 1.1栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈…

重视日常消防巡检有必要,智能巡检系统来帮忙

近日,山西吕梁市永聚煤矿一办公楼发生火灾,造成重大人员伤亡,事故造成26人死亡、38人受伤。 是的,你没看错,煤矿公司、办公楼火灾、重大伤亡。第一反应,煤矿即使出事故也多为作业事故,居然还能在日常消防安…

“Python+”集成技术高光谱遥感数据处理

高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题,…

Chrome中设置安全来源域名

目的: 使得本地映射的域名能被浏览器安全访问,允许调用设备资源 步骤: 在Chrome中导航栏打开 chrome://flags/#unsafely-treat-insecure-origin-as-secure 填入hosts域名:如 http://h5-twzc003.local.com 参考: h…

AutoSAR CANIF层配置代码分析

CAN物理控制单元 配置: 生成的代码: CanIf_CtrlStates 解析 类型: typedef union CanIf_CtrlStatesUTag {CanIf_CtrlStatesType raw[3];CanIf_CtrlStatesStructSType str; }CanIf_CtrlStatesUType;typedef struct sCanIf_CtrlStatesType {C…

自定义歌曲试听SeekBar

看到这个效果,可能会想到完全自定义一个控件,其实我们在系统Seekbar的基础上,将progressDrawable中progress背景设为透明后,叠加绘制试听状态下的进度区域即可 class PlayerSeekBar JvmOverloads constructor(context: Context,a…

客服中心的客户关系管理核心功能

根据国外的调查,拥有客服中心的运营机构,可以保持85%左右的客户忠诚度,而接受过专业培训的客户中心可以将客户忠诚度提高到99%。客服中心作为客户关系管理的前沿,通过提供服务、实时沟通、搜集与分析客户信息、预测客户需求来提升…

SQL常见函数整理 —— lead()向下偏移

1. 用法 是在窗口函数中使用的函数,它用于获取当前行的下一行(后一行)的某个列的值。具体来说,LEAD() 函数可用于查找任何给定行的下一行(后一行)的值,同时也可控制行数偏移量(offse…

每日汇评:澳元多头着眼于50%的斐波那契水平

澳元兑美元跳涨至三个月高点上方,并从多种因素中获得支撑; 对美联储已经结束加息的预期继续严重打压美元; 对中国出台更多刺激措施的乐观情绪和积极的风险基调也有利于澳元; 澳元兑美元周一连续获得强劲的后续积极牵引力&#xff…