当前位置: 首页 > news >正文

基于dsp+fpga+AD+ENDAC的半导体运动台高速数据采集电路仿真设计(四)

整个调试验证与仿真分析分三个步骤:第一步是进行 PCB 检查及电气特性测试,主
要用来验证硬件设计是否正常工作;第二步进行各子模块功能测试,包括高速光纤串行
通信的稳定性与可靠性测试, A/D D/A 转换特性测试, EnDat 串行通信相关时序测试
与验证等,主要用来验证 FPGA 软件内核是否正常工作以及符合预期设计要求;第三步
进行系统联合测试验证,主要包括 DSP 系统对远程伺服控制分系统控制命令数据的发,
以及对 EnDat 远程位置数据、增量式位置数据、各数字或模拟传感器的远程数据请求及
验证。
5.1 调试与验证仿真平台
为了对整个系统进行验证测试,需搭建相应的调试与仿真验证平台。调试与仿真验
证平台主要包括硬件平台、软件开发环境、仿真调试工具三大部分:
1. 硬件平台: DSP 主系统控制板卡、传感数据采集板卡、伺服控制及位置数据控制
卡、 PC 机。
2. 软件开发环境: CCS3.3 Quartus II 11.1 及其 SignalTap II 在线逻辑分析仪、 Modelsim
SE Matlab 等。
3. 测试工具:安捷伦 MSO7032A 示波器(带宽 350Mhz 、采样率 2Gps )、 DSP 仿真
器( XDS510 )、 FPGA 下载仿真器 (USB-Blaster) 、安捷伦 34401A 万用表(六位半)、信
号发生器、直流电源、 3 62.5/125um SC-SC 接口多模光纤线缆等。
5.2 系统子模块功能仿真
5.2.1 模数 D/A 数模 A/D 子模块验证
验证方法:采用由 FPGA 主动产生一系列递增的数字量,然后送给 DA 模块进行转
换,得到对应的模拟电压信号。测试点选择第三章中图 3.15 中的 TP28 点及其后端差分
后的 TP29 TP25 测试点进行。输入值为 16'H0000---16'HFFFF 之间的一些值,输出值
为对应测试点的电压值,数字与模拟值之间的对应关系为:

表格 5.1 为按照上述验证方法,采用安捷伦 34401A 万用表测得的实验数据,然后
再计算测量值与真实值之间的误差,结果如表 5.2 所示:
根据表格 5.2 测得的误差数据进行散点作图,得到图 5.1 所示的误差散点示意图。
据图显示, DA 最大误差值在 0.006 左右,达到设计要求的 13 位精度,满足了设计预期。

