自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于PCIe的NVMe协议在FPGA中实现方法

NVMe协议是工作在PCIE的最上层协议层的,故需要先搞清楚PCIE。本文基于Xilinx的UltraScale+,开发工具为Vivado2021.2。NVMe的学习仍以spec为主,其它资料辅助理解,有冲突时以spec为准,必要时可对比最新版本spec。(此文重点介绍学习方法及资料,有时间再加细节)。 主要参考的文章是《老男孩读PCIe》,同时参考《古猫先生》,重点学习TLP报文部分,数据链路层和物理层的内容可以先不看。再买一本书《PCI Express 体系结构导读-王齐》用来查阅做笔记。

2022-12-04 16:56:11 9926 14

原创 在STM32F429/GD32F450中用FMC/EXMC初始化SDRAM

目录1、硬件2、初始化时序3、配置FMC总线的寄存器3.1 控制寄存器3.2 时序寄存器3.3 命令寄存器3.4 刷新间隔reg4、MCU配置代码5、CL定义1、硬件选用华邦W9825G6KH-6I。以micron的片子手册作为对比参考。 手册参数如下:2、初始化时序华邦手册只有简单的描述:3、配置FMC总线的寄存器通过配置控制、时序、命令、刷新间隔等寄存器,MCU能自动生成控制SDRAM的接口时序...

2021-05-11 16:06:47 5760 1

原创 HDLC(High-Level Data Link Control)(对比以太网)

1、HDLC是什么高级数据链路控制HDLC(High-Level Data Link Control),数据链路层是OSI参考模型的第二层,相当于以太网MAC层。对物理层没有详细的规定,对数据速率、编码方式、传输介质等没有规定,可以采用光纤CMI、NRZI等编码。 2、HDLC的分类主要分为两大类,一般使用时只使用某一特定的子集。以太网不同协议在datalink 层也不同,常见的以太网帧结构由ETHERNET II 和 IEEE802.3,详见帧结构一章的图片。面向字符型 ...

2020-12-31 14:33:47 8215

转载 GOOSE报文分析_详解GOOSE服务

http://www.pinlue.com/article/2017/06/0602/072485561456.htmlhttp://blog.sina.com.cn/s/blog_af8298410102wnvm.htmlhttps://www.cnblogs.com/software4y/p/10017930.html以上三篇文章整理如下文。1面向通用对象的变电站事件模型GOOSE图片出自《浅谈GMRP在变电站中的应用》一文 在分布式的变电站自动化系统中,IED共同...

2020-07-14 09:16:49 42174 11

原创 开平方_复数有效值+角度的verilog代码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-25 14:01:36 5945 2

原创 FMC/FSMC/EXMC总线NORFlash/PSRAM接口(异步-复用-不突发/同步-复用-突发)

目录1 简介1.1 框图1.2 接口定义1.3 读写时序图、时序配置参数1.4 PSRAM控制器异步工作模式分类1.5 PSRAM寄存器配置1.5.1 控制寄存器BCR1.5.2 片选时序寄存器BTR1.5.3 写入时序寄存器BWTR2 FPGA接口设计2.1 实际配置的时序2.2 接口信号处理3 参考文献1 简介 使...

2019-10-21 09:25:26 17826 8

原创 JESD204B及解扰模块

关于初始值手册中为'h7f80,实际使用时Xilinx IP中用的是之前ILAS中的最后2字节0x7e7c,完整的最后4字节是0x7c7e7d7c,左边的0x7c应该是多帧结束字符/A/。ILAS虽然不参与加扰,但其最后2字节留在了加扰器中。

2025-02-12 17:38:28 794

原创 将txt文件转为bin文件

把txt中的数字每字节一组,转为其对应的字符并另存为bin文件,再次UE打开用16进制查看,即为txt中的原始数字。

2025-01-17 11:42:04 905

原创 Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(四)MAC IP自带的约束说明

