基于AVR单片机的串行接口智能转换器

2012-03-14来源: 微计算机信息 关键字:数据采集  智能控制  串行通讯

   由于RS-422RS-485总线具有抗干扰能力强、通讯速率高、通讯距离远、可以与多台从机通讯等特点,所以在主从式多机通讯中,得到普遍应用。

我们设计开发了一种AT90S2343低功耗单片机为核心的外插式串行口智能转换器,它把RS232串行口转换至RS-422RS-485串行口。它无须外部供电、并能自动识别通讯波特率(1200115.2K)和通讯方式(8位、9位方式),智能控制接收和发送电路与通讯总线的连接、在不改变现有软件情况下,做到即插即用。

该转换器且通用性强、性能可靠、结构简单、使用方便的特点。可广泛应用于数据采集、监控管理及集散控制的通讯系统中。笔者在电气设备的绝缘在线监测系统中,应用该转换器实现对多台数据采集装置的数据通讯,通讯性能稳定可靠。

1、电路的整体结构

智能转换器的电路结框图如图1所示,整个电路4个部分组成。第一部分是DC-DC电源变换电路。它从PC机串行口的信号线上窃取电能,将其转换成供智能转换器使用的电源;第二部分是RS-232接口电路,它实现各信号的RS-232电平与TTL电平的转换;第三部分是RS485/RS422接口电路,它实现通讯总线的RS485/RS422电平与TTL电平之间的转换;第四部分是以CPU为核心的智能控制电路,它通过监测PC机的TXD发送信号,识别通信的波特率、通讯方式(10/11位方式)、智能控制通讯数据的发送和接收。

  1  串行口智能转换器结构框图

 当转换器用作RS485半双工通讯方式时,须将发送器输出和接收器输入的同相、反相端分别用两个跳线短接。

2  电路工作原理

2.1  DC-DC电源变换电路

由于RS232接口不提供电源,全部电路的供电只能从RS-232信号线中获取。RS-232接口有DTRRTSTXD三个输出信号,每个信号可提供输出电流的典型值为±8mA。通用软件不使用握手信号RTSDTR,它们输出为-12VTXD信号在不发送数据和发送数据“1”的时,也输出为-12V。为了增加电源转换电路的输出功率,电路中把DTRRTSTXD三个信号的-12V输出作为电源变换电路的电源输入。

