跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++算法

FPGA 温度采集系统设计:MAX6675 驱动与 Qt 上位机曲线绘制

FPGA 温度采集系统通过 MAX6675 传感器实现多通道数据采集,利用 Cyclone-IV 芯片进行 SPI 时序控制,将温度数据经串口传输至上位机。Qt 程序负责实时解析数据并绘制滚动曲线,支持数据存储与日志管理。系统采用整数运算避免浮点误差,采样频率稳定,适用于实验室验证及工业现场长期运行。

竹影清风发布于 2026/3/29更新于 2026/6/819 浏览
FPGA 温度采集系统设计:MAX6675 驱动与 Qt 上位机曲线绘制

FPGA 温度采集与 Qt 曲线绘制系统——功能全景解析

一、项目定位

'温度看得见'是整套系统的唯一目标。FPGA 端负责'采得准、传得快';PC 端负责'画得顺、存得久'。双端通过极简串口帧完成解耦,既能在实验室做验证,也可直接搬到工业现场长期运行。

二、系统架构

系统架构图如下:

┌──────────────┐ UART(TTL) ┌──────────────┐
│ Cyclone-IV   │←─────────→│ Qt Host      │
│ MAX6675×3    │ 115200-8-N-1│ Real-time    │
│ 50 MHz       │           │ Curve & Log  │
└──────────────┘           └──────────────┘
  1. 硬件层
  • 热电偶:K 型,0–1024 ℃,冷端补偿 MAX6675 内部完成。
  • FPGA:EP4CE10F17C8,6 位共阴数码管,3 片 MAX6675 分时挂同一组 SPI 总线。
  • 隔离:UART 经过 USB-TTL 转换器直连上位机,可选 5 kV 数字隔离器。
  1. 固件层
  • 时钟域:50 MHz → 1 MHz 驱动 SPI;1 MHz → 0.5 s 触发一次'三通道采样序列'。
  • 采样引擎:纯计数器生成片选与 SCK,无状态机,代码行数 < 200,综合后资源 < 1 %。
  • 数据帧:20 bit 温度包(16 bit 原始 + 4 bit 通道 ID 隐式),放大 100 倍后以 ASCII 送出,例:0256\r\n 表示 25.6 ℃。
  1. 上位机层
  • 绘图线程:独立 QThread,双缓冲 QImage,800 × 600 画布,60 s 滚动窗口。
  • 实时曲线:红折线 + 蓝散点,抗锯齿开启,固定 1 网格/s、10 ℃/格,Y 范围 0–100 ℃。
  • 数据持久化:按行追加 xag.txt,时间戳到秒,支持一键清空并弹窗确认。
  • 串口热插拔:扫描 QSerialPortInfo,运行时切换波特率需先关闭端口。

三、关键时序与算法

  1. 0.5 s 采样节拍 计数器 T_counter 0→500 000 循环,每 1 µs 步进。通道 1 占用 2–34 µs,通道 2 占用 42–74 µs,通道 3 占用 82–114 µs,间隔 8 µs 防止总线冲突。
  2. 温度计算 MAX6675 输出 12 bit 原始码,LSB=0.25 ℃。固件直接 raw×25 得到'百倍温度',避免浮点。上位机再除 100 还原,保证两端全程整数运算。
  3. 滑动窗口绘制 线程内维护 121 点循环数组 array0[0…120]。新点到达时整体左移,尾部更新,触发一次 updateImage()。画面刷新周期 500 ms,视觉无卡顿。
  4. 文件写优化 采用 QIODevice::Append | QIODevice::WriteOnly,每条记录 < 50 B,0.5 s 一次写,SSD 寿命可忽略。清空时 resize(0) 立即释放空间。

四、扩展接口

方向现支持预留字段升级建议
通道3 路
帧尾可扩展 ,CHx
4–8 路只需修改计数器区间
量程0–1024 ℃20 bit 数据可再左移若换 14 bit ADC,上位机除 100→除 10
协议ASCII可切 Binary下位机同帧长度,上位机 QDataStream 解析
曲线固定 60 s横轴可缩增加 QSlider 控制 timeWindow 变量

五、典型运行流程

  1. 上电 → FPGA 数码管循环显示'C 1 2 3'通道实时值,单位 0.1 ℃。
  2. 打开 Qt 程序 → 默认串口波特率 115200,点击'打开串口'触发 readyRead()。
  3. 每收到 \r\n → 解析 → 绘图线程 getTemp2() → 画布更新 → 主窗口 paintEvent() 贴图。
  4. 长按'清除曲线' → 弹窗确认 → 置位 flag=1 → 下次写入先 resize(0) 清空日志。

六、性能与稳定性

  • 采样抖动:< 20 ns,因为 SPI 时钟由同源 50 MHz 分频,不受 HMI 影响。
  • 串口带宽:每通道 5 Byte × 2 Hz × 3 = 30 B/s,仅占 115200 带宽 0.03 %。
  • CPU 占用:Qt 绘图线程 500 ms 刷新一次,i7-8565U 单核占用 < 1 %。
  • 长期老化:热电偶每年漂移 ≤ 0.1 %,MAX6675 本身 45 ppm/℃,系统每 12 个月单点校准即可。

七、小结

整套方案'用最少的逻辑做最可靠的事':FPGA 端代码不到 300 行,Qt 端不到 500 行,却完成了工业场合最需要的三类功能——实时显示、趋势绘图、数据留痕。开发者只需掌握 Verilog 时序与 Qt 信号槽,就能在一天内完成移植:换芯片、换串口、换界面,全部通过参数化宏与常量集中管理,真正做到'代码少泄露,功能全交付'。

目录

  1. FPGA 温度采集与 Qt 曲线绘制系统——功能全景解析
  2. 一、项目定位
  3. 二、系统架构
  4. 三、关键时序与算法
  5. 四、扩展接口
  6. 五、典型运行流程
  7. 六、性能与稳定性
  8. 七、小结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Beyond Compare 安装与试用期重置指南
  • 鸿蒙金融理财全栈:应用上线、运维监控与持续迭代实践
  • 从 ReAct 到 Plan-and-Execute:AI Agent 推理架构的理解与选择
  • Java Web 开发实战:数据库操作与 Cookie Session 管理
  • Git update-index --skip-worktree 与 .gitignore 的区别与使用
  • HarmonyOS 开发核心知识点汇总
  • WebStorm 编码辅助 AI 插件使用指南
  • 读懂 GraphRAG:提升 LLM 企业落地与智能问答能力
  • MCPHost 命令行工具实战:让大模型调用外部工具
  • 大型语言模型微调入门指南
  • 前端现代化:从传统到现代的技术演进
  • 前端开发核心基础:HTML、CSS 与 JavaScript 实战入门
  • MySQL 与 Navicat 安装及配置教程(Windows)
  • LLaMA-Factory 大模型微调与部署实战
  • 前端视角 | 从零搭建并启动若依后端(环境配置)
  • 数据结构:堆(Heap)
  • OpenClaw 大龙虾机器人:本地部署与飞书对接实战
  • 大语言模型知识大全:从入门到精通指南
  • ARINC 825:一种航电通信总线标准
  • Stable Diffusion IP 海报生成流程与 LoRA 训练指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online