当前位置: 首页 > news >正文

基于树莓派Pico 2与SiPM的DIY伽马能谱仪:从原理到实践

1. 项目概述:用树莓派Pico 2打造你的个人伽马能谱仪

如果你对核物理、环境监测或者仅仅是电子DIY感兴趣,那么自己动手制作一台伽马能谱仪绝对是一个令人兴奋的挑战。传统的DIY能谱仪方案,比如利用电脑声卡采集信号的“Theremino”项目,往往需要依赖外部高压电源、笨重的光电倍增管(PMT)和一台完整的电脑。这不仅让设备变得庞大、复杂,还存在高压操作的安全隐患。今天要分享的这个项目,彻底颠覆了这种模式。它基于一块小巧的自制PCB、一颗树莓派Pico 2微控制器、一个闪烁体(通常是碘化钠)和一个硅光电倍增管(SiPM),将所有必要的信号处理和能谱分析功能都集成在了一块板子上。这意味着,你得到的是一台真正意义上的“一体化”伽马能谱仪,无需任何外部部件,仅用一根USB线供电就能独立工作并保存数据。

这个项目的核心优势在于其极简与安全的设计哲学。用SiPM替代传统的PMT是关键一步。SiPM工作在几十伏的低压下,彻底告别了动辄上千伏的危险高压,使得整个装置的安全性大大提升,尺寸也得以大幅缩小。树莓派Pico 2作为主控,不仅价格低廉,其双核处理器、高性能ADC和充足的存储空间,完全足以胜任实时脉冲处理和多道分析器(MCA)的任务。你可以通过Arduino IDE轻松编程,甚至直接拖拽固件文件进行更新,门槛非常低。无论是想测量环境本底辐射,鉴别放射性矿物,还是作为教学演示工具,这个开源项目都提供了一个绝佳的起点。接下来,我将从设计思路、硬件解析、软件实现到实操调试,为你完整拆解如何复现这台精巧的设备。

2. 核心硬件设计与选型解析

2.1 主控芯片:为何选择树莓派Pico 2?

在众多微控制器中选定树莓派Pico 2,是经过深思熟虑的。首先,性价比是决定性因素。Pico 2的价格极具竞争力,但性能却毫不含糊:RP2350双核ARM Cortex-M33处理器,主频高达200MHz以上,为实时处理高速脉冲提供了充足的算力。其次,其模拟数字转换器(ADC)质量上乘。Pico 2的ADC具有12位分辨率,在项目中通过过采样等技术,等效实现了高达4096道的分析能力。内置的3V电压基准源,为ADC提供了稳定的参考,这是获得精确能谱的基础,省去了外接精密基准源的成本和复杂度。

最后,开发生态的友好性不容忽视。虽然Pico原生支持MicroPython和C/C++ SDK,但项目选择了兼容Arduino IDE的路径。这极大地降低了学习曲线,让熟悉Arduino的爱好者能够快速上手。通过USB线即可完成编程和调试,同时USB接口也承担了供电和数据通信(串口)的双重职责,进一步简化了系统连接。这种“一块板子解决所有问题”的思路,贯穿了整个硬件设计。

2.2 探测核心:SiPM与闪烁体的搭配艺术

探测器的核心是将不可见的伽马光子转换成可测量电信号的部分,这里采用了“闪烁体 + SiPM”的方案。

闪烁体,通常选用掺铊的碘化钠晶体(NaI(Tl))。当伽马射线进入晶体时,会与物质相互作用(主要是光电效应、康普顿散射),损失能量并激发晶体中的原子,退激时便会发出可见光光子(波长约415nm的蓝光)。NaI(Tl)因其光输出高、能量线性好,是伽马能谱测量的经典选择。晶体尺寸越大,探测效率越高,但成本和体积也相应增加。对于DIY项目,Φ20mm x 20mm左右的小晶体是平衡性能与成本的常见选择。

