【黑金云课堂】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系统移植、驱动编写、应用开发
相关推荐
摇滚侠9 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush49 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52010 小时前
Linux 11 动态监控指令top
linux
坏孩子的诺亚方舟10 小时前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
不会C语言的男孩11 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈11 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫12 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_9618752413 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj13 小时前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
lsyeei13 小时前
linux 系统目录详解
linux·运维·服务器