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

2016-10-07来源: eefocus关键字:C8051F020  RS485  串行通信
  随着计算机技术和测控技术的不断发展,在以单片机为核心的数据采集系统中,需要实现单片机和计算机之间的数据交换,并以此来发挥单片机和计算机各自的长处,提升整个系统的性能价格比。在计算机网络和工业控制系统中,经常需要采用串行通信来实现远程数据传输。

    目前,有多种接口标准可用于串行通信,包括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 Ω。

关键字:C8051F020  RS485  串行通信

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2016100730183.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于DS18B20和nRF2401的库区测温网络无线传输系统
下一篇:基于单片机的血压远程诊断系统的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32F103C8T6最小系统地的构建(3)_时钟源电路-晶振

最小系统板要有处理器这是肯定的,既然我标题都是STM32F103C8T6的最小系统,那处理器就是C8T6了,电路图上,加一块芯片原理图,如此简单的操作就不做过多描述了。系统是需要有时钟,这样,你的系统跑起来会稳定有序。STM32内部自身就有三个时钟源,这个看过32手册时钟树的都会有一定的了解,在32芯片的时钟树中需要有五个时钟源,我们需要布置的便是外部高速时钟和外部低速时钟。我们讲硬件电路布置,32时钟树的的时钟讲解你们可以参考其他人的一些讲解性文章。硬件上需要了解的知识有两个,外部时钟源怎么和MCU相连,外部时钟源给多大?这个都不是什么非常难找的,网上资料还是有很多的,查阅资料:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟
发表于 2019-07-13
STM32F103C8T6最小系统地的构建(3)_时钟源电路-晶振

STM32F103 CubeMX I2C

最近在做一个项目,由于实时性要求高所以想把串口通讯、I2C、SIP都通过DMA来完成。先用CubeMx配置后生成工程,然后做串口DMA收发测试程序一切顺利,接下来搞了一天I2C,总是在不成功,逻辑分析仪上SDA、SCL只看到有一个脉冲,断点调试发现死锁在while(__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET);几乎放弃。后来看到:https://www.cnblogs.com/jackweibe/p/6056821.html 终于找到问题所在。测试EEPROM:特别要注意:I2C的地址是8位还是16位,如果是8位:HAL_I2C_Mem_Write(&hi2c
发表于 2019-07-09

STM32F103C8T6低功耗测试(待机模式)

管的,只是不知道这上拉电阻接到了外围芯片上对外围电路的功耗有怎样的影响。) 再取下AT24C02芯片模块,正常电流7.7mA,待机电流10.5uA; 再取下L9110S电机驱动芯片,正常电流7.7mA,待机电流10.5uA,没有变化; 再取下SK040G语音芯片,就剩电源和按键部分了,正常电流7.6mA,待机7.4uA。 修改程序,开RTC后(选外部32.768k晶振),待机时电流为8.6uA。 装上OLED 0.9寸小128x64液晶屏测试了下,待机时120uA,此时若取下液晶屏,电流由120uA变到正常待机的7.4uA。待机模式可实现 STM32的最低功耗。该模式是在 CM3 深睡眠
发表于 2019-07-01
STM32F103C8T6低功耗测试(待机模式)

stm32f103C8T6移植enc28j60+UIP1.0

移植环境(蓝色粗体字为特别注意内容)1,开发板:STM32F103C8T6最小系统开发板。2,开发环境:Keil uv53,参考文献:https://blog.csdn.net/wzs298/article/details/12228481移植ENC28J60这个网络模块可谓是困难重重啊,。。。。。找了很多个例子都没有成功的,只能说很坑很坑,我不知道网上为什么那么多人抄袭,,没有经过自己验证就copy出来。。。。捣鼓了一天终于把这个坑爹的模块搞定了,,,,先来贴一张图片:本例程移植uIP-1.0协议栈,演示开发板和PC间的TCP通信。自定义了一个简单的应用层通信协议。本例程实现的功能有:(1)通过PC机控制板子上的LED
发表于 2019-06-13
stm32f103C8T6移植enc28j60+UIP1.0

STM32F103C8T6使用MDK 4.12中Custom_HID的修改方法

目的,由上位机发送64字节,设备回应3个字节,功能自定。。板子使用的是最小核心板,MCU为STM32F103C8T6。USB的D-和D+分别接到PA11(USBDM)和PA12(USBDP)上,PA12(USBDP)即D+通过跳线使上拉1.5K电阻到VCC(3.3V)。1:打开MDK4.12,打开C:KeilARMExamplesSTSTM32F10xUSBLibDemosCustom_HIDproject目录下的Custom_HID项目文件。2:选择菜单 Project->Options for Target 'STM3210E-EVAL'在Device选项卡里选择 STM32F103C8。在Output
发表于 2019-06-12

STM32F103RCT6移植到STM32F103C8T6注意事项

1,修改IC为STC32F103C8 2,修改晶振为8.0M  3,修改C/C++宏定义,由STM32F10X_HD,USE_STDPERIPH_DRIVER 改为 STM32F10X_MD,USE_STDPERIPH_DRIVER 4,替换启动文件,由startup_stm32f10x_hd.s修改为startup_stm32f10x_md.s到这里已经没有报错了5,重新分配各模块引脚定义这一步做完以后才发现,程序好像跑的慢了10来倍,群里求助,说是倍频没有设置好,找到一个设置倍频的代码后,发现还是不行.再搜索原子论坛有人同样遇到相同的问题,在某位大神的回复中找到了答案
发表于 2019-06-12
STM32F103RCT6移植到STM32F103C8T6注意事项

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved