当前位置:首页>Linux>Linux音频三部曲(1):嵌入式 Linux 音频基础与硬件体系

Linux音频三部曲(1):嵌入式 Linux 音频基础与硬件体系

  • 2026-07-01 14:50:54
Linux音频三部曲(1):嵌入式 Linux 音频基础与硬件体系

本文基于 Bootlin 文档,内容覆盖音频物理原理、数字化标准、嵌入式音频硬件架构、Codec 工作机制、数字音频接口、时钟系统、辅助外设等体系,梳理嵌入式音频从模拟信号到数字传输的完整链路。

一、 嵌入式 Linux 音频开发的工程定位

嵌入式 Linux 音频开发区别于 PC 音频体系,核心特征为硬件模块化、组件可复用、低功耗约束、接口多样化。嵌入式场景中,音频硬件由 SoC、Codec、功放、连接器、时钟源等独立组件组合而成,不同硬件平台的接口、时钟、路由存在差异,需要一套标准化的软件架构适配硬件组合,这也是 Linux 内核中 ASoC(ALSA System on Chip)子系统产生的背景。

嵌入式音频广泛应用于车载设备、工业终端、智能家居、可穿戴设备、多媒体播放器等场景,系统需同时支持播放(Playback)与采集(Capture)功能,部分场景要求多通道、低延迟、高保真、动态电源管理。开发流程遵循从硬件原理到数字化规范,再到硬件架构设计,最终对接软件驱动的逻辑,本文关注硬件与数字化基础,不涉及软件驱动实现。

二、声音的物理特性与数字化原理

2.1 声音的物理本质

声音由物体振动产生,振动在介质中形成波动并传播。人类通过耳膜接收声波振动,将机械信号转换为神经信号传递至大脑,形成听觉感知。声波在空气与水中以纵波形式传播,表现为介质的压缩与稀疏;在固体中以横波形式传播,工程上通常使用正弦波简化表示声波形态。

声波包含两个核心物理参数:频率与振幅。频率单位为赫兹(Hz),对应声音的音调,频率越高音调越高;振幅单位为分贝(dB),对应声音的响度,振幅越大响度越高。自然声音由不同频率、不同振幅的波形叠加而成,叠加结果决定声音的音色与音质。

人耳可感知的频率范围约为 20Hz 至 20kHz,超出此范围的声波分别为次声波与超声波,不用于常规音频系统。嵌入式音频系统的设计指标以人耳感知范围为基础,确定采样率、频率响应、动态范围等参数。

2.2 音频数字化的核心流程

模拟声波是连续曲线,包含无限个数据点,无法直接由数字系统处理,需通过采样、量化、编码转换为数字信号,该过程称为音频数字化。数字化的核心操作是在连续波形上按固定时间间隔采集幅度值,单次采集结果称为采样(Sample)。

数字化过程包含三个关键参数:采样率、采样位深、采样格式。三项参数共同决定数字音频的还原精度、数据量与系统资源占用。

2.2.1 采样率与奈奎斯特定理

采样率指每秒采集的采样数量,单位为 Hz。采样率直接决定信号还原精度,采样率过低会导致混叠(Aliasing),即采样后的信号无法还原原始模拟波形。奈奎斯特定理规定,采样率必须大于信号最高频率的 2 倍,才能实现无失真数字化。

针对人耳 20kHz 上限频率,理论最低采样率为 40kHz,实际工程中常用 44.1kHz(CD 标准)、48kHz(嵌入式与视频伴音标准)、96kHz(高保真场景)。部分专业音频设备使用 192kHz 采样率,适用于高动态范围场景。

2.2.2 采样位深

采样位深表示单个采样使用的二进制位数,决定音频的动态范围与信噪比。位深越高,可表示的幅度精度越高,噪声越低。嵌入式系统常用位深为 16bit 与 24bit,8bit 因动态范围过低已极少使用,32bit 多用于特定对齐需求场景。