说明Tri_mode_ethernet_mac IP中需要改动的源文件文件内容。在vivado中选中IP后右击选disable Core container 即可在工程目录下找到源文件并修改(.src/xx/ip/目录下为.xci文件仅包含IP配置,源文件在.gen/xx/ip/目录下)。需要修改IP源文件时,IP生成文件时用global模式,改动部分可以随工程一起编译。

2025-01-12 16:34:51 922

原创 Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(三)基于PHY 88E15的约束设置

采用Marvell Alaska 88E15xx ,RGMII to Copper。input/output 约束:头大max尾小min"

2025-01-12 14:28:11 147

原创 Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(二)MMCM Phase Shift Mode -waveform的时序分析变化

在FPGA中用MMCM对输入emcclk时钟做180°翻转后得clk_out1采样,默认在发送emcclk后的第一个采样clk的rise采样。分析Required Time的时间起点不再从0开始,而是直接从偏移后的相位5ns开始,但是整个输入路径的延时都在。-waveform 后时钟的相位突变,时序分析有其独立的起点。-latency时分析的起点仍然是0或T,仅在MMCM中增加了延时。

2025-01-06 22:21:26 351

原创 Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(一)时序约束的基本概念

input delay:外部时钟发送沿到数据头的最大/最小延时。output delay:数据头到达采样沿的最大最小时间(这是下游器件对FPGA管脚处的时序要求)。input,output中的-max用于分析setup,-min用于分析hold。

2025-01-06 21:41:07 1224

原创 在UE中设置自动用Tcl/Tk语法着色XDC约束文件

Vivado中的约束文件为.xdc,是一种tcl脚本文件,故用UE等软件打开时可使用Tcl/Tk语法进行着色。默认情况下每次打开文件都要手动选择着色语法,用下图方法改为自动着色。

2024-12-26 15:38:54 159

原创 NVMe硬盘的厂家及序列号信息设置

在AIDA64 -> 存储设备 -> ATA中查看详细信息。

2024-01-02 10:15:56 1834

原创 Gamma LUT PG285笔记

探测器响应为线性亮度或RGB值,而显示器并非线性,需要算法做校正。

2023-12-29 10:19:34 822

原创 Sensor Demosaic IP 手册PG286笔记

IP 用于对bayer RGB(每个pixel只有单个R/G/B)做去马赛克处理,恢复成每个pixel点都有完整的RGB值。通过axi接口配置IP内部erg。

2023-12-29 10:14:21 987

原创 基于Xilinx bitslice原语实现delay可调整的MIPI DPHY

Xilinx自带的DPHY在1.5G时无法调整data line的delay值,在需要调整数据线延时的场景可使用文中方案,且有较少的资源占用。使用IBUFDS_DPHY,BITSLICE,BITSLICE_CONTROL实现MIPI DPHY。包含1条clock lane,4条 data lane。参考《UG571 ultralscale selectio》。

2023-12-12 17:59:04 1711 4

原创 MIPI CSI-2 协议的主要内容

CSI-2的手册中主要介绍了,协议层的功能块:像素重组成字节(协议中提到的仅适用于标准图像格式,实际可以自定义),LLP层数据拆分按长短包组包+包头+ECC+CRC,字节按照lane通道分配。

2023-11-30 11:10:36 1644

原创 MIPI D-PHY的初始化(MIPI Alliance & Xilinx)

DPHY的基本介绍及使用已有很多文章,基本是基于《MIPI Alliance Specification for D-PHY 》的内容,学习时也以此为准,可参考优快云上的文章。着重讲述MIPI D-PHY的初始化部分。

2023-09-03 12:02:25 2350

原创 allegro 尺寸标注操作未到板边的处理

1、进入尺寸标注。2、右击选择线性,parameters中可以改参数,默认即可。3、打开尺寸层,点击板边框。如果有圆弧没有标注到板边,可以在右侧find中关闭其它项,点击两个板边标注。

2022-04-13 09:39:21 941

原创 Unexpandable Clocks不可扩展时钟 UG903