硅光电倍增管(SiPM)是本项目的亮点。它是一个由成百上千个“微单元”组成的半导体器件,每个微单元都是一个工作在盖革模式下的雪崩光电二极管(APD)。当有光子击中时,对应的微单元会产生一个雪崩电流,所有微单元的电流汇总起来,就形成了一个与入射光子数成正比的宏观电信号。相比于需要上千伏高压、体积庞大且易碎的PMT,SiPM只需27.5V至33.8V的工作电压,体积小巧如一个芯片,抗震动性强,且对磁场不敏感。选择SiPM时,需要关注其光子探测效率(PDE)与闪烁体发光波长的匹配度,以及增益暗计数率。通常,针对NaI(Tl)的蓝光,选择PDE在蓝光波段较高的SiPM型号(如来自Onsemi、Hamamatsu的特定型号)。

注意:SiPM对温度非常敏感,其增益和暗噪声会随温度变化而漂移。在精密能谱测量中,可能需要考虑温度补偿电路或进行定期能量刻度校准。对于一般应用,在室温稳定环境下工作即可。

2.3 定制PCB:一体化设计的关键

项目的所有电子部分都集成在了一块120mm x 50mm的定制PCB上。这块板子可以清晰地划分为几个功能区:

  1. 电源管理区:负责从USB的5V输入,生成系统所需的各路电压。最核心的是为SiPM提供可调的27.5-33.8V偏置电压的升压电路。该电路通常基于一个开关稳压器芯片,通过精密电阻分压反馈来稳定输出电压。板上还会包含为Pico和运放供电的3.3V/5V LDO线性稳压器,确保模拟电路的纯净。
  2. 前端模拟电路区:这是信号的“起跑线”。SiPM输出的电流脉冲信号非常微弱(纳安到微安级)且快速(纳秒级)。首先会经过一个跨阻放大器(TIA),将电流脉冲转换为电压脉冲。TIA的设计至关重要,其反馈电阻和电容决定了增益和带宽,需要与SiPM的输出特性匹配,以保持信号形状并实现低噪声放大。随后,信号可能再经过一级或两级电压放大器进行整形和放大,以达到Pico的ADC最佳输入范围(0-3V)。
  3. 数字处理与接口区:以Pico 2为中心,其ADC引脚连接前端放大后的信号。板载的闪存用于存储能谱数据。此外,PCB还贴心地将多余的I/O口通过排针引出,包括I2C、SPI、UART,方便用户外接OLED显示屏、MicroSD卡模块、GPS模块等,极大地扩展了设备功能。一个简单的蜂鸣器也被集成,用于在“盖革模式”下提供 audible 的计数率反馈。
  4. 机械与布局:PCB布局严格遵循了模拟与数字分离的原则,模拟地(AGND)与数字地(DGND)在一点连接,防止数字噪声串扰微弱的前端模拟信号。SiPM和闪烁体安装区域(额外的49.5mm x 50mm空间)被单独规划,便于光密封结构的安装。

所有设计文件(原理图、PCB布局、Gerber文件)均在GitHub仓库开源,你可以使用EasyEDA直接导入查看或修改,也可以直接将Gerber文件发给PCB制造商进行打样。

3. 固件原理与软件实现详解

3.1 信号处理流程:从脉冲到能谱

当伽马射线被探测到时,硬件电路会输出一个电压脉冲。固件的核心任务就是实时捕获、分析这些脉冲,并将其归类到对应的能量道址中,最终形成能谱。整个过程需要在微秒级内完成,对代码效率要求极高。

  1. 脉冲检测:固件持续采样ADC。通常采用阈值触发方式。设置一个略高于噪声水平的电压阈值,当ADC读数超过该阈值时,判定为一个有效脉冲的开始。为了提高抗噪声能力,可以采用“持续多个采样点超过阈值”才触发的逻辑。
  2. 峰值保持与能量提取:触发后,固件会记录接下来一段时间内ADC读数的最大值,这个最大值就代表了该脉冲的幅度,与伽马射线的能量成正比。这就是“峰值保持”算法。为了精确捕获峰值,ADC的采样率必须足够高(Pico的ADC在过采样模式下可以满足要求)。
  3. 死时间处理:在处理一个脉冲时,系统无法处理下一个脉冲,这段时间称为“死时间”。本项目有两种模式:“能量模式”下,需要进行完整的峰值采集和数据处理,死时间约10微秒;“盖革模式”下,仅进行计数,死时间可缩短至约1微秒。固件会记录死时间,并在计算计数率时进行校正,这对于活度定量测量非常重要。
  4. 多道分析(MCA):提取出的脉冲幅度(一个0-4095之间的数字)被用作“道址”。固件中维护一个包含4096个元素的数组作为能谱存储器。每个脉冲到来,就在对应道址的计数上加一。例如,一个Cs-137源发出的662keV伽马射线,经过系统校准后,可能会稳定地落在第2500道左右。长时间累积后,就能看到在2500道处出现一个明显的峰。
  5. 数据存储与输出:累积的能谱数据可以定期保存到Pico的内部闪存中。通过USB虚拟的串口(Serial-over-USB),用户可以实时读取能谱数据、计数率,或向设备发送命令(如开始/停止测量、调整SiPM偏压等)。

