Yong's blog

  • 首页
  • 个人简介
年度总结

2024修行之路

自大学毕业以来,时光在忙碌中悄然流逝。日复一日的工作节奏令人渐感麻木,唯有及时总结,方能清晰地感知这一年的脚步。从某种意义上说,这份总结本身便是一种收获。 1. 工作 今年我换了一次工作。原本的公司在发展壮大的过程中变得愈发封闭,规章制度日益严苛、上下级关系也更加森严,而我对薪资待遇本就不太满意。没想到跳槽后发现,新公司同样“水深”,各种“套路”层出不穷,让我不得不感慨:或许不少国内企业都存在这样的“窝里斗”现象。也许今后我会考虑去外企尝试一下。 这一年里,我主要还是在做接口相关的工作,对数据流的处理越发得心应手,…

2025年2月4日 2条评论 9人点赞 Yong 阅读全文
电机控制

FOC技术原理

1 背景 磁场定向控制(Field-Oriented Control,FOC),又称矢量控制(Vector Control),是一种高性能的电机控制方法。FOC基于伏-秒平衡(volt-second balance)原理,通过控制三相电压,在空间中精确合成任意幅值与角度的电压矢量,从而实现对电机电流(转矩)的精准控制。借助闭环控制器,FOC可实现电流(转矩)、速度及位置的闭环调节,使电机运行更平稳、噪声更低、效率更高,并具备快速的动态响应特性。该技术广泛应用于永磁同步电机(PMSM)、无刷直流电机 (BLDC)等电…

2024年12月27日 0条评论 1人点赞 Yong 阅读全文
FPGA

Xilinx SRIO Gen2 IP解析

1 背景 在用户使用Xilinx SRIO Gen2 IP时,最关注的就是User Interface。因为用户只需理解User Interface,就能利用SRIO Gen2 IP实现数据的高速传输,而不需要关注RapidIO协议的过多细节。User Interface包含I/O端口集和三个可选端口。其中,任何支持的I/O事务(例如NWRITEs、NWRITE_Rs、SWRITEs、NREADs、RESPONSEs和DOORBELL)都通过I/O端口进行发送或接收。 I/O端口可以配置为两种模式:Condense…

2024年9月24日 0条评论 5人点赞 Yong 阅读全文
UVM

UVM笔记(一):INTRO of UVM

1 背景 如今数字芯片(SoC/ASIC/FPGA)的设计日益复杂,验证工程师的角色也变得越来越重要。有效的验证流程可以在设计初期发现bug,从而显著提升设计的稳定性和正确性。 作为一名FPGA工程师,我发现用Verilog编写的简单testbench已无法满足复杂算法或逻辑的验证需求。Verilog编写的testbench通常非常臃肿且不灵活,不利于代码维护。此外,因为缺乏标准化结构,不同项目通常需要从头搭建验证平台,导致代码难以复用。同时,较差的验证平台结构会增加验证组件之间的耦合,导致对一个组件的修改可能影响…

2024年6月24日 0条评论 3人点赞 Yong 阅读全文
FPGA

Xilinx AXI ETH Subsystem IP数据流解析

1 背景 在Xilinx AXI 1G/2.5G Ethernet Subsystem IP中,使用了双通道AXI Stream接口设计,实现了数据流与控制流/状态流的分离。数据流用于传输以太网报文数据,控制流用于传输TX标志信息和校验指示信息,状态流用于传输报文的目的MAC地址和状态等信息。 IP示意图: 2 解析 2.1 TX Stream 如图所示,TX_data的ready信号需要等到TX_control的控制流信息被完全接收后才能拉高。因此,对于每一帧报文,IP必须先接收控制流信息,然后才能接收数据流。 …

2024年6月6日 0条评论 0人点赞 Yong 阅读全文
FPGA

Xilinx IODelay级联