同源时钟可能同步,可能异步?

2022-03-14 13:52:07 1667

原创 SR8201F以太网口断连分析(MDIO时序)

检查以太网PHY偶发断连问题:1 初步怀疑电源供电能力不够;2 怀疑CPU对PHY的reg有错误的写操作;3 怀疑CPU对PHY 有错误的复位行为。

2022-02-24 14:54:04 3783

原创 FPGA原语IODELAY、ODDR、BUFGMUX和VIVADO BRAM的使用

1 IODELAY微调时钟相位#To Adjust GMII Tx Input Setup/Hold Timing#set_property IDELAY_VALUE 16 [get_cells *_i/gmii_to_rgmii_0/U0/i_gmii_to_rgmii_block/*_gmii_to_rgmii_0_0_core/i_gmii_to_rgmii/i_gmii_to_rgmii/gen_rgmii_rx_zq.delay_rgmii_rx_ctl]#set_pr.

2022-01-24 14:45:40 6518

原创 FPGA设计中的复位

遵循 Xilinx 建议的复位准则:a) 尽量少使用复位;b) 必须复位时采用同步复位;c) 确保使用高电平有效的复位;d) 避免异步复位(RAMB 和 DSP48 模块中不支持异步复位)。1、尽量共用复位、使能等控制信号,以便在综合实现时,寄存器能放在同一个Slice中,充分利用资源。2、少用复位信号,可使设计在实现时更加灵活,不会被限定在一种实现方法,充分利用资源。3、FPGA器件寄存器默认值为0,若复位仅用于初始化寄存器,可不使用复位。关于复位更详细的设计可参考《wp272-G

2022-01-24 13:28:16 997

原创 ZYNQ平台运行linux系统app

linux系统体积小,可裁剪,硬件需求可很小,适合在嵌入式平台运行。可在x86,arm运行,在x86主机上交叉编译生成可在arm运行的可执行程序。不像windows系统的大部分功能已经做好,学习linux能更好理解操作系统的运行结构。可以无GUI运行,通过远程的SecureCRT通过SSH2网络登陆到系统。所有东西都是文件,没有格式之分。安装软件需要联网到软件源,如网易的163源。安装各种服务,nfs网络文件、vim编辑器、gcc代码编译器。

2022-01-20 20:03:31 4415 1

原创 接收灵敏度dbm与W

接收灵敏度,就是你的耳朵能听到的最小的声音。耳朵灵敏度高的,能够听到很远的声音。

2022-01-13 18:51:20 12030

原创 TCP/IP报文格式及通讯

1 分层结构1.1 PHY物理层 一般由专用PHY芯片实现,与MAC接口用MII,RMII,GMII,RGMII等,对PHY芯片的管理用MDIO接口,可配置、读取PHY的状态。两片互连的PHY可自动协商速率,通过GPIO、reg等指示当前的最大速率,每次上电、复位后协商一次。1.2 MAC层(LLC逻辑链路层)1.3 IP层(net网络层)IP层在路由器中携带报文传递,TCP层不关心传递方式、拆分,只关心有没有送到。1.3.1 IP报路由时MAC变I...

2021-12-24 15:33:59 2636

原创 以太网组播hash及以太网CRC

通过目的地址MAC地址计算出CRC值,用CRC值的高6bit(或其它位,尽量减少多个MAC地址对应同一个HASH key),在HASH表中查找对应bit,若=1则组播接收。HASH表一般用64bits,HASH算法可根据实际优化,有可能以太网的多个MAC算出同一个HASH key,但此地址过滤方式已有效过滤大部分无效帧,减少CPU负荷。32位CRC多项式如下:x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 +...

2021-12-13 11:12:52 2820

原创 ATGM332D GPSBD模块使用注意事项

