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

连接器信号完整性仿真教程 九

         前面几篇博文介绍了用CST Studio Suite做连接器信号完整性仿真的基本操作步骤、方法、技巧。本文介绍用Ansys HFSS做连接器信号完整性仿真的基本操作布置。将以 B to B Connector为实例,Step By Step详细讲解Ansys HFSS连接器信号完整性仿真操作步骤。

  1. 打开ANSYS Electronics Desktop

         双击桌面 ANSYS Electronics Desktop图标,打开ANSYS Electronics Desktop

 

      2. 打开HFSS

点击“Insert HFSS design”图标,即可进入HFSS界面

打开的HFSS界面如下:

3. 设置单位

 点击菜单“Modeler”,再点击下拉菜单中的“Unit”。

     将单位设置为mm。

 4. 设置“Solution Type

点击菜单“HFSS”,在下拉菜单中,点击“Solution Type”

5. 保存Project

6. 导入仿真模型

点击“Modeler”菜单,再在下拉菜单中点击“Import”导入欲仿真的3D模型。

导入的3D模型如下,已经画出了用与仿真的夹具(PCB),但没有画出锡脚上的焊锡,这对仿真结果影响不是很大。 

7. 检查输入模型,查看是否存在问题

点击“HFSS”菜单,再点击其下拉菜单中的“Validation Check”。

检查的结果如下:

关闭弹出对话框,点击右下角的“show 662 Messages”

可以看到端子与Housing,端子与端子间都存在干涉:


8.处理模型中的干涉问题

在左边的导航树中选中母座的Housing和所有的母座端子,然后点击“Subtract”图标。

在弹出对话框中设置如下,然后点击OK。

用同样的方法,将公座的Housing执行“Subtract”操作。

分别选中“Mate”的公母端子,用母端子去减公端子。注意在导入模型前需检查公母端子的干涉量,并将其调整到0.02以内,当端子的干涉量较大时,不能以原始设计状态导入,否则处理起来会很麻烦。

 为便于选中端子可以把Housing隐藏起来。

9. 设置元件材料

将母端子设置为C18400(如果事先没有添加这个材料,材料库中是没有这款材料的,材料可以自行添加)。

将公母的补强片(M.E.)设置为C2680

将公端子设置为C7025

将PCB基板材质设置为FR-4

将PAD、覆铜及线路材质设置为pec

10. 设置背景材料

     点击菜单“HFSS”,再点击下拉菜单中的“Boundaries”,再点击下级菜单中的“Edit Global Material Environment…”

在弹出对话框中将材料设置为air。

11. 绘制空气盒子

   点击图标“Create Region”

在弹出对话框中设置如下后,点击OK。

绘制的Region缺省材料是vacuum,需将其修改为空气。

        修改Region尺寸,将Y向的offset修改为0,因为波端口需设置在边界上。修改完成后将Region隐藏,以便后续操作。

12. 设置激励端口

       本实例将设置波端口激励,波端口的仿真精度相对较高,但是波端口的大小直接影响仿真的精度,如果设置不当,反而导致仿真结果不准。另外在设置端口前必须先设置好“Solution Type”,否则将出现意想不到的结果。下面是官方推荐的端口尺寸:

仿真夹具基板厚度h=0.20,线路宽度w=0.24,Pitch=0.5,以一对差分线夹一GND, g=0.26.如果只做一个差分对仿真,端口尺寸可以按上面推荐尺寸设置。如果要仿真相邻差分对的串扰,就不能完全按上面推荐尺寸设置,需做些变通处理。如下,在GND上画一个与之相连的pec隔板。这样这样端口的左右边界延伸到隔板上即可,端口的宽度就不必按照推荐尺寸。

这次仿真,需要设置5对差分端口,即10个波导端口。在设置波导端口前,需画好设置波导端口的平面,如下:

选中欲设置端口的平面,按鼠标右键,点击弹出菜单中的“Assign Excitation”,载点击下级菜单中的“Wave Port”。

弹出如下对话框,在对话框中完成设置后点OK,关闭对话框。

用同样的方法完成端口3的设置

用同样的方法完成端口5的设置

用同样的方法完成端口2的设置

用同样的方法完成端口4的设置

用同样的方法完成端口6的设置

用同样的方法完成端口7的设置

用同样的方法完成端口9的设置

用同样的方法完成端口8的设置

用同样的方法完成端口10的设置

       这样10个端口就设置完成了,其中端口1、2, 3、4,5、6,7、8,9、10分别为同一差分对上的两个端口。

        点击左边导航目录树中端口1前面的“+”,将其展开,如下:

     为方便以后设置差分对,现将“PAD_S1_51_T1”重命名为“1+”, “PAD_S1_T1” 重命名为“1-”将鼠标指针移动到PAD_S1_51_T1上按鼠标右键,点击弹出菜单中“Rename”。

    输入1+后,按enter键,即可完成重命名。