采样值的表示范围以 0 为中心对称,归一化范围为 -1.0 至 1.0,对应硬件的电压范围。位深直接决定量化噪声水平,16bit 系统的理论动态范围约为 96dB,24bit 系统约为 144dB,满足绝大多数嵌入式场景需求。

2.2.3 采样格式

采样格式定义采样数据在内存与存储设备中的编码方式,包含符号类型、存储序、打包方式三类属性。

符号类型分为有符号整数、无符号整数、浮点数。嵌入式播放与采集主流使用有符号整数,浮点数多用于音频处理算法。

存储序分为小端序(Little-endian)与大端序(Big-endian),x86 与多数 ARM 平台使用小端序。

打包方式针对 24bit 采样,存在两种实现:3 字节紧凑打包、4 字节对齐打包(最高 8bit 忽略)。驱动与硬件需保持一致的打包规则,否则会出现数据解析错误。

2.3 线性脉冲编码调制(LPCM)

LPCM 是音频数字化的标准实现方式,直接按固定采样率、固定位深对模拟波形进行采样编码,不进行压缩处理。WAV 格式基于 RIFF 容器,封装 LPCM 数据,是嵌入式系统调试与测试的标准音频文件格式。

WAV 文件头部包含固定结构,前 4 字节为 RIFF 标识,5-8 字节为文件大小,9-12 字节为 WAVE 标识,后续为格式块与数据块。格式块中记录音频格式、通道数、采样率、字节率、位深等参数,数据块存储 LPCM 采样数据。驱动初始化时需解析 WAV 头部参数,匹配硬件支持的格式与采样率。

三、嵌入式音频硬件整体架构

3.1 硬件组成与信号流向

嵌入式音频硬件为模块化架构,标准组成包括:SoC 主芯片、Codec 芯片、功率放大器、模拟连接器、数字音频接口(DAI)、配置接口、时钟源。

信号流向分为两路: 播放链路:SoC 内存数字信号 → DAI 传输 → Codec 数字转模拟(DAC) → 功率放大器 → 扬声器/耳机。 采集链路:麦克风/线路输入 → 模拟信号 → Codec 模拟转数字(ADC) → DAI 传输 → SoC 内存。

配置链路独立于音频信号,SoC 通过 I2C 或 SPI 接口配置 Codec 的寄存器,设置通道、增益、静音、格式、时钟等参数。

3.2 核心组件功能定义

3.2.1 SoC 音频部分

SoC 集成数字音频接口控制器(CPU DAI)、DMA 控制器、音频时钟生成模块。DAI 控制器负责数字信号的收发与时序控制,DMA 实现内存与 DAI 控制器之间的数据搬运,不占用 CPU 资源。部分 SoC 集成 Codec 与功放,如全志 A33、Microchip SAMA5D2,形成单芯片音频方案。

3.2.2 Codec 芯片

Codec 即编码解码器(Coder-Decoder),集成 ADC 与 DAC,实现模拟信号与数字信号的双向转换。Codec 包含数字音频接口、配置接口、模拟前端、电源管理模块,是音频硬件的核心组件。

3.2.3 功率放大器

功放位于 Codec 输出与扬声器之间,将低压模拟信号放大至驱动扬声器的功率等级。部分功放支持增益调节、使能控制、短路保护,由 GPIO 或 I2C 控制。

3.2.4 连接器与模拟器件

连接器包含耳机插孔、麦克风插孔、线路输入/输出接口。模拟器件包含电容、电阻、混音器、多路选择器、偏置电路,用于阻抗匹配、信号耦合、通道切换。

四、Codec 芯片工作原理

4.1 Codec 核心功能

Codec 的核心功能是完成 ADC 与 DAC 转换,同时提供通道控制、增益调节、静音、低功耗、时钟管理等附加功能。Codec 接收来自 DAI 的数字信号,经 DAC 转换为模拟电压信号输出;接收模拟输入信号,经 ADC 转换为数字信号通过 DAI 发送至 SoC。

