乐于分享
好东西不私藏

探索RFNoC:软件无线电领域的异构框架新星

探索RFNoC:软件无线电领域的异构框架新星

RFNoC技术深度解析

探索软件无线电与硬件深度融合的异构框架

RFNoC概述,协作机制,基本结构,拓扑与路由,数据流传输,SDR应用,实战案例,初始化流程,结语与展望

第一部分:RFNoC概述

RFNoC,全称RF Network on Chip,是一种专为软件无线电设计的异构框架,它将复杂的数字信号处理任务扩展至FPGA(现场可编程门阵列)领域,实现了软件与硬件的深度融合。

作为NI(National Instruments)公司软件无线电设备的核心组件,RFNoC与USRP(Universal Software Radio Peripheral)的UHD(USRP Hardware Driver)紧密配合,能够无缝集成到PDSOS 生态系统中,极大地简化了SDR应用的开发流程。

关键特点

  • 专为软件无线电设计的异构框架
  • 实现软件与硬件的深度融合
  • 与NI公司USRP设备紧密协作
  • 无缝集成到PDSOS生态系统

第二部分:RFNoC与USRP UHD协作机制

硬件初始化流程

USRP设备启动时,UHD驱动负责初始化硬件,包括FPGA的配置和RFNoC框架的加载。RFNoC框架在FPGA中构建起数据流网络,准备接收和处理来自天线的射频信号。

信号接收与处理过程

射频信号通过天线接收后,经过USRP的模拟前端进行放大、滤波等预处理。预处理后的信号被转换为数字信号,并送入FPGA中的RFNoC网络进行进一步处理。在RFNoC网络中,NoC Block(如FFT模块、滤波器模块等)对数字信号进行特定的处理,如频谱分析、信号解调等。

数据传输与软件处理

处理后的数据通过RFNoC网络传输至Stream Endpoint,再由Transport Adapter(如PCIe接口)将数据传输至主机电脑。UHD驱动在主机端接收数据,并将其传递给PDS OS等软件工具进行进一步的分析、显示或存储。

控制与反馈机制

软件层(如PDS OS)可以通过UHD驱动向FPGA中的RFNoC网络发送控制命令,调整NoC Block的参数或配置新的处理流程。控制命令通过控制面(control plane)在RFNoC网络中传输,确保低延迟和高可靠性的控制反馈。

第三部分:RFNoC基本结构

RFNoC的设计哲学在于构建一个图形化的数字信号处理流图,其核心是一个基于芯片的数据流网络架构。这一架构由多个关键元素组成:

NoC Block(核心处理模块)

作为核心处理模块,NoC Block中封装了用户自定义的IP核,这些IP核可以是特定的数字信号处理功能或硬件通信功能,为SDR应用提供了强大的处理能力。

Stream Endpoint(数据流端点)

数据流或控制流的发起与终结节点,负责数据的输入输出操作,确保数据在RFNoC网络中的顺畅流通。

Transport Adapter(传输适配器)

对硬件物理接口(如Ethernet、USB、PCIe等)进行抽象的节点,使得RFNoC能够适配不同的物理平台,提高了系统的灵活性和可扩展性。

Routers(路由组件)

作为网络中的关键组件,Routers负责连接多个NoC Block、Stream Endpoint和Transport Adapter,确保数据能够在复杂的网络拓扑中高效传输。

控制面与数据面的分工

每个NoC Block还细分为控制面(control plane)和数据面(data plane),前者负责低吞吐量的事务处理,后者则处理高吞吐量的信号数据传输,两者协同工作,确保了系统的高效运行。

第四部分:拓扑与路由

灵活构建数据流拓扑结构

RFNoC的拓扑结构定义了各个组件之间的连接方式,用户可以根据实际需求自由定义拓扑,甚至可以在运行时通过软件设置或FPGA加速器之间的物理连接来动态修改拓扑结构。这种灵活性为SDR应用的开发带来了前所未有的便利。

多种路由策略

  • 源路由
    :由发送方指定数据包的传输路径
  • 确定性路由
    :根据固定规则确定数据包的传输路径
  • 电路交换
    :为数据传输建立专用的物理路径(仅数据面)
  • 分组交换
    :将数据分割成独立的数据包进行传输(仅控制面)

第五部分:数据流传输

CHDR数据包格式

RFNoC中的数据以数据包的形式传输,最小传输单位称为CHDR(Condensed Hierarchical Datagram)。数据面和控制面均通过CHDR进行传输。

AMBA AXI4-Stream协议

FPGA内部采用AMBA AXI4-Stream协议进行高效的数据传输,这是一种高性能、低延迟的数据流协议。

分组流控机制

对于可能出现的传输损失,RFNoC还提供了上层的分组流控机制,以保障数据传输的可靠性。

第六部分:RFNoC在SDR开发中的应用

简化SDR应用开发流程

RFNoC的出现,极大地简化了SDR应用的开发流程。通过与PDS OS的无缝集成,开发者可以利用其丰富的流图工具快速构建复杂的SDR系统。

异构框架设计优势

