以STM32F030为例,在datasheet中可以看到一句关于IO的表述:Up to 55 I/Os with 5V tolerant capability。
5V tolerant capability是什么意思?
如果MCU的供电电压是3.3V,普通的IO是没法接5V输入电压的,虽然大多数芯片都具有允许 5V瞬变的 ESD 保护,但如果长时间接5V,也会有问题。
所谓5V tolerant是指这些IO可以处理 5 V的输入电压而不损坏芯片,并且正确的识别逻辑电平。
从芯片的数据手册中可以看出,5V tolerant的IO input voltage最大值是5.5V,而普通的IO最大输入电压是VDDIOX+0.3
对于某个具体的IO,它是否为5V tolerant,可以在pin definition表中I/O structure一列中查看,其中TC表示标准的3.3V IO,FT、FTf表示是5V tolerant
具备了5V tolerant能力,比如3.3V的UART RX和就可以和外面的5V UART TX直接通信,不过需要注意的,它只是输入能接5V信号,没法输出5V电平的。
大家看下下面的这个电路,如果左侧UART TX和RX都是5V tolerant,该电路可以正常工作吗?