在电参数仪的设计中,数据采集由单片机AT89C52负责,上位PC机主要负责通信(包括与单片机之间的串行通信和数据的远程通信),以及数据处理等工作。在工作中,单片机需要定时向上位PC机传送大批量的采样数据。通常,主控PC机和由单片机构成的现场数据采集系统相距较远,近则几十米,远则上百米,并且数据传输通道环境比较恶劣,经常有大容量的电器(如电动机,电焊机等)启动或切断。为了保证下位机的数据能高速及时、安全地传送至上位PC机,单片机和PC机之间采用RS485协议的串行通信方式较为合理。
实际应用中,由于大多数普通PC机只有常用的RS232串行通信口,而不具备RS485通信接口。因此,为了实现RS485协议的串行通信,必须在PC机侧配置RS485/RS232转换器,或者购买适合PC机的RS485卡。这些附加设备的价格一般较贵,尤其是一些RS485卡具有自己独特的驱动程序,上位PC机的通信一般不能直接采用WINDOW95/98环境下有关串口的WIN32通信API函数,程序员还必须熟悉RS485卡的应用函数。为了避开采用RS485通信协议的上述问题,我们决定自制RS485/RS232转换器来实现单片机和PC机之间的通信。
单片机和PC机之间的RS485通信硬件接口电路的框图,如下图1所示。
从图1可看出,单片机的通信信号首先通过光隔,然后经过RS485接口芯片,将电平信号转换成电流环信号。经过长距离传输后,再通过另一个RS485接口芯片,将电流环信号转换成电平信号。
图1单片机与PC机之间的RS485通信硬件接口电路的框图(略)
该电平信号再经过光电隔离,最后由SR232接口芯片,将该电平信号转换成与PC机RS232端口相兼容的RS232电平。由于整个传输通道的两端均有光电隔离,故无论是PC机还是单片机都不会因数据传输线上可能遭受到的高压静电等的干扰而出现“死机”现象。
2接口电路的具体设计
2-1单片机侧RS485接口电路的设计
单片机侧RS485接口电路如图2所示。
AT89C52单片机的串行通信口P30(RXD)和P31(TXD)的电平符合TTL/CMOS标准(逻辑“0”的电平范围为0V~0.8V,逻辑“1”的电平为24V~VCC),它们首先通过光电隔离器件6N137隔离,以保护单片机不受传输通道的干扰影响,其中T01和?T02是为了增加光隔输入端的驱动能力。光隔6N137的左侧电源与单片机相同,右侧必须采用另一组独立的+5V电源,且两组电源不能供电。
图2单片机侧RS485接口电路
图3MAX490的内部结构
MAX490[4]是MAXIM公司的RS485接口芯片,其内部结构如图3所示。MAX490支持单电源+5V工作,传输速率最高可达25MBPS,可实现全双工通信。其RO、DI端的逻辑“0”的电平在-0.5V~0.8V之间,逻辑“1”的电平在20V~VCC之间。输出电流环的电流在150μA~500μA之间。其工作状态为:当A端电压比B端电压高200mV以上,RO输出逻辑“1”,当A端电压比B端电压低200mV,RO输出逻辑“0”;当DI为逻辑“0”,输出Y低、Z高,当DI为逻辑“1”,输出Y高、Z低。图2中的电阻器RRS为MAX490的终端匹配电阻器。
2-2PC机侧RS485/RS232转换器的设计
RC机侧RS485/RS232转换器的电路如图4所示。
该电路首先通过MAX490芯片将单片机侧经远距离传输的电流环信号转换成TTL/CMOS标准
图4PC机侧RS485/RS232转换器的实际电路(略)
图5MAX232A的内部结构
的电平信号,然后通过光隔6N137隔离,得到两个同样是与TTL/CMOS电平相兼容的电平信号;最后,经RS232芯片转换成RS232电平:其中RS232电平的逻辑“0”的电平范围为-5V~-15V,逻辑“1”的电平范围为+5V~+15V。这里RS232电平转换芯片选 用MAXIM公司的MAX232A[4],该芯片采用单电源(+5V)供电,RS232电平由内部电荷泵产生,其内部结构如图5所示。
在RS485/RS232转换器的设计过程中需要特别注意的是电源的设计。单片机侧和PC机侧的RS485芯片理论上可共用一个电源。实际上,如果稳压电路安装在单片机侧,同时又将此电源直接拉至PC侧的RS485/RS232转换器中,由于电源线可能长达上百米,电源线的线径又不可能选得很粗。如此远距离的传输将会导致电源电压在PC机侧有一个很大的落差,这样,有可能造成PC机侧的MAX490或光隔IC702工作不正常。一个比较好的解决办法是首先直接将单片机侧变压器输出的交流信号经长距离传输至RS485/RS232转换器,然后经整流和稳压,作为PC机侧MAX490和光隔IC702的供电电源。此外,RS232和光隔左侧的供电电源PCVCC可以利用PC机内部开关电源的+5V输出,或者由外部稳压电源提供。
3 通信软件的设计
利用上述硬件通信电路,可以实现符合RS485协议的串行通信,同时又对软件的编写没有任何额外要求,因为本电路改变了传输通道的信号传输方式。单片机侧的通信可以采用查询方式或串行中断方式。在电参数测试仪中,为了保证上位机和下位机之间时序的严格一致,我们采用了查询方式,这部分程序的编写较简单,具体可参阅文献[1][3]。PC机侧WINDOWS环境下的通信程序,可直接利用VC++提供的相应于串口的API函数完成RS232通信编程,具体可参阅文献[2][3]。
由于数据传输是在强干扰的环境中进行的,而且传输距离又较远,为了保证数据能高速、准确传输,软件编程时可以考虑对大批量的数据进行分组传送,同时对每组数据进行和校验,检查其传输的准确性。在实际使用中,设定每组数据的数据头为单字节0AAH,中间为256个字节的采样数据,数据最后一个字节为和校验结果。PC机每接收到一组数据,均要进行再次和校验,,然后将PC机的校验结果和单片机的校验结果(该组数据的最后一个字节)相比较,若两者不等则校验失败,PC机给单片机发重传命令,要求单片机重传本组数据;若两者相等则校验正常,PC机给单片机发确认认号,并准备接收下一组采样数据,单片机则开始新一轮采样。
4 实际应用
在电参数测试仪的工作过程中,大约每隔一分钟单片机和上位PC机之间就要经过多次命令和数据的双向传递,其数据量较大,每次约有7k字节左右。本系统单片机选用ATMEL公司的AT89C52,晶振频率为110592MHz,串行通信方式为模式1,通信速率为57.6kBPS。上位机的通信和数据处理程序采用VC++6.0编写。单片机和PC机之间的距离约100米左右,传输线由普通的多芯电源线替代,且经过有电焊机、电动机、高压静电发生器等频繁起动的场合。采用上述硬件通信电路,同时考虑编程时的软件纠错,该仪器经过多次24小时的不间断运行,都没有发生过死机现象,工作一切正常。调试时,通过观察上位PC机中设置的数据重传计数器,发现数据重传次数极少。
实践证明本文设计符合RS485协议的串行通信电路,可以满足高速率、高可靠、远距离的串行通信,同时价格又比较便宜,不失为一种较为理想的串行通信方案。
关键字:RS485 串行通信 接口电路
引用地址:RS485串行通信接口电路的总体设计
实际应用中,由于大多数普通PC机只有常用的RS232串行通信口,而不具备RS485通信接口。因此,为了实现RS485协议的串行通信,必须在PC机侧配置RS485/RS232转换器,或者购买适合PC机的RS485卡。这些附加设备的价格一般较贵,尤其是一些RS485卡具有自己独特的驱动程序,上位PC机的通信一般不能直接采用WINDOW95/98环境下有关串口的WIN32通信API函数,程序员还必须熟悉RS485卡的应用函数。为了避开采用RS485通信协议的上述问题,我们决定自制RS485/RS232转换器来实现单片机和PC机之间的通信。
单片机和PC机之间的RS485通信硬件接口电路的框图,如下图1所示。
从图1可看出,单片机的通信信号首先通过光隔,然后经过RS485接口芯片,将电平信号转换成电流环信号。经过长距离传输后,再通过另一个RS485接口芯片,将电流环信号转换成电平信号。
图1单片机与PC机之间的RS485通信硬件接口电路的框图(略)
该电平信号再经过光电隔离,最后由SR232接口芯片,将该电平信号转换成与PC机RS232端口相兼容的RS232电平。由于整个传输通道的两端均有光电隔离,故无论是PC机还是单片机都不会因数据传输线上可能遭受到的高压静电等的干扰而出现“死机”现象。
2接口电路的具体设计
2-1单片机侧RS485接口电路的设计
单片机侧RS485接口电路如图2所示。
AT89C52单片机的串行通信口P30(RXD)和P31(TXD)的电平符合TTL/CMOS标准(逻辑“0”的电平范围为0V~0.8V,逻辑“1”的电平为24V~VCC),它们首先通过光电隔离器件6N137隔离,以保护单片机不受传输通道的干扰影响,其中T01和?T02是为了增加光隔输入端的驱动能力。光隔6N137的左侧电源与单片机相同,右侧必须采用另一组独立的+5V电源,且两组电源不能供电。
图2单片机侧RS485接口电路
图3MAX490的内部结构
MAX490[4]是MAXIM公司的RS485接口芯片,其内部结构如图3所示。MAX490支持单电源+5V工作,传输速率最高可达25MBPS,可实现全双工通信。其RO、DI端的逻辑“0”的电平在-0.5V~0.8V之间,逻辑“1”的电平在20V~VCC之间。输出电流环的电流在150μA~500μA之间。其工作状态为:当A端电压比B端电压高200mV以上,RO输出逻辑“1”,当A端电压比B端电压低200mV,RO输出逻辑“0”;当DI为逻辑“0”,输出Y低、Z高,当DI为逻辑“1”,输出Y高、Z低。图2中的电阻器RRS为MAX490的终端匹配电阻器。
2-2PC机侧RS485/RS232转换器的设计
RC机侧RS485/RS232转换器的电路如图4所示。
该电路首先通过MAX490芯片将单片机侧经远距离传输的电流环信号转换成TTL/CMOS标准
图4PC机侧RS485/RS232转换器的实际电路(略)
图5MAX232A的内部结构
的电平信号,然后通过光隔6N137隔离,得到两个同样是与TTL/CMOS电平相兼容的电平信号;最后,经RS232芯片转换成RS232电平:其中RS232电平的逻辑“0”的电平范围为-5V~-15V,逻辑“1”的电平范围为+5V~+15V。这里RS232电平转换芯片选 用MAXIM公司的MAX232A[4],该芯片采用单电源(+5V)供电,RS232电平由内部电荷泵产生,其内部结构如图5所示。
在RS485/RS232转换器的设计过程中需要特别注意的是电源的设计。单片机侧和PC机侧的RS485芯片理论上可共用一个电源。实际上,如果稳压电路安装在单片机侧,同时又将此电源直接拉至PC侧的RS485/RS232转换器中,由于电源线可能长达上百米,电源线的线径又不可能选得很粗。如此远距离的传输将会导致电源电压在PC机侧有一个很大的落差,这样,有可能造成PC机侧的MAX490或光隔IC702工作不正常。一个比较好的解决办法是首先直接将单片机侧变压器输出的交流信号经长距离传输至RS485/RS232转换器,然后经整流和稳压,作为PC机侧MAX490和光隔IC702的供电电源。此外,RS232和光隔左侧的供电电源PCVCC可以利用PC机内部开关电源的+5V输出,或者由外部稳压电源提供。
3 通信软件的设计
利用上述硬件通信电路,可以实现符合RS485协议的串行通信,同时又对软件的编写没有任何额外要求,因为本电路改变了传输通道的信号传输方式。单片机侧的通信可以采用查询方式或串行中断方式。在电参数测试仪中,为了保证上位机和下位机之间时序的严格一致,我们采用了查询方式,这部分程序的编写较简单,具体可参阅文献[1][3]。PC机侧WINDOWS环境下的通信程序,可直接利用VC++提供的相应于串口的API函数完成RS232通信编程,具体可参阅文献[2][3]。
由于数据传输是在强干扰的环境中进行的,而且传输距离又较远,为了保证数据能高速、准确传输,软件编程时可以考虑对大批量的数据进行分组传送,同时对每组数据进行和校验,检查其传输的准确性。在实际使用中,设定每组数据的数据头为单字节0AAH,中间为256个字节的采样数据,数据最后一个字节为和校验结果。PC机每接收到一组数据,均要进行再次和校验,,然后将PC机的校验结果和单片机的校验结果(该组数据的最后一个字节)相比较,若两者不等则校验失败,PC机给单片机发重传命令,要求单片机重传本组数据;若两者相等则校验正常,PC机给单片机发确认认号,并准备接收下一组采样数据,单片机则开始新一轮采样。
4 实际应用
在电参数测试仪的工作过程中,大约每隔一分钟单片机和上位PC机之间就要经过多次命令和数据的双向传递,其数据量较大,每次约有7k字节左右。本系统单片机选用ATMEL公司的AT89C52,晶振频率为110592MHz,串行通信方式为模式1,通信速率为57.6kBPS。上位机的通信和数据处理程序采用VC++6.0编写。单片机和PC机之间的距离约100米左右,传输线由普通的多芯电源线替代,且经过有电焊机、电动机、高压静电发生器等频繁起动的场合。采用上述硬件通信电路,同时考虑编程时的软件纠错,该仪器经过多次24小时的不间断运行,都没有发生过死机现象,工作一切正常。调试时,通过观察上位PC机中设置的数据重传计数器,发现数据重传次数极少。
实践证明本文设计符合RS485协议的串行通信电路,可以满足高速率、高可靠、远距离的串行通信,同时价格又比较便宜,不失为一种较为理想的串行通信方案。
上一篇:基于嵌入式系统的USBtoUART通信设计方案
下一篇:IEEE1394接口和USB接口的性能区别
推荐阅读最新更新时间:2024-05-02 23:46
基于RD-19230的自整角机接口电路设计
自整角机是一种感应式的微电机,它利用电磁感应原理将机械转角或直线位移精确地转化成电信号。它是自动控制系统中的同步元件,利用两台或多台自整角机在电路上的联系,可以使相隔一定距离、机械上互不连接的两根或多根转轴保持同步旋转或产生相同的转角变化。
自整角机按其使用要求不同,可分为控制式自整角机和力矩式自整角机,按结构形式不同可分为接触式和无接触式两大类。由于自整角机良好的抗震动、冲击和可在油污等恶劣环境下工作的特点,在现代技术领域的各部门中,它被广泛应用于随动系统和远程控制等方面。现代流行的自整角机数字化技术主要有单RC相移法,双RC相移法,实时三角函数发生器方案,利用AD和uP的解决方案,跟踪型解决方案等。由于跟踪型解
[电源管理]
RS485编码器的注意事项
一,编码器:国产和进口 二.BEN编码器分为:单圈,多圈。 三.BEN绝对值编码器按原理分为:磁绝对值编码器,光电觉得值编码器 四.BEN编码器出线方式分为:侧出线,后出线 五.BEN绝对值编码器轴分为:6MM,8MM,10MM,12MM,14MM,25MM. 六.BEN编码器分为:实心轴,盲孔,通孔。 七.BEN绝对值编码器防护分为:IP54-68. 八.BEN编码器安装方式分为:夹紧法兰、同步法兰、加紧带同步法兰、盲孔(弹簧片,抱紧)、通孔(弹簧片,键销) 九.BEN绝对值编码器精度分为:单圈精度和多圈精度,加起来是总精度,也就是通常的多少位(常规单圈10位,12位,13位,16位,多圈24为,2
[嵌入式]
利用3.3V供电RS485接口实现远距离数据通信
一、前言 在工业控制、电力通讯、智能仪表等领域中,通常使用串行通讯方式进行数据交换。最初的RS232接口,由于外界应用环境等因素,经常因电气干扰而导致信号传输错误。除此之外,RS232接口只能实现点对点的通信方式,不具备联网功能,而且其最大传输距离仅有15米,不能满足远距离通讯要求。RS485则解决了这些问题,数据信号采用差分传输方式,最大传输距离约为1219米,允许多个发送器连接到同一条总线上。
考虑到节能、低功耗等原因,系统电压由传统的5V转为3.3V,因此3.3V供电的RS485接口应运而生。
二、RS-485标准概述
RS-485数据信号采用差分传输方式,收、发端通过平衡双绞线将A-A与B-B对应相连。当线
[嵌入式]
rs485芯片介绍及典型应用电路
一、rs485基本知识 rs-485接口芯片已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。可用于rs-485接口的芯片种类也越来越多。如何在种类繁多的接口芯片中找到最合适的芯片,是摆在每一个使用者面前的一个问题。rs-485接口在不同的使用场合,对芯片的要求和使用方法也有所不同。使用者在芯片的选型和电路的设计上应考虑哪些因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应调整,如此等等。希望本文对解决rs-485接口的某些常见问题有所帮助。 1rs-485接口标准 传输方式:差分 传输介质:双绞线 标准节点数:32 最远通信距离:1200m 共模电压最大、最小值:+12v;-7v 差分输入
[嵌入式]
自动收发转换的RS-485接口电路及测试电路
图l所示的虚线框中为接口电路,通过对真值表进行分析,其发送和接收过程为: 当发送端DI=O时,DE/RE=1发送O电平,接收端RO=O;当发送端DI=1时,DE/RE=0,VA=VB=2.5V,接收端由于上拉电阻的作用RO=1。
在此接口电路的TXo端加入1kHz的TTL方波对电路进行测试。未加入120Ω端电阻时,接口芯片的485-A和485-B脚都有约50μs的电压变化过程,如图2所示。接收端Ro波形的上升沿有明显的延迟约30~40μs(和数据发送端DI比较),造成很大的传输误差;加入120Ω端电阻时,延迟明显缩小,约3μs。
此电路在发送高电平时,发送器处于高阻状态,总线上所有接口处于接收状态,总线是空闲的,允许
[嵌入式]
AT89S52单片机与CF卡的接口电路设计
1 前言 随着计算机应用技术的飞速发展,移动存储设备得到了广泛的应用。其中CF(Compact Flash)卡以其价格低廉、体积小、存储容量大、高速等优点在众多移动存储设备中被广泛地应用于数码相机、PDA和笔记本电脑等当前十分热门的消费类电子产品中。并且CF卡在其他领域中也得到了广泛的应用。本文所述内容就是通过8051单片机对CF卡进行读写。 2.CF卡的操作方式 CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为:L
[单片机]
基于MC33993的车用多路开关检测接口电路设计
1 引言 随着汽车电子技术的飞速发展,汽车内部所用到的开关元件也日益复杂而繁多,因此,可靠实时地对这些开关量进行检测已成为汽车电子硬件设计必须解决的问题。传统的开关检测接口电路设计多采用电阻、电容等分立元件与单片机直接相连,这样往往有如下弊端: 整个开关系统的可靠性得不到保证,给汽车安全带来隐患: 由分立元件设计的开关触点容易发生氧化,缩短了开关的使用寿命: 过多使用分立元件,浪费大量的单片机I/O资源,降低了CPU的利用率。 针对上述问题,本文采用飞思卡尔公司生产的多路开关检测器件MC33993设计了一款车用多路开关检测接口电路。实验证明其工作性能良好。安全性高。 2 MC33993介绍
[汽车电子]
一种用于单片机的红外串行通信接口
摘要:阐述红外通信的基本工作原理;结合在单相电度表抄表系统中的具体应用,介绍一种适合单片机系统的红外通信方案,设计具体的硬件接口电路,说明其工作原理,给出应用于红外通信的程序流程,并指出在实施过程中应注意的一些问题。
关键词:单片机 红外通信 串行接口 抄表系统
引言
在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)传送控制信息和数据信息,以实现遥控或遥测的功能。例如在单相电度表抄表系统中,就是使用手持抄表器通过遥控的方式,来完成电度表用电量的抄录、设置表底数、电度表校时等工作。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以
[单片机]