在电参数仪的设计中,数据采集由单片机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串行通信接口电路的总体设计
实际应用中,由于大多数普通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协议的串行通信电路,可以满足高速率、高可靠、远距离的串行通信,同时价格又比较便宜,不失为一种较为理想的串行通信方案。
上一篇:智能仪表的CAN接口设计
下一篇:基于DSP平台的USB接口设计
推荐阅读最新更新时间:2024-05-13 18:15
基于AT89C51单片机和555定时器的电阻电容测量系统设计
本文介绍了一种基于555定时器和单片机的数显式电阻和电容测量系统设计方案。该系统利用555和待测电阻或电容组成多谐振荡器,通过单片机测量555输出信号的周期,根据周期与待测电阻或电容的数学关系计算出电阻或电容值,再将之在LCD1602上显示出来。最后仿真结果表明该测量系统具有结构简单,方便实用等优点,能够测量一定范围内的电阻和电容值。 1.引言 在电子仪器、仪表的制造及使用行业,有大量的印刷电路板需要调试、测量与维修,需要对电阻电容的数值进行测试。 本文介绍了一种基于AT89C51单片机和555定时器的数显式电阻和电容测量系统设计方案,然后制作出电路实物,实现系统的功能。系统利用555定时器和待测电阻(或电容)组
[单片机]
MCS-5l单片机内部定时计数器作为软时钟的设计方案
0 引言 随着微电脑应用的普及,以MCS-51单片机为核心的微机测控系统已随处可见。为满足用户要求,这些系统通常都具有数码显示时钟的功能。由于MCS-51内部包含2个定时计数器,通过采用将其中一个定时计数器用于软时钟设计的方法,可以大大节省硬件开销。本文提出了如何提高软时钟的定时精度,以及在软时钟存在的情况下,如何提高以MCS-51单片机为核心的测控系统的设计质量的方法。 1 MCS-51单片机内部定时计数器概述 MCS-51单片机内部包含2个定时计数器T0和T1,它们都是16位的加法计数器,既可用于定时,也可用于计数,在用于定时的情况下,计数脉冲由内部提供,因此计数速率固定为CPU振荡频率的1/12;在用
[单片机]
NRF24L01发送程序(单片机是STC89C52)
#include reg52.h #include intrins.h typedef unsigned int uint; typedef unsigned char uchar; #define TX_ADDR_WITDH 5//发送地址宽度设置为5个字节 #define RX_ADDR_WITDH 5//接收地址宽度设置为5个字节 #define TX_DATA_WITDH 8// #define RX_DATA_WITDH 8 #define R_REGISTER 0x00 // 读寄存器 #define W_REGISTER 0x20 // 写寄存器 #define R_RX_PLOAD 0x
[单片机]
基于STM32F103的深海远程电机控制系统设计
深海电机控制系统是深海科学考察、地质勘探、生物资源采集、深海打捞等深海作业中的一项关键技术, 使电机在深海的复杂环境中高效、可靠地运行具有重要的意义。目前, 在我国的深海科学考察中,通常采用有刷直流电机作为动力来源, 水下锂电池为其供电。由于锂电池价格昂贵且需要不时的对其进行充电, 严重影响了有效作业时间, 所以, 采用水上供电即远程控制的方式有很大的实际意义。另一方面,有刷直流电机因长时间侵泡在高压油中, 加上深海作业环境的恶劣, 电刷和换相器很容易损坏。而永磁同步电机利用电子换相代替了机械换相, 不但具有直流电机的调速性能, 而且体积小、效率高。永磁同步电机的转子采用永磁体, 所以省去了励磁 电路 , 因而具有更高的功率因
[单片机]
5G上传数据速度将大幅提升!
Verizon、三星和高通持续推动5G超宽带技术创新,利用毫米波频谱实现711Mbps上传速度 2021年10月14日,圣迭戈——Verizon、三星电子和高通技术公司不断突破5G技术极限,通过创新持续提升此项变革性技术的性能。近期,三家公司利用毫米波频谱聚合频段在实验室试验中实现了711Mbps上传速度。 Verizon技术规划高级副总裁Adam Koeppe表示:“在毫米波的布局为我们带来了关键差异化优势,在我们利用新获得的中频段频谱推动5G业务大规模快速扩展的同时,我们还在加倍投入以充分使用毫米波频谱。我们将持续扩大毫米波布局,为最密集的网络环境和独特的企业解决方案提供变革性体验。截至去年年底,我们已建成超过1700
[网络通信]
基于GR47和MCU的无线嵌入式Web Server
引言 嵌入式Web Server具有灵活性、前沿性和解决问题的有效性等优点,在网络智能设备中发挥着越来越重要的作用。本文依托GPRS(通用分组无线电业务)网络来实现嵌入式Web Server的方法,实现了远程无线接人嵌入式Web Server。 嵌入式Web Server是一个简单易用的网络服务器,用户可通过IE访问服务器的IP看到Web页面。嵌入式Web Server的原理是把Web Server作为一个数据载体,Web Server监听用户端的服务请求,根据用户请求类型提供相应的服务,用户端使用Web浏览器和Web服务器进行通信。Web服务器在接收到用户端请求后,处理用户请求并返回需要的数据,一个完整的HTYP
[单片机]
贸泽开售最新款多功能低功耗RX130 32位单片机
2018年3月22日 – 最新半导体和电子元件的全球授权分销商贸泽电子 ( Mouser Electronics ) 即日起备货 Renesas Electronics 的 RX130 系列32位单片机。RX130单片机采用全新的电容式触控专有技术,提高了敏感度与耐用性,非常适合采用非传统触控材料设计的装置或需要在潮湿或肮脏环境下工作的装置,例如人机界面、家庭厨房和浴室、 电机控制 及 工厂 应用。 贸泽电子供应的 Renesas RX130 单片机搭载一个50-DMIPS RX内核以及最高512 KB的闪存,无需等待,便可立即执行代码。除了允许扩展内存外,此系列单片机还将封装增加到了100个引脚,以提高性能并提升与 R
[嵌入式]
RS-485串行数据通信协议及其应用
概述 串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。 传输协议 什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较 (本文中的RS表示ANSI EIA/TIA标准)。 RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的
[网络通信]
- 热门资源推荐
- 热门放大器推荐
- 新能源汽车核心技术详解:电池包 BMS VCU MCU
- ICCV2023论文汇总:Human-in-the-Loop Computer Vision(人机协同计算机视觉)
- ICCV2023论文汇总:Geometric Deep Learning(几何深度学习)
- ICCV2023论文汇总:Fairness, Privacy, Ethics, Social-good, Transparency, Accountability in Vision(视觉中的公平、隐
- 控制系统计算机辅助设计 — MATLAB语言与应用
- 东芝1200V SIC SBD “TRSxxx120Hx系列” 助力工业电源设备高效
- 晶体振荡器设计与温度补偿
- ADS信号完整性仿真与实战
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
- 读PI 汽车电子参考设计,赢京东卡!
- Littelfuse 高效 • 可靠 • 精准的功率控制和电路保护方案在工业、交通、通讯、医疗及新能源中的应用
- ADI 系统方案精选【用于多路抽头输出隔离电源的简易解决方案】
- 泰克技术摩天轮——技术资料与活动的大融合!
- Microchip有奖直播:为什么选择FPGA,而非MCU?
- 读故事写评语喽~ 踩过坑的你是否期待更贴心智能的客户支持,KeysightCare邀您抢楼赢礼!
- BeagleBone Black 开发板 DIY 创意设计大赛
- TI有奖直播|使用DLP®微型投影技术的IoT显示方案
- TE助力数据中心设计,缩短你与奥运的距离,猜猜它属于哪个“奥运场馆”赢大礼!
- 下载资料有好礼:超凡富士通存储器FRAM,安全、易写入、低功耗
11月14日历史上的今天
厂商技术中心