基于STC11F02E的RS232/RS485转换器设计

发布者:xxoke624最新更新时间:2012-11-08 来源: 21IC 关键字:STC11F02E  RS232  RS485  转换器 手机看文章 扫描二维码
随时随地手机看文章

引言

随着通信技术的普及和发展,人们对测控系统的总体性能要求越来越高,为了便于对分布式的各个现场测控设备实现集中控制,现场总线技术得到了广泛的应用。RS485总线因其硬件设计和通信协议简单、控制方便、成本低廉、传输距离远以及可挂接多个从设备等优点而成为目前国内应用较多的现场总线之一。

目前大多数的分布式现场总线通信系统通常都使用PC机(或工控机)作为主机对各个现场设备进行集中控制和数据传输。PC机只有标准的RS232接口,而RS232总线和RS485总线的接口电平不兼容,要实现PC机和RS485总线构成的通信网络的连接就必须进行RS232和RS485之间的电平转换。因此,进行RS232/RS485转换器的设计就显得很有必要。

采用单片机进行RS232/RS485转换器的设计是比较常用的一种方法。传统的基于单片机设计的RS232/RS485转换器存在着以下不足之处:

(1)采用的单片机和外围器件个数较多,给设计带来不便,也不利于降低成本,减小体积;

(2)设置不灵活,不能改变波特率和通信方式,或者更改参数不方便,使通用性受限。

鉴于以上不足,本文采用宏晶科技公司生产的增强型51单片机STC11F02E为核心设计了一款RS232/RS485转换器来弥补这些缺陷,降低了成本,减小了体积,同时能够方便地进行波特率和通信方式的设置,增强了其通用性;而且单片机的可编程方式也方便了转换器的功能扩展,灵活性大大增强。

转换器的总体结构概述

转换器主要由三部分组成,分别为:RS232电平转TTL电平模块、RS485电平转TTL电平模块和单片机主控制模块。转换器的总体结构框图如图1所示。



图1 转换器总体结构框图

RS232电平转TTL电平模块用来实现RS232总线和单片机之间的连接,RS485电平转TTL电平模块用来实现RS485总线和单片机之间的连接,而单片机主控制模块起到一个过渡连接的作用,用于协调和控制RS232总线和RS485总线之间的数据传输。

下面详细阐述这3个模块的具体硬件电路设计。

转换器的硬件电路设计

RS232电平转TTL电平模块的电路设计

这里采用Maxim公司生产的MAX232电平转换芯片设计RS232和单片机的电平转换接口电路。

MAX232芯片只需用5V的单电源供电,外加4个电容,就可实现RS232电平和TTL电平之间的转换,可直接驱动RS232总线进行数据传输,使用十分方便。采用该芯片可以很容易地实现单片机和RS232总线之间的连接,其最高传输速率可达120kbps。

该模块的具体电路设计图如图2所示。


图2 RS232电平转TTL电平电路

RS485电平转TTL电平模块的电路设计

该模块的电路采用Maxim公司生产的RS485接口芯片MAX483E进行设计。

MAX483E芯片是一款用于RS485和RS422通信的低功耗总线收发器,具有±15kV静电放电冲击保护和限摆率驱动特性,减小了电磁干扰和终端电缆反射,允许高达250kbps速率的无差错数据传输。该芯片只需用5V的单电源电压供电即可正常工作,而且在一条总线上最多可以连接32个负载。利用该芯片可以极大地简化单片机和RS485总线的接口电路设计。

该模块的具体电路设计图如图3所示。

图3 RS485电平转TTL电平电路

单片机主控制模块的电路设计

该模块是转换器的核心模块,转换器的主要功能就是通过该模块来实现的。整个电路设计也非常简单,只需一片增强型的51单片机STC11F02E外加一些基本的外围电路(包括外部晶体振荡器电路和复位电路)即可完成设计。

STC11F02E单片机为增强型的8051内核,具有2KB的片内Flash程序存储器、2KB的EEPROM存储器和256KB的片内SRAM数据存储器。这款单片机的UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)模块的最大特点就是通过配置特殊功能寄存器AUXR1中的第7位UART_P1的状态可以使UART模块的两个引脚(RXD、TXD)接到P3端口的P3.0、P3.1引脚,或者接到P1端口的P1.6、P1.7引脚,从而可以充当两个串口使用。这里主要利用该功能来设计RS232/RS485转换器。

