资讯动态

从片内到片间:SPI与I2C通信协议深度解析与工程实践

发布时间:2026/10/23 5:32:18 来源:尧图企业网站定制
1. 从片内总线到片间总线的思维跃迁1.1 为什么片内通信的经验不能直接照搬做过单片机或者嵌入式开发的朋友大概率都经历过这样一个阶段刚开始学的时候老师或者教程会告诉你芯片内部各个模块之间通过总线连接比如AMBA、AHB、APB这些片内总线它们跑在芯片内部时钟频率高、走线短、干扰小基本上你配置好寄存器就能用不太需要操心信号完整性的事情。但一旦你的系统需要把两颗甚至多颗芯片连起来情况就完全不一样了。这个系列叫“从沙子到车辙”前面几篇我们聊了芯片内部的各种机制这一篇要跨出芯片的边界看看芯片和芯片之间是怎么对话的。标题里的“从片内到片间”说的就是这个转折——你不再是在一颗芯片里自娱自乐而是要让两颗独立的芯片通过物理引脚和PCB走线来交换数据。这个过程中SPI和I2C是两个最基础、最常用、也最容易被低估的片间通信协议。为什么说容易被低估因为很多人觉得SPI和I2C太简单了无非就是几根线传数据嘛。但实际项目中我见过太多因为SPI时序没配对、I2C上拉电阻选错、片选信号处理不当导致的诡异问题。这些问题在实验室里可能偶尔出现一到量产就集中爆发。所以这篇文章不只是讲协议本身更重要的是讲清楚从片内思维切换到片间思维时你需要额外关注哪些东西。1.2 片间通信的本质变化从理想世界到现实世界片内总线工作在芯片内部设计者可以保证走线长度在微米级别寄生电容极小时钟树经过精心平衡电源噪声也被片上电容滤得比较干净。你可以把它想象成在一个安静的房间里两个人面对面说话基本不需要喊也不需要担心听错。片间通信就完全不同了。两颗芯片可能隔着几厘米甚至几十厘米的PCB走线中间经过连接器、过孔、可能还有电平转换芯片。信号在走线上会产生反射、串扰、衰减电源地平面上的噪声也会耦合到信号线上。更麻烦的是两颗芯片可能各自有独立的时钟源频率精度和相位关系都不确定。这就好比两个人站在嘈杂的街头用对讲机通话你必须考虑环境噪声、距离衰减和频道干扰。SPI和I2C的设计哲学本质上就是在这样的现实条件下用尽可能少的引脚和尽可能简单的协议来实现可靠通信。SPI用四根线换来了高速和灵活I2C用两根线换来了多设备共享和简洁。理解了这个底层逻辑你才能在实际选型和调试中做出正确的判断。2. SPI协议的核心机制与实操要点2.1 SPI的四线制架构与数据流向SPI的全称是Serial Peripheral Interface串行外设接口。它的物理层非常直观四根线分别是SCLK时钟、MOSI主出从入、MISO主入从出、CS片选。主设备负责产生时钟和片选信号从设备在时钟的驱动下进行数据的收发。这里有一个关键点很多人一开始会搞混SPI是全双工的也就是说主设备在发送数据的同时也在接收数据。MOSI和MISO是两条独立的单向线数据在时钟边沿的驱动下同时双向流动。你可以把它想象成一条双向车道两个方向的车同时跑互不干扰。这和I2C的半双工模式有本质区别I2C只有一条数据线发送和接收必须分时复用。SPI的数据传输本质上是一个移位寄存器的交换过程。主设备和从设备各自有一个移位寄存器在时钟的驱动下主设备的最高位或最低位取决于配置从MOSI移出进入从设备的移位寄存器最低位或最高位同时从设备的对应位从MISO移出进入主设备。经过8个时钟周期后两个寄存器的内容就完成了交换。这个机制非常优雅硬件实现也简单所以SPI的速率可以做到很高几十兆赫兹甚至上百兆赫兹都很常见。2.2 时钟极性与相位的四种组合SPI最让人头疼的地方就是CPOLClock Polarity和CPHAClock Phase这两个参数。它们决定了数据在时钟的哪个边沿被采样、在哪个边沿被切换。CPOL决定时钟空闲时的电平CPHA决定采样发生在第一个边沿还是第二个边沿。两个参数组合起来有四种模式分别对应Mode 0到Mode 3。模式CPOLCPHA空闲电平采样边沿切换边沿Mode 000低上升沿下降沿Mode 101低下降沿上升沿Mode 210高下降沿上升沿Mode 311高上升沿下降沿实际项目中Mode 0和Mode 3用得最多。大部分传感器和存储器都支持Mode 0但也有一些器件只支持特定模式。我踩过的坑是有一次用某款ADC数据手册上写的是支持Mode 0和Mode 1我随手配了Mode 0结果读出来的数据偶尔会错位。后来仔细看时序图才发现这款ADC在Mode 0下的建立时间要求比较苛刻PCB走线稍长一点就满足不了。换成Mode 1之后问题消失。所以不要觉得Mode 0是万能默认值一定要对着数据手册的时序图确认。注意CPOL和CPHA的配置必须主从一致否则数据会完全错乱。如果你发现读出来的数据像是整体偏移了一位或者几位首先检查这两个参数。2.3 片选信号的处理艺术CS片选信号是SPI总线上实现多设备管理的关键。每个从设备都有一根独立的CS线主设备通过拉低对应从设备的CS来选中它。这里有几个实操中容易出问题的地方。第一个是CS的建立时间和保持时间。很多主控的SPI外设可以配置CS相对于时钟的延迟但有些低端MCU的CS是软件控制的GPIO这时候你需要在拉低CS之后、发送第一个时钟之前插入足够的延时。这个延时需要根据从设备数据手册的要求来定通常是几十纳秒到几百纳秒。如果延时不够从设备可能还没准备好第一个bit就丢了。第二个是CS在数据传输间隙的处理。有些从设备要求CS在整帧数据期间保持低电平中间不能拉高。如果你用DMA传输要确保DMA配置不会在帧中间释放CS。还有些从设备要求CS在每字节之间拉高这个比较少见但遇到了就很坑。第三个是多从设备共享总线时的CS互斥。如果你用软件GPIO控制CS一定要确保同一时刻只有一个CS被拉低。我见过一个案例两个从设备的CS同时被拉低结果两个设备同时往MISO上驱动数据一个推高一个拉低直接导致电源电流飙升时间长了甚至可能损坏引脚。2.4 SPI速率与信号完整性的权衡SPI的速率可以配得很高但实际能跑多快取决于你的PCB走线质量和从设备的支持能力。在实验室用短线连接的时候跑个20MHz甚至50MHz都没问题但一旦走线变长、经过连接器信号质量就会急剧下降。判断信号质量最直接的方法是用示波器看SCLK和MOSI的波形。如果上升沿有明显的过冲和振铃说明阻抗不匹配需要串联端接电阻。如果波形上升沿变得很缓说明走线电容太大需要降低速率或者加驱动。MISO线尤其要注意因为它是从设备驱动的如果从设备的驱动能力弱加上走线电容波形可能会变成三角波。我的经验是在PCB设计阶段SPI走线尽量短尽量远离高频时钟线和电源开关节点。如果必须走长线在源端串联22欧姆到33欧姆的电阻可以有效抑制反射。对于MISO线如果从设备驱动能力不足可以考虑加上拉电阻来改善上升沿但上拉电阻不能太小否则会增加从设备的灌电流负担。3. I2C协议的精髓与工程实践3.1 两根线如何撑起一个总线网络I2C只用两根线SCL时钟和SDA数据。这两根线都是开漏输出需要外接上拉电阻。开漏输出的好处是实现了真正的线与逻辑——任何一个设备拉低线线就是低电平所有设备都释放线才被上拉电阻拉高。这个机制让I2C天然支持多主多从架构而且不同供电电压的设备可以通过上拉电阻接到各自的电源域实现电平转换。I2C的通信过程比SPI复杂一些。每次传输由主设备发起先发一个起始条件SCL高时SDA从高变低然后发7位从设备地址加1位读写方向位接着从设备回应ACK然后开始数据传输。每传输一个字节接收方都要回一个ACK。传输结束后主设备发停止条件SCL高时SDA从低变高。这个协议的美妙之处在于它用两根线就实现了寻址、应答、仲裁、时钟同步等一整套机制。但代价是速率相对较低标准模式100kHz快速模式400kHz高速模式3.4MHz。而且由于开漏输出的上升沿依赖上拉电阻速率越高上拉电阻就要越小功耗也就越大。3.2 上拉电阻的计算与选型上拉电阻的选择是I2C设计中最容易出错的地方。选大了上升沿太慢高速通信时数据还没拉高就被采样了选小了低电平时的灌电流太大可能超过设备的驱动能力。计算上拉电阻的最小值要考虑电源电压和设备的灌电流能力。公式是R_min (VDD - VOL) / IOL其中VOL是设备输出低电平时的电压通常取0.4VIOL是设备能灌入的最大电流通常是3mA或6mA。比如VDD是3.3VIOL是3mA那么R_min (3.3 - 0.4) / 0.003 ≈ 967欧姆。实际取值要留余量通常不小于1k欧姆。计算最大值要考虑总线的电容和上升时间要求。I2C标准规定标准模式下上升时间不超过1000ns快速模式下不超过300ns。上升时间大约是0.8473倍的RC时间常数所以R_max t_r / (0.8473 * C_bus)。假设总线电容是200pF快速模式要求300ns上升时间那么R_max 300 / (0.8473 * 200) ≈ 1770欧姆。所以在这个例子中上拉电阻应该在1k到1.7k之间选。实际项目中总线电容很难精确估算因为走线电容、引脚电容、连接器电容都要算进去。我的做法是先按典型值4.7k欧姆设计然后用示波器看波形如果上升沿太慢就减小电阻如果低电平太高就增大电阻。对于400kHz以上的速率通常需要2.2k欧姆甚至1k欧姆。提示上拉电阻的功耗也要考虑。如果总线上经常有设备拉低电阻上的功耗就是VDD^2 / R。比如3.3V电源配1k欧姆电阻每个拉低周期功耗约10.9mW。如果总线上有多个设备频繁通信这个功耗累积起来不可忽视。3.3 时钟同步与总线仲裁的底层逻辑I2C支持多主设备这意味着可能有两个主设备同时想发起传输。这时候就需要总线仲裁机制。仲裁的原理是每个主设备在发送数据的同时也在监听SDA线。如果它发送的是高电平但监听到的是低电平说明有另一个主设备在拉低SDA它就知道自己仲裁失败了立即退出传输转为从设备模式。时钟同步则是通过SCL线的线与逻辑实现的。多个主设备可能产生不同频率的时钟但SCL线是它们共同驱动的。当某个主设备拉低SCL时所有主设备的时钟都进入低电平阶段当所有主设备都释放SCL时SCL才被上拉电阻拉高。这样实际SCL频率由最慢的主设备决定。这个机制保证了即使多个主设备时钟频率不同也能同步工作。理解这些底层机制对调试很有帮助。比如你发现总线上两个主设备通信异常可能是仲裁逻辑出了问题。又比如你发现SCL频率比预期低可能是总线上有另一个主设备在拉低SCL。3.4 时钟拉伸机制与从设备的配合时钟拉伸是I2C的一个独特机制。从设备在需要更多时间处理数据时可以主动拉低SCL线强制主设备等待。主设备在释放SCL后必须检查SCL是否真的变高了如果没变高说明从设备在拉伸时钟主设备就要继续等待。这个机制对从设备很友好但给主设备带来了额外的复杂性。有些主设备的硬件I2C外设不支持时钟拉伸或者支持得不好遇到会拉伸时钟的从设备就会出问题。我遇到过一款EEPROM在写入周期内会拉伸时钟长达几毫秒而主控的硬件I2C超时设置太短直接报总线错误。解决办法要么是换支持长超时的主控要么是用软件模拟I2C自己控制超时逻辑。软件模拟I2C虽然灵活但速率上不去而且占用CPU时间。我的建议是如果从设备有时钟拉伸需求优先选硬件I2C支持得好的主控如果实在不行软件模拟时把超时设得足够长并且在等待SCL释放的循环里加入适当的延时避免CPU空转。4. SPI与I2C的选型对比与混合使用4.1 速率、引脚数与复杂度的三角权衡选SPI还是I2C本质上是在速率、引脚数和协议复杂度之间做权衡。SPI速率高、协议简单、全双工但每个从设备需要一根额外的CS线引脚数随从设备数量线性增长。I2C速率低、半双工、协议复杂但两根线可以挂很多设备引脚数不随从设备数量增长。对比维度SPII2C速率高可达数十MHz低标准100kHz快速400kHz引脚数4根起每增加一个从设备加1根CS固定2根双工全双工半双工多主通常单主支持多主寻址片选硬件寻址7位或10位软件寻址时钟拉伸不支持支持总线电容限制较宽松严格通常不超过400pF典型应用Flash、ADC、显示屏传感器、EEPROM、RTC实际项目中我经常两个都用。比如一个数据采集系统用SPI接高速ADC用I2C接温度传感器和EEPROM。这样既保证了关键数据的采集速率又节省了引脚用于其他功能。4.2 电平转换与隔离的工程方案当主从设备供电电压不同时就需要电平转换。SPI因为推挽输出电平转换相对简单可以用专用的电平转换芯片也可以用简单的电阻分压仅限从高到低单向。但要注意SPI速率高时电平转换芯片的传播延迟和通道间偏斜会影响时序。I2C的电平转换更巧妙一些因为开漏输出天然适合电平转换。你只需要把上拉电阻分别接到各自的电源域SDA和SCL线通过一个双向电平转换器比如一个N沟道MOS管加两个上拉电阻就能实现双向电平转换。这个方案成本低、速率也能做到很高。如果需要电气隔离比如主控和从设备在不同的地电位上那就需要隔离器。SPI的隔离需要四通道的数字隔离器I2C的隔离需要双向隔离器成本更高一些。选型时要关注隔离器的速率、传播延迟和通道匹配度。4.3 总线共享与地址冲突的解决思路I2C的地址冲突是个经典问题。7位地址只有128个可用地址其中还有一些保留地址实际可用的更少。如果你要挂多个同型号的传感器而它们地址固定就会冲突。解决办法有几种一是用I2C多路复用器把总线分成多个分支每个分支挂一个冲突设备二是用支持地址配置的传感器型号三是用软件模拟I2C用不同的GPIO引脚模拟出多条独立总线。SPI没有地址冲突问题因为每个设备有独立的CS。但SPI的CS线多了之后PCB布局会变得复杂尤其是高速SPI每根CS线都要考虑走线长度和匹配。我的经验是如果从设备超过4个就要认真评估是不是该用I2C或者SPI加多路复用器了。5. 调试实录与常见问题排查5.1 SPI通信失败的排查清单SPI调不通的时候按照以下顺序排查基本能覆盖90%的问题。第一步确认硬件连接。用万用表量一下四根线是否导通有没有虚焊。特别是CS线如果CS没拉低从设备根本不会响应。第二步确认CPOL和CPHA配置。对着从设备数据手册的时序图确认主设备的配置是否匹配。如果不确定四种模式都试一遍看哪种能读到正确数据。第三步用示波器看波形。先看SCLK有没有输出频率对不对。再看MOSI在SCLK边沿附近是否稳定。如果MOSI在采样边沿附近还在跳变说明建立时间不够需要降低速率或者调整相位。第四步检查MISO。如果MISO一直是高电平或者低电平说明从设备没有驱动或者被其他设备占用了。如果MISO波形幅度不对检查从设备的供电和地是否正常。第五步检查CS的时序。确认CS在数据传输前足够早拉低在数据传输后足够晚拉高。有些从设备对CS的建立和保持时间有明确要求。5.2 I2C总线死锁的恢复策略I2C总线死锁是另一个常见问题。典型现象是SDA被某个设备一直拉低主设备无法发起新的传输。死锁的原因通常是主设备在传输过程中复位了但从设备还在等待下一个时钟一直拉着SDA不放。恢复的方法是主设备把SCL配置为GPIO输出手动发送9个时钟脉冲。这9个脉冲会让从设备完成当前字节的接收然后释放SDA。之后主设备发送一个停止条件总线就恢复正常了。这个操作要在初始化I2C外设之前做否则硬件I2C可能不让你手动控制SCL。预防死锁的措施包括主设备复位时同时复位从设备在I2C传输中加入超时机制超时后主动恢复总线避免在传输过程中断电或复位主设备。5.3 常见问题速查表现象可能原因排查方法解决措施SPI读数据全FFMISO未连接或从设备未供电量MISO电压检查从设备电源修复连接确认从设备上电SPI数据错位CPOL/CPHA不匹配对照时序图检查配置调整模式降低速率SPI偶发错误信号完整性差示波器看波形过冲/振铃串联端接电阻缩短走线I2C无ACK地址错误或从设备未就绪用逻辑分析仪抓波形确认地址增加上电延时I2C上升沿太慢上拉电阻太大测量上升时间减小上拉电阻I2C低电平太高上拉电阻太小或灌电流不足测量低电平电压增大上拉电阻检查设备驱动能力I2C总线死锁主设备异常复位检查SDA是否被拉低发送9个时钟脉冲恢复多设备I2C冲突地址重复逐个挂载测试用多路复用器或换地址5.4 逻辑分析仪与示波器的配合使用调试片间通信逻辑分析仪和示波器各有优势。逻辑分析仪擅长协议解码能直接告诉你总线上传输的地址、数据和ACK状态适合排查协议层面的问题。示波器擅长看模拟特性能告诉你信号的上升沿、过冲、噪声适合排查信号完整性问题。我的习惯是先用逻辑分析仪抓一帧完整的传输确认协议层面没问题。如果协议没问题但数据不对再用示波器看波形质量。如果协议层面就有问题比如地址不对、没有ACK那就先解决协议配置不用急着看波形。逻辑分析仪的采样率要足够高至少是被测信号频率的5倍以上。对于50MHz的SPI逻辑分析仪采样率至少要250MHz。示波器的带宽也要足够至少是被测信号最高频率分量的3倍以上。对于50MHz的方波其谐波分量可以到几百MHz所以示波器带宽最好在500MHz以上。6. 从协议到系统片间通信的设计哲学6.1 可靠性优先于速率的设计原则在实际产品中片间通信的可靠性比速率更重要。我见过太多项目为了追求高速率而牺牲了稳定性结果量产时返修率居高不下。SPI跑50MHz听起来很酷但如果你的PCB是两层板、走线又长实际误码率可能高得无法接受。这时候降到20MHz加上端接电阻系统反而更稳定。I2C也是同样的道理。400kHz快速模式很诱人但如果你的总线电容接近400pF的上限上升沿可能已经接近极限了。这时候降到100kHz或者减小上拉电阻才是更稳妥的选择。我的原则是在满足系统吞吐量要求的前提下选择尽可能低的速率。速率越低信号完整性的余量越大对PCB和连接器的要求越低量产一致性越好。如果系统确实需要高速率那就必须在PCB设计和连接器选型上投入更多成本。6.2 错误检测与重传机制的实现SPI和I2C本身都没有强大的错误检测机制。SPI没有ACKI2C只有字节级的ACK没有CRC。所以在可靠性要求高的场景需要在协议层之上加一层错误检测和重传。常见的做法是在数据包中加入CRC校验接收方校验失败就请求重传。重传次数要有上限避免死循环。对于SPI可以在数据帧中加入序列号接收方发现序列号不连续就知道丢包了。对于I2C可以利用从设备的ACK来判断传输是否成功失败就重试。重传机制会增加通信延迟所以要根据系统实时性要求来设计。对于非实时数据可以重传多次对于实时控制数据可能只能重传一次失败就进入安全状态。6.3 从单板到多板的扩展思考当系统从单板扩展到多板时片间通信就变成了板间通信。这时候除了协议本身还要考虑连接器的可靠性、线缆的屏蔽、地平面的连续性等问题。SPI和I2C在板间通信中依然可用但速率要降得更低通常SPI不超过10MHzI2C不超过100kHz。板间通信更推荐用差分信号比如RS-485、CAN、LVDS等因为差分信号抗共模干扰能力强适合长距离传输。但如果你的板间距离很短比如背板连接SPI和I2C加上合适的连接器和屏蔽措施也能胜任。我在一个多板系统中用过I2C做板间管理通信速率降到100kHz每块板加缓冲器连接器选用带屏蔽的型号地线用多根引脚并联降低阻抗。运行了两年多没有出现过通信故障。所以关键不是协议本身而是你有没有针对实际环境做足够的工程加固。6.4 实测经验几个让我印象深刻的案例第一个案例是一个SPI Flash的读写问题。现象是偶尔读出的数据会多一个字节或者少一个字节。排查了很久最后发现是CS信号在DMA传输结束后拉高得太快Flash还没完成内部操作就被取消了。解决办法是在CS拉高之前加一个延时等Flash的忙状态结束。这个延时在数据手册里没有明确写是通过实测确定的。第二个案例是一个I2C温度传感器。现象是温度读数偶尔会跳变到极端值。用逻辑分析仪抓波形发现偶尔会出现一个额外的时钟脉冲导致数据错位。最后发现是SCL线上有一个过冲触发了传感器的内部逻辑。在SCL线上串联了一个小电阻后问题消失。第三个案例是一个多主I2C系统。两个主设备偶尔会同时发起传输导致总线仲裁失败后其中一个主设备没有正确释放总线。最后是通过在软件层加一个互斥锁来解决的确保同一时刻只有一个主设备发起传输。虽然I2C硬件支持多主但实际软件实现中互斥锁往往更简单可靠。这些案例的共同点是问题都不在协议本身而在协议之外的工程细节。数据手册不会告诉你CS要延时多久不会告诉你SCL过冲会触发误动作不会告诉你多主仲裁后软件要怎么处理。这些只能靠实测和经验积累。提示每次调试片间通信问题都建议用逻辑分析仪完整抓一帧传输保存下来。积累多了之后你会对正常波形和异常波形形成直觉下次遇到问题能更快定位。7. 工具链与开发环境搭建建议7.1 硬件工具的选择与配置调试SPI和I2C最基本的工具是逻辑分析仪和示波器。逻辑分析仪推荐选择支持协议解码的型号能直接显示SPI和I2C的解析结果。采样率至少200MHz通道数至少4通道SPI需要4根线I2C需要2根线。示波器带宽至少200MHz最好500MHz以上探头要选低电容探头避免影响信号质量。如果预算有限可以先买一个入门级逻辑分析仪配合开源软件使用。虽然采样率和通道数有限但对于低速SPI和I2C调试已经够用了。示波器可以用台式示波器也可以用USB示波器关键是带宽要够。另外建议准备一个可调电源方便给从设备单独供电排查供电问题。还要准备一些不同阻值的电阻和电容用于端接和滤波实验。7.2 软件工具与代码框架软件方面逻辑分析仪的配套软件要熟悉特别是协议解码的设置。不同的逻辑分析仪软件操作方式不同但基本都有触发设置、采样深度设置、协议解码器选择等功能。花点时间熟悉这些功能调试效率会高很多。代码框架方面建议把SPI和I2C的驱动封装成独立的模块提供统一的读写接口。这样上层应用不用关心底层是硬件外设还是软件模拟也方便在不同平台之间移植。驱动模块要包含初始化、读写、错误处理、超时恢复等功能。对于SPI建议实现一个通用的传输函数接受片选编号、发送缓冲区、接收缓冲区、长度等参数。对于I2C建议实现一个通用的传输函数接受从设备地址、寄存器地址、数据缓冲区、读写方向等参数。这些函数内部处理时序、超时、重试等细节。7.3 测试用例与自动化验证片间通信的测试用例要覆盖正常场景和异常场景。正常场景包括单字节读写、多字节读写、不同速率下的读写、不同模式下的读写。异常场景包括从设备未响应、总线冲突、数据校验失败、超时恢复等。自动化验证可以用脚本控制主设备发送测试数据然后用逻辑分析仪抓取波形自动比对发送和接收的数据。也可以在主设备端实现回环测试把发送的数据通过从设备回读比对是否一致。对于I2C还可以用I2C多路复用器切换不同从设备验证地址切换和总线隔离。我习惯在项目初期就搭建一个简单的测试框架每次修改驱动代码后跑一遍测试用例确保没有引入回归问题。这个习惯帮我避免了很多低级错误也让我对驱动的稳定性更有信心。8. 写在最后一些个人体会片间通信这件事入门容易精通难。SPI和I2C的协议本身并不复杂看几页数据手册就能理解。但真正把系统做稳定需要关注的远不止协议本身。PCB走线、上拉电阻、端接、电源去耦、地平面设计、连接器选型、软件超时和重试每一个环节都可能成为故障点。我个人的经验是不要迷信数据手册上的最高速率实际能跑多快取决于你的系统环境。不要忽略任何一次偶发错误偶发错误背后往往有确定的物理原因。不要等到量产才去关注信号完整性前期多花时间在设计和测试上后期会省下大量返修成本。这个系列叫“从沙子到车辙”意思是芯片从沙子变成硅片再变成电路板上的车辙。片间通信是车辙之间的连接是系统从单芯片走向多芯片的关键一步。把这一步走稳了后面的系统设计才能有坚实的基础。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