同样方法,将PAD_S1_T1重命名为“1-”。命名后,如下:

       同样的方法重命名其余端口下的Terminal,注意需做到同一差分对上的Terminal,+、+, -、-相连。

13. 设置差分对

       将鼠标指针移动到左边目录树“Excitation”上,按鼠标右键,再点击弹出菜单中“Differential Pairs…”.

在弹出对话框中,点击“New Pair”,添加差分对。

完成10个差分对设置后的结果,如下:

14. 设置差分激励信号

    将鼠标指针移动到“Excitation”上,按鼠标右键,点击弹出菜单中的“Edit Source…”,弹出如下对话框:

将对话框拉大可以看到更多的Terminal。如下:

总共20个,刚好是所有差分对的全部Terminal。将所有的电压幅值都设为1,将对应端口“-”的“Source”的相位设置为180度。

15. 设置去嵌入距离

        在端口设置时已经对端口进行了归一化设置。需依据你的设计目标而定,如果你的连接器设计阻抗为85欧,那么你就需要设置85欧。这里在做去嵌设置,以去掉线路的影响,将端口延伸到端子端面上去。

      将鼠标指针移动到左边导航树的端口1上,按鼠标右键,点击弹出菜单中的“Properties…”。

      弹出如下对话框,再对话框中勾选“Deembed”,在“Distance”栏中输入:2.31(这是微带线端面到端子端面的距离)。然后,点击确定关闭对话框。

设置好去嵌入距离后,端口可以看到一个向内的箭头。如下:

16. 仿真分析设置

       点击菜单“HFSS”,再点击下拉菜单的“Analysis Setup”,点击下级菜单中的“Add Solution Setup”,再点击再下级菜单中的“Advance…”

在弹出对话框中输入频率后,将“Maximum Number of Passes”改为10,然后点OK关闭对话框。

在弹出对话框中完成如下设置。

在弹出对话框中完成扫描频率,及点设置后,点击确定,会弹出如下对话框:

点击确定关闭该对话框,再点击确定,关闭“Edit Frequency Sweep ”对话框。

 点击菜单“HFSS”,再点击“Design Settings...”

    在弹出对话框中,点击“Lossy Dielectrics” 勾选“Automatically use causal material ”。然后点击“确定”,关闭对话框。

17. 模型及设置验证

点击菜单“HFSS”,再点击下拉菜单中的“Validation Check”

完成验证后的结果如下:

 可以看出没有错误,可以开始仿真分析了。

18. 仿真分析

   点击菜单“HFSS”,再点击下拉菜单中的“Analyze All”。

可以看到已开始仿真分析:

19. 查看仿真结果

       将鼠标指针移动到到左边导航树上按右键,点击弹出菜单中的“Create Terminal Solution Data Report”,再在下级弹出菜单中,点击“Rectangular Plot”。

在对话框中做如下选择:

点击“New Report”,,然后点“close”,关闭对话框。可以看到,st(Diff1,Diff1)的曲线如下:

这就是回波损耗,同样的方法可以查看插入损耗,如下:

相关文章:

  • Linux Spug自动化运维平台本地部署与公网远程访问
  • vector是如何扩容的
  • flutter 自定义TabBar 【top 0 级别】
  • Selector SelectionKey基础学习
  • 【Excel/Matlab】绘x-y图并求切线和截距(详细图解)
  • C# IList 与List区别二叉树的层序遍历
  • C语言实现ARM MCU SWD离线调试器
  • cesium 融合视频
  • [Ubuntu 18.04] RK3399搭建SSH服务实现远程访问
  • 六、ZooKeeper Java API操作
  • KaiwuDB 多模数据库-时序性能优化
  • 【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例
  • R语言中的机器学习
  • 15.oracle的 listagg() WITHIN GROUP () 行转列函数使用
  • Docker 容器日志查看和清理
  • 【刷算法】求1+2+3+...+n
  • 3.7、@ResponseBody 和 @RestController
  • Go 语言编译器的 //go: 详解
  • HashMap剖析之内部结构
  • React-生命周期杂记
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 浮现式设计
  • 聊聊directory traversal attack
  • 面试遇到的一些题
  • 前端技术周刊 2019-02-11 Serverless
  • 试着探索高并发下的系统架构面貌
  • 说说动画卡顿的解决方案
  • 怎样选择前端框架
  • Java数据解析之JSON
  • 仓管云——企业云erp功能有哪些?
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (12)Linux 常见的三种进程状态
  • (2)(2.10) LTM telemetry
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (阿里云万网)-域名注册购买实名流程
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (数据结构)顺序表的定义
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET 常见的偏门问题
  • .NET 反射 Reflect
  • .NET6 命令行启动及发布单个Exe文件
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .Net小白的大学四年,内含面经
  • .net中应用SQL缓存(实例使用)
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @Autowired @Resource @Qualifier的区别
  • @ModelAttribute注解使用
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [20150629]简单的加密连接.txt
  • [20160902]rm -rf的惨案.txt