目录1、模块默认波特率为9600,所有报文全开,不能直接使用2、RMC报文3、模块配置3.1 切换GPS、BD、GPS+BD模式3.2关闭其它报文格式3.3 保存配置信息1、模块默认波特率为9600,所有报文全开,不能直接使用9600且所有报文全开,会造成数据堵塞,发生时间整秒延迟,大约在1,2,3,4秒整秒跳动。必须调高波特率到115200;或关闭多余报文,仅留RMC。2、RMC报文RMC报文包含了常用的时间,坐标等信息。时间为UTC时间,需要+...

2021-11-09 20:03:31 2827 1

原创 RX8025T RTC读写与秒中断

一、精度二、读写时序接口为IIC,读写时序如下图。注意:1、写操作,写从机地址、寄存器地址0,紧接可以连续写入秒、分、时、周、日、月、年共7个数据;2、读操作,写从机地址、寄存器地址0、restart、读从机地址,紧接可以连续读出入秒、分、时、周、日、月、年共7个数据;三、写RTC对其内部ms计数的影响RTC的秒脉冲低有效,每次输出时读取RTC中的时间。读出秒的时刻清零FPGA维护的ms,ns计数;对RTC的写入有GPS校正(pps上升沿开始写RTC)、CPU主站校正。.

2021-11-09 19:36:47 3025

原创 三段式过流保护、差动保护

1、基本原理供电系统中的线路、设备等故障,会产生短路电流。短路电流比线路正常工作时大很多。通过电流互感器测量这个电流值,和电流值的持续时间,达到整定值时输出跳闸信号,这个就是过电流保护的基本原理。故障电流越靠近电源点,短路电流越大。2、三段保护三个不同:电流值不同、动作时间不同、保护范围不同(记忆:大快短,小慢长)动作延时:是为了让下一级的速断保护先跳开,尽量减少断电范围。主保护:二段,不快也不慢。既能等待下一级跳开,也能保护本级,并备用下一级。...

2021-08-09 18:08:07 17047

原创 I2C总线时序(应用于PCA9555)

1、基本的时序SCL由主机发,SDA为双向:主机先发数据,后改接收从机应答。1)总线的启动,结束;时钟高电平数据必须保持稳定,时钟低电平数据才可以变化。2)应答。从机在第9bit发ACK=0。主机要结束操作时发NACK=1.2、9555操作时序1)器件地址与寄存器地址器件地址高4bit固定,A2A1A0由硬件上下拉确定,最后1bit根据读写操作不同变化。寄存器地址,用于配置,读写端口。每一位可单独配置为INPUT,output。2)写数据。支持突发写,..

2021-07-21 11:32:17 3579

转载 信号反射的几个重要体现(过冲、下冲、振铃)及电路设计

原文链接:https://www.cnblogs.com/jacklong-yin/p/9767098.html收起信号沿传输线向前传播时,每时每刻都会感受到一个瞬态阻抗,这个阻抗可能是传输线本身的,也可能是中途或末端其他元件的。对于信号来说,它不会区分是什么,信号所感受到的只有阻抗。如果信号感受到的阻抗是恒定的,那么他就会正常向前传播,只要感受到的阻抗发生变化,信号都会发生反射。这些因素可能包括过长的走线,末端匹配的传输线,过量的电容或电感及阻抗失配。反射会造成信号过冲overshoot、

2021-05-18 14:58:11 1842

原创 MOS与三极管的控制使用简介

1、型号图片记忆NPN,PNP,N沟道,P沟道图片与型号的记忆方法:图片上箭头都是由P→N; 栅极(gate——g,也叫做门极),源极(source——s), 漏极(drain——d)。基极(base),中间有一个箭头一头连基极,另外一头连的是发射极 e(emitter),集电极 c(collector)。2、导通记忆2.1 MOS管电压与箭头反向导通。即NMOS管Vgs >0阈值导通,PMOS管 Vgs <0阈值导通; NMOS的特性,Vgs大于一...

2021-03-24 14:51:19 5322 1

原创 看门狗芯片改滞回比较器的设计