整个转换器的总体硬件电路图如图4所示。


图4 转换器总体硬件电路图

转换器的工作原理

转换器硬件电路的工作原理是先将PC机串口输出的RS232总线信号电平通过电平转换芯片MAX232转换成STC11F02E可以接收的TTL电平信号,由该单片机接收PC发送过来的数据。STC11F02E接收完传来的全部数据后将串口引脚从P3.0和P3.1切换至P1.6和P1.7引脚,再把接收到的数据通过RS485收发器MAX483E发送到RS485总线上。从机应答后将相应的数据传至RS485总线上,再通过RS485收发器转成TTL电平后由单片机STC11F02E接收。STC11F02E接收完从机传来的全部数据后将串口引脚重新切换至P3.0和P3.1引脚,再通过MAX232电平转换芯片传送到PC机的RS232串口上去,使PC机接收从机传来的数据。整个数据传输过程就这样反复地进行。

一般的RS485总线的多机通信方式是半双工方式,也就是发送和接收不是同时进行的,某一个终端设备在某一时刻只能是发送状态或者是接收状态,所以采用这种方法来设计RS232/RS485转换器是合理的。这里的关键问题是如何协调好P3.0、P3.1和P1.6、P1.7这两组串口引脚之间的切换,这可以通过单片机的程序设计来实现。[page]

转换器的程序设计和通信协议设计

转换器的程序设计流程

转换器的整个程序的总体流程图如图5所示,主要包括程序初始化模块、主程序模块和串行口中断服务模块这三个部分。



图5 转换器程序流程图

程序初始化模块主要完成一些寄存器的初始化工作,包括看门狗设置、设定主机数据接收结束标志位MDE和从机数据接收结束标志位SDE、初始化串行口的连接引脚、初始化串行口设置寄存器和通信波特率、开启串口中断和总中断。主程序模块主要任务是完成串行口连接引脚之间的有序切换以及数据的发送。串行口中断服务模块的功能是完成数据的接收并置位标志位MDE和SDE。

由于每次通信结束之后单片机的UART模块的引脚总是和主机相连的,所以每次通信都必须是由主机发起的,从机总是处于接收状态,只有主机寻址到从机时,从机才可向主机发送数据。

RS485总线通信协议设计

为了保证数据传输的可靠性,必须规定好RS485总线主从式通信的通信协议。

该转换器采用的通信协议在传送每个字节数据时共发送的数据位有10位和11位两种,具体采用哪种通信方式可以人为进行设置。通信数据以信息帧的格式发送信息,每一信息帧由多个字节数据构成,包含地址域、功能域、数据域和CRC校验域这4个部分,如表1所示。其中地址域用于选择要进行通信的从机地址;功能域用于指示要执行的具体操作;数据域包含所要传输的数据;CRC校验域用于存放产生的CRC差错校验码,保证数据传输的正确性。

通信协议中规定的通信波特率有2400 bps 、4800 bps 、9600 bps 、19200 bps、38400bps和115200bps六种波特率,默认波特率为9600bps,可以根据实际需要通过软件设定。通信方式和波特率对应的设置参数存于单片机自带的EEPROM存储器中。

通信协议中定义的功能码及其功能如表2所示。将来如果需要扩展功能的话,还可以通过在应用程序中增加相应的功能码来增加系统对应的功能,使得系统功能扩展更加灵活。

表1 信息帧标准结构


表2 功能


转换器的试验结果

为了方便转换器的调试,这里采用10位的通信方式,即1位起始位、8位数据位和1位停止位。其中上位机为PC机,通信接口为RS232接口;下位机是以C8051F020单片机为核心设计的水泵综合参数测试平台的主控电路板,通信接口为RS485接口。调试软件使用串口调试助手。上位机和下位机的连接就是采用上面已经设计好的RS232/RS485转换器。这里设置从机地址为01H,采用前面设置的功能码进行调试。具体的调试结果如图6所示。

图6中第1行竖线左边的数据是PC机发送03H功能码读取从机外部数据存储器2345H地址单元开始的16个单元中的数据时从机返回的数据。主机发送的数据帧(16进制数)为:

