SPI总线冲突——一个器件通讯为什么干扰另一个
一句话: 两个芯片挂在同一条 SPI 上DAC 通讯一次ADC 的配置寄存器就被干扰一次。ADC 读数比实际电压低五六倍换通道、改配置、加延时全没用。根因不是驱动写错了是硬件 SPI 外设共享时没有隔离干净。适合谁读SPI 总线上多个器件一个通讯另一个就异常的嵌入式开发者。现象ADC 两个通道读数异常。1.36V 信号输入ADC 只读出约 260mV 等价值——低五六倍。换通道、改配置寄存器、加 SPI 延时——读数纹丝不动。排查过程按顺序逐一排除步骤检查项结果1ADC 内部基准电压2.47V正常2CFG 寄存器REF、INCC、通道地址全部正确3前端运放增益正常信号没问题4SPI 总线DAC 和 ADC 共用 SPI2前三个都排除了。问题指向 SPI 总线。根因DAC 和 ADC 挂同一条 SPI2。两个器件各自有 CS 片选——选中谁谁说话。但片选管的是数据发给谁不管总线上的波形不会串到另一个器件的寄存器。DAC 通讯时 SPI2 总线上的 SCK 和 MOSI 活动——ADC 虽然 CS 没拉低但在某些芯片上SCK 的边沿信号可能被 ADC 意外识别为串行输入悄悄改了配置寄存器。DAC 每通讯一次ADC 的 CFG 寄存器就可能被污染一次。每次改 CFG 值、换通道配置——下一次 DAC 通讯又给你破坏了。改代码永远追不上污染的节奏。你用示波器分别量两个器件的 CS/SCK/MOSI 都正常——各自的帧格式都对。但问题是 ADC 的配置被额外的 SCK 边沿改了这种损坏在波形上看不出来——因为寄存器值变了但外部引脚没异常。解决GPIO 软件模拟 SPIbit-bang替代硬件 SPI。用四个 GPIO 引脚模拟 SPI 时序——只在该 ADC 通讯的时候手动产生 SCK其他时候总线上完全安静。// 硬件 SPI总线在整个通信期间活跃干扰邻居 SPI2_Transmit(data, len); // GPIO bit-bang只在需要的时候手动翻转引脚 CNV_LOW(); // 开始转换 SPI_BitBang_Write(cfg); // 手动 16 个 SCK 发 CFG uint16_t val SPI_BitBang_Read(); // 手动 16 个 SCK 读数据 CNV_HIGH(); // 结束转换同时加了引脚切换机制——ADC 和 DAC 共用 GPIOB 引脚用之前切 GPIO 模式bit-bang用完之后切回 AF 模式SPI2DAC 正常用硬件 SPI。s_Pins_To_GPIO(); → PB13/14/15 切 GPIO 模式 → ADC bit-bang AD7689_Pins_To_SPI2(); → PB13/14/15 切 AF 模式 → DAC 硬件 SPI验证结果IN0 和 IN7 通道 0.75V 输入均读出约 19900 码值AD7689 16 位分辨率正确。经验一条 SPI 总线多器件CS 对应选中谁说话但它不保护没被选中的那个不受干扰。有些器件在 CS 未拉低时对 SCK 边沿敏感——数据手册不一定写。一个器件通讯正常不代表总线上没有冲突。另一个器件的异常可能被反复修改的配置掩盖——改完有效下一次通讯又坏。硬件 SPI 不行时bit-bang 是最终的隔离手段——牺牲一点 CPU 时间换来完全可控的时序。有用的话点个收藏下次调试直接用。有问题欢迎评论区交流看到了都会回。

相关新闻

NBM5100A电池寿命增强器:提升纽扣电池性能的智能方案

NBM5100A电池寿命增强器:提升纽扣电池性能的智能方案

