2、系统架构设计:主控与从屏的拓扑结构,通信协议选型

好,咱们进入第二章。这一章我打算聊聊系统架构设计。说白了,就是决定「谁管谁」和「怎么说话」的问题。

很多新手工程师一上来就画原理图、选芯片,结果做到一半发现通信带宽不够,或者某个从屏老是掉线。嗯,我早期也踩过这个坑。所以这一章,咱们把拓扑结构和通信协议一次性聊透。

2.1 拓扑结构:三种主流方案

多屏系统里,主控和从屏怎么连?我归纳下来,无非三种:星型、总线型、分布式。每种都有它的脾气。

2.1.1 星型拓扑

这是最直观的方案。主控作为中心节点,每个从屏都单独拉一根线连到主控上。

  • 优点:控制简单,每个从屏独立,一个坏了不影响其他。
  • 缺点:主控的引脚需求多,线缆数量随屏幕数线性增长。
  • 适用场景:屏幕数量少(2-4个),且对实时性要求高的场合。

我个人习惯:在原型阶段,我经常用星型。因为调试方便,每个屏幕可以单独点灯、刷数据。但量产时如果超过4个屏,我就会考虑换方案了。

2.1.2 总线型拓扑

所有从屏挂在一根总线上,主控通过地址来区分。就像公交车,每个人都有自己的座位号。

  • 优点:节省IO口,线缆少,扩展容易。
  • 缺点:总线冲突风险,带宽共享,一个节点故障可能拖垮整条总线。
  • 适用场景:屏幕数量中等(4-16个),数据量不大的场景。

避坑指南:我曾经在一个项目里用I2C总线挂了8个OLED屏,结果发现地址冲突。后来才知道,很多I2C器件只有几个可编程地址位。所以选型时一定要算好地址空间。

2.1.3 分布式拓扑

每个从屏都有自己的小处理器,主控只发指令,从屏自己处理显示内容。说白了,就是「让听得见炮火的人做决策」。

  • 优点:主控负载低,系统扩展性强,适合大规模组网。
  • 缺点:成本高,开发复杂度大,需要处理节点间的同步问题。
  • 适用场景:屏幕数量多(16个以上),或者屏幕分布范围广的场景。

你想想看,如果每个屏幕都要主控去刷新像素,那主控得累死。分布式就是把刷屏的活下放给从机,主控只负责「下命令」。

2.2 通信协议选型:选对路子,事半功倍

拓扑定下来,接下来就是选通信协议。我见过不少项目,拓扑选对了,协议没选对,结果一样翻车。下面我把四种常用协议掰开揉碎了讲。

2.2.1 SPI(串行外设接口)

SPI 是全双工、主从通信。速度可以做到几十MHz,甚至上百MHz。

特性 说明
通信方式 全双工,四线制(SCK、MOSI、MISO、CS)
典型速率 10MHz - 80MHz
最大从机数 受限于主控CS引脚数量
传输距离 板级通信,通常不超过30cm

我的经验:SPI 适合驱动高刷新率的TFT彩屏。我在一个车载仪表盘项目里,用SPI跑40MHz,刷新一个320x240的屏幕,帧率能到60fps。但注意,线长了信号会衰减,超过20cm就得加驱动芯片。

2.2.2 I2C(I方C)

I2C 是半双工,两线制(SCL、SDA)。速度相对慢,但胜在引脚少。

特性 说明
通信方式 半双工,两线制,带地址仲裁
典型速率 100kHz(标准),400kHz(快速),1MHz(高速)
最大从机数 理论127个(7位地址),实际受总线电容限制
传输距离 板级通信,通常不超过1米

注意:I2C 的总线电容是个隐形杀手。我曾经在一个项目里挂了6个从机,总线长度加起来不到50cm,结果通信时好时坏。后来用示波器一看,上升沿都变成斜坡了。解决办法是降低速率,或者加总线缓冲器。

2.2.3 CAN(控制器局域网)

CAN 是差分信号,抗干扰能力强,支持多主通信。这是工业界的老兵。

特性 说明
通信方式 差分信号,半双工,多主仲裁
典型速率 125kbps - 1Mbps
最大节点数 理论110个,实际受总线负载限制
传输距离 1Mbps时约40米,125kbps时可达500米

为什么会推荐CAN?因为它的错误检测机制非常强。每个节点都能检测总线错误,自动重发。我在做工业HMI项目时,现场环境有电机、变频器,干扰很大。用CAN从来没出过丢包问题。

2.2.4 以太网

以太网是终极方案。速度快、距离远、生态成熟。但代价是成本高、功耗大。

特性 说明
通信方式 全双工,差分信号,支持TCP/IP协议栈
典型速率 10/100/1000Mbps
最大节点数 理论上无限制(通过交换机)
传输距离 100米(无中继),可扩展

我建议:如果你的多屏系统需要远程监控、OTA升级,或者屏幕分布在不同的房间/楼层,直接上以太网。虽然前期开发成本高,但后期维护会省心很多。

2.3 选型决策矩阵

说了这么多,到底怎么选?我整理了一个简单的决策矩阵,你可以对着自己的需求打勾。

需求 推荐协议 理由
屏幕数量少(≤4),刷新率高 SPI 速度快,控制简单
屏幕数量中等,数据量小 I2C 引脚少,布线方便
工业环境,抗干扰要求高 CAN 差分信号,错误检测强
屏幕分布广,需要远程管理 以太网 距离远,生态完善
成本敏感,量极大 SPI 或 I2C 芯片便宜,外围电路简单

嗯,这一章的内容差不多就这些。总结一下:拓扑结构决定了「怎么连」,通信协议决定了「怎么聊」。两者要一起考虑,不能割裂。下一章我会讲硬件选型,包括主控芯片怎么挑、屏幕驱动芯片怎么配。到时候见。

核心要点回顾

  • 星型拓扑适合小规模、高实时性场景
  • 总线型拓扑适合中等规模、节省IO的场景
  • 分布式拓扑适合大规模、需要本地处理的场景
  • SPI 快但距离短,I2C 省线但速度慢,CAN 抗干扰强,以太网全能但贵
  • 选型时一定要考虑实际布线长度、环境干扰和成本预算