当前位置: 首页 > news >正文

一条SPI总线挂多个器件——帧长和模式不同怎么办

一句话: 同一条 SPI 总线上挂了不同模式、不同帧长的芯片——初始化设成 16 位后,另一个要 24 位命令的芯片就不工作了。切回 8 位后,16 位的芯片要拆字节收发。一个能用另一个不能时别急着怀疑芯片坏了。

适合谁读:SPI 总线上挂了多个器件,一个正常一个不正常的嵌入式开发者。

问题

一条 SPI 总线挂了三颗芯片:

芯片帧长模式
ADC16 位Mode 3
DAC24 位命令Mode 0
Flash8 位Mode 0

初始化把 SPI 设成 16 位模式——为兼容 ADC。DAC 的命令格式是 3 字节(24 位),用 16 位模式发——每个 SPI 帧都是 16 的倍数个 SCK。DAC 要求精确 24 个 SCK,收到 32 个就把命令丢了。输出永远是 0V。

统一切 8 位

方案:SPI 统一设成 8 位模式。这是最小公约数——16 位和 24 位都能用 8 位拼出来。

DAC(24 位命令)——三个字节一发:

// 3 字节 = 24 SCK,刚好 Spi_Tx[0] = CMD; Spi_Tx[1] = Data >> 8; Spi_Tx[2] = Data & 0xFF; SPI_Transmit(buf, 3);

ADC(16 位数据)——拆成两个 8 位收发再拼接:

// 发:高 8 位 → 低 8 位 SPI_Send(Data >> 8); SPI_Send(Data & 0xFF); // 收:高 8 位 → 低 8 位 RxData = SPI_Receive() << 8; RxData |= SPI_Receive();

8 位是 SPI 总线多器件场景的通用开关。把所有 SPI 初始化统一到 8 位,每种器件在自己的读写函数里负责字节拼接。

为什么一个能用另一个不能用

ADC 一直在正常读数——让你反复怀疑"SPI 是通的啊,DAC 芯片坏了吧"。但 SPI 总线信号是分时复用的——每个器件选中时用自己的 SPI 参数通信。ADC 的 CS 拉低时用它的配置通信没问题,DAC 的 CS 拉低时用另一个配置——错了。

CS 管的是"谁在说话",不管"按什么规矩说话"。规矩是初始化时全局设的,不同器件的规矩不同就打架。

除了帧长还有模式

切完帧长后 DAC 还是没输出。示波器一打——SCK 在跳、MOSI 在发、CS 正常,但就是没输出。翻 DAC 手册的时序图——要求 Mode 0(CPHA=0,上升沿锁数据)。初始化里设的是 Mode 1。

改了 CPHA 后所有器件重测一遍——ADC 也能用 Mode 0,Flash 也是 Mode 0。DAC 终于有输出了。

经验

一条总线多器件的调试顺序:先用示波器量每个器件的 CS/SCK/MOSI 波形 → 确认帧长(数 SCK 脉冲数)→ 确认模式(看 SCK 和 MOSI 的相位关系)→ 翻手册逐项对照。

CS 拉低后 SPI 正常不代表每个器件都按同一套规矩工作。帧长和模式是全局的,但要求是各器件各自的。


有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。

http://www.jsqmd.com/news/1275097/

相关文章:

  • 2026玉林持证防水补漏商家权威TOP3榜单 卫生间厨房外墙屋面天花板漏水检测靠谱师傅维修指南 - 宅安选房屋修缮
  • 2026昆明黄金回收避坑榜单!合规连锁实体公示,报价对标大盘无折旧费 - 商业每日快报
  • BQ78350-R1A SBS协议与数据闪存配置实战指南
  • 2026年7月推出美的空调售后服务电话24小时400人工热线全面正式启用公告 - 优企名品
  • 2025终极B站自动化工具指南:BiliBiliToolPro完全教程
  • PSO优化KELM模型在高维电力负荷预测中的应用
  • LM36010EVM评估模块硬件连接、软件配置与LED闪光驱动实战指南
  • Unity游戏开发:从A*算法到NavMesh的自动寻路系统实现与优化
  • 从卢德运动到AI时代:技术工具评估与理性批判框架
  • 计算机毕业设计之Spring Boot宠物交易系统
  • 家里旧金别闲置继续掉价了!合肥合规回收门店全清单 - 一日一测评
  • 2026鄂尔多斯持证防水补漏商家权威TOP3榜单 卫生间厨房外墙屋面天花板漏水检测靠谱师傅维修指南 - 宅安选房屋修缮
  • 2026常见零脂肪汽水清单:国产与进口的精选盘点及实用选购指南 - 产业观察报
  • 企业微信私域自动化:架构设计与实战优化
  • 小说下载器:如何一键保存200+网站的小说到本地
  • 板子拿到手第一件事不是烧代码
  • 2026 重庆解放碑、观音桥黄金回收推荐!持证奢侈品回收门店汇总 - 融媒生活
  • 2026西安爱马仕、LV名包回收优选:40家直营门店添价收黄金奢侈品回收中心正规透明+连锁保障 - 二奢分享官
  • 系统进程狂吃 1G + 内存卡顿,Win10/11 关闭内存压缩完整命令教程
  • 深入PizzaQL技术栈:GraphQL、Prisma与Next.js如何打造现代餐饮系统
  • 2026 年当下,莎车知名的厚型防火涂料制造商推荐几家,家里这玩意儿用对了,能让钢结构在大火里撑够两个小时!-火之盾防火涂料 - 行业推荐官[官方】--
  • Android终极缺省页框架StateLayout:从入门到精通的完整指南
  • 2026湘乡市电池隔膜着色厂家哪家好?环保无机颜料厂家推荐采购避坑与实用选品指南 - mobible
  • 武汉榕霖职业技术学校 2026 年招生简章及专业大全 招生办老师联系电话公布 - 武汉中职最新信息发布
  • SSD SMART 健康监控 — 运维实战
  • 12V转5V/3.3V稳压芯片选型常见误区:只看耐压不看功耗、只看电流不看封装
  • 羽绒服自动化模板机完整选购指南:参数甄别、品牌测评、预算分级与避坑方案
  • 全城实地探访|海口黄金回收 TOP3 良心店铺,龙华美兰秀英琼山全覆盖 - 全城热点
  • TPS61202超低电压升压转换器:从0.3V启动到5V输出的高效电源方案
  • 工业大模型多任务并行推理优化:算力调度架构与智能自动化落地实践