Codec 必须由时钟驱动才能工作,时钟来源包括 SoC 输出、外部晶振、部分 Codec 支持从 BCLK 或 LRCLK 提取时钟。Codec 的配置接口多为 I2C,部分高速设备使用 SPI,配置操作包括寄存器读写、批量配置、上电初始化。

4.2 ADC 模块

ADC(模拟转数字)模块处理麦克风、线路输入等模拟信号,流程为:模拟信号输入 → 增益调节 → 抗混叠滤波 → 采样保持 → 量化编码 → 数字信号输出。ADC 支持单端与差分输入,差分输入可抑制共模噪声,提升采集质量。

4.3 DAC 模块

DAC(数字转模拟)模块处理来自 SoC 的数字信号,流程为:数字信号输入 → 插值滤波 → 数模转换 → 低通滤波 → 模拟信号输出。DAC 输出信号幅度较小,需经过功放驱动外放设备。

4.4 Codec 内部路由与电源管理

Codec 内部包含模拟混音器、数字混音器、多路选择器,支持输入通道切换、输出混音、音量衰减。电源管理模块支持模块独立上下电,配合软件 DAPM 实现动态功耗控制。Codec 通常提供麦克风偏置电压(MICBIAS),为驻极体麦克风供电。

五、数字音频接口(DAI)

5.1 DAI 接口定义

数字音频接口(DAI)是 SoC 与 Codec 之间传输数字音频信号的同步串行总线,所有信号由时钟同步,保证数据传输时序正确。DAI 包含三类时钟信号与两类数据信号,部分接口包含同步信号。

5.2 DAI 时钟信号

5.2.1 MCLK

MCLK 为系统主时钟,是 Codec 内部 PLL、ADC、DAC 的工作时钟,频率通常为采样率的 256 倍、384 倍或 512 倍。MCLK 可由 SoC 提供、外部晶振提供,部分 Codec 支持无 MCLK 工作,从 BCLK 提取时钟。

5.2.2 BCLK

BCLK 为位时钟,每一个周期传输一位数据,频率计算公式为: BCLK = 采样率 × 通道数 × 位深 例如 48kHz、2 通道、16bit 格式,BCLK 频率为 48000×2×16=1.536MHz。

5.2.3 WCLK/LRCLK

WCLK 为字时钟,也称帧时钟、左右通道时钟(LRCLK),频率等于采样率,用于切换左右通道传输。LRCLK 为低电平传输左通道,高电平传输右通道。

5.3 DAI 数据信号

数据信号分为发送(TXD/DOUT)与接收(RXD/DIN),TXD 为 SoC 输出至 Codec(播放),RXD 为 Codec 输出至 SoC(采集)。多通道 Codec 支持多组数据信号,如 4 通道设备使用 2 组数据信号线。

5.4 常用数字音频接口格式

嵌入式系统使用多种 DAI 格式,硬件与驱动必须配置为相同格式才能正常通信。

5.4.1 I2S 格式

I2S 是飞利浦定义的标准音频格式,LRCLK 切换后延迟 1 个 BCLK 周期传输数据,MSB 优先传输,是嵌入式系统最常用格式。

5.4.2 Left Justified(左对齐)

左对齐格式中,数据在 LRCLK 切换后立即传输,无延迟,MSB 与帧边沿对齐。

5.4.3 Right Justified(右对齐)

右对齐格式中,数据 LSB 与帧边沿对齐,适用于旧款 Codec 设备。

5.4.4 DSP A/DSP B 格式

DSP 格式为时分复用模式,LRCLK 为短脉冲信号,数据在脉冲后连续传输,适用于多通道传输。DSP A 与 DSP B 的区别为帧同步相位不同。

5.4.5 TDM 格式

