自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (8)
  • 收藏
  • 关注

原创 XINLINX FPGA RAM使用-simple dual ram

write first的意思是在写入的同时,会同时输出的out上。在这个模式没有变化,可能是因为不存在冲突吧。以上用的是No change模式,接下来试下其他的模式,试了下write first,波形没有变化。仿真波形如下,可以看到portA写入的数据,可以从portb读出。相应的设置如下,这里使用的simple dual port。接下来试下ECC功能,勾选以后多了biterr位。现在vivado里选择IP->BRAM。Testbench如下。后面再试试如何使用,

2023-07-10 18:57:49 140

原创 关于SDRAM的拓扑前仿真

之前SDRAM速度较低,不太考虑信号完整性的问题。现在部分单片机的速度已经可以支持200MHZ的SDRAM,是不是需要考虑信号完整性问题?②两颗SDRAM,采用T形拓扑,看到TL1为0.5ns,支线0.1ns且等长,信号质量还可以。目前来看,只要注意下SDRAM在拓扑,在200MHZ以下,应该问题不大。④4个SDRAM如下,信号比较差了,可以考虑加个端接电阻。③如果要3个SDRAM.效果也还可以,不需要特别端接。(走线长度可以按6inch /ns进行估算)①单个SDRAM,可以看到波形基本OK。

2023-06-18 22:20:02 160

原创 HFSS,3D LAYOUT微带线宽度比较

如下嘉立创叠层工具有2种叠层,那么同样是50ohm的阻抗,是走线宽的好还是窄的好,我们接下来来比较下。结果如下,阻抗大概在47ohm左右,在60Ghz,S21在-3.6db。结果如下,可以看到在60G的情况下,S21略差。然后创建建立线宽0.3493mm的微带线,如下。现在工具中设定叠层,这里的叠层同方案1。接着我们开始仿真第二种结构,叠层如下。接下来把2种情况,放一起看看。

2023-06-05 22:30:54 432

原创 FPGA的组合逻辑的毛刺

在CNT小于10的时候,led_temp输出1.但实际情况cnt不是理想化的,寄存器翻转的时候会出现中间值。如下CNT从16变为17的时候,中间出现很多中间值,我们放大看下,16和17之间出现了数值4,这个就是实际电路,最终导致的结果就是出现毛刺。这里可以看到led_temp出现大量毛刺。功能仿真如下周期性的脉冲波形输出,咋一看没什么问题。解决方法就是多打一拍,如下LED就没有毛刺。如下所示的脉冲输出回路,那么进行功能仿真。使用组合逻辑的时候要特别注意毛刺的出现。那么为什么会出现毛刺呢,看下面这个语句。

2023-06-02 19:14:39 152

原创 XINLINX FPGA RAM使用-单口ram

波形如下,可以看到在第一个脉冲边沿,这时候地址为0,数据为37,WEA为高(写),第2各边沿,地址为1,数据为42。第三个边沿,WEA为低(读),且地址为0,读取数据为37.FPGA自带ram可以使用,先打开IP catlog,搜索ram。porta设置如下,其他保持默认。如下就是ram的IP。

2023-05-18 16:26:36 138

原创 FPGA仿真,状态机显示为ASIC码

关键是testbench的编写,这里需要把state重新映射下,看下always@(*)这里做了state状态的映射。我们在做FPGA仿真的时候,状态机显示的2进制,这个样子不是很直观。如下所示,接下来就是说明下如何显示为英文,方便我们的调试。最后记得把波形显示改为ASCII显示就可以。先做一个简单的状态机程序。

2023-05-18 11:22:28 157

原创 XINLINX原语学习 IDELAYE2

当CNTVALUEIN= 31,LD = 1延迟Tdelay=3.018ns=31x78(ps) +0.6ns;当CNTVALUEIN= 0;以下test bench测试结果。至此完成了IO的延迟。

2023-05-16 15:55:28 377

原创 linux驱动-定时器

设备树还是沿用gpio的设备树。定义下led的结构体,这里追加了timeperiod和timer_list。接下来编写app相关函数,timer_unlocked_ioctl函数里,可以修正定时器的参数。timer_function就类似单片机的中断函数,会定时执行。接下来platform的probe的函数。这里追加了3个函数。卸载函数,这里需要添加del_timer_sync.今天开始学习下linux的定时器。

2023-04-23 22:54:36 342

原创 LINUX驱动点灯

