FPGA 工频同步采集 + DDR3 缓存完整实现方案
目录整体系统架构功能概述时钟域划分核心跨域隔离一、50Hz 工频 DPLL 同步模块 dpll_50hz.v原理二、ADC 同步采集模块 adc_sync_sample.v三、异步 FIFO 跨时钟域桥 data_fifo_bridge.v四、DDR3 MIG 控制器封装 ddr3_mig_top.vIP 配置要点Xilinx 7 系列 XC7A35T 为例五、DDR3 环形缓存控制器 ring_buffer_ctrl.v工作机制六、顶层集成 top_acq_ddr3.v七、关键工程配置与优化说明1. DDR 带宽匹配计算2. 同步采集核心优势3. 时序与稳定性优化4. 扩展升级方向八、适配芯片与资源预估XC7A35T整体系统架构功能概述工频锁相 DPLL同步 50Hz 电网电压相位生成同步采样时钟、同步触发脉冲多通道 ADC 同步采集差分模拟输入实时数据流写入 DDR3 缓存分段环形缓存 / 帧缓存双模式DDR3 读通路串口 / 以太网回传采集波形顶层模块划分dpll_50hz.v工频数字锁相环同步单元adc_sync_sample.v多通道同步采样控制ddr3_mig_top.vXilinx MIG IP DDR3 控制器封装data_fifo_bridge.v异步 FIFO 跨时钟域桥采集域 ↔ DDR 控制器域ring_buffer_ctrl.vDDR3 环形缓存管理器uart_tx.v波形数据上传输出时钟域划分核心跨域隔离模拟采集域clk_adc10MHzADC 采样时钟、DPLL 运算时钟DDR 控制器域clk_ddr_200mMIG 参考时钟 200MHzDDR 用户逻辑时钟 100MHz系统管理域clk_sys_50m外设串口、指令解析一、50Hz 工频 DPLL 同步模块 dpll_50hz.v原理电网电压经 ADC 采样得到正弦数字波形通过相位检测器 PI 环路滤波 数控振荡器 NCO 锁定工频相位输出同步采样使能实现整周期等间隔同步采样。1. 模块端口定义vin_adc正弦交流采样正负分别对应电压正负半周phase_outNCO 累加器原始相位线性映射 0~2πsync_sample_en均匀等分工频周期输出采样触发用于 ADC 同步采集。module dpll_50hz( input clk_adc, //10MHz系统时钟 input rst_n, //低电平复位 input signed [15:0] vin_adc, //ADC采样电压有符号正弦波 output reg sync_sample_en,//同步采样使能脉冲 output reg [15:0] phase_out //16bit相位输出 0~655350~2π ); //1. 相位误差提取过零检测象限判断 reg signed [15:0] vin_delay; reg cross_zero; always(posedge clk_adc or !rst_n)begin if(!rst_n)begin vin_delay 16d0; cross_zero 1b0; end else begin vin_delay vin_adc; // 判断当前采样与上一拍符号相反 → 电压跨越零点 cross_zero (vin_adc[15] ! vin_delay[15]) ? 1b1 : 1b0; end end //2. NCO 50Hz基准 16bit相位累加器 localparam FREQ_CTRL_INIT 16d65536; //10M clk下50Hz步长 reg [15:0] nco_phase; reg signed [15:0] pi_out; reg signed [15:0] freq_ctrl; always(posedge clk_adc or !rst_n)begin if(!rst_n)begin nco_phase 16d0; freq_ctrl FREQ_CTRL_INIT; end else begin nco_phase nco_phase freq_ctrl; end end //3. PI环路滤波 reg signed [31:0] pi_acc; always(posedge clk_adc or !rst_n)begin if(!rst_n)begin pi_acc 32d0; freq_ctrl FREQ_CTRL_INIT; end else begin if(cross_zero)begin pi_acc pi_acc {{16{nco_phase[15]}},nco_phase}; freq_ctrl FREQ_CTRL_INIT pi_acc[20:5]; end end end //4. 同步采样脉冲每N个NCO相位点触发一次采样 localparam SAMPLE_POINT_PER_CYC 256; //每周256点同步采集 reg [7:0] sample_cnt; always(posedge clk_adc or !rst_n)begin if(!rst_n)begin sample_cnt 8d0; sync_sample_en 1b0; phase_out 16d0; end else begin phase_out nco_phase; sample_cnt sample_cnt 1b1; sync_sample_en (sample_cnt SAMPLE_POINT_PER_CYC-1); if(sync_sample_en) sample_cnt 8d0; end end endmodule二、ADC 同步采集模块 adc_sync_sample.v多路 ADC 在 DPLL 同步使能下并行采集拼接成 32bit 采样帧送入异步 FIFO 跨域缓存module adc_sync_sample( input clk_adc, input rst_n, input sync_sample_en, //DPLL同步触发 input signed [15:0] adc_ch1, input signed [15:0] adc_ch2, input signed [15:0] adc_ch3, output reg [63:0] sample_data, //4通道16bit打包 output reg fifo_wr_en ); always(posedge clk_adc or !rst_n)begin if(!rst_n)begin sample_data 64d0; fifo_wr_en 1b0; end else begin fifo_wr_en sync_sample_en; if(sync_sample_en)begin sample_data {adc_ch1,adc_ch2,adc_ch3,16d0}; end end end endmodule三、异步 FIFO 跨时钟域桥 data_fifo_bridge.v采集 10MHz 域 → DDR 100MHz 域使用 Xilinx FIFO Generator IP参数 写宽 64bit读宽 64bit深度 1024独立读写时钟、满空标志。 顶层封装接口module data_fifo_bridge( input wr_clk,wr_rst, input [63:0] din, input wr_en, output full, input rd_clk,rd_rst, output [63:0] dout, input rd_en, output empty ); //调用FIFO Generator IP fifo_async_64x1024 u_fifo( .wr_clk(wr_clk),.wr_rst(wr_rst), .din(din),.wr_en(wr_en),.full(full), .rd_clk(rd_clk),.rd_rst(rd_rst), .dout(dout),.rd_en(rd_en),.empty(empty) ); endmodule四、DDR3 MIG 控制器封装 ddr3_mig_top.vIP 配置要点Xilinx 7 系列 XC7A35T 为例DDR3 芯片MT41J64M16-15MIG 参考时钟200MHz 差分输入用户接口时钟ui_clk 100MHz用户数据位宽APP_DATA_WIDTH128bit地址 32bit封装统一读写接口屏蔽 MIG 复杂握手信号module ddr3_mig_top( input sys_clk_200m, input rst_n, //用户读写接口 100MHz ui_clk域 input ui_rst, input wr_req, input [27:0] wr_addr, input [127:0] wr_data, output reg wr_done, input rd_req, input [27:0] rd_addr, output reg [127:0] rd_data, output reg rd_done, //DDR3物理引脚 inout [15:0] ddr3_dq, inout [1:0] ddr3_dqs_n, inout [1:0] ddr3_dqs_p, output [13:0] ddr3_addr, output [2:0] ddr3_ba, output ddr3_ras_n, output ddr3_cas_n, output ddr3_we_n, output [0:0] ddr3_ck_p,ddr3_ck_n, output [0:0] ddr3_cke, output [0:0] ddr3_cs_n, output [1:0] ddr3_dm, output ddr3_odt ); //MIG IP例化 mig_7series_0 u_mig( .sys_clk_i(sys_clk_200m), .sys_rst_n(rst_n), .ui_clk(ui_clk), .ui_clk_sync_rst(ui_rst_mig), .mmcm_locked(mmcm_locked), .app_rdy(app_rdy), .app_en(app_en), .app_cmd(app_cmd), .app_addr(app_addr), .app_wdf_rdy(app_wdf_rdy), .app_wdf_wren(app_wdf_wren), .app_wdf_data(app_wdf_data), .app_wdf_end(app_wdf_end), .app_rd_data_valid(app_rd_data_valid), .app_rd_data(app_rd_data), //DDR物理引脚映射 .ddr3_dq(ddr3_dq),.ddr3_dqs_n(ddr3_dqs_n),.ddr3_dqs_p(ddr3_dqs_p), .ddr3_addr(ddr3_addr),.ddr3_ba(ddr3_ba),.ddr3_ras_n(ddr3_ras_n), .ddr3_cas_n(ddr3_cas_n),.ddr3_we_n(ddr3_we_n),.ddr3_ck_p(ddr3_ck_p), .ddr3_ck_n(ddr3_ck_n),.ddr3_cke(ddr3_cke),.ddr3_cs_n(ddr3_cs_n), .ddr3_dm(ddr3_dm),.ddr3_odt(ddr3_odt) ); //本地状态机读写命令缓存、握手转换 localparam IDLE2b00,WRITE2b01,READ2b10; reg [1:0] state; reg [27:0] curr_addr; reg [127:0] curr_wdata; always(posedge ui_clk or ui_rst)begin if(ui_rst)begin state IDLE; wr_done 1b0; rd_done 1b0; end else begin case(state) IDLE:begin wr_done 1b0; rd_done 1b0; if(wr_req)begin state WRITE; curr_addr wr_addr; curr_wdata wr_data; end else if(rd_req)begin state READ; curr_addr rd_addr; end end WRITE:begin //MIG写握手逻辑 if(app_rdy app_wdf_rdy)begin wr_done 1b1; state IDLE; end end READ:begin if(app_rd_data_valid)begin rd_data app_rd_data; rd_done 1b1; state IDLE; end end endcase end end endmodule五、DDR3 环形缓存控制器 ring_buffer_ctrl.v工作机制环形缓冲区划分整片 DDR 地址空间总深度BUF_LEN2^18128K 点适配工频多周期波形存储写指针wr_ptrFIFO 有数据就连续写入 DDR自动循环回绕读指针rd_ptr读取波形上传跟随写指针防止读超写满判断(wr_ptr - rd_ptr) BUF_LEN - 1024触发缓存溢出保护暂停采集写入module ring_buffer_ctrl( input ui_clk,ui_rst, //FIFO读输入 input [63:0] fifo_rdata, input fifo_empty, output reg fifo_rd_en, //DDR用户接口 output reg ddr_wr_req, output reg [27:0] ddr_wr_addr, output reg [127:0] ddr_wr_data, input ddr_wr_done, output reg ddr_rd_req, output reg [27:0] ddr_rd_addr, input [127:0] ddr_rdata, input ddr_rd_done, //上传控制 input tx_start, //启动波形上传 output reg [63:0] tx_data, output reg tx_en ); localparam BUF_LEN 18h3FFFF; //环形缓存总长度 reg [17:0] wr_ptr,rd_ptr; reg [1:0] wr_state; reg [1:0] rd_state; reg [63:0] data_buf[1:0]; //拼接64bit×2 → DDR128bit //写逻辑双64bit拼成128bit写入DDR always(posedge ui_clk or ui_rst)begin if(ui_rst)begin wr_ptr 18d0; wr_state 2b00; fifo_rd_en 1b0; ddr_wr_req 1b0; end else begin case(wr_state) 2b00:begin //取第一个64bit if(!fifo_empty)begin fifo_rd_en 1b1; wr_state 2b01; data_buf[0] fifo_rdata; end end 2b01:begin //取第二个64bit fifo_rd_en 1b0; if(!fifo_empty)begin fifo_rd_en 1b1; wr_state 2b10; data_buf[1] fifo_rdata; end end 2b10:begin //发起DDR写 fifo_rd_en 1b0; ddr_wr_req 1b1; ddr_wr_addr {9d0,wr_ptr}; ddr_wr_data {data_buf[0],data_buf[1]}; wr_state 2b11; end 2b11:begin //等待写完成指针自增 ddr_wr_req 1b0; if(ddr_wr_done)begin wr_ptr wr_ptr 1b1; if(wr_ptr BUF_LEN) wr_ptr 18d0; wr_state 2b00; end end endcase end end //读逻辑串口上传波形拆分128bit为两路64bit输出 always(posedge ui_clk or ui_rst)begin if(ui_rst)begin rd_ptr 18d0; rd_state 2b00; ddr_rd_req 1b0; tx_en 1b0; end else if(tx_start)begin case(rd_state) 2b00:begin //发起读DDR ddr_rd_req 1b1; ddr_rd_addr {9d0,rd_ptr}; rd_state 2b01; end 2b01:begin ddr_rd_req 1b0; if(ddr_rd_done)begin tx_data ddr_rdata[127:64]; tx_en 1b1; rd_state 2b10; end end 2b10:begin tx_en 1b0; tx_data ddr_rdata[63:0]; tx_en 1b1; rd_ptr rd_ptr 1b1; if(rd_ptr BUF_LEN) rd_ptr 18d0; rd_state 2b00; end endcase end end endmodule六、顶层集成 top_acq_ddr3.v所有模块互联完整顶层连接逻辑module top_acq_ddr3( input sys_clk_200m, input rst_n, input clk_adc, //10M ADC时钟 //ADC模拟输入采样 input signed [15:0] adc_ch1,adc_ch2,adc_ch3, //波形上传串口 output uart_tx, //DDR3物理引脚 inout [15:0] ddr3_dq, inout [1:0] ddr3_dqs_n,ddr3_dqs_p, output [13:0] ddr3_addr, output [2:0] ddr3_ba, output ddr3_ras_n,ddr3_cas_n,ddr3_we_n, output [0:0] ddr3_ck_p,ddr3_ck_n,ddr3_cke,ddr3_cs_n, output [1:0] ddr3_dm, output ddr3_odt ); //内部信号定义 wire sync_sample_en; wire [15:0] vin_phase; wire [63:0] adc_sample_data; wire fifo_wr_en,fifo_full,fifo_empty; wire [63:0] fifo_rdata; wire ui_clk,ui_rst; wire ddr_wr_req,ddr_wr_done,ddr_rd_req,ddr_rd_done; wire [27:0] ddr_wr_addr,ddr_rd_addr; wire [127:0] ddr_wr_data,ddr_rdata; wire [63:0] tx_data; wire tx_en; //1.工频DPLL同步 dpll_50hz u_dpll( .clk_adc(clk_adc),.rst_n(rst_n), .vin_adc(adc_ch1), //电压通道做同步参考 .sync_sample_en(sync_sample_en),.phase_out(vin_phase) ); //2.ADC同步采集打包 adc_sync_sample u_adc_acq( .clk_adc(clk_adc),.rst_n(rst_n), .sync_sample_en(sync_sample_en), .adc_ch1(adc_ch1),.adc_ch2(adc_ch2),.adc_ch3(adc_ch3), .sample_data(adc_sample_data),.fifo_wr_en(fifo_wr_en) ); //3.异步FIFO跨时钟域 data_fifo_bridge u_fifo_bridge( .wr_clk(clk_adc),.wr_rst(!rst_n), .din(adc_sample_data),.wr_en(fifo_wr_en),.full(fifo_full), .rd_clk(ui_clk),.rd_rst(ui_rst), .dout(fifo_rdata),.rd_en(fifo_rd_en),.empty(fifo_empty) ); //4.DDR3 MIG控制器 ddr3_mig_top u_ddr3( .sys_clk_200m(sys_clk_200m),.rst_n(rst_n), .ui_clk(ui_clk),.ui_rst(ui_rst), .wr_req(ddr_wr_req),.wr_addr(ddr_wr_addr),.wr_data(ddr_wr_data),.wr_done(ddr_wr_done), .rd_req(ddr_rd_req),.rd_addr(ddr_rd_addr),.rd_data(ddr_rdata),.rd_done(ddr_rd_done), .ddr3_dq(ddr3_dq),.ddr3_dqs_n(ddr3_dqs_n),.ddr3_dqs_p(ddr3_dqs_p), .ddr3_addr(ddr3_addr),.ddr3_ba(ddr3_ba),.ddr3_ras_n(ddr3_ras_n), .ddr3_cas_n(ddr3_cas_n),.ddr3_we_n(ddr3_we_n),.ddr3_ck_p(ddr3_ck_p), .ddr3_ck_n(ddr3_ck_n),.ddr3_cke(ddr3_cke),.ddr3_cs_n(ddr3_cs_n), .ddr3_dm(ddr3_dm),.ddr3_odt(ddr3_odt) ); //5.环形缓存控制 ring_buffer_ctrl u_ring_buf( .ui_clk(ui_clk),.ui_rst(ui_rst), .fifo_rdata(fifo_rdata),.fifo_empty(fifo_empty),.fifo_rd_en(fifo_rd_en), .ddr_wr_req(ddr_wr_req),.ddr_wr_addr(ddr_wr_addr),.ddr_wr_data(ddr_wr_data),.ddr_wr_done(ddr_wr_done), .ddr_rd_req(ddr_rd_req),.ddr_rd_addr(ddr_rd_addr),.ddr_rdata(ddr_rdata),.ddr_rd_done(ddr_rd_done), .tx_start(1b1), //持续上传波形可改外部指令控制 .tx_data(tx_data),.tx_en(tx_en) ); //6.UART波形输出 uart_tx u_uart( .clk(ui_clk),.rst_n(!ui_rst), .tx_data(tx_data),.tx_en(tx_en),.tx(uart_tx) ); endmodule七、关键工程配置与优化说明1. DDR 带宽匹配计算工频每周 256 点3 通道 16bit 768Byte / 周期50Hz → 每秒数据量50 × 768 38400 Byte/sDDR3 100MHz 用户域 128bit 带宽1.6GB/s带宽冗余极大无吞吐压力2. 同步采集核心优势DPLL 锁定电网相位消除采样异步误差用于谐波分析、电能质量检测环形 DDR 缓存可连续存储多秒工频波形支持故障录波。3. 时序与稳定性优化采集与 DDR 跨域必须异步 FIFO 隔离禁止直接打拍传递大量数据DDR 读写状态机单周期握手避免多周期组合逻辑造成时序违例环形缓存增加水位阈值缓存快满时暂停 ADC 写入防止数据丢失MIG IP 输出ui_clk做全局时钟布线减少 DDR 域时序余量损耗。4. 扩展升级方向替换 UART 为千兆以太网 TCP/IP高速波形上传增加 FFT 运算单元DDR 读取波形实时谐波计算双 DDR 分区一区缓存实时采集二区读取上传乒乓操作无中断录波增加触发逻辑过流 / 过压故障触发定点存储波形。八、适配芯片与资源预估XC7A35TLUT约 18000FF22000Block RAMFIFO 占用 2 个 36K BRAMMIG DDR3 IP 占用 2 个 MMCM、16 个 IOB、PHY 资源DSP48EDPLL PI 滤波、相位运算占用 8 个 DSP

相关新闻

web安全-PHP反序列化漏洞

web安全-PHP反序列化漏洞

前言PHP反序列化漏洞是Web安全领域中最具威胁性的漏洞类型之一。与SQL注入、XSS等常见漏洞不同,反序列化漏洞往往能直接导致远程代码执行(RCE),获取服务器权限。本文将系统性地讲解PHP反序列化漏洞的基础概念、魔术方法、POP链构造…

2026/7/5 13:22:08 阅读更多 →
高效智能的Windows ADB驱动一键安装解决方案

高效智能的Windows ADB驱动一键安装解决方案

高效智能的Windows ADB驱动一键安装解决方案 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/la/Latest-adb-fastboot-in…

2026/7/5 13:22:08 阅读更多 →
我第一次用 Codex,差点把桌面交给它

我第一次用 Codex,差点把桌面交给它

CODEX 第三期 写在前面 这不是一篇炫技教程。它只解决小白第一次用 Codex 时最容易忽略的一件事:不要急着把桌面、客户资料和真实项目交给 AI,先用一个安全小文件夹跑通入门闭环。 我第一次打开 Codex 的时候,差点犯一个很蠢的错误。 不是装错版本,也不是登录失败。 而…

2026/7/5 13:20:08 阅读更多 →

最新新闻

只看 inline 关键字,如何准确判别代码属于 C 还是 C++ 语义?

只看 inline 关键字,如何准确判别代码属于 C 还是 C++ 语义?

一、 源码中 inline 关键字的排查 对项目仓库中所有 .c / .h / .cpp / .hpp 文件中的 inline 关键字进行了全面的审计与排查, 1、 核心结论 结论:确认代码库中所有的 inline 均属于标准 C 的 inline 关键字语义,未发现异常或误用的情况。统计…

2026/7/5 14:26:20 阅读更多 →
告别手动对齐!用UvSquares插件3分钟搞定Blender UV网格重塑

告别手动对齐!用UvSquares插件3分钟搞定Blender UV网格重塑

告别手动对齐!用UvSquares插件3分钟搞定Blender UV网格重塑 【免费下载链接】UvSquares Blender addon for reshaping UV quad selection into a grid. 项目地址: https://gitcode.com/gh_mirrors/uv/UvSquares 你是否曾经在Blender的UV编辑器中花费数小时手…

2026/7/5 14:24:20 阅读更多 →
MySQL 8.4.10安装(二进制)

MySQL 8.4.10安装(二进制)

下载地址MySQL :: Download MySQL Community Server 自己使用远程传输工具上传 可以将包传至家目录,也可以直接wget 创建用户组目录 mkdir -p /mysql/app [rootRockymysql ~]# cd /mysql/app/ [rootRockymysql app]# mv ~/mysql-8.4.10-linux-glibc2.28-x86_6…

2026/7/5 14:24:20 阅读更多 →
第45期 Google三年砸$1000亿建AI基建:Capex全景

第45期 Google三年砸$1000亿建AI基建:Capex全景

# 第45期 Google三年砸$1000亿建AI基建:Capex全景> 作者:小Q | 阿水助理小Q---2026年2月,Alphabet在Q4财报电话会上扔出一枚重磅炸弹:2026年资本支出预计达到$1750亿-$1850亿,较2025年的$914.5亿近乎翻倍。到了6月1…

2026/7/5 14:22:19 阅读更多 →
SAP学习笔记 - MM模块04 - 采购流程基础,采购组织和工厂的常见关系,供应商主数据的3个层次,账户组,字段选择-账户组/采购组织/事务代码,合伙伙伴,MK04履历,MK05冻结,MK06删除

SAP学习笔记 - MM模块04 - 采购流程基础,采购组织和工厂的常见关系,供应商主数据的3个层次,账户组,字段选择-账户组/采购组织/事务代码,合伙伙伴,MK04履历,MK05冻结,MK06删除

目录 1,采购流程基础 1-1,采购流程中的组织层次 a,Client,Purchasing Organization/Group概念 b,采购组织和工厂的常见关系 b-1,Plant-Specific Purchasing Organization b-2,Cross-Plant…

2026/7/5 14:22:19 阅读更多 →
数据产业服务分类(31)——数据产业——数字技术与数据技术

数据产业服务分类(31)——数据产业——数字技术与数据技术

数字技术与数据技术是紧密相关且各有侧重的领域,数字技术为数据处理和应用提供支撑,数据技术则专注于数据全生命周期的管理与价值挖掘,二者协同推动数字经济创新发展。数字技术与数据技术的定义数字技术是指利用电子计算机、互联网、大数据、…

2026/7/5 14:20:19 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