RFNoC的异构框架设计使得系统能够充分利用FPGA的并行处理能力,实现高性能的数字信号处理。

与PDS OS的无缝集成

通过与PDS OS的无缝集成,开发者可以利用其丰富的流图工具快速构建复杂的SDR系统,实现从概念到原型的快速转化。

第七部分:实战案例解析

实例1:实时频谱分析

场景

监测某频段内的信号活动,实时显示频谱图。

协作流程

  • 硬件配置
    :UHD设置USRP中心频率为2.4GHz,采样率为10MS/s;RFNoC加载包含FFT模块的流图,配置FFT点数为1024。
  • 信号处理
    :USRP射频前端接收2.4GHz频段信号,下变频至基带;数字信号通过RFNoC的Stream Endpoint进入FFT模块,完成频域转换;FFT结果通过CHDR数据包传输至主机。
  • 软件显示
    :PDS OS接收数据并绘制频谱图,实时更新信号强度。

优势

  • 低延迟:FFT在FPGA中并行处理,避免主机计算瓶颈。
  • 灵活性:通过修改RFNoC流图,可快速调整FFT点数或添加滤波器。

实例2:多通道数字接收机

场景

同时接收4路独立信号,进行解调与分析。

协作流程

  • 硬件配置
    :UHD初始化USRP的4个接收通道,设置不同中心频率;RFNoC构建包含4个独立处理分支的流图,每个分支包含下变频、滤波和采样率转换模块。
  • 信号处理
    :每个通道的信号独立进入RFNoC网络,完成预处理;处理后的数据通过PCIe接口(Transport Adapter)并行传输至主机。
  • 软件解调
    :PDS OS对4路数据分别进行解调(如FM、QPSK),并显示波形。

优势

  • 多通道并行:RFNoC的路由策略支持数据面电路交换,确保各通道数据独立传输。
  • 资源优化:共享FPGA资源(如Routers、Stream Endpoint),降低硬件成本。

实例3:动态可重构流图

场景

根据信号特征动态切换处理算法(如从FFT切换至滤波器)。

协作流程

  • 初始配置
    :RFNoC加载默认流图(含FFT模块),UHD启动数据传输。
  • 动态重配
    :主机检测到特定信号特征(如突发干扰),通过UHD向RFNoC发送控制命令;RFNoC在运行时重新配置流图,替换FFT模块为自适应滤波器。
  • 继续处理
    :新数据通过更新后的流图处理,抑制干扰信号。

优势

  • 实时响应:无需重启硬件,通过控制面(Control Plane)快速调整处理逻辑。
  • 适应性强:适用于复杂电磁环境下的动态信号处理需求。

第八部分:USRP UHD硬件初始化全流程

环境准备与依赖项

系统依赖项安装

USRP UHD支持Linux、Windows和macOS,但推荐使用Linux(如Ubuntu 20.04+)以获得最佳兼容性。需安装以下依赖:

  • 编译工具链:cmake、build-essential、libboost-all-dev
  • 驱动支持:libusb-1.0-0-dev(用于USB设备通信)
  • Python绑定:python3-numpy、python3-mako(生成FPGA配置文件)
# 获取UHD源码
git clone https://github.com/EttusResearch/uhd.git

硬件连接验证

  • 网络设备
    :X300/X310系列需通过以太网连接,默认IP为192.168.10.2;N310系列支持10GbE高速接口。
  • USB设备
    :B210/B200系列通过USB 3.0连接,需在BIOS中禁用USB节能模式以避免数据丢失。
  • 嵌入式设备
    :E310/E312系列内置CPU,可独立运行,需通过SSH或串口进行初始化配置。

设备发现与初始化

设备识别

使用uhd_find_devices工具扫描网络或USB总线,输出设备信息:

