【黑金云课堂】FPGA技术教程Linux开发:电压温度检测/USB/eMMC

一、电压温度 AD 检测(SYSMON/XADC)

核心模块

  • XADC:7 系列 / Zynq-7000 片上 ADC,12 位,监控芯片温度、核心电压,支持外部模拟采集。
  • SYSMON:UltraScale/UltraScale+(Zynq MPSoc)片上监控,分 PS SYSMON(仅 PS 监控)与 PL SYSMON(PL 监控 + 外部采集)。

Linux 读取方法

  • 路径:/sys/bus/iio/devices/iio:device0
  • 计算公式:
    • 温度:Temp = (temp_scale × (temp_raw + temp_offset)) / 1000
    • 电压:Vcc = vcc_scale × vcc_raw / 1000

开发流程

  1. Vivado:默认使能 SYSMON,导出 xsa
  2. Petalinux:配置设备树、使能自动登录与 bc 工具
  3. 制作脚本 ams_monitor.sh,在 Linux 下执行读取温度 / 电压

二、USB 接口

基础知识点

  • 协议版本:USB 1.0~USB4 2.0(速率 1.5Mbps~80Gbps)
  • 接口类型:Type-A/B、Mini/Micro、Type-C(全功能,支持 PD / 视频 / 雷电)
  • 四层协议:功能层 → 传输层 → 数据链路层 → 物理层

Linux 实操

  • Petalinux:配置 USB 为 OTG 模式,使能 gstreamer、usbutils、v4l2-utils
  • 测试模式
    • HOST :识别 U 盘(lsblk)、USB 摄像头(v4l2-ctl + gst-launch 预览)
    • SLAVE :虚拟 U 盘(g_mass_storage 驱动,Windows 可识别)

三、EMMC 读写

基础概念

EMMC 是板载嵌入式存储,集成闪存 + 控制器,支持 ECC、磨损均衡。

核心操作

分区与格式化
  • 查看:ls /dev/mmcblk*
  • 分区:fdisk /dev/mmcblk0
  • 格式化:mkfs.vfat / mkfs.ext4
  • 挂载:mount 手动挂载
独立启动 Linux
  • Petalinux 配置根文件系统与挂载点
  • 烧写 BOOT.BINimage.ubrootfs 到 eMMC
  • 切换启动拨码,从 eMMC 启动系统

💡 完整视频讲解可前往 ALINX 视频号进行直播回看

更多细节欢迎关注我们黑金云课堂全年免费直播课
黑金云课堂五月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!

系列 内容定位
Verilog开发 硬件描述语言基础、逻辑设计、仿真调试
Vitis开发 Zynq软硬件协同、外设驱动、网络协议栈
Linux开发 嵌入式Linux系统移植、驱动编写、应用开发
相关推荐
Molesidy4 小时前
【GUI】【AWTK】基于开阳平台的GUI界面设计环境搭建
linux·gui·awtk
RisunJan4 小时前
Linux命令-semanage(SELinux 策略管理)
linux·运维·服务器
流浪0014 小时前
Linux系统篇 21:文件(五)——动静态库、ELF 底层原理全解
linux·运维·服务器
Dawn-bit5 小时前
Linux救援模式和系统恢复
linux·运维·服务器·云计算·运维开发
十八岁牛爷爷5 小时前
Linux 进程与进程状态・三层级深度解析
linux·运维·服务器
Terasic友晶科技5 小时前
【教程】Agilex 5 SoC 的两种启动模式的开发演示(一)(FPGA Configuration First)
fpga开发·agilex 5 soc
ALINX技术博客5 小时前
【黑金云课堂】FPGA技术教程Vitis开发:SD卡WAV文件读取音频播放实验
fpga开发·音视频
不会就选b5 小时前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头1065 小时前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器