3.2 关键代码模块剖析

固件采用模块化设计,主要包含以下部分:

  • ADC驱动与采样:配置Pico的ADC以最高效的方式工作。可能使用硬件FIFO和DMA(直接存储器访问)来搬运采样数据,以减轻CPU负担,确保不丢失高速脉冲。
  • 脉冲处理算法:这是核心算法模块。一个高效的状态机是实现实时处理的关键。状态机可能包含IDLE(等待)、TRIGGERED(已触发)、SAMPLING(采样峰值)、PROCESSING(处理数据)等状态。
    // 简化的脉冲处理状态机逻辑示意 enum PulseState { IDLE, FOUND_PEAK, MEASURING }; PulseState state = IDLE; uint16_t currentPulseHeight = 0; void processADC(uint16_t adcValue) { switch(state) { case IDLE: if (adcValue > TRIGGER_THRESHOLD) { state = FOUND_PEAK; currentPulseHeight = adcValue; } break; case FOUND_PEAK: // 继续寻找峰值 if (adcValue > currentPulseHeight) { currentPulseHeight = adcValue; } else if (adcValue < currentPulseHeight - FALL_DELTA) { // 信号开始下降,认为峰值已过 spectrum[currentPulseHeight]++; // 能谱加一 state = IDLE; // 此处可插入死时间等待 } break; } }
  • 能谱管理:管理4096道的数组,提供能谱清零、读取、设置等功能。考虑到长时间测量可能溢出,计数变量应使用32位无符号整数(uint32_t)。
  • 命令解释器:解析通过串口接收到的ASCII命令,例如“SPECTRUM”返回能谱,“HV 300”设置偏压为30.0V等。
  • 文件系统(如果使用内部Flash存储):实现一个简单的磨损均衡的日志系统,将能谱数据以文本或二进制格式保存。

3.3 能量刻度与分辨率优化

原始的“道址”只是ADC的读数,需要将其转换为标准的能量单位(keV),这个过程称为能量刻度。

  1. 刻度方法:你需要至少两个已知能量的放射源,最常用的是Cs-137(662 keV)Co-60(1173 keV和1332 keV)。分别测量这些源,记录下特征峰所在的道址。假设测得Cs-137峰在道址Ch_Cs,Co-60的1332 keV峰在道址Ch_Co
  2. 拟合刻度曲线:在大多数情况下,道址与能量之间存在良好的线性关系。可以使用线性拟合公式:Energy(keV) = a * Channel + b。通过两个已知点解出斜率a和截距b
    a = (E_Co - E_Cs) / (Ch_Co - Ch_Cs) b = E_Cs - a * Ch_Cs
    ab存入固件,后续测量到的任何道址都可以通过此公式换算成能量。
  3. 能量分辨率:分辨率是衡量能谱仪区分两个靠近能量峰能力的关键指标,通常用某个特征峰(如Cs-137的662 keV峰)的半高宽(FWHM)与峰位能量的百分比来表示。项目提到可达7% @ 662 keV。分辨率主要受限于:
    • 闪烁体:NaI(Tl)晶体的自身分辨率。
    • SiPM:光子探测效率、噪声、单元一致性。
    • 电子学噪声:前端放大电路的噪声。
    • 光学耦合:闪烁体与SiPM之间耦合剂的透明度和均匀性。 优化分辨率需要从以上几点入手:选择高质量晶体和SiPM;精心设计低噪声前放;确保光学耦合良好(使用高折射率硅油,排除气泡)。

4. 组装、校准与实测全流程

