采用C8051F020的RS485串行通信电路设计

日期:2016-08-07 16:24:43编辑作者:申博亚洲
随着计算机技术和测控技术的不断发展,在以单片机为核心的数据采集系统中,需要实现单片机和计算机之间的数据交换,并以此来发挥单片机和计算机各自的长处,提升整个系统的性能价格比。在计算机网络和工业控系统中,经常需要采用串行通信来实现远程数据传输。

    目前,有多种接口标准可用于串行通信,包括RS232、RS422、RS485等。RS232是最早的串行接口标准,在短距离、较低波特率串行通信中得到了广泛应用。但是,RS232 通信存在着传输速度慢、传输距离短、信号容易受到干扰等不足,其应用局限性已日益突出。而RS485 通信采用差分方式来消除噪声,即信号在发送前会分解为正负2 条线路,当到达接收端时将信号相减,使噪声相互抵消,还原成原来的信号,这种方式对共模干扰抑制能力较强,已广泛应用于工业控制等领域。

  要实现单片机与计算机之间的RS485通信,一般可以采用2 种方法:一种方法是在单片机与计算机两端分别采用RS232与RS485 电平转换装置;另一种方法是采用RS485通信卡,并将其插在计算机主板上。采用前一种方法的优点是硬件装置安装简便,软件编程相对简单;缺点是通信速率被限制在20 kb/s以内。第二种方法的优点是通信距离较远,速率较高,可达10 Mb/s;缺点是需要安装通讯卡和驱动程序,并进行必要的设置。本文采用第二种方法。

  电路设计

  采用UART 串行总线进行通信,因为UART 是一种广泛应用于远距离、低速率、低成本通信的串行传输接口,由于其具有数据线少的特点,在数字系统设计中得到了大量应用。基本的UART 通信只需要两根数据线(RXD、TXD)即可完成数据的相互通信,接收和发送都是全双工形式,其中RXD 是接收端,TXD 是发送端。

  采用C8051F020的RS485串行通信电路设计

  C8051F020单片机有2 个UART(UART0 和UARTl),以UART0 为例,它的TxD 和RXD 分别与数字I/0 引脚PO.O 和PO.1 复用,通过交叉开关配置寄存器进行选择。由于MAX485工作在半双工状态,它与单片机连接时的接线比较简单,只需要用单片机某一个引脚(如PO.2)来控制RE 和DE 这2 个引脚。PCL-846B 通信卡有4 个通道,选择通道1 与单片机进行通信,另外将通道2 和通道4 进行连接,以自发自收的方式实现通信卡的自检。单片机与外部电路的连接关系如图2 所示。

  在使用RS485通信卡进行通信时,当信号传递到通信线路两端时,如果阻抗不匹配,可能会产生信号反射问题。信号反射会造成信号的失真和变形,从而导致通信错误。其解决方法就是在通信线路的两端各连接一个终端匹配电阻,保证阻抗匹配。当通信距离较短, 一般在小于300 m 时,可不使用终端电阻。当通信距离大于300 m 时,应当使用终端电阻,其阻值必须与通信线路的线性阻抗相同。电阻值一般选取120 Ω左右,当通信距离较长时,可以选用300 Ω。

相关文章

http://www.jinyuankj.com/cxtx/20160807/24.html

采用C8051F020的RS485串行通信电路设计

随着计算机技术和测控技术的不断发展,在以单片机为核心的数据采集系统中,需要实现单片机和计算机之间的数据交换,并以此来发挥单片机和计 ..

发布日期:2016-08-07 详细>>

http://www.jinyuankj.com/cxtx/20160807/25.html

HMS首款EtherNet/IP连接设备实现罗克韦尔自动化PLCs和串行设备间的通信

HMS工业网络现在推出其新的EtherNet IP连接设备系列中的首款产品。这款新的EtherNet IP串行连接设备能让用户将任何串行设备连接至罗克韦尔C ..

发布日期:2016-08-07 详细>>

http://www.jinyuankj.com/cxtx/20160807/22.html

Pb6中的串行通信(MSCOMM32.OCX)完全解答版

本文给出一个在PB6中如何采集串行口数据的实例及MSCOMM32 OCX控件的一些基本知识。一:问题描述本文解决的是采集磅房的磅值读取问题。磅秤 ..

发布日期:2016-08-07 详细>>

http://www.jinyuankj.com/cxtx/20160807/30.html

基于串口通讯的PROFIBUS性能分析诊断软件

随着越来越多工业控制系统采用了PROFIBUS现场总线技术,对这些控制系统进行具体的、直观的和实时的在线分析与诊断成为了最基本的要求,要想 ..

发布日期:2016-08-07 详细>>

RS232串口通讯模块

1 支持C 、Delphi for net、Delphi for Win32 2 Code Snippets 3 For loop(支持Delphi for Win32) 4 Refactoring for Delphi ..

发布日期:2016-08-07 详细>>