数模 A/D 子模块的验证方法与之类似,在此不再详细介绍。
5.2.2 EnDat 子模块的验证
验证方法:采用 SignalTap II 在线逻辑分析仪对不同模式指令下的传输时序进行探
测,然后与 EnDat 规范相比较,从而确定本文中第四章中 EnDat 双向串行通信协议内核
的设计是否能够正常工作。本次使用 EnDat2.2 版本的多圈旋转编码器进行验证,其中
编码器主要参数是单圈 13 位,多圈 12 位。
5.2 EnDat 双向串行通信协议内核向编码器发送模式指令:编码器传送位置值,
对应的模式指令码为 000111 。编码器计算位置值后向 EnDat 内核发送位置值,其时序与
第四章中介绍的 EnDat 传输位置值时序规范完全符合,其中单圈数值为 6735 ,多圈数
值为 1580
5.3 EnDat 内核向编码器发送读取参数模式指令,模式指令码为 100011 EnDat
内核接收到的串行数据为 1000000000011001 。根据 EnDat 规范,最高位保留读始终为高
电平,低 6 位用于指示编码器的总长度,因此 11001 表示该编码器为 25 位。
5.4 EnDat 内核向编码器发送读取参数模式指令,模式指令码为 100011 EnDat
内核接收到的串行数据为 0001000000000000 。根据 EnDat 规范, 16 位的数据代表编码
器可以区分的圈数,即多圈数目,因此( 1000 h 表示该编码器为 4096 12 位。
从测试的结果可以看出与之前已知的编码器参数完全吻合。
5.2.3 高速串行通信子模块的验证
验证方法:采用 SignalTap II 在线逻辑分析仪对高速串行通信内核的传输时序进行
探测,从而确定本文第四章中所设计的高速串行光纤通信内核的设计是否正常工作。在
4.16 和图 4.17 所示的发送控制器及接受控制器的空闲状态时,为了提供足够的信道
跳变密度,同时保证接收端的时钟相位的同步,协议内核中采用了 8B/10B 高速编码方
案中的特殊字符 K28.5 ,用来调整字对齐,保证接收时钟的相位同步,同时提供 50%
跳变密度。根据上文中 8B/10B 编码方案及表格 4.1 K28.5 对应的十位的传输字符二进
制表示分别是 0101111100 1010000011 ,即十六进制的 17C 283 ,其中 j 为最高位,
a 为最低位,测试结果如图 5.5 所示。
为了进行数据传输,首先要写发送缓存区,即双口 RAM 。为了测试方便简单,本
次只写十六进制的 11111111, 22222222, 33333333, 44444444, 55555555, 66666666 这六个
32 位的数据,测试结果如图 5.6 所示。
存储在如图 4.15 发送缓存区的数据 , 按照如图 4.14 所示的数据帧的格式传输到接收
端。其中数据长度配置为 5 ,基地址配置为 0x00 。因此十六进制的 11111111, 22222222,
33333333, 44444444, 55555555 按顺序被传输到接收端,而 66666666 则被忽略,因为数
据长度为 5 。在图 5.7 中, ENCODE_DATA 为某发送端编码前的 8 位数据,而
DECODE_DATA 是另外通信模块的接收端译码之后的 8 位数据。测试中采用的是同一
块板卡上面的两个不同的高速串行通信模块,即模块 A 的发送端与模块 B 的接收端进
行通信连接。
T delay 定义为在数据帧的传输过程中发送端与接收端的信道延迟时间。该参数只跟高
速串行通信模型有关,并不受应用层的控制,因此可以保证精确的控制。
测试结果如图 5.7 所示,从中可以明确地看到数据在状态机的控制下按照图 4.14
数据帧格式进行传输,测试结果表明,数据传输正确,且长时间测试无误码产生,传输
稳定可靠。
5.3 系统测试与验证
系统级的测试与验证,采用应用层 DSP 主系统对系统的各个子模块进行功能验证
与分析,以判断应用层能否对各功能模块进行长时间无错误的信息采集及数据下发任
务,确保整个系统的可靠运行。值得庆幸的是 CCS 提供了一个信号分析工具 Graph
形窗口,使用户能够精确的监测信号数据,是数据采集分析强有力的工具。
5.3.1 系统对 EnDat 数据采集的验证
验证方法:采用 CCS 信号分析工具 Graph 图形窗口,将 EnDat 数据值实时显示作
图,其中使用 EnDat2.2 版本的多圈旋转编码器,其单圈 13 位,多圈 12 位,采用手动
选择的方式。图 5.8 中左侧为顺时针旋转时的数据波形,右侧为逆时针旋转时的数据波
形,从中可以看出单圈位置值有规律的从 0 逐渐增大到最大值 2 13 8192 ,然后又回到
0 ,如此重复;由于采用手动旋转的方式,多圈位置值没有进行截图。单圈位置数据的
测试结果如图 5.8 所示。
5.3.2 系统高速串行光纤通信可靠性验证
验证方法:采用 SignalTap II 在线逻辑分析仪和 CCS 集成开发环境对高速串行光纤
通信进行长时间的测试,以判断通信的可靠性。
根据高速串行光纤通信协议, DSP 主系统发送一帧数据,目标板会应答一次,如果
中断使能则应答中断产生一次。因此,发送数目、 atc 应答数目、中断数目,三个数值
应当相等即 Send Data Num ATC int Num interput happened Num 三个变量数值相等,
且等于测试帧数目,同时数据接收中断 Data received int Num 数目为零;说明光纤通信
正常,否则异常。测试结果如图 5.9 所示, CCS 的打印窗口表明,一千万次的可靠性测
试中 Send Data Num ATC int Num interput happened Num 三个变量数值均为一千万次,
Data received int Num 0 ,无错误产生,系统高速串行光纤通信可靠性很高,完全满足
本课题需求。
5.3.3 系统对 DA 控制输出的验证
验证方法:采用示波器对 DSP 主系统下发的 DA 控制数据进行显示,以判断应用层
DA 控制的正确性。
测试采用 DSP 的定时器中断产生 200us 的中断周期,模拟 200us 的伺服周期内分别
DA 部分下发数据 0x0000 0x9999 两个数字量。根据前面的硬件设计, DA 输出的模
拟电压信号应为 0V 1.99999V 两个电压值,周期为 200us 的方波。图 5.10 所示为示波
器测试结果 , 从中可以看出实际输出与理论输出完全一致,由于测试中采用的是开关电
源,存在开关噪声,因此测得的模拟电压信号毛刺较大。

5.3.4 系统对 AD 信号采集的验证
验证方法:采用信号发生器为 AD 输入端提供模拟传感器信号,采用 CCS 信号分
析工具 Graph 图形窗口对采集的 AD 数字量实时作图显示,以判断应用层对 AD 信号采
集的正确性。

5.11 是测试结果,上面为信号发生器提供的模拟电压信号 , 下图为 Graph 图形窗
口对 AD 数字量的作图显示。从中可以看出,模拟电压信号与转化的数字量完全与理论
值相符合。
5.3.5 系统对 EMIF 的可靠性验证
验证方法:采用 CCS 集成开发环境,变量观察窗口及存储区查看窗口,对通过 EMIF
异步访问的发送及接收缓存区即双口 RAM 读写操作长时间测试,以判断 EMIF 读写通
信接口的可靠性。
EMIF 异步接口中,读、写都需要配置建立、选通、保持三个参数,为了缩短读写
话费的时间,尽可能设置的小,但过小的设置参数可能会影响读写操作的可靠性,因此
EMIF 读写通信接口的可靠性验证是必须的。
5.12 所示,通过 EMIF 异步接口对高速串行光纤通信内核的发送缓存区写一系列
递增的数据,然后再读取发送缓存区,将读到的数据与之前写入的数据进行一一比较,
就可以判断本次读写操作是否正确。测试结果显示,对缓存区即双口 RAM 255 个长
字即 1KB 的存储区进行了十万次的读写重复性测试,错误指示变量 ERROR 的值为零,
存储区查看窗口 memory window 显示了最后一次读写操作之后缓存区中存储的数据,
结果表明测试无误。
5.3.6 系统对增量式位置值采集的验证
验证方法:采用旋转电机自带的增量式接口提供增量式位置数据,利用 CCS 信号
分析工具 Graph 图形窗口对采集的增量式位置值实时作图显示,以判断增量式位置数据
采集的正确性。测试中电机开环,匀速旋转,定时手动复位位置数据为零,图 5.13 即为
测试结果,从图中可以看出,位置值数据从零均匀增加,手动复位时跳变为零,之后又
匀速增加,与理论预期完全吻合。

信迈提供DSP+FPGA电路仿真方案。 

相关文章:

基于dsp+fpga+AD+ENDAC的半导体运动台高速数据采集电路仿真设计(四)

整个调试验证与仿真分析分三个步骤:第一步是进行 PCB 检查及电气特性测试,主 要用来验证硬件设计是否正常工作;第二步进行各子模块功能测试,包括高速光纤串行 通信的稳定性与可靠性测试, A/D 及 D/A 转换特性测…...

快速搭建Electron+Vite3+Vue3+TypeScript5脚手架 (无需梯子,快速安装Electron)

一、介绍 😆 😁 😉 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需…...

语义分割学习笔记(二)转置卷积

目录 1.转置卷积Transposed Convolution概念 2.转置卷积操作步骤 3.转置卷积参数 4.实战案例 推荐课程:转置卷积(transposed convolution)_哔哩哔哩_bilibili 感谢霹雳吧啦Wz,真乃神人也。 1.转置卷积Transposed Convolutio…...

docker运行PostgreSQL数据库维护,执行脚本备份数据库与更新表结构

文章目录 PostgreSQL简介业务场景数据库维护docker-compose配置备份脚本更新表结构脚本 PostgreSQL简介 PostgreSQL是一种开源的关系型数据库管理系统,它是一个功能强大、高度可定制化和支持复杂应用的数据库。它支持广泛的数据类型,包括数值、文字、二…...

【计算机网络】127.0.0.1、0.0.0.0、localhost地址是什么?

目录 0.0.0.0是什么?127.0.0.1是什么?用途 localhost是什么?总结 0.0.0.0是什么? IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。 在服务器中,0.0.0.0指的是本机上的所有I…...

分享2款CSS3母亲节主题寄语文字动画特效

目录 ❤️ 前言 第一款:妈妈您辛苦了! 一、效果图 二、代码实现 第二款:Mothers Day! 一、效果图 二、代码实现 ❤️ 祝福 ❤️ 前言 母亲节,在每年五月的第二个星期日,是用来感谢母亲的节日。…...

【AutoGPT】AutoGPT出现,是否意味着ChatGPT已被淘汰

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 前言 什么是ChatGPT? 什么是AutoGPT? AutoGPT与ChatGPT的区别 AutoGPT的优势和劣势 优势 劣势 ChatGPT是否会被淘汰? 前言 近年来&#x…...

( 字符串) 9. 回文数 ——【Leetcode每日一题】

❓9. 回文数 难度:简单 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如…...

SpringAOP

SpringAOP 一、AOP1. AOP简介1.1 AOP简介和作用1.2 AOP中的核心概念 2. AOP入门案例【重点】2.1 AOP入门案例思路分析2.2 AOP入门案例实现【第一步】导入aop相关坐标【第二步】定义dao接口与实现类【第三步】定义通知类,制作通知方法【第四步】定义切入点表达式、配…...

学系统集成项目管理工程师(中项)系列15_质量管理

1. 质量(Quality)的定义 1.1. 反应实体满足主体明确和隐含需求的能力的特性总和 1.2. 明确需求是指在标准、规范、图样、技术要求、合同和其他文件中用户明确提出的要求与需要 1.3. 隐含需求是指用户和社会通过市场调研对实体的期望以及公认的、不必明…...

统计学习方法第四章——朴素贝叶斯法

x.1 前言 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。是通过给定training dataset学习联合概率分布的方法,是一种生成方法。 x.2 使用贝叶斯定理做分类 使用贝叶斯定理做分类,相比较于朴素贝叶斯即丢除特征条件独立假设这个条件。 …...

安装配置goaccess实现可视化并实时监控nginx的访问日志

一、业务需求 我们安装了nginx后,需要对nginx的访问情况进行监控(希望能够实时查看到访问nginx的情况),如下图所示: 二、goaccess的安装配置步骤 2.1、准备内容 需要先安装配置nginx或OpenResty - 安装 Linux环境对Nginx开源版源码下载、编译、安装、开机自启https://b…...

springboot第14集:MyBatis-CRUD讲解

注意点:增、删、改操作需要提交事务! 为了规范操作,在SQL的配置文件中,我们尽量将Parameter参数和resultType都写上! 编写Mapper接口类 import com.da.pojo.User; import java.util.List; public interface UserMapper…...

ES6新特性(1)

目录 一、字符串扩展 (1)字符串遍历器接口(for...of...) (2)模板字符串 二、字符串新增方法 (1)包含方法 (2)重复方法 (3)补全方…...

这就是二分查找?(C语言版)

大家好!我又来了,哈哈~今天我要和大家分享一种神奇的算法——二分查找!你可能会问,“二分查找有什么好玩的?”但在我看来它就像一场魔法表演,当你输入一个数,他会在一堆数中快速找到它的位置。找…...

操作系统之内存管理

连续分配 一、单一连续 直接为要运行的进程分配一个内存,只适合单任务,只能用于单对象、单任务,内存被分配为系统区和用户区,系统区在低地址,用户区是一个用户独享 二、等分分区 由于分配一个内存只能执行单任务&a…...

【Python | matplotlib】matplotlib.cm的理解以及举例说明

文章目录 一、模块介绍二、颜色举例 一、模块介绍 matplotlib.cm是Matplotlib中的一个模块,它提供了一组用于处理颜色映射(colormap)的函数和类。颜色映射是一种将数值映射到颜色的方法,常用于制作热力图、等值线图、散点图等。 …...

数据库单实例升级

一、单实例环境,全时长二个半钟多。详细图文说明到这下载 1、停止所有oracle相关进程。 Emctlstop dbconsole Isqlplusctl stop Lsnrctl stop sqlplus /nolog sql>conn /as sysdba Connectedtoanidleinstance. sql>shutdown 然后,冷备份下数据库cp…...

Photoshop如何使用选区之实例演示?

文章目录 0.引言1.利用快速选择工具抠图2.制作网店产品优惠券3.利用选区改变眼睛颜色4.抠取复杂的花束5.制作丁达尔光照效果6.利用选区调整图像局部颜色 0.引言 因科研等多场景需要进行绘图处理,笔者对PS进行了学习,本文通过《Photoshop2021入门教程》及…...

ThreadLocal的使用介绍和底层原理解析和开源框架的使用实例

文章目录 ThreadLocal的使用介绍和底层原理解析和开源框架的使用实例ThreadLocal简介ThreadLocal使用示例ThreadLocal原理解析Spring中ThreadLocal的应用小结ThreadLocal的使用步骤常见面试题案例解析(框架源码经典案例)案例实战 ThreadLocal的使用介绍和底层原理解析和开源框架…...

带你学c带你飞-P7取值范围

比特位 CPU能读懂的最小单元——比特位,bit,b 字节 内存机构的最小寻址单元——字节,Byte,B 1Byte8bit 进制 怎么算 注意:int默认是signed类型,signed类型第一位是符号位 符号位 存放signed类型的存…...

ramfs, rootfsinitramfs

什么是ramfs? ramfs是一个非常简单的文件系统,它将Linux的磁盘缓存机制(页面缓存和dentry缓存)导出为一个动态可调整大小的基于ram的文件系统。 Linux通常将所有文件缓存在内存中。从后备存储(通常是挂载文件系统的块设备)读取的数据页被保留下来,以防…...

十三届蓝桥杯研究生组国赛-最大公约数(线段树+二分)

十三届蓝桥杯研究生组国赛-最大公约数 1、问题描述2、解题思路2.1 解法一:暴力查询区间gcd(75%)2.2 解法二:线段树+二分法(AC)1、问题描述 问题描述 给定一个数组, 每次操作可以选择数组中任意两个相邻的元素 x , y x,y x,y...

数据结构——二叉树层序遍历

数据结构——二叉树层序遍历 107. 二叉树的层序遍历 II199. 二叉树的右视图思路: 637. 二叉树的层平均值 107. 二叉树的层序遍历 II 107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节…...

【微机原理】8088/8086微处理器

目录 一、8088/8086的功能结构 1.总线接口部件(BIU) 2.执行部件(EU) 二、8088/8086的寄存器结构(14个) 溢出标志的概念 溢出和进位的区别 8086CPU是Intel系列的16位微处理器,他有16根数据…...

springboot第12集:DAO功能代码

在Spring Boot中,DAO是数据访问对象的缩写,它是一种设计模式用于提供对数据库操作的抽象层。通过使用DAO模式,我们可以将数据操作与业务逻辑分离,并提供一个单独的接口来执行所有的数据库操作。 在Spring Boot中,通常使…...

基于KZG多项式承诺方案的RLN

1. 引言 RLN——Rate-Limiting Nullifier为PSE团队主导的项目,源自: Barry White Hat 2019年博客 Semaphore RLN, rate limiting nullifier for spam prevention in anonymous p2p setting RLN(Rate-Limiting Nullifier)是一种…...

《站在巨人的肩膀上学习Java》

Java从诞生距今已经有28年了,在这段时间里,随着Java版本的不断迭代,Java新特性的不断出现,使得Java被使用的越来越广泛。在工程界Java语言一直是大家最喜欢的语言之一,Java一直排行在编程语言热门程度的前3名。 可想而…...

敏捷ACP.敏捷估计与规划.Mike Cohn.

第一部分 传统规划失败的原因 vs 敏捷规划有效的原因 传统的项目规划方式往往会让我们失望。要回答-一个 新产品的范围/进度/资源的组合问题,传统规划过程不一定会产生令人非常满意的答案和最终产品。以下- -些论据可以支持这个结论: ●大约2/3的项目会显著超…...

[创新工具和方法论]-01- DOE课程基础知识

文章目录 1.DOE实验设计的介绍1.1 什么是实验设计DOE?1.2 DOE的优势有哪些?1.3 如何开展DoE研究?步骤 2.DOE实验培训3.数据分析步骤4.实验的随机化5.偏差6.R方 相关系数假设检验 7.三因子二水平全因子设计 1.DOE实验设计的介绍 实验设计是一种安排实验和分析实验数…...

西部数码做网站/白度指数

相似软件版本说明软件地址V2.5.7查看1.4.9200 官方版查看1.0 官方版查看360超级root是一款成功率最高、支持手机机型最多的安全一键ROOT工具,360超级root拥有着非常强大的root的能力,软件机型支持丰富,可快速识别用户手机型号,并且…...

雪锐琴网站建设/东莞网站建设方案外包

外部样式表调用&#xff1a;页面内嵌法&#xff1a;就是将样式表直接写在页面代码的head区。 如&#xff1a; <style type”text/css”><!– body { background : white ; color : black ; } –> </style> 外部调用法&#xff1a;将样式表写在一个独立的.cs…...

武汉软件工程职业学院/seo编辑招聘

celery的内存泄漏&#xff1f; 总结&#xff1a; celery执行完任务不释放内存与原worker一直没有被销毁有关&#xff0c;因此CELERYD_MAX_TASKS_PER_CHILD可以适当配置小点&#xff0c;而任务并发数与CELERYD_CONCURRENCY配置项有关&#xff0c; 每增加一个worker必然增…...

把开发的网站让外网能访问要怎么做/seo短视频入口

从实际教学应用表明&#xff0c;多媒体教室教学设备计算机加投影机和电动幕配置方案已经应用多年&#xff0c;优点是投资相对小&#xff0c;缺点是投影机灯泡的耗材较昂贵&#xff0c;后续维护成本高&#xff0c;目前投影机灯泡的使用年限为2千小时&#xff0c;基本满足第一年的…...

临清网站制作/扬州网络优化推广

上一篇文章简单的实现了ORM&#xff08;对象关系模型&#xff09;&#xff0c;这一篇文章主要实现简单的MySQL数据库操作。 想要操作数据库&#xff0c;首先要建立一个数据库连接。下面定义一个创建数据库连接的函数&#xff0c;得到一个连接叫做engine。 def create_engine(us…...

网站响应式首页模板/百度seo招聘

人才的标准从来都不是一成不变的。在东方的战国时代和西方的骑士时代里&#xff0c;最受器重的是力敌万夫的勇士和巧舌善辩的谋臣&#xff1b;在中国的科举时代里&#xff0c;靠着“死记硬背”和“八股文章”而金榜题名的书生最容易出人头地&#xff1b;在西方工业革命风起云涌…...