4.1 硬件组装步骤与要点

  1. PCB焊接:首先焊接除SiPM和连接器之外的所有元件。建议使用恒温烙铁,并注意静电防护(ESD),尤其是焊接运放等敏感芯片时。先焊接高度低的元件(电阻、电容、芯片座),再焊接高的元件(电解电容、接插件)。电源部分焊接完成后,可以先上电测试各路输出电压(SiPM高压先不接负载)是否正常。
  2. SiPM安装与光耦合:这是最需要耐心和技巧的一步。SiPM非常静电敏感,操作时务必佩戴防静电手环。在PCB的SiPM预留位置上涂抹少量导电胶或焊锡膏,然后将SiPM小心对齐焊盘,用热风枪或预热台以合适的温度曲线焊接。绝对避免直接用烙铁头长时间接触SiPM。 焊接好后,进行光耦合。在SiPM感光面和闪烁体的一端均匀涂上一层光学硅脂(折射率匹配液)。然后将闪烁体轻轻压上,并缓慢旋转以挤出气泡,确保耦合层均匀且无气泡。最后,使用不透光的材料(如黑色电工胶带、铝箔)将闪烁体和SiPM紧密包裹起来,隔绝一切外界光线。任何漏光都会导致巨大的噪声。
  3. 整体装配:将焊接好的主板、电池(如果需要移动使用)、以及包裹好的探测器部分,安装到一个合适的屏蔽盒中。盒子最好使用金属(如铝)材质,并良好接地,以屏蔽外部电磁干扰。为USB口、蜂鸣器、扩展接口等开出孔位。

4.2 固件烧录与初次上电

  1. 环境搭建:在电脑上安装Arduino IDE。你需要添加对树莓派Pico 2的支持。通常可以通过Arduino的“开发板管理器”添加相应的板卡支持包(例如,由社区维护的“Raspberry Pi Pico/RP2040”包)。
  2. 获取并编译代码:从项目的GitHub仓库克隆或下载最新固件源代码。用Arduino IDE打开主工程文件(通常是.ino文件)。在“工具”菜单中正确选择开发板为“Raspberry Pi Pico 2”,并选择正确的端口。
  3. 烧录:按住Pico 2板上的“BOOTSEL”按钮,然后插入USB线,将其进入USB大容量存储模式。在Arduino IDE中点击上传,IDE会自动编译并将.uf2文件拖入出现的Pico盘符中。烧录完成后,Pico会自动重启运行新固件。
  4. 初次测试:打开串口监视器(波特率通常为115200)。上电后,设备可能会打印启动信息、当前固件版本、本底计数率等。用一根USB线连接设备和电脑,设备应能正常工作。你可以尝试发送“RATE”命令查看实时计数率,应该能看到高于纯电子学噪声的本底计数(每分钟几十到上百次,取决于环境和探测器大小)。

4.3 能量刻度实操与标准源使用

安全第一:操作放射源必须遵守当地法规,佩戴个人剂量计,在指定区域操作,并使用镊子等工具,避免用手直接接触源。用完立即放回铅罐。

  1. 准备标准源:获取一个Cs-137点源或面源。确保其活度适中(如37 kBq,即1微居里左右),既能有足够的计数率缩短测量时间,又不会造成过高的辐射剂量。
  2. 测量本底能谱:在远离放射源的环境中,采集一段时间的能谱(例如10-30分钟),保存为“本底谱”。后续测量标准源时,可以减去本底,以获得更干净的净谱。
  3. 测量Cs-137能谱:将Cs-137源放置在探测器前方固定距离(例如5-10厘米),采集足够长时间的能谱,直到662 keV光电峰清晰可见(峰下计数足够多,峰形光滑)。记录下这个峰位所在的道址Ch_Cs
  4. (可选)测量Co-60能谱:如果有Co-60源,重复步骤3,记录下1173 keV和1332 keV两个峰的道址。通常使用更高的1332 keV峰进行刻度更准确。
  5. 计算刻度系数:如果你只有Cs-137源,可以假设零道对应0 keV,那么能量刻度就是简单的线性关系:Energy = 662 / Ch_Cs * Channel。如果你有Cs-137和Co-60,则用前面介绍的线性拟合公式计算ab
  6. 更新固件或软件刻度:将计算出的ab系数,通过串口命令写入设备的EEPROM(如果固件支持),或者在后期数据处理软件(如Python脚本)中进行换算。