01 03 23 45 10 db 12

图6中第1行竖线左边部分第1字节代表从机地址,第2字节代表从机返回的功能码,第3字节为从机发给主机的数据个数,后面的16个字节为所读取的单元的数据,最后2个字节为CRC16校验码。重复发送相同功能码时可以看到返回的数据是一样的,说明通信正常。

图6中第2行竖线右边的数据是PC机发送10H功能码对从机外部数据存储器2345H地址单元开始的16个单元写入数据时从机返回的数据。主机发送的数据帧(16进制数)为:

01 10 23 45 10 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff a7 21

图6中第2行竖线右边部分第1字节代表从机地址,第2字节代表从机返回的功能码,第3和第4字节分别为外部数据存储器地址的高字节和低字节,第5字节代表写入的数据个数,最后2个字节为CRC16校验码。重复发送相同功能码时可以看到返回的数据是一样的,说明此时通信也正常。在发送10H功能码之后再发送03H功能码进行检查,可以看出从机返回的外部数据存储器2345H地址单元开始的16个单元中的数据和刚才写入的数据是相同的,由此可知对应功能码的操作正确,而且通信也正常。



图6 采用串口调试助手对设计的转换器进行调试的结果

从上面的试验可以看出该转换器可以实现PC机和RS485总线的正常通信,说明所设计的转换器符合预期的要求。

结论

本文利用单片机STC11F02E的串口引脚可以在P3.0、P3.1引脚和P1.6、P1.7引脚之间随意切换的特性,设计了一个简单实用的RS232/RS485转换器。该转换器结构非常简单,只用到了三片常用集成芯片外加少量外围器件便可完成总体设计,极大地减小了体积和成本,而且转换器的电源还可以通过PC机的USB接口提供的5V电源来供电,可以省去另外配置电源的麻烦。

该转换器已成功应用在所设计的水泵综合参数测试平台上,实际试验结果表明该转换器运行稳定可靠,可应用于由PC机作为主机的RS485总线的主从式半双工通信系统当中。
关键字:STC11F02E  RS232  RS485  转换器 引用地址:基于STC11F02E的RS232/RS485转换器设计

上一篇:基于STC12C5A60S2的马弗炉温度控制器设计
下一篇:于STC12C5410AD单片机控制的恒功率金卤灯电子镇流器

推荐阅读最新更新时间:2024-03-16 13:12

RS232通讯线及其制作
在调试电气设备时,常常会遇到通讯故障,无非是设置问题、通讯线问题以及通讯硬件问题,这里汇集三菱PLC、人机界面与电脑之间的通讯线电路图,维修和自制时可供参考。
[嵌入式]
60A交错式有源钳位正向转换器设计
引言 在48V输入电信系统中,100W到250W的电源便足以满足许多应用的需求。正向转换器是这些应用的理想选择。在更低输出电压下,次级电路中的同步整流可提高效率和简化系统散热设计。有源钳位正向转换器可以很好地服务于这些应用,因为同步整流的易于实现性。 在大多数情况下,正向转换器的输出电流常常被设定在约30A。超过该电流值,便很难管理次级电路的电感设计和传导损耗。从功率的角度来看,主电路(许多并联FET)成为250W以上额定功率的一个限制因素。在一些大功率系统中,必须转而使用一种不同的拓扑结构,例如:全桥等,或者并行操作两个或者更多正向转换器以增加输出功率。 对于使用二极管整流其输出的一些并联电源,负载共用IC非常有效。二极
[电源管理]
60A交错式有源钳位正向<font color='red'>转换器</font>设计
时代民芯公司两款转换器芯片挤入我国民用高端市场
  近期,由时代民芯公司自主研制的24位192kHz采样率的高性能音频数模转换器和8位双通道100MSPS模数转换器实现批量供货——被我国高端音视频领域与高端导航设备、示波器领域的龙头企业采用,标志着该公司成功打破国外高端转换器在这些领域垄断局面(之前同性能产品长期依赖进口),挤入我国民用高端转换器市场。      24位192kHz采样率的高性能音频数模转换器可广泛应用于数字机顶盒、数字电视、CD/DVD、音响、安防等高端音视频领域,性能达国际同类产品水平,且在低功耗和防爆破音技术上相比有所改进。目前该系列产品已销售20万颗,在市场推广方面,已形成多家代理抢推之势,并被NEC等高清机顶盒解码方案选用,销售前景相当可观。     