1. 认识NBM5100A电池寿命增强器的核心价值 在物联网设备和便携式电子产品的设计中,纽扣电池(如CR2032)因其体积小巧、使用方便而广受欢迎。然而这类电池存在两个致命弱点:一是放电电流能力有限(通常仅5-10mA&#xff0…

2026/7/29 9:53:24 阅读更多 →
大模型运维实战:从原理到部署优化

大模型运维实战:从原理到部署优化

1. 大模型概念解析:运维视角的通俗理解大模型这个词最近两年在技术圈里火得不行,但很多运维老哥看到这个词还是有点懵——这玩意儿跟咱们平时维护的服务器、数据库到底有啥关系?其实用运维工程师熟悉的视角来看,大模型本质上就是个…

2026/7/29 9:53:24 阅读更多 →
已经有ERP和BI,为什么还需要AI商品决策系统?

已经有ERP和BI,为什么还需要AI商品决策系统?

很多鞋服品牌在建设商品系统时,都会遇到一个问题:已经有ERP,也有BI报表,为什么还需要AI商品决策系统?这个问题不能简单回答成“ERP记录数据,BI看报表,AI做决策”。因为今天很多BI工具也可以做预…

2026/7/29 9:53:24 阅读更多 →

最新新闻

Zorin OS曾是我的Linux入门神器,现在Ubuntu让我动摇了

Zorin OS曾是我的Linux入门神器,现在Ubuntu让我动摇了

最近几个月,我经历了一次挺有意思的系统切换:把几台老旧的Windows 10电脑装上了Zorin OS,本以为会是一次简单的尝鲜,结果它直接成了我的主力系统。可就在我越来越适应Linux的时候,我决定再给Ubuntu一次认真尝试的机会。这一次,它的表现远超预期,让我开始认真思考是否要切…

2026/7/29 10:18:34 阅读更多 →
NOMA-OFDM-VLC系统Matlab仿真与性能分析

NOMA-OFDM-VLC系统Matlab仿真与性能分析

1. 室内NOMA-OFDM-VLC系统仿真概述在当今无线通信技术快速发展的背景下,可见光通信(VLC)作为一种新兴的通信方式,正受到越来越多的关注。VLC利用LED光源进行数据传输,具有无电磁干扰、频谱资源丰富、安全性高等优势。而将非正交多址接入(NOMA…

2026/7/29 10:18:33 阅读更多 →
Python性能优化实战:ctypes、C扩展与Cython调用C函数全解析

Python性能优化实战:ctypes、C扩展与Cython调用C函数全解析

1. 为什么Python开发者需要调用C函数?在Python社区里,我们经常听到一句话:“Python慢”。这个“慢”是相对的,指的是在计算密集型任务、底层硬件操作或与已有C/C生态库集成时,纯Python代码的执行效率可能成为瓶颈。我处…

2026/7/29 10:18:33 阅读更多 →
VTK开发笔记(三):熟悉VTK开发流程,编写球体,多半透明球体Demo

VTK开发笔记(三):熟悉VTK开发流程,编写球体,多半透明球体Demo

VTK开发笔记(三):熟悉VTK开发流程,编写球体,多半透明球体Demo 引言在可视化工具包(VTK)的学习过程中,理解其核心开发流程至关重要。VTK采用流水线架构,通过数据对象、算法…

2026/7/29 10:18:33 阅读更多 →
MCP Apps 之后,文档解析需要一层“可点击的人审界面”

MCP Apps 之后,文档解析需要一层“可点击的人审界面”

MCP Apps 之后,文档解析需要一层“可点击的人审界面” MCP Apps 把 Agent 工具结果从纯文本、图片和 JSON 推向可交互界面:PDF 审阅、表格校验、长任务监控、审批流都可以留在对话中完成。对 RAG、企业知识库和 Sciverse 式科研数据管线来说,…

2026/7/29 10:18:33 阅读更多 →
AM65xx多协议时间同步架构解析与工业应用实践

AM65xx多协议时间同步架构解析与工业应用实践

1. 项目概述与时间同步的核心价值在工业自动化、汽车电子和物联网这些对时序要求极为严苛的领域,时间同步早已不是“锦上添花”的功能,而是系统能否稳定、可靠、精确运行的“生命线”。想象一下,在一个现代化的智能工厂里,机械臂的…

2026/7/29 10:17:33 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