TDM(Time Division Multiplexing)即时分多路复用,在一个帧周期内传输多个通道数据,常见为 4 通道、8 通道、16 通道。TDM 格式可减少硬件信号线数量,适用于多通道音频设备。单速率模式下每个通道占用 32 个 BCLK,双速率模式占用 16 个 BCLK。

5.4.6 AC-link 格式

AC-link 用于 AC97 标准,采用 TDM 时隙传输,时隙 0 为标签,后续 12 个时隙传输音频数据与控制命令,采样率固定为 48kHz,时钟频率 12.288MHz。

5.4.7 PDM 格式

PDM(脉冲密度调制)为单比特编码格式,每个通道包含时钟与数据信号,数据只有 0/1 两种状态,多用于微型数字麦克风,适用于空间受限设备。

5.4.8 S/PDIF 格式

S/PDIF 为消费类数字音频接口,单信号线传输,采用双相标记编码(BMC),传输立体声 PCM 数据,支持光纤与同轴传输,用于音频输出设备。

六、时钟系统与主从配置

6.1 时钟生产者与消费者

DAI 总线存在时钟主从关系,产生时钟的设备为生产者(Provider),接收时钟的为消费者(Consumer)。时钟分为位时钟生产者与帧时钟生产者,两者可由同一设备提供,也可分离。

嵌入式音频系统中,Codec 通常作为时钟生产者,原因是 Codec 内部集成高精度 PLL 与分频器,可从 MCLK 生成稳定的 BCLK 与 LRCLK。部分 SoC 集成专用音频 PLL,可作为时钟主设备。时钟主从配置错误会导致无声、噪声、采样率不匹配等问题。

6.2 时钟频率匹配原则

MCLK 频率必须为 BCLK 与 LRCLK 的整数倍,Codec 数据手册会明确标注支持的时钟比率。常见比率为: MCLK = 256 × Fs(采样率) MCLK = 384 × Fs MCLK = 512 × Fs

时钟频率不匹配会导致 PLL 无法锁定,出现丢数据、爆音、underflow/overflow 等异常。

6.3 时钟源选择

时钟源包括三类:SoC 音频时钟、外部晶振、Codec 内部时钟。外部晶振精度最高,适用于高保真场景;SoC 时钟可简化硬件,降低成本;Codec 内部时钟适用于低功耗设备。

七、辅助音频硬件

7.1 功率放大器

功放分为模拟功放与数字功放,模拟功放线性度好,数字功放效率高。嵌入式常用简单功放,由 GPIO 控制使能,无需 I2C 配置。高保真设备使用 I2C 可控功放,支持增益调节、静音、保护功能。

功放的连接位置为 Codec 模拟输出与扬声器之间,部分 Codec 集成功放,可直接驱动耳机。

7.2 模拟多路选择器与混音器

多路选择器用于切换模拟输入源,如麦克风、线路输入、蓝牙输入。混音器用于多路信号混合,适用于通话、音效叠加场景。模拟器件由 GPIO 或 Codec 寄存器控制。

7.3 麦克风偏置与输入电路

驻极体麦克风需要 1.5V-3V 偏置电压,由 Codec MICBIAS 引脚提供。输入电路包含滤波电容、限流电阻、ESD 保护器件,抑制电源噪声与静电干扰。

7.4 简单音频外设驱动支持

Linux 内核提供通用驱动支持简单音频外设: simple-amplifier:GPIO 控制功放驱动。 simple-mux:GPIO 控制模拟多路选择器驱动。 这类外设通过设备树配置,挂载到音频声卡,作为辅助组件工作。


八、总结

嵌入式 Linux 音频硬件体系以模拟信号数字化为基础,以 Codec 为核心,以同步串行 DAI 为传输通道,以时钟系统为时序保障,形成完整的音频采集与播放链路。开发人员需掌握声音物理特性、数字化参数、硬件架构、接口格式、时钟规则、辅助器件、设计约束与故障原因,才能完成硬件设计、驱动适配与系统调试。

最新文章

随机文章

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