[模拟电子]
面向热能收集应用的自动极性升压型转换器和电源管理器
      凌力尔特公司 (Linear Technology Corporation) 推出高度集成的升压型 DC/DC 转换器和电源管理 IC LTC3109,该器件为用热电发生器 (TEG)、热电堆等毫伏输入电压源启动和运行而设计。该器件的开创性和专有自动极性拓扑结构使其能够从低至 ±30mV 的输入电压来产生可用功率,从而可以收集低至 ±1°C 的温度差来产生电源,而不必使用传统的电池电源。这使其成为能量收集应用的理想选择,在能量收集应用中,输入电压极性是未知的或者常遭受反转。能量收集器非常适合于那些要求低平均功率的应用,即使存在周期性的较高负载电流脉冲时也不例外。例如:在许多无线传感器应用中,只在低占空比条件下进行测量以
[电源管理]
面向热能收集应用的自动极性升压型<font color='red'>转换器</font>和电源管理器
高效率、高压、降压型DC-DC转换器MAX5033
MAX5033为易于使用、高效率、高压、降压型DC-DC转换器,工作于高达76V的输入电压,空载时仅消耗270µA的静态电流。脉宽调制(PWM)转换器重载时工作在固定的125kHz开关频率,轻载时可自动切换到脉冲跳频模式,以达到低静态电流和高效率。MAX5033包括内部频率补偿,简化了电路应用。器件内部采用低导通电阻、高电压DMOS晶体管,以获得高效率和降低整个系统成本。此器件包括欠压锁存、逐周期限流、间歇模式输出短路保护及热关断功能。   MAX5033可提供高达500mA的输出电流。提供外部关断模式,具有10µA (典型)的关断电流。MAX5033A/B/C型号分别提供固定的3.3V、5V或12V输出电压;MAX5033D提
[模拟电子]
高效率、高压、降压型DC-DC<font color='red'>转换器</font>MAX5033
低成本用电设备完整方案含12V buck转换器、PD供电
如图1所示电路为完备的PD供电电路,具有一个DC-DC转换器,输出12V电压时可提供高达0.85A的电流。MAX5953A内置高边、低边功率开关FET,低边FET不能配置为同步整流二极管。因此,buck转换器仅使用高边FET。因为IC内部的限流电路工作时利用低边FET电流产生的压降,该电路不具备自动电流限制功能。启动时,保险丝F1提供短路保护。 MAX5953具有如下特性: 1.TVS二极管D1用于抑制瞬间尖峰电压和反向电压。 2.该电路根据输入电压不同工作在三种模式:PD侦测模式、PD分级模式和PD供电模式。使用或没有使用二极管电桥情况下的电压门限都符合IEEE 802.3af标准。 ·在PD侦测
[电源管理]
低成本用电设备完整方案含12V buck<font color='red'>转换器</font>、PD供电
凌力尔特推出同步降压-升压型转换器
凌力尔特公司 (Linear Technology Corporation) 推出一款同步降压-升压型转换器 LTC3112,该器件可从多种电源提供高达 2.5A 输出电流,包括单节或多节电池、超级电容器组和墙上适配器。其 2.7V 至 15V 的输入范围和 2.5V 至 14V 的输出范围可在输入高于、低于或等于稳压输出的情况下提供一个已调输出。LTC3112 中所运用的低噪声降压-升压型拓扑结构在降压模式与升压模式之间提供了一种连续和无抖动的转换,从而使其非常适合于 RF 及其他噪声敏感型应用 (此类应用必须在采用一个可变输入电源的情况下保持一个低噪声的恒定输出电压)。在许多应用中,电池的运行时间比那些只是降压型的解决方案有显
[网络通信]
LTC3786构成非同步SEPIC转换器电路
LTC3786构成非同步 SEPIC转换器 电路:
[电源管理]
LTC3786构成非同步SEPIC<font color='red'>转换器</font>电路
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved