自制RS232-485转换器电路图:
RS232-485转换器主要包括了电源、232电平转换、485电路三部分。本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。为了使用方便,电源部分设计成无源方式,整个电路的供电直接从PC机的RS232接口中的DTR(4脚)和RTS(7脚)窃取。PC串口每根线可以提供大约9mA的电流,因此两根线提供的电流足够供给这个电路使用了。经实验,本电路只使用其中一条线也能够正常工作。使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在4.7V左右。因此,电路中要说D3起的作用是稳压还不如说是限压功能。
MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入和输出。当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。在半双工使用中,通常可以将这两个脚直接相连,然后由PC或者单片机输出的高低电平就可以让MAX485在接收和发送状态之间转换了。由于本电路DTR和RTS都用于了电路供电,因此使用TX线和HIN232的另外一个通道及Q1来控制MAX485的状态切换。平时NIH232的9脚输出高电平,经Q1倒相后,使MAX485的RE和DE为低电平而处于数据接收状态。当PC机发送数据时,NIH232的9脚输出低电平,经Q1倒相后,使MAX485的RE和DE为高电平而处于数据发送状态。
如下图:
图中,P1.0可与单片机任意IO口连接,P1.0为高电平时,RS485处于发送状态,单片机将串行数据送至Txd引脚。P1.0为低电平时,RS485处于接收状态,单片机从Rxd引脚接收串行数据。
追问那这样在传输的过程中还要一直变换P1.0的高低电平,这样太麻烦吧,我看过一个电路图,也是485芯片,还加了3个TLP521-1的光耦,着几个光耦是控制输出高低电平吗?
追答光耦是起隔离作用的。三个光耦分别隔离Rxd、P1.0和Txd。
上图是总线结构的RS485中常用的控制方式。485为半双工传输模式,也就是说,总线上的设备,同时只允许一个设备在发送,因此,发送和接收的控制非常重要,平时,P1.0置0,RS485处于接收状态,接收到本机指令时,若需要应该,P1.0置1,开始发送数据,发送完毕,P1.0置0.
还有一种控制方式,就是将RE一直置0,也就是一直允许接收,另外,将Txd经过反向器接DE。
这样,Txd发送高电平时,实际上发送是禁止的,总线输出为空闲(高电平),Txd发送低电平时,发送允许,低电平出现在总线上。
作为总线设备时,一般建议用第一种,作为转换器时(无处理器模式,如RS232/RS485模块),采用第二种模式。
您是高手,说的太专业了,我是初学者,我不做软件,你说的第一种的方式,是不是我还的在软件里控制,我想做一块TTL砖485的转换板,所有的电路,只要是TTL电平,都可以经过这个转换板进行转换。我是想把ARM(SAMSUNG2440)的TTL电平转换成485电平,现在ARM上已经给我留出一个串口(TXD.RXD,GND,VCC)我只有这4个引脚可以用,求大侠帮助
追答那就只能用第二种方式了。
追问那样还用光耦吗?求大侠给个电路图吧。谢谢啊
追答光耦的目的是隔离,一般情况下,用不用都可以。
电路就是2脚接地,4脚经过一般非门连接3脚。
能给个你的邮箱吗?我画了个图,你看对不对?
追答本回答被提问者和网友采纳