【黑金云课堂】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.0USB4 2.0(速率 1.5Mbps80Gbps)
  • 接口类型 :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 启动系统

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分