1 背景 在FPGA的高速接口应用中,接口时序常常要求非常严格。因此,经常会利用IOB(I/O Block)中的IODelay资源对端口信号进行延时调整。单个IODelay所能提供的延时是有限的;当需要较长延时时,可以采用IODelay级联以实现更长时间的延时。 2 问题 在以太网工程应用中,为了对输出时钟TXC端口进行延时,采用了ODELAY3和IDELAY3级联。然而,在绑定I/O端口时,遇到了报错。 3 分析 由报错可知,TXC端口所需的IDELAY3的位置(BITSLICE_RX_TX_X0Y178)已被R…

2024年5月8日 0条评论 0人点赞 Yong 阅读全文
FPGA

端口静态时序分析

在FPGA设计中,常需与其他芯片通讯。为确保通讯的可靠性,避免产生亚稳态,端口的静态时序分析尤为重要。 1 FPGA输入端口 输入端口的静态时序分析是指验证外部信号在输入至 FPGA 内部第一级寄存器时,其建立时间和保持时间是否满足时序要求。 1.1 原理 1.1.1 建立时间 如图所示,DATA_IN为FPGA的数据输入端口,CLK_IN为相应的时钟输入端口。由于连接FPGA与其他芯片的数据线与时钟线长度不同,以及其他芯片输出的时钟与数据时间存在延迟,因此输入到FPGA的DATA_IN需要比CLK_IN延迟Tde…

2024年4月15日 0条评论 10人点赞 Yong 阅读全文
CAN协议

CAN FD帧格式

1 帧起始 SOF:为帧的开头,由一个显性位构成。当发送节点准备向CAN总线发送报文时,所有节点通过检测这个标志位来硬同步,为随后的报文仲裁提供统一的时间参考。 2 仲裁场 Identifier:CAN FD标准帧的11位ID,决定报文在总线上的传输优先级。发送节点在发送报文时会采样总线电平。若采样电平与发送电平不一致时,则该节点仲裁失败,停止数据传输。因此,ID值越小的报文优先级越高。 RRS(Remote Request Substitution): 远程帧请求替代,仅用于CAN FD报文中。CAN FD不支持…

2024年3月12日 0条评论 0人点赞 Yong 阅读全文
Zynq

Zynq MPSoC PS DDR速度最优配置

1 背景 使用Zynq平台时,我们往往希望尽量提高PS端程序的运行速度。PS端DDR的数据传输速率对PS端运行速度有显著影响。例如,DDR读写速度慢会减缓处理器在数据读取或写入期间的效率,进而降低整体处理速度。因此,提升PS端DDR的数据传输速率是至关重要的。 2 问题 为了最大限度地提升Zynq MPSoC平台的性能,我们需要深入了解如何配置该平台,以尽量提高DDR的数据传输速率。 3 环境 硬件 主芯片:xczu4ev-sfvc784-2-i;DDR4:MT40A512M16LY-062E 软件 Vivado …

2024年2月23日 0条评论 1人点赞 Yong 阅读全文
Zynq

AD数据链路架构设计

1 需求 1、PL端通过AXI总线将ADC采样得到的每通道40 MB/s的ADC_A和ADC_B两个通道的数据传输至DDR环形缓冲区(Ring Buffer),以便PS端进行读取。 2、提供DDR Ring Buffer的PL写指针,以确保PS端在读取数据时能够避开PL正在写入的DDR地址区域。 2 功能点 1、正确采样每通道40MB/s 的ADC数字信号。 2、将采样得到的ADC数据送入FIFO缓存。 3、将FIFO中的数据搬运到DDR Ping-Pong Buffer缓存。(为将来可能的算法做准备) 4、将DD…

2024年2月22日 0条评论 4人点赞 Yong 阅读全文
12

Yong

JUST FOR FUN !!!

最新 热点 随机
最新 热点 随机
2024修行之路 FOC技术原理 Xilinx SRIO Gen2 IP解析 UVM笔记(一):INTRO of UVM Xilinx AXI ETH Subsystem IP数据流解析 Xilinx IODelay级联
VMware虚拟机使用NAT模式联网 FOC技术原理 CAN协议中SJW参数的配置 Xilinx AXI ETH Subsystem IP数据流解析 Xilinx SRIO Gen2 IP解析 Ubuntu虚拟机利用TFTP更新下位机文件

COPYRIGHT © 2023 Yong's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang