自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (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 6179 11

原创 在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 5100

原创 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 5862

转载 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 34480 8

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

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

2019-10-25 14:01:36 5430 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 13751 8

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

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

2024-01-02 10:15:56 675

原创 Gamma LUT PG285笔记

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

2023-12-29 10:19:34 461

原创 Sensor Demosaic IP 手册PG286笔记

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

2023-12-29 10:14:21 652

原创 基于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 597

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

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

2023-11-30 11:10:36 670

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

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

2023-09-03 12:02:25 988

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

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

2022-04-13 09:39:21 694

原创 Unexpandable Clocks不可扩展时钟 UG903

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

2022-03-14 13:52:07 1201

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

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

2022-02-24 14:54:04 3117

原创 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 5472

原创 FPGA设计中的复位

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

2022-01-24 13:28:16 895

原创 ZYNQ平台运行linux系统app

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

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

原创 接收灵敏度dbm与W

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

2022-01-13 18:51:20 9643

原创 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 2360

原创 以太网组播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 2046

原创 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 2277 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 2447

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

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

2021-08-09 18:08:07 10817

原创 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 2910

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

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

2021-05-18 14:58:11 1182

原创 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 4382 1

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

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

2021-01-22 11:04:29 742

原创 光纤差动保护

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

2021-01-10 10:03:16 3662

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

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

2020-12-31 15:21:56 397

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

一、用iserdes的LVDS视频接口《Zynq高速串行CMOS接口设计与实现》作者:hello,pandahttps://blog.csdn.net/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 2960 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 1986

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

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

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

转载 循环冗余校验(CRC)之verilog实现

有一个网站在这一方面做的特别好,直接生成代码。链接:http://www.easics.com/webtools/crctool 循环冗余校验,也称为CRC检验,这是一个很常见的,很成熟的算法。该算法的理解很简单,随便用百度百科一搜,然后花半个小时估计就能完全理解了。这篇博文描述:怎么实现硬件并行的CRC计算。主要的参数为:1.生成多项式,在不同的协议中有不同的生成多项式,一般这些多项式都是确定的。2.模2除法如果已经了解CR...

2020-07-23 14:44:00 1981 4

原创 二层交换机GMRP组播(SV,GOOSE帧格式)

GMRP是基于garp的(garp multicast registration protocol)一个组播注册协议,用于维护交换机中的组播注册信息。所有支持gmrp的交换机都能够接收来自其他交换机的组播注册信息,并动态更新本地的组播注册信息。

2020-07-01 15:23:28 4662

原创 vivado中自定义AXI4 IP核报错 :ASSOCIATED_BUSIF bus parameter is missing.

vivado版本2016.4,该警告不影响使用,后续版本中应该会修复。在vivado中自定义AXI4 IP核时出现如下的警告:[IP_Flow 19-3153] Bus Interface 's00_axi_aclk': ASSOCIATED_BUSIF bus parameter is missing.双击图中黄色区域,弹出下图对话框,点击“+”,添加如下图的参数即可...

2020-06-17 08:37:09 3332

转载 FPGA按钮输入消抖

下图 1 说明了一个有效的消抖逻辑电路。 此电路持续将按钮的逻辑电平记录到 FF1 然后记录到 FF2,使得 FF1 和 FF2 始终存储此按钮的最后两个逻辑电平。 当这两个值在指定的时间内保持相等时,启用 FF3,并通过它将稳定值记录到结果输出。 XOR 门和 N 位计数器完成定时。 如果按钮的电平发生变化,则 FF1 和 FF2 的值在一个时钟周期内不同,从而通过 XOR 门清零 N 位计数器。 如果按钮的电平不变(即,如果 FF1 和 FF2 处于相同的逻辑电平),...

2020-06-17 08:29:27 687

原创 FPGA中用verilog直接读写操作SDRAM

1 简介SDRAM 型号为MT48LC32M16A2。SDRAM,英文名是: Synchronous Dynamic Random Access Memory,相较于 SRAM(静态存储器), SDRAM 具有:容量大和价格便宜的特点,但是需要动态刷新,保持存储单元内的数据不丢失。1.1 存储单元组织结构有4个BANK,每个BANK有8192行,每一行有1024列,每个地址存储位宽16bits,整个芯片的容量为: 8192*1024*4*16=64M 字节。1.2 参数1.3信.

2020-06-16 16:22:57 4421

原创 Alreta DDR2 IP 核上板测试

目录1工程设置修改1.1 增加复位控制1.2工程设置1.3 设置管脚电平、驱动能力。1.4 按照原理图配置具体管脚1.5添加约束2 波形抓取3 信号补充说明4 其他使用1工程设置修改本文中工程仍然使用<<Alreta DDR2 IP 核仿真测试https://blog.csdn.net/leixj025/article/details/106646782 >>的工程,在此基础上修改。1.1 增加复位控制在_example_t...

2020-06-10 18:30:08 265

原创 Alreta DDR2 IP 核仿真测试

开发环境Quartus II 13.1 ,仿真工具 ModelSim SE-64 10.4,直接使用altera官方testbench仿真测试。1 IP核配置生成用verilog语言注意:在生成过程中会卡住两次,每次等待一会后,在任务管理器中关闭quartus_map.exe,即可顺利生成。2 搭建仿真工程2.1 工程层次生成的IP文件夹内包含了例程文件,在quartus中搭建例程工程,编译,以此工程为基础进行仿真。2.2_example_top.v文件更正.

2020-06-09 18:17:32 676

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关注的人

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