OK,以上就是LED的全部驱动了。解析来坐下APP程序,有2个传递参数,以下为例,含义如下。先定义入口和出口函数,这里的led_driver是platform_driver定义的。接下来编写下app的接口函数,这里包含open和write2个参数。./gpioapp /dev/jin-gpio-led 1 点亮。定义一个匹配列别,这里的compatible要和设别树一致。②完成后编译查看下设备树,可以看到设备树下新建了节点。记录下linux学习的过程,上来首先是点灯。OK,以上就是基本的LED驱动了。

2023-04-06 00:07:21 201

原创 ZYNQ 自定义IP

像BREATH_LED_IP_mWriteReg(XPAR_BREATH_LED_IP_0_S0_AXI_BASEADDR,BREATH_LED_IP_S0_AXI_SLV_REG0_OFFSET,1);就是写寄存器的值,对应的话就是把LED点亮。把AXI的slv_reg0[0]作为breath_led的输入。以上,因为其中有很多细节比较繁琐就不一一列举了,有问题可以留言。添加breath_led这个就是我们真正执行的程序了。今天的任务是用ZYNQ的PS核心,取访问自定义IP。例化的位置也相应添加。

2023-02-13 16:03:00 256

原创 python 串口通讯+波形显示

硬件方面是通过CH340虚拟串口上传ADC数据,波特率115200。效果如下,不知道怎么做动态效果,实际整个波形是向右边移动的。本次工程的目标是为了实现ADC采集信号的上位机显示。8-16行为串口通讯和实现显示的移动。42-43给串口单独开个线程。45-47定时刷新波形。18-19是显示线条。

2023-01-18 15:44:00 925

原创 高速信号线的参考面,换层(1)

我们先做一个6层的结构,S-G-S-G-P-S(S信号,G地,P电源)。过孔一般呈容性,可以看到过孔导致阻抗不连续,会导致S21,S22变差。改成如下结构,相比上一个结构,过孔的stub没有了。理论上只要是整块的金属面都可以作为参考面。可以看到增加回流孔后,S21参数有改善。②建立模型,信号线从第一层换到第三层。

2022-12-21 17:01:58 750

原创 高速信号的过孔设计

