RS232和TTL不同在于硬件:电平表示的逻辑含义不同(相反)
RS232和TTL,的,根本的不同在于:
硬件(机制)不同:
(1)TTL
逻辑高电平==’ 1 ‘==Vcc== 3.3V或5V
逻辑低电平==’ 0 ‘==0V== 0V
(3)RS232:
逻辑高电平==’ 0 ‘==负电压== -3V~-25V==常为: -13V
逻辑低电平==’ 1 ‘==正电压== 3V~25V==常为: 13V
为何RS232中要(很奇怪的)用负电压表示逻辑高电平呢?
按理来说:
TTL用正电压(3.3V或5V)表示逻辑1,用0电压表示逻辑0,是相对来说,比较符合人类的逻辑的
但是,为何RS232却,很奇怪的,用负电压表示逻辑高电平==1呢?
那是因为:
此设计(用负电压表示逻辑1,正电压表示逻辑0)相对来说,更加:
抗(外界的电磁)干扰
抗外界的(电磁信号)噪音干扰
抗(信号的)衰减
使得和同样的TTL信号相比,RS232信号可以传输的更远
由此使得:
信号传输,相对更加稳定和可靠。
RS232和TTL时序图对比
对于同样传输0b01010101来说,RS232和TTL的时序对比:
RS232和TTL之间的转换
RS232和TTL之间的转换,不仅仅是简单的电平转换,还要考虑到其他一些因素,比如调节和矫正一些电平(提高或降低对应的电平),确保可能的有害的RS232电压不会破坏微控制器的串口针脚。
关于如何在RS232和TTL之间转换,目前已经有很多种解决方案了。
比如:
RS-232 vs. TTL Serial Communication 中的 MAX-232