ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

3.3V与5V混合系统电平转换实战:串口IIC SPI全通吃

3.3V与5V混合系统电平转换实战:串口IIC SPI全通吃 3.3V与5V混合系统这个坑我刚入行时踩得最深。一块STM32F103做主控外设全是老款5V传感器模块最初偷懒把所有信号线直连结果烧了两片MCU的PA9串口引脚才长记性。后来老老实实做电平转换从电阻分压、三极管方案一路试到专用芯片TXS0104E才算是把这个看似简单的问题彻底解决掉。这篇内容就围绕我实际用TXS0104E打通串口、IIC、SPI三种协议的经验展开包括为什么放弃分立方案、芯片内部原理、接线配置、波形实测和排障过程。如果你也在做3.3V与5V器件混接的板子这篇应该能帮你少走不少弯路。1. 电平转换方案怎么选先把需求账算清楚1.1 为什么3.3V和5V系统不能直接互连很多人刚接触嵌入式时都会遇到这个疑问逻辑高电平不都是“1”吗3.3V的“1”和5V的“1”有什么区别实际上区别很大而且可能导致两种典型的故障。第一种故障是识别不了。5V器件如果是TTL电平标准输入高电平阈值VIH最低是2.0V3.3V输出在高电平状态下落到2.7V左右还能勉强识别但如果5V器件是CMOS电平标准VIH要求是0.7×VCC也就是3.5V。3.3V输出在带负载以后往往只能稳定在2.7V到3.0V之间驱动CMOS输入的5V器件时高电平就被当成“不确定态”设备表现就是时好时坏、偶尔误动作、通信丢字节。第二种故障更严重——物理损坏。很多5V器件的IO引脚只做了TTL接收没有做耐压保护直接把3.3V引脚接上去问题不大5V器件收3.3V信号。但反向就危险了5V器件的输出高电平是5V直接送到3.3V MCU引脚上如果MCU引脚没有做5V容忍5V tolerant设计灌进去的5V电压可能击穿引脚内部的ESD保护二极管轻则那一个引脚报废重则整片MCU烧掉。在选型平台上搜索“3.3V与5V转换”能找到大量方案但每个方案的适用场景差异很大关键要看你的信号方向是单向还是双向、协议是推挽还是开漏、速率要求是多少。这就是接下来要算的账。1.2 主流电平转换方案横向对比先说最便宜的电阻分压方案。两个电阻串联从中间抽头取电压比如3.3V信号要送给5V器件用2.2k和3.3k分压理论上能把3.3V分成2V左右够TTL标准。但这个方案最大的问题是单向性——它只能把一个方向的高电压降下来无法升压也不能双向工作。而且分压网络的输出阻抗偏高遇到输入阻抗低的负载电平会被拉垮。所以电阻分压只适合非常低速、信号质量要求不高的单向信号比如按键检测、指示灯控制。然后是热词里经常提到的三极管电平转换电路和NMOS电平转换电路。三极管方案用NPN管做开关输入高电平时三极管导通输出被拉到GND输入低电平时三极管截止输出通过上拉电阻回到高电平。这个电路只能做单向转换比如把3.3V的UART_TX转换成5V电平驱动5V器件。虽然成本只要几毛钱但三极管导通时有0.6V到0.7V的饱和压降而且需要根据信号极性、上拉阻值逐项计算。最麻烦的是它天然不支持双向协议IIC这种开漏双向总线用三极管方案会搞得非常痛苦。NMOS方案是很多老工程师的心头好因为用一颗2N7002加上两个上拉电阻就能实现双向电平转换成本极低IIC这种开漏协议尤其适用。它的原理是MOS管栅极接低压侧电源源极接地漏极接高压侧信号当A侧低压拉低时MOS管导通B侧高压被拉低当A侧释放时MOS管截止B侧靠上拉电阻恢复高电平。反过来B侧拉低时MOS管的体二极管先导通然后栅压通过源级建立最终也把A侧拉低。这个方案在IIC上非常好用但在推挽信号下有两个硬伤一是自动方向判断对推挽高速信号不友好MOS管导通和截止的切换时间有延迟速率上限一般只有几百kHz到1MHz出头二是信号边沿质量差上升沿靠上拉电阻充电容性负载稍大就变成一条斜线。专用电平转换芯片就是为了解决上面这些痛点。热词里反复出现的TXS0104E就属于这类它把MOS管方案做了两处关键改进内置上拉电阻、增加one-shot加速电路。这片的优势我在后面章节详细说先说结论如果协议涉及IIC开漏双向和SPI推挽高速混合使用专用芯片几乎是最省心的选择。1.3 为什么最终选择了TXS0104E我最终选定TXS0104E主要是看中这几点通道数量刚好够用。TXS0104E是一片四通道电平转换芯片A侧接低压1.2V到3.6VB侧接高压1.65V到5.5V。我用一片就能同时处理串口的TX/RX两路加上IIC的SCL/SDA两路做SPI时CLK、MOSI、MISO、CS四路也刚好占满一片。自动方向检测免去方向控制引脚。很多电平转换芯片需要外部控制方向比如TXB0104虽然有自动方向但ST的某些双电源转换器要DIR引脚。TXS0104E完全自动判断信号流向非常适合IIC这种数据方向随时变化的协议也省了一个GPIO。内置上拉电阻板子外围元器件少。传统NMOS方案每一路都要外加上拉电阻一片四通道就需要至少四颗电阻。TXS0104E内部已经集成了10kΩ上拉电阻A侧和B侧都有在常规应用里直接连信号线就能跑PCB面积能省不少。当然这颗芯片也不是没有缺点最典型的就是开漏模式速率上限不高。数据手册标注推挽模式最高110Mbps左右、开漏模式最高1.2Mbps左右实际使用中考虑到PCB寄生参数开漏模式跑400kHz的IIC问题不大但跑1Mbps就需要很注意布局了。后面我会用自己的实测数据说明这个边界在哪里。2. TXS0104E核心特性与工作原理2.1 引脚定义与关键电气参数拿到芯片第一件事就是看引脚TXS0104E的封装常见的是TSSOP-14和VQFN-14引脚功能如下VCCA接低压侧电源通常接3.3VVCCB接高压侧电源通常接5V。两脚之间必须加0.1μF到10μF的去耦电容而且要尽量靠近芯片引脚放置这个细节非常重要我见过因为去耦电容放得太远导致高速信号边沿抖动加剧的案例。OE是输出使能脚低电平有效。OE为低时所有通道处于高阻态A端口和B端口完全隔离OE为高时通道正常工作。实际使用中如果不需要控制可以直接把OE接到VCCA上让芯片上电就工作。但要注意数据手册要求必须先给VCCA和VCCB供电再拉高OE否则芯片可能进入未定义状态。所以如果你的电源时序不可控最好用一个GPIO控制OE上电稳定后再拉高。A1到A4是低压侧信号端口B1到B4是高压侧信号端口。通道是双向的但方向有规定A1对应B1A2对应B2A3对应B3A4对应B4不能交叉使用。信号的高电平范围必须低于对应电源电压否则内部ESD保护二极管会导通时间长了会出问题。需要特别提醒一点VCCA的电压不能高于VCCB。规格书规定VCCA的范围是1.2V到3.6VVCCB的范围是1.65V到5.5V但并没有要求VCCA必须小于VCCB。不过如果反着接比如VCCA5V、VCCB3.3V芯片内部结构会出问题实测会出现发热和信号钳位异常。所以买芯片回来第一件事就是把电源引脚理清楚。2.2 内部原理One-Shot加速电路是怎么回事TXS0104E的工作原理和分立NMOS方案本质上是一样的——每个通道内部都是一个N沟道MOSFET作为双向模拟开关。但为什么它的速度能做到远高于分立MOS管关键在于它增加了一个叫做one-shot的上升沿加速器。先回顾一下分立NMOS方案的短板A侧信号拉低时MOS管导通B侧被拉低这个过程很快但A侧信号释放时MOS管截止B侧只能靠上拉电阻对寄生电容充电上升沿时间大约是R×C。上拉电阻10kΩ、总线电容100pF上升沿就是1μs换算成最高有效频率连1MHz都不到。这和IIC标准里400kHz模式下上升沿最大300ns的要求差距非常大。TXS0104E的one-shot电路是一个边沿检测加速器每当检测到某个通道的信号发生跳变时它会在极短时间约几十纳秒内提供一个低阻路径帮助信号快速充放电把这个“缓坡”变成“陡坡”。你可以把one-shot理解成一个自动助力器——平时信号走10kΩ上拉的窄门一看到有人要冲过去就立刻打开一个高速宽门等信号稳定后再关闭。正是这个机制让TXS0104E在推挽模式下能跑100Mbps级别在开漏模式下能跑1.2Mbps左右。但one-shot也不是万能的它要求信号跳变必须足够快才能被检测到。如果你的总线电容特别大比如长排线、多个设备并联信号本身已经变成了缓坡one-shot可能检测不到上升沿或来不及加速就会出现输出波形变形甚至通信失败。这也是为什么在所有应用笔记里都强调电平转换芯片要尽量靠近信号源走线要短、要细减小容性而不是堆一大堆元件。2.3 数据手册容易被忽略的几个硬性要求我读TI的TXS0104E数据手册读了好几遍有几个要求几乎不在最显眼的位置但实际掉坑的人都栽在这里。第一A端口的输入信号不能超过VCCA。比如VCCA接3.3V但A1口被外部拉到了5V芯片内部的保护二极管会正向导通电流灌进VCCA导致VCCA被抬高、其他通道逻辑异常。所以检查原理图的时候一定要确认凡是接到A侧的信号都必须是3.3V域的信号5V域的信号只能接B侧。第二未使用的通道不能悬空。数据手册建议将未使用通道的A端口和B端口直接接到GND避免通道上的浮动电压导致内部振荡、增加静态功耗。如果你有一路通道暂时用不到不要把引脚悬空接个地最省事。第三上电时序问题。VCCA和VCCB必须至少有一个先上电然后OE引脚才能被拉高。如果OE一直强制接高而VCCB还没供上芯片内部的ESD结构会通过OE引脚反向供电导致VCCB上出现一个莫名其妙的电压。在电源设计里如果你无法保证时序可以把OE接到RC延时电路上让OE比电源晚几十毫秒拉高。3. 三种协议场景的接线设计与注意事项3.1 串口UART双通道是最低配置串口通信是典型的全双工双向协议MCU的TX引脚和RX引脚是独立的所以需要至少两个通道一个通道把MCU的3.3V TX转换成5V信号给外设另一个通道把外设的5V TX转换成3.3V信号给MCU。以STM32F103和一款5V电平的GPS模块为例接线如下A1接MCU_TX3.3VB1接GPS_RX5VA2接MCU_RX3.3VB2接GPS_TX5V。这样MCU发数据时信号从A1流向B1完成升压GPS发数据时信号从B2流向A2完成降压。实际使用中用9600波特率、115200波特率跑TXS0104E都稳得很。我最高试过921600波特率这个速率下5V侧波形的边沿依然干净没有出现误码。串口是最不需要担心速率问题的场景因为哪怕921600波特率单bit时长也还有约1μs而TXS0104E在推挽模式下的单bit时间远小于这个值。接线时还要注意共地问题。GND是电平转换的基准如果3.3V系统和5V系统不共地B侧的高电平和A侧的低电平都不是绝对参考通信时必然乱码。我见过有人把TXS0104E的GND悬空结果从示波器看波形呈现巨大的共模噪声串口就是不通。记住VCCA、VCCB、GND必须和两侧系统共地。另外提一个很多新手忽略的细节如果5V外设的RX引脚内部已经有上拉电阻TXS0104E的B1端口又有内部10kΩ上拉两个上拉并联后等效约5kΩ电平转换后的低电平会略高于理想GND。实测在5V电压下B侧低电平大约0.12V左右完全在TTL低电平阈值范围内不影响使用。3.2 IIC开漏协议下的上拉电阻匹配是重点IIC是最能体现TXS0104E价值的场景因为在IIC总线上数据线是双向的而且协议本身就是开漏结构。SCL时钟线和SDA数据线都需要带上拉电阻。用TXS0104E时SCL和SDA各占一个通道接线方式如下A1接MCU的SCL3.3V域B1接IIC从设备的SCL5V域A2接MCU的SDA3.3V域B2接IIC从设备的SDA5V域。A侧和B侧各有一个内部10kΩ上拉电阻到各自的VCC所以从原理上TXS0104E自己就构成了完整的上拉路径。但实际项目中我强烈建议不要只依赖内部10kΩ上拉。原因有两个。一是总线上如果挂了多颗设备总线电容会成倍增加内部10kΩ恢复高电平的速度可能不够。我实测过在3.3V侧只靠内部10kΩ上拉连接一颗5V IIC传感器板载4.7kΩ上拉后400kHz下SDA上升沿已经到200ns左右勉强符合IIC标准如果再并联第二颗设备上升沿就超过300ns了。这时候在B侧外部并联一颗4.7kΩ或2.2kΩ上拉上升沿能压回100ns左右。第二个原因是IIC总线上可能在5V侧还有一颗上拉电阻如果你选的阻值特别小例如1kΩ加上TXS0104E内部10kΩ、外部并联合计后等效上拉可能只有约800Ω。等效上拉越小对芯片内部NMOS下拉能力的要求就越高。虽然TXS0104E的NMOS导通电阻只有约十几欧姆但过小的上拉会增大功耗在低压系统里白白浪费电流。我常用的经验值是B侧外部上拉选4.7kΩ起步如果需要更快边沿再并联一颗4.7kΩ不要直接上1kΩ。还有一个IIC特有的问题时钟拉伸clock stretching。有些从设备在内部处理数据时会把SCL拉低让主机等待。TXS0104E对这种从B侧拉低、A侧检测到的操作完全兼容因为通道是双向的方向自动感应。但如果你的从设备时钟拉伸时间特别长比如超过1ms有些便宜的电平转换芯片会误判总线空闲但TXS0104E没有这种问题它的静态行为就是简单透传。实际我在板子上跑过两路IIC设备同时挂在TXS0104E后面一颗是5V温湿度传感器SHT30的5V兼容版本另一颗是5V OLED显示屏。外部4.7kΩ上拉全程400kHz跑逻辑分析仪抓波形没有任何问题。如果你遇到IIC偶尔失败优先查SDA低电平是否足够低、上升沿是否太缓而不是怀疑芯片。3.3 SPI推挽高速信号的速率边界与片选处理SPI是另一种典型的电平转换场景但它和IIC有本质区别SPI是推挽输出信号由MOS管主动驱动高和低不依赖上拉电阻。所以SPI信号经过TXS0104E时的行为其实更接近推挽模式下的单向传输只是方向会不断切换。一个标准的SPI主机需要四根线CLK、MOSI、MISO、CS。如果MCU是3.3V系统、从机是5V系统那么CLK、MOSI、CS是主机输出到从机方向固定为A到BMISO是从机输出到主机方向固定为B到A。这四路信号刚好占满一片TXS0104E的四个通道A1接MCU_CLKB1接从机_CLK A2接MCU_MOSIB2接从机_MOSI A3接MCU_MISOB3接从机_MISO A4接MCU_CSB4接从机_CS让我把TXS0104E在推挽模式下的速率边界说清楚。数据手册标称推挽模式最高约110Mbps换算成SPI时钟大约是55MHz听起来很高。但那是理想条件下的极限参数实际板子上考虑到走线、过孔、连接器、负载电容等因素我实测过的稳定上限大约是12MHz左右。我在一块普通双面板上跑STM32F103的硬件SPI时钟设8MHz时波形完整、从机通信正常改成16MHz后MISO信号出现明显的上升沿缓坡偶尔数据错误改成20MHz基本就不可用了。这背后的原因是TXS0104E的one-shot电路虽然能加速边沿但它的加速宽度是有限的。高速推挽信号下一个时钟周期只有几十纳秒one-shot的检测和恢复时间跟不上信号就会失真。所以如果你要做SPITXS0104E适合12MHz以下的场景这是我在多块板子上反复验证过的结论。片选信号还有一个细节CS在空闲时是高电平传输时拉低。TXS0104E对CS的拉低信号识别没有额外延迟但CS拉低后我建议至少延时几十纳秒再启动SCLK给电平转换通道一点“建立时间”。实际用STM32的硬件SPI时SPI外设本身就有一个延时参数CS to SCLK delay我用的是约2个SPI时钟周期的延时效果很好。如果CS切换频繁或者从机在CS下降沿就开始采样电平转换的延迟可能导致第一个字节读取错误这个问题排查起来非常隐蔽。4. 实操过程与关键环节实现4.1 硬件连线速查表下面是我在一款自研STM32F103主控板上实际使用的接线表供你参考引脚连接对象说明VCCA3.3V电源与GND之间并0.1μF和10μF去耦电容VCCB5V电源与GND之间并0.1μF和10μF去耦电容GND系统地所有GND连成同一个地平面OEVCCA不控制时直接拉高上电稳定后使能A1MCU串口TX3.3V域信号B15V外设串口RX5V域信号A2MCU串口RX3.3V域信号B25V外设串口TX5V域信号A3MCU IIC SCL3.3V域信号B35V外设 IIC SCL5V域信号A4MCU IIC SDA3.3V域信号B45V外设 IIC SDA5V域信号如果同时用到串口和IICTXS0104E四个通道正好分配完。如果换成SPI方案把A1到A4对应接CLK、MOSI、MISO、CS即可。这个表看着简单但我在第一版原理图上犯过一个错误把OE悬空了。结果芯片上电后静态电流比正常值大了将近3倍因为OE引脚内部有上拉悬空会导致内部逻辑犹豫不定、产生漏电。所以OE要么接VCCA要么用GPIO控制绝对不要悬空。4.2 STM32侧代码配置要点硬件连接搞定后软件层面也要注意一些细节。我用的是STM32F103虽然它自带硬件IIC外设但社区里几乎公认硬件IIC存在不少坑所以我做IIC通信时更推荐使用软件模拟IIC。软件模拟的好处是时序完全可控换引脚不容易死锁而且配合TXS0104E的extra delay也能灵活调整。软件模拟IIC的核心就是两个引脚加延时函数。用GPIO开漏模式输出SCL和SDA调用一个带延时参数的IIC_Start、IIC_Stop、IIC_SendByte、IIC_ReadByte函数组。注意在发送起始信号时SDA拉低后要加至少5μs延时再拉低SCL因为TXS0104E的低压侧和高压侧之间存在ns级延迟信号经过转换后才在5V器件侧看到正确的时序。SPI部分我使用STM32的硬件SPI外设配合CubeMX配置但有几个关键参数要特别设置SPI时钟极性和相位CPOL/CPHA必须和从机匹配SPI速率不要超过10MHz我在8MHz下最稳定CS片选用软件GPIO控制不启用硬件NSS这样切换速度快且可控用DMA搬运数据减少CPU占用。CubeMX配置步骤大致如下选择SPI1或SPI2模式设为Full-Duplex MasterCPOL和CPHA根据从机的数据手册选择波特率预分频设到SPI时钟8MHz左右数据大小8BitMSB First。然后另外配置两个GPIO引脚作为CS片选模式为普通推挽输出初始电平拉高。在代码里发送数据时先拉低CS调用HAL_SPI_Transmit_DMA发送命令字节和地址字节再调用HAL_SPI_Receive_DMA接收数据接收完成后拉高CS。如果你用SPI读取温湿度传感器、Flash芯片这类数据DMA的配合十分关键。Cubemx生成的启动代码里注意要先开启SPI接收中断或DMA传输完成中断在中断回调函数里判断数据接收完成再继续后续处理。不要在主循环里用阻塞方式等DMA完成标志否则会让出大量CPU时间。4.3 波形实测与信号完整性分析为了验证电平转换效果我用一台200MHz带宽的示波器抓了几个关键信号波形。串口场景115200波特率下A1输入的3.3V串口波形和B1输出的5V波形对比5V侧高电平约4.96V低电平约0.08V上升沿约8ns下降沿约6ns波形方正无明显回沟。这个品质完全可以直接驱动5V的USB转串口芯片。IIC场景加外部4.7kΩ上拉400kHz时钟下SDA从低到高的上升沿实测约95nsSCL上升沿约80ns。如果没有外部上拉仅靠内部10kΩSDA上升沿实测约210nsSCL约170ns虽然还能用但余量不多。所以我建议IIC场景至少加一颗外部4.7kΩ上拉。SPI场景8MHz时钟下CLK信号通过TXS0104E后高电平约4.9V低电平约0.1V上升沿约14ns下降沿约11ns信号完整。当我把SPI改成16MHz时上升沿变成约30ns边沿明显变缓且出现了平台效应这就是one-shot加速器跟不上节奏的表现。从这些数据可以总结一个经验3.3V与5V系统间用TXS0104E串口随便用IIC带负载别太野蛮SPI控制在10MHz左右以内都是稳的。5. 常见问题与排查技巧实录5.1 问题现象速查表我在使用TXS0104E的过程中遇到过下面这些问题列成表供大家对照现象可能原因解决措施输出波形边沿太缓、低电平压不下来外部上拉电阻过小导致下拉困难总线容性负载过大走线过长在B侧并联4.7kΩ~10kΩ上拉减小上拉电流缩短走线、减少过孔IIC通信偶发失败、SDA卡在低电平主从机SCL/SDA接反IIC速率过高且上拉不足从机地址错误用逻辑分析仪抓时序确认起始/停止条件降到100kHz测试检查从机地址SPI只能低速、10MHz以上乱码TXS0104E推挽高速性能达到边界CS/CLK时序余量不足从机对时序要求严苛降速到8MHz调整CS到CLK的延时检查SPI极性和相位串口乱码波特率过高地线未共地VCCB纹波大OE悬空确认共地在VCCB附近加去耦电容OE接VCCA降低波特率芯片轻微发烫VCCA和VCCB接反OE悬空某个端口信号超过电源电压检查电源引脚确认信号引脚电压不高于VCCA/VCCB5.2 一次IIC“花屏”事故的完整排查过程这里分享一个真实案例。我曾经用TXS0104E连接一块5V供电的IIC OLED屏一开始通信不稳定屏幕初始化经常失败偶尔成功显示却出现花屏、字符错乱。我先用逻辑分析仪抓了IIC总线波形发现SCL和SDA的上升沿都严重超过IIC规范400kHz模式下降沿只有30ns左右上升沿却有450ns。于是我在B侧5V侧SCL、SDA分别外并了一个4.7kΩ上拉电阻到5V上升沿从450ns降到了130ns但花屏依然时有时无。接着我怀疑软件时序把IIC速率从400kHz降到100kHz试花屏概率明显降低但初始化偶尔还是失败。后来发现OLED模块板上已经有上拉电阻再并联后等效上拉过小导致低电平被拉高到0.4V以上超过了从机的低电平阈值0.3×VCC1.5V5V × 0.3 1.5V0.4V倒还够但接近极限值。最终解决办法是把外部上拉电阻拆掉只保留模块自带上拉电阻加上TXS0104E内部10kΩ等效上拉约3kΩ同时把IIC速率设在200kHz自此屏幕稳定运行。复盘这个案例核心教训是IIC总线上多重上拉叠加时等效上拉未必越大越好关键是找到“边沿够快”和“低电平足够低”的平衡点。遇到花屏先别急着加电阻先算算总线上已经有几颗上拉电阻。5.3 选型建议与替代方案参考如果你看完这篇不想用TXS0104E或者你的项目已经超出了它的适用边界这里给几条选型参考。如果你的系统里SPI时钟必须跑到20MHz以上TXS0104E基本扛不住。这时候考虑TI的TXB0104它也是四通道自动方向但推挽模式下速度更高。不过TXB0104不支持纯开漏协议比如IIC所以如果你既要IIC又要高速SPI最好在板子上同时留TXS0104E和TXB0104两类位置。如果你只是处理串口这种单向低速信号一颗几毛钱的2N7002 NMOS管加上两个上拉电阻组成分立电平转换电路完全够用。它效率高、成本低唯一的门槛是需要根据电阻值和总线电容算好边沿时间。我一般用它处理UART或者单总线这类低速信号。如果是1.8V转3.3V这种更低压差的应用TXS0104E也支持只要VCCA接1.8V、VCCB接3.3V即可。但要注意芯片内部10kΩ上拉在1.8V侧时高电平驱动能力比3.3V时弱一些IIC总线上挂的设备多时要适当减小上拉电阻。最后还有一点市面上存在TXS0104E的国产兼容型号和TI原厂相比参数略有差异。如果项目对稳定性要求高、数据速率拉得比较满优先选用TI原厂正品别在关键信号链路上省几块钱。关于电平转换的一点个人体会用过一圈方案后我觉得电平转换这件事最核心的不是选型而是想清楚你的信号到底是什么方向、什么速率、什么协议类型。单纯做UART电阻分压和MOS管都够做IIC双向总线NMOS或TXS0104E都行做SPI要高速就得认真评估芯片的推挽能力。TXS0104E在串口和IIC场景是“万能钥匙”在SPI场景则是“够用但别拉满”。我自己的板子上现在只要遇到3.3V和5V混接第一版设计都会预留一片TXS0104E的位置把A侧B侧信号都引到焊盘上等调通了再根据实际情况决定要不要把芯片换成更便宜的方案。这种保守做法虽然占面积但省下的排查时间远远超过一块芯片的成本。
返回列表