4.4 性能测试与典型应用

完成刻度后,你的能谱仪就可以投入使用了。

  • 能量分辨率测试:测量Cs-137源的能谱,用软件(如ROOT, Origin, 甚至Excel)对662 keV峰进行高斯拟合。读取拟合出的标准差(σ),则半高宽FWHM = 2.355 * σ。分辨率 =FWHM / 662 keV * 100%。对比项目标称的7%,评估自己组装的效果。
  • 稳定性测试:长时间(如24小时)测量一个固定源,观察峰位道址的漂移情况。漂移主要来自SiPM增益的温度漂移。好的系统在恒温环境下,峰位漂移应小于1%。
  • 典型应用场景
    1. 环境监测:测量室内外、建材、食品等的本底辐射,了解环境辐射水平。
    2. 矿物鉴别:识别含铀、钍、钾的矿物(如铀矿、独居石、钾盐)。不同的核素具有特征伽马峰,如K-40的1460 keV峰。
    3. 教学演示:直观展示放射性衰变的统计性、指数衰减规律、不同物质的屏蔽效果等。

5. 常见问题排查与进阶技巧

5.1 硬件故障排查速查表

现象可能原因排查步骤与解决方案
上电无反应,USB无连接1. 电源短路。
2. Pico焊接不良或损坏。
3. 5V转3.3V LDO故障。
1. 断电,用万用表蜂鸣档检查5V与GND之间是否短路。
2. 检查USB接口、Pico的电源引脚(VSYS, 3V3_EN)电压是否正常(5V和3.3V)。
3. 重新焊接或更换Pico。
串口能连接,但无数据或乱码1. 波特率设置错误。
2. 固件未正常运行。
3. 串口引脚(UART)连接错误。
1. 确认Arduino IDE或串口工具波特率与固件设置一致(通常115200)。
2. 尝试重新烧录固件。
3. 检查PCB上UART到USB芯片的连接。
本底计数率异常高1.光泄露!(最常见)
2. SiPM偏压过高。
3. 前端电路自激或噪声大。
1.重点检查:在完全黑暗环境中,用黑色胶带密封所有可能漏光缝隙。探测器部分应完全不见光。
2. 通过串口命令逐步降低SiPM偏压,观察计数率变化,找到最佳工作点(拐点附近)。
3. 用示波器观察前置放大器输出,看是否有高频振荡。检查运放电源去耦电容。
能谱上无峰,只有连续分布1. 信号幅度太小,未超过触发阈值。
2. 能量刻度严重错误。
3. 闪烁体或SiPM损坏。
1. 用示波器探头(高阻)测量TIA输出,用放射源靠近,看是否有脉冲信号。调整固件中的触发阈值。
2. 重新进行能量刻度操作。
3. 检查SiPM是否有物理损坏,闪烁体是否破裂。
能量分辨率很差(峰很宽)1. 光学耦合不良,有气泡。
2. SiPM与闪烁体匹配不佳(PDE低)。
3. 电子学噪声大。
4. 电源噪声。
1. 重新进行光学耦合,务必排除气泡。
2. 确认所用SiPM型号是否适用于NaI(Tl)的蓝光。
3. 检查前端运放电路,使用低噪声运放,优化布局布线。
4. 为模拟电路部分使用更干净的线性稳压电源,加大电源滤波电容。

5.2 软件与调试技巧

  • 优化死时间校正:对于高计数率测量,死时间校正至关重要。固件中实现的死时间模型(如 paralyzable 或 non-paralyzable)需要准确。可以通过测量两个已知活度且死时间可忽略的弱源,然后同时测量它们,对比计数率来验证校正算法的准确性。
  • 扩展存储与显示:板载的I2C接口可以轻松连接一个0.96英寸的OLED显示屏(SSD1306驱动),实时显示计数率、能谱简图或电池电量。通过SPI接口连接一个MicroSD卡模块,可以实现海量能谱数据的离线存储。
  • 利用内置真随机数发生器(TRNG):Pico 2的硬件TRNG是一个有趣的功能。在高计数率下,放射性衰变事件的间隔本身具有随机性。你可以编写代码,将脉冲到达的时间间隔作为熵源,与硬件TRNG结合,生成质量更高的随机数,用于加密或模拟实验。
  • Python上位机开发:虽然设备可以独立工作,但一个功能强大的上位机软件能极大提升体验。你可以用Python的pyserial库读取串口数据,用matplotlib实时绘制能谱曲线,用scipy进行峰拟合和能量刻度计算,甚至开发自动核素识别功能。