[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.5.0
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address: type=x300, addr=192.168.10.2, serial=3147FBE

常见问题:若设备未被识别,需检查网络防火墙设置(关闭UDP端口1234屏蔽)或USB线缆质量。

创建设备对象

在C++/Python代码中通过uhd::usrp::MultiUSRP类实例化设备对象:

// C++示例
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make("addr=192.168.10.2");
# Python示例
import uhd
usrp = uhd.usrp.MultiUSRP("addr=192.168.10.2")

核心参数配置

射频前端设置

  • 中心频率
    :通过set_rx_freq()或set_tx_freq()设置,需考虑子板带宽限制(如B210支持70MHz–6GHz)。
  • 增益控制
    :分接收增益(set_rx_gain())和发射增益(set_tx_gain()),建议从低增益逐步增加以避免信号失真。
  • 天线选择
    :通过set_antenna()指定天线端口(如TX/RX、RX2)。

采样率与带宽

  • 采样率
    :需满足奈奎斯特准则,且为子板ADC/DAC速率的整数分频(如X310支持100MS/s最大采样率)。
  • 带宽
    :通过set_rx_bandwidth()或set_tx_bandwidth()设置,影响信道选择性。

时钟同步

  • 多设备同步
    :通过共享10MHz参考时钟和PPS信号实现相位对齐,适用于MIMO系统:
usrp->set_clock_source("external"); // 使用外部时钟
usrp->set_time_source("external"); // 使用外部PPS
  • 单设备同步
    :默认使用内部时钟,需通过set_time_next_pps()校准时间戳。

FPGA与固件加载

默认镜像加载

UHD自动加载与硬件型号匹配的FPGA镜像(如x310_fpga_RGNX.bit),包含数字下变频(DDC)、上变频(DUC)等模块。

自定义镜像

通过uhd_image_loader工具烧录修改后的FPGA镜像,支持RFNoC架构扩展。

固件升级

嵌入式设备(如E310)需通过uhd_images_downloader工具下载最新固件,确保功能兼容性。

信号路径建立与测试

流配置

创建数据流对象(rx_streamer/tx_streamer),指定数据格式(如fc32复数浮点)和线程优先级:

uhd::stream_args_t stream_args("fc32", "sc16"); // 复数浮点输入,16位短整型输出
stream_args.channels = {0}; // 使用通道0
auto rx_stream = usrp->get_rx_stream(stream_args);

收发测试

接收测试:调用recv()方法接收数据,并检查时间戳连续性:

metadata = uhd.types.RXMetadata()
samples = usrp.recv(num_samps=1024, metadata=metadata)
print(f"Received {len(samples)} samples at timestamp {metadata.time_spec}")

发射测试:生成测试信号(如正弦波)并通过send()方法发送:

std::vector> buff(1024, std::complex(1.0, 0.0)); // 正弦波
usrp->get_tx_stream(stream_args)->send(buff, metadata);

性能优化与调试

缓冲区配置

  • DMA缓冲区大小:通过set_rx_num_samps()调整,避免数据溢出(如设置为4096)。
  • 多线程采样:分离控制线程与数据线程,使用双缓冲技术减少等待时间。

NUMA优化

在多核处理器上,将USRP处理线程绑定到同一NUMA节点的CPU核心,减少内存访问延迟:

import os
os.sched_setaffinity(0, {0}) # 绑定线程到CPU核心0

日志与调试

  • 启用UHD日志输出:UHD_LOG_LEVEL=trace
  • 使用uhd_benchmark_rate.py测试实际吞吐量,验证采样率是否达标。

USRP UHD的硬件初始化是一个涉及硬件识别、参数配置、信号路径建立和性能调优的系统工程。通过遵循上述步骤,开发者可快速搭建稳定的SDR平台,为后续的频谱分析、通信协议开发等应用奠定基础。实际开发中,建议结合UHD官方文档与社区案例(如PDS OS集成),深入探索高级功能(如RFNoC自定义IP核开发)。

第九部分:结语与展望

RFNoC的技术价值

RFNoC作为软件无线电领域的一颗新星,正以其独特的异构框架设计和强大的处理能力引领着SDR技术的发展潮流。通过与USRP UHD的紧密协作,RFNoC实现了从硬件到软件的完整信号处理流程,为SDR应用的开发提供了强有力的支持。

未来发展方向

随着5G/6G、卫星通信等技术的发展,RFNoC有望成为SDR开发的标准范式,推动无线通信技术的创新突破。未来,我们可以期待RFNoC在以下方面的进一步发展:

  • 更高效的数据流处理算法
  • 更灵活的动态重构能力
  • 更广泛的硬件平台支持
  • 更完善的软件工具链

应用前景

无论是对于专业的通信工程师还是对于热爱SDR技术的爱好者来说,RFNoC都提供了一个值得探索和学习的平台。其应用场景涵盖了从学术研究到工业应用的各个领域,包括频谱监测、通信系统开发、雷达信号处理等。

延伸阅读

  • 《RFNoC框架详解:从架构到开发实战》
  • 《USRP UHD驱动原理与优化技巧》
  • 《软件无线电与RFNoC的集成开发指南》

以上就是对RFNoC的全面解析,希望这篇文档能够帮助您更好地理解这一前沿技术,并在SDR开发中发挥其最大价值。

RFNoC技术深度解析 © 2024

探索PDS OS 软件无线电与硬件深度融合的异构框架

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-04 21:40:42 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/712764.html
  2. 运行时间 : 0.181838s [ 吞吐率:5.50req/s ] 内存消耗:4,808.48kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=be3c13087903a9ae814c25f595f443cc
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001108s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001441s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000747s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000670s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001339s ]
  6. SELECT * FROM `set` [ RunTime:0.000607s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001535s ]
  8. SELECT * FROM `article` WHERE `id` = 712764 LIMIT 1 [ RunTime:0.001368s ]
  9. UPDATE `article` SET `lasttime` = 1780580442 WHERE `id` = 712764 [ RunTime:0.033220s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.005871s ]
  11. SELECT * FROM `article` WHERE `id` < 712764 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001443s ]
  12. SELECT * FROM `article` WHERE `id` > 712764 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.009789s ]
  13. SELECT * FROM `article` WHERE `id` < 712764 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002317s ]
  14. SELECT * FROM `article` WHERE `id` < 712764 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007320s ]
  15. SELECT * FROM `article` WHERE `id` < 712764 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.021602s ]
0.183644s