在高速信号传输过程中,过孔就不是一个单纯的孔。它会有各种寄生参数,从而影响信号的完整性。最明显的表征就是使阻抗不连续性。如下图:很明显可以看到阻抗不连续的两个点。回路的拓扑 回路的TDR曲线,很明显可以看到由过孔引起了阻抗的不连续。理论分析 过孔在PCB设计中地位不言而喻,它起到多个层叠之间的互连作用。过孔在不同的PCB形态中又分为通孔,盲埋孔。不管哪种孔都由孔焊盘,孔壁,反焊盘,非功能焊盘等几个部分组成。从过孔的结构来看,物理上面一定会有寄生效应。 那么具体有哪些影响?寄生电容近似公式 D1过孔焊盘直径(

2022-12-08 09:14:46 1078

原创 verilog 的FOR

看如下代码,这个语法的意思是把led[0]-led[7]同时置0,这里特别注意也是并行执行的。②看下仿真的结果,可以看到CNT到100_000的时候,LED的8都被置0了。虽然说可以用for,但是一般情况下尽量不要用,避免和C语言进行混淆。verilog是可以使用for但是功能和C是有点不一样的。

2022-11-23 18:32:25 1006

原创 关于高速信号跨平面的实例 sigrity POWER SI

但是不巧,设计的时候太赶了,出现了DDR跨平面的事情,现在就看看影响度。最后总结下,本次是因为时间太赶,导致的设计失误,而且本身运行频率不高,才没导致设计失败。实际做设计的时候,一定要遵守设计的规范,因为在高频的情况下,跨平面的影响是非常大的。⑦我切换到S21参数看下以为本次DDR3跑的频率是400MHZ,按图来看信号衰减的并不厉害,但是到更高频段就会出问题了。⑤那么关键来了,我重点看下跨平面的线是S参数。⑥具体看下走线,的确是跨平面了。②选择需要仿真的,网络,归类下电源,填上相应的电压。

2022-09-15 10:32:54 538

原创 DDR3 HYPERLYNX SI仿真

HYPERLYNX仿真DDR是非常的方便,有固定的模板可以用,这里就大致的过程和大家分享下。最后,软件会自动出一份报告,如果有NG点,可以再逐个的进行排查。等待几分钟后查看报告。⑥然后一路NEXT,软件会自动识别。知道ODT_MODLE,设置下ODT的模型。②设置完成打开DDR batch-mode wizard。①导入PCB的数据,设置叠层,设置下电源。③本次仿真的是DDR3L,800MT。⑧ 这里注意下仿真一定要仿在die上。⑦一路往下,这里可以勾选,仿真下串扰。④添加控制器和DDR。

2022-09-14 16:59:25 653

原创 sigrity 走线阻抗和耦合查看

利用sigrity进行走线阻抗和耦合的检查,可以快速的定位板子是不是阻抗设计和串扰的问题。①新建工程,选择ERC流程,按照workfolow来操作。 ②第一步load layout file,导入PCB文件,check stackup检查叠层 ③prepare netes,设定电压和选定需要仿真的信号线,电源和地 ④option:set up analysis net groups,选择发送端 ⑤ 选择接收端 ⑥ 区分下电源和地网络。 ⑦到这里把信号进行分组,方便后面仿真。 分组如下 ⑧开始仿真 ⑨至此

2022-07-03 22:57:27 481

原创 sigrity 查看走线的S参数

基板完成后,需要对高速走线进行检查,这里就可以使用sigrity来进行,非常的方便。①打开power SI②这个软件做的非常好的地方是有workflow,一般只要跟着workflow做就可以了。 ③那么先load layout file,然后check stackup(叠层设置重要,一般可以从生产厂商那里获得,还有过孔设置) ④Selet net,选择需要仿真的网络,这里我们准备仿真下DDR3的数据和信号线。 把电源和地归类 添加参考面和电压然后勾选上需要仿真的网络和对应的地和电源。 ⑤Select C

2022-07-03 12:46:31 793

原创 hyperlynx 过孔建模和HFSS建模做对比

hypelynx里可以编辑过孔模型,以为是很简单的建模,今天想看下和HFSS建模精度差多少。①再hyperlynx新增si原理图,这里叠层不做特别设置,就保持默认。 ②原理图上放个过孔(0.3,0.6的孔)看看,可以看到显示阻抗为58耦合ohm ③这里准备再HFSS里建模,这里借助工具 HFSS Via Wizard进行建模,这个工具可以在我的下载资源里下载。 ④结果如下,通过HFSS观察,过孔阻抗大概是在40ohm ⑤结论,HYPERLYNX的简单过孔模型是不太准确的。但是虽然结果有点不同,但是在5G

2022-06-26 14:36:37 858 1

原创 hyperlynx si 前仿真

hyperlynx这个软件非常简单易上手,推进新手可以学习这个软件,今天就原理图仿真进行一个说明。①New Si Schematic ②按下图选中部品,接收端,传输线和发送端,这里把传输线阻抗调整到50ohm和实际设计的值一致。可以用simple模型 ③双击接收端 ,点击选择,hyperlynx这个软件没有理想发送端,必须是要附一个模式才能用。这个和sigrity是不同的。那么我们选择一个模型 这里选择DDR的地址线点击模型选择器,选择一个模式,这里我们就选择第一种,要根据实际器件来进行选择。 ④接下来

2022-06-25 22:36:19 1025

原创 sigrity前仿真,DDR地址线仿真。

开个新坑,之前公司主要是用HYPERLYNX进行仿真,个人肯定是更喜欢用hyperlynx。但是秉着触类旁通,这边也学习下sigrity的仿真。中间试着看了下siwave的仿真,比较复杂先跳过了。①先建立工程,然后如图画下一个发送端,一个传输线,和接收端。②这里TX是理想模型,原来内阻值是50,为了演示用这里修正为17ohm。③双击传输线,点击Tline editor,如下设置把传输线设置成50ohm。 ④设定完了,点击run就可以查看结果了。 ⑤看下结果,明显看到有过冲,这里就以为前面我们修正了TX的内

2022-06-20 22:34:30 2028 10

原创 HFSS 3D LAOUT PCB 裁剪,差分线,过孔仿真和优化

我本身不是做天线设计的,所以HFSS这个软件给我主要还是做PCB级别的高速信号完整性仿真,一般2.5D的仿真软件无法对过孔和跨平面进行仿真。所以要借助三维电磁软件进行。今天就针对PCB进行裁剪。为什么要裁剪?以为如果把整个PCB一起仿真的话,应该要好几个月吧。所以为了加快仿真速度,必须进行裁剪仿真。①candence的PCB可以直接导入。那么先导入brd文件,file-import-candence结果如下②点击cutout,选中要仿真的net和参考平面。这里最好选creat new不然会把原文件覆盖掉。注

2022-06-16 16:19:55 5977 7

原创 HFSS 3D LYAOUT中创建电容,电阻,电感等模型

关于3D LAYOUT的教程实在是太少了,以下是我自己的一些总结,如有错误请指正。像是在高速信号方面,经常用到电容AC耦合,那么如何才能在3D LAYOUT创建电容模型呢。①先放一个VIA的模型 ,在属性里改成PIN ②进入padstack界面,编辑为只有TOP层有正方形的焊盘③好了以后,再复制一个变成2个焊盘,同时选中,右键componets-creat④ Type改成cap,这里如果改成其他type就是其他模型⑤右键model⑥type里面有很多建模的方法,先用最简单的方法RLC network,点击

2022-06-15 16:06:34 8018 7

原创 HFSS 带状线仿真(HFSS和3D LAYOUT的比较)

①仿真下带状线,叠层按如下配置②先用3D LAYOUT建模,如下③为了确保3D LAYOUT的结果正确,我用HFSS重新仿真了一遍,结果如下和3D LAYOUT结果有点不一样,哪里有问题?查看磁场分布图,我觉的HFSS算的应该是正确的。 ④这里我需要继续看下3D LAYOUT里面的设置,最后检查了下2遍的叠层可能有点不一样。我修正了叠层模型,注意看我蓝框标记的地方从0.15修正为了0.115,就是要把走线厚度减掉彩盒SI9000里的模型一致,重新仿真了下基本和HFSS里的结果一致了。......

2022-06-12 00:41:14 6411 1

原创 HFSS 仿真AC耦合

高速信号往往会使用电容进行耦合,可以抵消直流影响。但是电容的焊盘一般比走线宽,会导致阻抗不连续,试着仿真下影响度。①先计算下差分线,如下②在3D LAYOUT创建模型,先设定叠层如下③在top层建立微带线 ④先验证下模型的正确性,扫描下线间距,可以看到再0.2mm间距的时候,接近计算值模型正确 ⑤建立电容焊盘 ,如下0603的焊盘 模型如下,平面没有先出来,L2,L3为平面 TDR如下,明显看到阻抗不连续了。那么就要想办在L2层进行开窗,进行改善⑥L2开窗 如下阻抗有改善。...

2022-06-11 20:26:21 842

原创 HFSS 差分过孔的仿真和优化

差分线往往是会经过过孔的,今天就针对过孔如何仿真进行说明。首先是要建立差分过孔的模型,这里推荐使用官方的插件Via-wizard,可以快速创建,什么的方便。如果自己建模的话,比较复杂这里就不在介绍了。还有一种方法是在3D-LAYOUT里面,用padstack工具建立过孔,这个后续有空再进行说明吧。①差分线叠层如下②Via-wizard设置如下 设置完成点击Generate project.③自动在HFSS建立以下模型,非常漂亮,他的设计是参数化的很方便后续进行扫描。④进行仿真,结果如下,明显可以看到一位过

2022-06-09 23:52:36 3745 1

原创 HFSS 3D LAYOUT TDR仿真

HFSS的微带线,TDR建模和仿真

2022-06-07 22:46:14 4873 2

原创 HFSS 快速建立微带线

①我们传统的方法都是从HFSS里进行建模,这里介绍更加简便的办法。②打开3D LAYOUT,选择Layout-layers,进入叠层设置模式 ③上述是一个6层PWB的叠层结构接下来再layer1画上line,L2,L4,L5画上完整平面。④最终是这个样子的,俯视图 ⑤导入到HFSS,再Analysis建立HFSS setip1,右键点击HFSS setup-export-HFSS modle,导出HFSS模型⑥用HFSS打开,如下就快速建立了微带线模型。当然3D-layout这个工具也可以导入PCB,进行

2022-06-03 21:53:34 3002

原创 HFSS 微带线跨平面

仿真微带线跨平面的状态

2022-06-02 15:26:22 230

原创 HFSS 微带线验证和仿真

①先用si9000计算一条微带线的参数,如下,阻抗为51.46ohm②按照上面的参数,在HFSS里面建模型。 大概分以下几个步骤。①创立BOX,作为介质层,材料选择为FR4②创立box作为line,材料选择copper③创立BOX,作为地层,材料为COPPER④沿着线的两边沿画2个平面,作为波端口,这个波端口尽量打点,因为要包含整个辐射面。⑤最后画一个air box,作为辐射边界。③仿真结果如下,creat prot zo,可以看到仿真的阻抗和si9000计算的结果基本一致。也可以看到其实阻抗是随着频

2022-06-02 14:27:47 6086 3

原创 STM32 CUBE实现printf功能

网上查了下,实现都很复杂。我自己试了下,只需要添加一个函数就可以了。先用 STM32CUBE建立串口工程(这块我就不写了,大家如果有需要我再写).在main.c文件中加入以下///printf functionint fputc(int ch){ HAL_UART_Transmit(&huart2, (uint8_t*)&ch, 1, HAL_MAX_DELAY); return ch;}///printf functionwhile循环就可以用pr

2021-11-02 22:07:25 589

原创 python仿真,clark变换和park变换

clark变换和park变换,python仿真

2021-10-18 12:08:28 1105 1

AGILENT 34401的使用说明书

34401高精度电压表的使用说明书。

2022-06-19

TEK官方出品的介绍探头的不同

从本质上看,在测试点或信号源和示波器之间需要建立了一条物理和电子连接。根据测量需求,这一连接可能会非常简单,如使用一条长一点的导线;也可能会非常复杂。 示波器探头是把信号源连接到示波器输入上的某类设备或网络。 不管探头实际上是什么,它必须在信号源和示波器输 入之间提供足够方便优质的连接 。探头是示波器与被测物的桥梁,没有这座桥梁,示波器就无法读取被测物的信息。 探头的相关电缆为什么不能短点?为进行示波器测量,首先必须能够在物理上把探头连接到测试点。为实现这一点,大多数探头至少一两米 长的相关电缆。这一探头电缆使示波器能够保持在手推车或工作台的固定位置上,同时探头在被测电路的测试点之间移动。但这在一定程度上影响了方便性。探头电缆降低了探头带宽;电缆越长,下降的幅度越大。 除电缆长度外,大多数探头还有一只探头头部或手柄及一只探头尖端。探头头部可以固定探头,用户则可以移动探头尖端,与测试点接触。通常这一探头尖端 采用弹簧支撑的挂钩形式,可以把探头实际连接到测 试点上。在物理上把探头连接到测试点还会在探头尖端和示波 器输入之间建立了一条电气连接。为获得可用的测量结果,把探头

2022-06-19

PIFA天线仿真设计,平面倒F 天线

平面倒F天线是设计和建模方法,值得新手学习。

2022-06-19

天线设计指南,天线设计原理

本文章使用简单的术语介绍了天线的设计情况, 并推荐了两款经过赛普拉斯测试 的低成本PCB 天线。这些PCB 天线能够与赛普拉斯PRoC? 和PSoC? 系列中 的低功耗蓝牙( BLE) 解决方案配合使用。为了使性能最佳, PRoC BLE 和 PSoC4 BLE2.4GHz 射频必须与其天线正确匹配。本应用笔记中最后部分介绍 了如何在最终产品中调试天线。 简介 天线是无线系统中的关键组件, 它负责发送和接收来自空中的电磁辐射。为 低成本、消费广的应用设计天线, 并将其集成到手提产品中是大多数原装设备制 造商(OEM) 正在面对的挑战。终端客户从某个RF 产品( 如电量有限的硬币型电 池)获得的无线射程主要取决于天线的设计、塑料外壳以及良好的PCB 布局。 对于芯片和电源相同但布局和天线设计实践不同的系统,它们的RF( 射频) 范围变化超过50% 也是正常的。本应用笔记介绍了最佳实践、布局指南以及天 线调试程序,并给出了使用给定电量所获取的最宽波段。

2022-06-19

HFSS18.2 官方手册

本手册是官方发行的手册,共包含27个章节。内容覆盖所有的ansys的软件,可以作为一个工具书,进行查询和学习。

2022-06-19

HFSS 过孔向导工具,可以轻松创建过孔模型

HFSS官方的工具,可以轻松创造单过孔,差分过孔等模型。在做一些过孔优化的时候,使用非常方便。具体的使用方法可以参考我写的博客。

2022-06-12

电阻瞬时功率计算.pdf

电阻的功率可能在短时间内超过额定电流。但如果施加超过电阻耐性的脉冲功率,则会造成电阻的变化和损坏。这篇文档就是告诉如何正确的评估瞬时功率

2021-10-22

FPGA驱动模拟屏幕的程序

verilog驱动VGA屏幕,分辨率320*240.

2011-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除