单片机是一种数字集成芯片,数字电路中只有两种电平:高电平和低电平。为了让大家在刚起步的时候对电平特性有一个清晰的认识,我们暂时定义单片机输出与输入为 TTL 电平,其中高电平为+5V,低电平为 0V。计算机的串口为 RS232电平,其中高电平为-12V,低电平为+12V。这里强调的是,RS232C 电平为负逻辑电平,大家不要认为上面是我写错了。因此当计算机与单片机之间要通信时,需要依靠电平转换芯片,比如 MAX232 电平转换芯片。
常用的逻辑电平还有很多,比如 TTL、CMOS、LVTTL、RS-232、RS-485 等。其中 TTL 和 CMOS 的逻辑电平按典型电压可分为四类:5V 系列(5V TTL 和 5V CMOS)、3.3V 系列,2.5V 系列和 1.8V 系列。
5V TTL 和 5V CMMOS 是通用的逻辑电平。3.3V 及以下的逻辑电平被称为低电压逻辑电平,常用的为 LVTTL 电平。低电压逻辑电平还有 2.5V 和 1.8V 两种。RS-232 和 RS-485 是串口的接口标准,RS-232 是单端输入/输出。RS-485 是差分输入/输出。
TTL 电平信号用的最多,这是因为数据表示通常采用二进制,+5V 等价于逻辑 1,0V 等价于逻辑 0,这被称为 TTL(晶体管-晶体管逻辑电平)信号系统。
CMOS 电平 VCC 可达 12V,CMOS 电路输出高电平约为 0.9VCC,而输出低电平约为 0.1VCC。MOS 电路中不使用的输入端不能悬空,否则会造成逻辑混乱。另外,CMOS 集成电路电源电压可以在较大范围内变化,因而对电源的要求不像 TTL集成电路那样严格。
TTL 电路和 CMOS 电路的逻辑电平关系如下:
①VOH:逻辑电平 1 的输出电压。
②VOL:逻辑电平 0 的输出电压。
③VIH:逻辑电平 1 的输入电压。
④VIL:逻辑电平 0 的输入电压。
TTL 电平临界值:
①VOHmin=2.4V,VOLmax=0.4V。
②VIHmin=2.0V,VILmax=0.8V。
CMOS 电平临界值(假设电源电压为+5V):
①VOHmin=4.99V,VOLmax=0.01V。
②VIHmin=3.5V,VILmax=1.5V。
TTL 和 CMOS 的逻辑电平转换:CMOS 电平能驱动 TTL 电平,但TTL 电平不能驱动 CMOS 电平,需加上拉电阻。常用逻辑芯片的特点如下:
74LS 系列: TTL 输入:TTL, 输出:TTL
74HC 系列: CMOS 输入:CMOS,输出:CMOS
74HCT 系列: CMOS 输入:TTL, 输出:CMOS
CD4000 系列: CMOS 输入:TTL, 输出:CMOS
通常情况下,单片机、DSP、FPGA 之间引脚能否直接相连要参考以下方法进行判断:一般来说,同电压的是可以相连的,不过最好还是要查看下芯片技术手册上的 VIL、VIH、VOL 和 VOH 的值,看是否能够匹配。有些情况在一般应用中没有问题,但是参数上就是有点不够匹配,在某些情况下运行可能就不够稳定,或者不同批次的器件就不能运行。