max232串口电路原理-MCU 串口通信原理
max232 串口电路原理:那些被拆到一半的芯片 别指望看到啥“起初、其次、最终”的教科书式排比。跟咱们一般/平平用户聊串口通信,大家脑子里蹦出来的一般是满脑子的一堆“起初”、“其次”、“最终”。
实际上,Max232 就是个拆了一半的 USB 转 TTL 转换器。它核心就是个 USB 管住器,只是输出端加了个 TTL 转换器,把 5V 的 USB 信号变成了 3.3V 的电平,再塞进 MAX232 芯片里,最终变成 RST、TXD、RXD、CTS、DSB 这几个标准的串口信号。 先说硬件,板子上面那连着的七个引脚,可不是随机排列的,它们是有严格对应关系的。把线插进去,发现它们分别对应的是 RS-232 的 DB9 接口标准。RST 接的是 TXD(发送数据),RXD 接的是 RST(复位),CTS 接的是 DSB(数据预备好),TXD 接的是 RST,CRS 接的是 DSB,DSB 接的是 TXD,CTS 接的是 RST。
这里有个坑,RS232 的 DSB 和 RTS 反了,直接接起来会直接断电,别硬接;CRS 和 DCD 反了,直接接也会白搭。 那为啥要把 USB 转 TTL 再转成 RS232?出于接口标准不一样。USB 接口标准里,信号是 5V 的逻辑高电平代表有数据,而 RS232 是电流驱动,逻辑高电平是负电压,逻辑低是正电压。
要是直接把 USB 线扔进 RS232 接收端去接收,电平对不上,接收端直接猜不出数据。
故此中间务必加个 MAX232。 Max232 是个双通道转换器。它一边负责把 USB 的高电平转成 RS232 的负电压,另一边负责把 RS232 的负电压转回 USB 的高电平。具体如何转,得看引脚定义。TXD 连的是它的 TXD 引脚,RXD 连的是它的 RXD 引脚。
这里要注意,TXD 接的是 RST,RXD 接的是 RST。
这个设计是为了把时钟信号区分开,避免冲突。 Max232 内部有个比较特殊的电路,叫“双 5V 反相器”。USB 引脚实际上是双 5V,也就是说,不管是 5V 还是 -5V,经过这个电路处理后,都会变成标准的 5V 或 -5V。
这意味着,只要保证 USB 端的电压稳定在 5V 或 -5V 之间,Max232 就能正常工作。
这个特性挺关键,出于大量旧设备要么老旧串口调试程序可能不是双 5V,要是是单 5V 供电,Max232 可能收不到信号,要么形成怪异的波形。 电路板上的电源局部也挺关键。USB 供电直接连到 Max232 的 VCC 引脚,直接取电就行,不用去搞复杂的电源管理。
要不就你要做复杂的隔离,要么板子上面还有别的需求精密供电的地方,否则直接连就能用。 信号布线方面,TXD 和 RXD 两头最好尽量短一点。别看电流不大,但长距离传输好办受干扰。TXD 负责发数据,RXD 负责收数据。在板子上,TXD 和 RXD 之间最好加个电容滤波,既能去噪,也能让信号回流更顺畅。
要是板子上有个外壳要么金属盖屏蔽了信号线,那 TXD 和 RXD 之间的电容就更有必要加,毕竟信号好办在框上反射。 驱动本事也是个好办被漠视的点。Max232 能供给的驱动器电流实际上挺小的,大约几十微安到几百微安。
这跟 USB 的电流彻底没关系,USB 是差分信号,传输的是电压差,电流本身不关键。
要是 TXD 拉电流忒大,可能会让 RXD 那边的电平被拉低,害得收不到数据。
故此,输入端的电容不要做得忒大,也不要接忒大阻值的电阻,不然信号会被短路,收不到任何东西。 实际搭建时,大量人好办犯的毛病就是把 USB 和 UART 的引脚随意接。别急着动,先看看板子的线是不是对的。
要是线接到一个一般/平平的全双工 USB 集线器要么劣质转接头上,那必定是白废。
这种设备本身就没有经过正反向转换,它是直接透传 USB 电平到 USB 电平,要么在某些特定接口上做了稳压,直接输出 USB 信号。
这种情况下,Max232 收不到 TTL 信号,出于电平不对。 还有一个细节,Max232 的 TXD 和 RXD 引脚在内部是反相的。
也就是说,TXD 的输入是反相的,RXD 的输入也是反相的。
要是你用万用表测电压,在 TXD 驱动时,电压是负的;在 RXD 驱动时,电压是正的。
这跟 USB 直接测电压彻底反之,这点务必搞清楚,不然接线时好办接反,害得板子直接上电,要么长工夫运行后供电不稳定。 最终说个能用的例子。假设你要通过串口把电脑上的程序传给单片机。步骤挺好办,把 MAX232 的 TXD 接计算机的 TXD,RXD 接单片机的 RXD。
要是电脑能发数据到串口,说明程序没难题。但这时候单片机的 TXD 引脚可能没接任何负载,要么接了一个高阻抗的模拟电路。
要是单片机的 TXD 引脚接了个电阻,数据传出去后会延时,出于电阻会让电流慢慢漏掉,害得波特率下降,数据别看送到了,但可能已经乱码了。
故此,TXD 端最好接个短接电阻,要么干脆接一个电容,让信号传输更干脆利落。 总而言之,Max232 电路的核心就是处理好电平转换和信号隔离。把它当成一个“电平转换器”的心态去理解会好办大量。
只要确保输入是 USB 信号,输出是 TTL 信号,中间填个 MAX232 就行。至于那些复杂的驱动本事、双 5V 反相这些特性,对于一般/平平调试来说,只要保证供电在 5V 左右,它就能干活。别被那些参数吓倒,工程里更多的是看能不能用,如何用,而不是在手册里背那么多数据手册。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