由于没有负电压输入转换到稳定正电压输出的DCDC转换器,笔者在通用DCDC转换电路的基础上,用IC芯片MAX761研制出具有输入-12V电压、+5V稳压输出的 DCDC转换电路,转换效率>85%。具体的电路如图2所示。电路中MAX761是PFM(脉冲调频方式)的DC-DC转换控制器。最高调制频率为300KHZ。LX是功率驱动管(场效应管)的漏极输出端;REF是基准电压输出端;LB是电压采样输入端。MAX761控制器和电感L构成自举升压电路,输出电压采样网络由稳压管W1、晶体管T、和电阻R1、R2组成。采样电压经LB输入控制器,通过改变调制脉冲的频率来稳定输出电压。电路的稳压工作原理如下:    

 2   DC-DC电源变换原理图

 输出电压VOUT降低时,三极管T1的基极电流IEB减小,LB端的取样电压UR1βIEB×R1×)减小,当LB的取样电压(UR1<片内基准电压时,控制信号以最高调制频率的来控制功率驱动管的开通与截止,当功率驱动管导通时,LX等于-12V,二极管D4处于截止状态,电流经电感L流向LX,此时电感L储存能量。当功率驱动管截止时,电感L释放能量,反电动势产生的电流经二极管D4向电容C4充电,从而使输出电压VOUT升高。

输出电压VOUT升高时,三极管T1的基极电流IEB增大,LB端的取样电压UR1βIEB×R1×)增大,当LB的取样电压(UR1≥片内基准电压时,控制信号控制功率驱动管在一个完整调制的周期内处于截止状态,由负载消耗使输出电压VOUT下降。             

通过以上的脉冲调频方式的自举升压调节,使输出电压稳定在+5V。

输出电压由下式确定:

VOUT=Vw1+Veb+Ib×R2≈Vw1+Veb ≈ 5 V

    2.2 单片机智能控制工作原理

RS485通讯方式是软件通过收、发使能信号来控制数据的分时接收与发送,使用同一对差分通讯总线实现双向数据通讯的半双工通讯方式,而RS232通讯接口不能提供这样的使能控制信号。但可以通过单片机对主机PC-TXD信号的监测,准确计算出传送一帧数据的时间,智能产生收、发使能信号控制数据的分时接收与发送,实现数据的半双工通讯。AT90S2343低功耗单片机为核心的串行口智能转换器的具体电路如图3所示。

单片机对传送一帧数据的时间的识别方法如下:当单片机监测到主机发送数据的起始位时,开始测量PCTXD信号的每个脉冲的脉冲宽度,计算出对应的波特率,若均属于通用波特率集合,它们中的最高波特率即是通讯波特率。否则,该脉冲宽度是发送两帧数据的间隔时间,电平负跃变的时刻是起始位的开始时刻,开始重新测量每个脉冲的脉冲宽度。当通讯波特率确定后,检测第十位的电平状态,若是低电平,则可确定是11位通讯方式。否则是10位通讯方式。由通讯波特率和通讯方式计算出传送一帧数据的时间。

通讯接口接收、发送数据的智能控制过程如下:每当监测到主机发送数据的起始位时,单片机输出收、发使能信号(RE=1DE=1),控制收、发电路禁止接收、允许发送数据,主机数据发送到RS485通讯总线上,同时定时器开始计时。当计时时间等于发送一帧数据的时间时,单片机输出收、发使能信号(RE=0DE=0),控制收、发电路允许接收、禁止发送数据。此时,主机可以接收RS485通讯总线上的从机数据。当单片机又监测到主机发送数据的起始位时,重复上述的发送过程。

在通讯过程中,波特率测量和收、发数据智能控制必须同步进行,否则就会造成通讯数据的丢失。

为适应高速通讯的要求,电路中采用美国Atmel 公司的AT90SL2343单片机。它是目前最新的单片机系列之一,其突出特点是执行速度高,片内硬件资源丰富。使用CPU内部的电源监测和可编程看门狗定时器,使电路具有较强的抗干扰能力。

单片机I/O端口的分配和功能:PB3输入,监测主机PCTXD信号;PB0输出,接收使能信号;PB4输出,发使能信号;PB2输入,由K1设置双工或半双工通讯方式。

3 软件设计   

3.1 程序流程框图

串行口智能扩展卡的程序流程图如图4所示。

3.2 半双工通讯方式的软件设计                                         

RS485半双工通讯方式下,首先允许接收、禁止发送数据。在检测到PC-TXD信号的数据起始位之后,通讯接口禁止接收、允许发送数据,并开始计时。通过检测数据信号的每个脉冲宽度,确定其波特率和数据的发送位数,进而计算出每帧数据允许发送的时间。当计时时间大于或等于该时间时,该通讯接口禁止发送并允许接收数据。在接收状态下,CPU重复检测发送数据的起始位。当检测到发送数据的起始位时,重复上述的数据发送的控制过程。

3.3 双工通讯方式软件设计

RS422双工通讯方式下,接收和发送使能信号始终有效,同时允许接收和发送数据。                              

4  程序流程图

    4 结束语

    电路结构简单、无须外部供电,笔者将它制作成串行口转换器直接插接在串行口插口上即可。它具有通用性强、性能可靠、结构简单、使用方便的特点。该电路使用了电源监测和可编程的看门狗监测定时器,使转换器具有较强的抗干扰能力。该转换器可广泛应用于主从式多机通讯系统。

参考文献

1 吴秀清等,微型计算机原理与接口技术,中国科学技术大学出版社,1999.02

2 李勋,耿德根,AVR单片机应用技术,北京航空航天大学出版社,2002.6

关键字:数据采集  智能控制  串行通讯

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

上一篇:用AVR汇编语言实现AES及其优化
下一篇:基于AVR单片机的智能烤烟控制仪

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

推荐阅读

关于STM32中定义数组的问题

    功能描述:今天做数据采集,TIM2定时中断20ms采集一次数据,并存入一个数组中。采集完4000个数据后,用串口将这4000个数据依次发送给上位机。    问题描述:DEBUG中对数组指针add watch,发现指针由0增加至1后就不再增加,怀疑TIM2配置有问题,只进了一次中断。于是查了半天关于定时中断配置及清除中断标志位的问题,一直得不到解决。void TIM2_IRQHandler(void){ if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET) { TIM_ClearITPendingBit(TIM2,TIM_IT_Update
发表于 2019-07-12

如何保证数据采集系统的功能安全

级设计中考虑功能安全特性。 本文旨在从确保数据采集系统整体完整性的角度,探讨通过ADC实现功能安全的潜力。 传统的功能安全解决方案与更佳的方式 在图1中,我们看到的例子是一个多年以前的功能安全系统,我们将它与更现代的解决方案进行比较。其核心是数据采集ADC,它负责转换模拟输入并将数据传输到微控制器。然而,要实现这一解决方案,需要采用许多外部元件,重复执行SPI事务,甚至需要一个冗余ADC,结果极大地增加了物料成本、PCB面积、处理开销和成本。同时还会给系统设计人员带来额外的负担,比如,增加开发时间,降低可靠性等。 有一种单IC解决方案,只需极少的外部元件即可运行功能安全特性。 
发表于 2019-04-04
如何保证数据采集系统的功能安全

技术干货—关于多通道数据采集(DAQ)系统的性能优化

摘要 在多通道多路复用数据采集系统中,增加每个ADC的通道数量可改善系统的整体成本、面积和效率。现代逐次逼近寄存器模数转换器(SAR ADC)具有高吞吐量和高能效,使得系统设计人员能够实现比以往更高的通道密度。本文将说明多路复用器输入端的建立瞬变(由多路复用器输出端的大尺度开关瞬变引起)导致需要较长采集时间,使得多通道数据采集系统的整体吞吐量显著降低。然后,本文将着重阐述使输入建立时间最小化以及提高数据吞吐量和系统效率所需的设计权衡。 什么是多通道DAQ?如何衡量多通道DAQ的性能? 多通道数据采集(DAQ)系统是一个与多路输入(通常是传感器)接口的完整信号链子系统,其主要功能是将输入端的模拟信号转换
发表于 2019-01-28
技术干货—关于多通道数据采集(DAQ)系统的性能优化

可帮助车企实现远程数据采集 LORD推出两款无线传感器

据外媒报道,LORD Sensing-MicroStrain公司最近宣布将新增两款无线传感器,可帮助车企实现远程数据采集,其数据源自于各类传感器。据LORD Sensing产品经理Chris Arnold透露:“打造一款无线温度数据采集系统是一项非常困难的工作,而且极为耗时。TC-Link-200-OEM和SG-Link-200-OEM传感器使用户能够快速地将无线数据整合到产品中,无需担心信号条件及无线电设计。”上述两款车型经试验认证,可被用作电动车燃料电池状态的监控方案,TC-Link-200-OEM使用户从热电偶(thermocouples)、电阻式温度计(resistance thermometer)及热敏电阻
发表于 2018-12-09

Tech Day China 顺利召开

,Ulrik先生为大家讲述了SP Devices的发展历程,Teledyne SP Devices是一家创新型供应商,自2004年以来,一直处于高性能数字化仪技术最前沿。其专有的并行模拟数字转换器交织技术与ADX校准技术,成就了超高性能数字化仪产品。产品组合帮助用户构建具有极限性能的数据采集处理与回放系统,成功用于飞行时间质谱(TOF)、激光雷达信号、分布式光纤、高能物理实验及宽带通信等应用领域。Ulrik先生为大家讲述了SP Devices的发展历程 紧接着,Teledyne e2v亚太区现场应用工程师施达科先生 (Marc Stackler) 介绍了全系列数字化仪产品与即将发布的几款新品,在产品差异性
发表于 2018-09-25
Tech Day China 顺利召开

致远电子数据采集记录仪,保证温度测量的准确性

使用热电偶测量温度最常见的测温方法,但是由于热电偶冷端温度不为0℃,直接测量往往会造成较大误差。致远电子数据采集记录仪可以进行热电偶冷端温度补偿,保证温度测量的准确性!一、热电偶为什么要进行冷端补偿热电偶测量温度时要求其冷端(测量端为热端,通过引线与测量电路连接的端称为冷端)的温度保持不变,其热电势大小才与测量温度呈一定的比例关系。 理论上,热电偶是冷端以0℃为标准进行测量的。然而,通常测量时仪表是处于室温之下的,由于冷端不为0℃,造成了热电势差减小,使测量不准,出现误差。为减少这类测试误差,在冷端采取一定措施补偿由于冷端温度变化造成的影响称为热电偶的冷端补偿。 二、冷端补偿原理热电偶的冷端补偿通常采用在冷端
发表于 2018-08-01
致远电子数据采集记录仪,保证温度测量的准确性

小广播

何立民专栏

单片机及嵌入式宝典

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

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