5.3 安全与伦理注意事项

重要提示:放射性测量涉及电离辐射,安全永远是第一位的。

  1. 辐射防护:遵循ALARA原则(尽可能低)。尽量缩短接触时间,增大与源的距离,必要时使用铅屏蔽。永远不要将放射源对准自己或他人。
  2. 源的管理:购买、持有和使用放射源必须符合国家法律法规。通常需要向相关监管部门申请许可。对于DIY爱好者,强烈建议使用豁免源(活度低于国家规定豁免水平的源,如一些旧的烟雾探测器中的镅-241源),或在专业机构指导下使用标准源。
  3. 设备用途:本设备为教育和科研目的设计。请勿将其用于非法或可能引起公众恐慌的监测活动。测量结果应理性解读,环境本底辐射是正常现象,远低于有害剂量。
  4. 静电与电气安全:SiPM对静电放电极其敏感。整个组装和操作过程需做好防静电措施。虽然工作电压低于36V安全特低电压(SELV),但SiPM偏压电路输出端仍可能存储电荷,调试时避免短路。

组装调试这样一台设备的过程,本身就是一次对核探测技术、模拟电路、嵌入式编程和数据处理的全方位学习。从看到第一个微弱的脉冲信号,到屏幕上清晰地显示出特征能量峰,那种成就感是无可比拟的。这个开源项目提供了一个极其优秀的平台,你不仅可以按图索骥完成复现,更可以在此基础上进行魔改:比如尝试不同的闪烁体(塑料闪烁体用于测β,溴化镧晶体用于高分辨率),增加GPS模块制作移动测绘仪,或者利用机器学习算法在边缘端实现简单的核素识别。硬件的边界和软件的可能性,都等待着你来探索。

http://www.jsqmd.com/news/888623/

相关文章:

  • 使用高斯混合模型对鸢尾花数据集进行聚类分析
  • MCP协议入门:构建AI智能体标准化工具扩展的完整指南
  • C#中is运算符的正确用法
  • 2026年淮南市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • 如何选择适合的光谱仪?专家教你三步选型法
  • AI动态简报之技术前沿篇(2026.05.25)
  • 无损音视频编辑工具 LosslessCut,收获40.3k Star
  • 树莓派零代码实现物理开关机:设备树覆盖与MOS管电路详解
  • 2026年黄冈市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • AI驱动Laravel包开发:多智能体协作提升代码质量与效率
  • JS混淆不是加密:Python爬虫逆向还原实战指南
  • 惊了!输入主题,这几款AI论文软件直接生成结构完整的毕业论文
  • 【开发日记】——在线程中使用容器崩溃问题
  • 【PolarCTF】审计
  • Rune:用Rust构建原生AI运行时,解决模型部署碎片化难题
  • 打破国外垄断,对标国际顶尖水平——国产七位半数字多用表AMC93200的技术突围之路
  • RAG接入不是终点:企业AI助手答不准,断点通常在这几层
  • 山东亚克力板材打印新趋势:从加工到品牌赋能
  • 基于Cloudflare Workers的无服务器AI图片生成应用架构实践
  • ps去除图片中文字
  • 2026年黄山市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • Excel簇状柱形图实战指南:掌握对比、分组与可读性核心逻辑
  • 自动剪辑哪个更省事?5款实测对比不翻车:日更矩阵如何批量混剪不撞车
  • Unity 6入门本质:游戏引擎是实时交互操作系统
  • S3 Files深度解析:对象存储与文件系统的桥梁,AI/ML数据工作流新范式
  • SM2850P输出5V紧凑型离线式、无电感交流输入线性稳压器芯片解析
  • Unity性能优化小技巧:获取物体Size时,小心Renderer.bounds的隐藏开销
  • Unity UGUI Mask真机失效原因与Stencil Buffer修复指南
  • Kali Linux WSL 从零安装 XFCE4 桌面完整指南
  • 最推荐五常大米源头怎么煮