1、使用背景在用5.5V超级电容作为备用电源,同时使用升压芯片将超容电压声道12V使用,当超容电源放电快结束时电压降低,升压芯片关闭,超容电压瞬间升高使升压芯片又工作,如此反复震荡,升压芯片产生类似开关电源效果,电压小于12V。为避免震荡,在原有看门狗电压监视芯片上改装滞回比较器。比较器:输出端有上拉电阻,无负反馈网络。滞回比较器:在比较器的基础上对正向输入端加了正反馈网络,反馈比R1/R2。Ui>高阈值时输出高电平,Ui<低阈值时输出低电平。2、改装原理图把运放的.

2021-01-22 11:04:29 1007

原创 光纤差动保护

1、什么是差动保护差动保护的基本原理是基尔霍夫定律,即“电路中流入节点电流的总和等于零”。差动保护把被保护的电气设备看成是一个节点,正常时流进被保护设备的电流和流出的电流相等,差动电流等于零。当设备出现故障时,流进被保护设备的电流和流出的电流不相等,差动电流大于零。当差动电流大于差动保护装置的整定值时,保护动作,将被保护设备的各侧断路器跳开,使故障设备断开电源。差动保护原理简单、使用电气量单纯、保护范围明确、动作不需延时,一直用于变压器做主保护。另外差动保护还有线路差动保护、母线差动保护等等。

2021-01-10 10:03:16 4304

原创 DTU/FTU后备电源-电池电容器

电池电容器具有长寿命、超低自放电、高脉冲功率、宽温幅应用等特点。厂家 无锡凯帕德瑞科技宁波瞬能科技

2020-12-31 15:21:56 570

原创 串行数据异步动态相位采样处理iodelay-iserdes应用+CDR数据恢复方案

一、用iserdes的LVDS视频接口《Zynq高速串行CMOS接口设计与实现》作者:hello,pandahttps://blog.youkuaiyun.com/haoxingheng/article/details/50320145二、4倍过采样《LVDS 4x Asynchronous Oversampling Using 7 Series FPGAs and Zynq-7000 AP SoCs》https://china.xilinx.com/support/documentation/a.

2020-11-19 15:26:24 3793 4

原创 OSERDES和OBUFDS在LVDS视频传输中的应用

Select IO 资源 分三类:基元、逻辑资源、高级逻辑资源。A、基元B、逻辑资源C、高级逻辑资源1、OSERDES与ODDR区别:OSERDES数据入口为1个并行口,2个clk,通过高倍时钟串行化,低位先发LSB;ODDR 数据入口为2个单bit口,1个clk,clk双沿分别发两个口数据。接收端用双沿采样。2、通过原语调用MMCM或PLL,也可用GUI方式。3、OSERDES2模块实现把并行数据转化为串行数据,串行时钟的速率与并行数据宽度有关,可参..

2020-10-30 10:39:14 2342

转载 从原理上解释什么是DDR的ZQ校准?

前言 首先我们我们看下下图的电路,在DDR的电路中通常有ZQ部分的电路,外接1%高精度的240ohm电阻,那么这个240ohm电阻究竟是做什么用的呢?很多做了硬件或者驱动开发很多年的工程师仍然是一知半解,今天我们就来仔细的探讨一下这个问题! 首先我们以DDR3作为例子,如下图所示,在DDR2中,所有的DQ以及其它的信号PIN采用了分离式驱动器电路设计方案(die内端接),而在DDR3中,为了提高系统工作的鲁棒性,对这一设计方案做了优化,所有的输出驱动器采用同一个设计电路。...

2020-09-08 09:57:48 11870 3

xapp224-DataRecovery-★

DataRecove手册与参考代码。Data recovery allows a receiver to extract embedded clock data from an incoming data stream.

2020-11-19

仿真工程ddr2a.rar

文中使用的仿真工程,也按照文中说明可以自己创建。对driver文件做了简化仿真处理,并有部分注释。使用时根据自己的仿真工具路径更改地址。

2020-06-09

空空如也

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

TA关注的人

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