CN2450713Y - Rs-485总线式测控系统中的即插即用测控模块 - Google Patents
Rs-485总线式测控系统中的即插即用测控模块 Download PDFInfo
- Publication number
- CN2450713Y CN2450713Y CN 00221742 CN00221742U CN2450713Y CN 2450713 Y CN2450713 Y CN 2450713Y CN 00221742 CN00221742 CN 00221742 CN 00221742 U CN00221742 U CN 00221742U CN 2450713 Y CN2450713 Y CN 2450713Y
- Authority
- CN
- China
- Prior art keywords
- module
- data
- control module
- baud rate
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
RS—485总线式测控系统中的即插即用测控模块,其内置单片机,由电容、晶体振荡器与单片机的内部电路构成振荡电路,采用非易失性存储器,异步通信串行接口包括信号接收端和发送端,其特征是所述信号接收端另有一路通过同相器与单片机的外部中断相接。即插即用功能使模块的使用更为简单、便利。
Description
本实用新型涉及测控模块,更具体地说,是一种应用在以主机为中心,配以各种测控模块构成的测控系统中的测控模块。
测控系统广泛用于远程数据采集、过程控制系统、能源管理、安全系统、实验室自动化、智能大厦以及产品性能测试等领域。在这类测控系统中,测控模块是通过一对双绞线完成与主机通讯,各模块并联在总线上。测控模块在工作之前,除了对其输入/输出类型、输入/输出范围等参数进行设置外,还必须对其地址、通讯波特率进行配置。监控系统中各个模块的波特率可以相同,但模块的地址不得重复。因此,模块使用前或使用中,对于模块地址的分配和波特率的确定是系统正常运行的必要保证。
现有技术在每个测控模块接入监控系统前,必须通过人工的方式,单独对其进行参数配置,使得接入监控系统的每个模块都有确定的波特率和不相同的地址,即模块的波特率和地址均是已知的,这样主机才能识别每一个测控模块并使之工作。当有多个波特率和地址均是未知的测控模块接入监控系统后,由于可能存在测控模块的地址相同的情况(一般出厂时模块地址缺省设置是相同的),主机发出一个命令,就会同时有多个测控模块响应,而造成数据冲突(即总线竞争);或者由于主机通讯波特率与模块不同,使得二者通讯无法进行。所以,如果没有人工单独地对每一个模块进行地址分配和波特率设定,计算机监控系统将无法工作。这种人工设置对于用户而言,使监控系统的安装显得既麻烦又费时。
本实用新型的目的在于避免上述现有技术中的不足之处,提供一种RS-485总线式测控系统中的即插即用测控模块。以解决模块波特率自适应和总线竞争的技术方法,来实现测控模块的即插即用功能,对于地址和波特率不详的测控模块,在其接入运行在标准波特率集的监控系统后,测控模块具有自动调整自身波特率与系统相匹配的能力;同时,在有多个测控模块接入系统后,模块具有与系统相匹配的自动识别能力。本实用新型具有特定电路结构的测控模块是解决上述问题的重要基础。
本实用新型的目的通过如下技术方案实现:
本实用新型测控模块,其内置单片机U1,由电容C1、C2、晶体振荡器X1与单片机U1的内部电路构成振荡电路,采用非易失性存储器U3,异步通信串行接口,包括信号接收端RXD和信号发送端TXD,其特征是所述信号接收端RXD另有一路通过同相器U5与单片机U1的外部中断INTO端相连接。
具有所述结构的本实用新型测控模块,在相应软件的支持下,能可靠地完成测控模块与主机的波特率自适应;主机对其总线上各测控模块的识别及注册,以及测控模块按系统主机分配的参数进行配置。
与已有技术相比,本实用新型具有如下优点:
1、本实用新型提供了模块波特率自适应功能,在测控系统中无论是由于现场强干扰使模块波特率代码丢失,或是由于主机的波特率发生变化,造成模块与主机不能正常通讯的情况时,本实用新型都能够做到自动识别并快速与主机相匹配,尽快恢复与主机的通讯。从而避免或尽可能减少测控系统失控而造成的不良后果,极大地提高了系统的工作可靠性。
2、本实用新型中的模块即插即用功能使得模块的使用更为简单、便利,大大降低了对模块使用人员技术水平的要求。
3、本实用新型测控模块自身结构简单,几乎不增加硬件成本。
图1为本实用新型结构示意图。
图2为本实用新型应用在测控系统中的系统框图。
图3为本实用新型应用在测控系统中的信号传输时序图。
图4为本实用新型应用在测控系统中波特率自适应流程图。
以下通过实施例,结合附图对本实用新型作进一步描述。
实施例:
参见图1,本实施例中的即插即用测控模块,其内置单片机U189C52,由电容C1、C2、晶体振荡器X1与单片机U1的内部电路构成振荡电路,产生CPU工作的时钟信号。采用非易失性存储器U3 X25045,用以保存模块的波特率和地址信息,模块掉电时,其保存的信息不会丢失。U3与CPU的P20~24和RESET口线相连。本实施例采用异步通信串行接口包括信号接收端RXD和信号发送端TXD,如图所示,在信号接收端RXD另有一路通过同相器U5 7407与单片机U1的外部中断INTO端相连接。
当CPU将数据写入E2PROM时,U3的CS片选置为0电平,WP写保护置为1电平,数据随SCK时钟信号,通过串行数据输入口SI管脚写入E2PROM。当CPU从E2PROM读取数据时,CS片选置为0电平,WP置为0电平,数据随SCK时钟信号,通过串行数据输出口SO管脚读入CPU。
图中,U4 RS485为通讯收发器,其接收发送端RO、DI分别与CPU串口的接收发送端RxD、TxD相连,通讯收发器的使能端RE、DE分别与CPU P1口的P16 P17口线相连,U4 RS485通讯收发器的引脚说明如下:
RO—接收数据端
RE—接收数据使能端,低电平有效
DE—发送数据使能端,高电平有效
DI—发送数据端
DATA(-)—接RS-485网络的正端,数据传输端
DATA(+)—接RS-485网络的负端,数据传输端
当CPU通过P16 P17口线将RE置为1电平、DE置为1电平,U4 RS485通讯收发器处于发送状态,CPU数据可通过DI管脚发送到RS-458总线上;当RE置为0电平、DE置为0电平,U4 RS485通讯收发器处于接收状态,RS-458总线上数据CPU可通过RO管脚读入;当RE置为0电平、DE置为1电平,U4 RS485通讯收发器同时处于发送和接收状态。
侦听RS-485通讯线有无收发信息的工作原理是:CPU首先通过P16P17口线将U4 RS485通讯收发器置于接收状态,CPU 89C52中断0(INT0)设置为信号的下降沿触发;由于串口通讯每帧的启始位电平总是由高电平跳至到低电平,当通讯线上有收发信息时,该跳变信号经U4 RS485收发器RO管脚、U5A 7407同相器传送到INT0中断口线,引起CPU 89C52产生中断;反之,通讯线上没有收发信息,CPU 89C52就不会产生中断。
解决数据冲突的工作原理是:接在计算机监控系统的RS-485总线上的每个模块,在其发送信息之前,为避免由于竞争引起的数据冲突,首先使用上面所述的侦听技术,侦听RS-485总线上是否有信息在发送,如果RS-485总线是空闲的,则可以发送;如果RS-485总线是忙的,则等待一个随机时间间隔后重新再试。当CPU 89C52准备发送数据时,先通过CPU的P16和P17口线,将U4 RS485收发器的发送和接收功能同时使能,即U4RS495通讯收发器同时处于发送和接收状态,使CPU能够边发送数据、边接收数据,在CPU 89C52把数据发送出去后,CPU将发送的数据与同时接收回来的数据按位比较,若不一致,就说明RS-485总线上的数据已产生了冲突,则CPU 89C52重复上述过程;若一致,即数据传输成功,总线无数据冲突。
参见图2,应用系统是以主机为中心,配以分布在各处的测控模块。图中,CESN-2520为RS-232/RS-485转换模块,CESN-2510为中继模块,CESN-2000系列为测控模块。主机与测控模块的通讯遵循主从式、ASCⅡ码命令/响应通讯协议。测控模块与主机之间的通讯波特率采用1200、2400、4800、9600、19.2K、38.4K、57.6K、115.2Kbps(其代码分别为03、04、05、06、07、08、09、0A)标准波特率集中的一个进行通讯。
针对本实施例中测控系统,其相应的以软件实现的即插即用法包括三个步序:测控模块与主机的波特率自适应;主机对其总线上各测控模块的识别及注册;测控模块按系统主机分配的参数进行配置。
关于测控模块与主机的波特率自适应。首先按E2PROM内贮存的波特率代码进行模块通讯波特率的配置,然后侦听RS-485通讯线上有无主机与测控模块的收发信息;当RS-485通讯线上没有收发信息,模块不进入波特率检测程序;而当RS-485通讯线上有收发信息,模块又无法收到有效数据,则说明测控模块的波特率与主计算机的波特率不同,此时测控模块自动进入波特率检测程序,变换当前波特率,直至能收到有效的数据为止。这时测控模块将此时通讯波特率设定为当前工作的波特率,并将这个波特率代码存入E2PROM中。具体方法为:
a、实现测控模块对RS-485总线上有无信息传送的侦听。
其原理如前所述。当采用异步串行方式通讯时,传输数据的每一帧包含1位启始位、8位数据位和1位停止位,如图3所示。每帧信号的开始电平总是由高电平跳至低电平。当通讯线上有收发信息时,引起CPU 89C52产生中断。反之,通讯线上没有收发信息,CPU 89C52就不会产生中断。
b、以测控模块能否接收到RS-485总线上传输的有效数据来判断该测控模块的波特率与主机是否相适应;
当模块侦听到总线上有数据传送时,产生INT0中断,这时串行口开始一条命令数据的接收,如果模块在足够长的延时时间内接收不到有效数据,可以断定模块的波特率与主计算机不相适应。只有当模块接收到一组有效数据时,才能够得出模块与主计算机波特率相适应的结论。
对模块所接收的命令数据是否有效的判断方法如下:
首先对主机的有效命令格式进行分析,主机向模块发布命令的格式为:
定义符地址命令数据结束符
其中:定义符:取值可以是$或#或%或@
地址码:取值范围:00~FFH
命令内容:命令不同,其取值范围和字节长度也不相同。
数据码:数据不同,其取值范围和字节长度也不相同
结束符:(cr)回车
例:$230(cr)
其中,$:为定义符,23:为地址码,0:为命令码,(cr):为结束符。
模块与主计算机的通讯遵循ASCⅡ码命令/响应协议,即:主计算机把将要向模块传输的命令以ASCⅡ码的形式传送给模块,每一帧传送一位ASCⅡ码,直至命令结束。
上例命令中,主机向模块传送命令以从左到右的顺序将$、2、3、0、(cr)这五个字符分为5帧传送,每一帧传送值分别为对应字符的ASCⅡ码。
通过对主机与模块通讯的命令格式和通讯协议进行分析,得出主计算机有效命令数据具有下列四个特征:
1、主机命令的第一帧数据必定为命令定义符:$、或#、或%、或@的ASCⅡ码。
2、第二帧数据和第三帧数据的取值有两种可能:
(1)、为**的ASCⅡ码。
(2)、为模块地址的ASCⅡ码,地址的取值范围00~FF。
3、命令的最后一帧数据必定为(cr)的ASCⅡ码
4、主机的每一条命令,都是由若干帧数据组成的;由于命令的长短不同,所以模块所接收的数据帧数也不相同,但每一帧数据均为ASCⅡ码。
在得知主机命令的四个特征后,根据这四个特征对模块所接收到的每一帧数据进行判断,以确定是否为有效的主机命令代码。只有当确定模块接收到了一条完整的主计算机命令时,说明模块与主计算机的波特率相适应;否则,说明模块的波特率与主机不相适应。
c、测控模块自动调整直至与主机波特率相匹配。
在上述两步判断的基础上,可以得出模块与主计算机的波特率是否适应,如相适应,则将目前模块的波特率代码写入E2PROM中,如果不适应,则变换模块的标准波特率代码,再重复以上二步骤,直到模块的波特率与主机相适应为止。然后将正确的波特率代码存入E2PROM中。
至此,模块的波特率自适应功能完成。
模块波特率自适应流程图,如图4所示。
关于主机对其总线上各测控模块的识别及注册:
a、置测控系统运行软件以及每一测控模块各自唯一的代码。
模块实现即插即用的过程,实质是模块与系统主计算机相互识别的过程,为了便于二者间的相互辨别,对于每个模块均有一组唯一的代码,其格式及代表的意义为:
模块型号年(2位)月(2位)日(2位)序号(3位)
例如:2011 00 01 23 480
其中2011:模块型号00:2000年01:1月23:23日480:序号
对于每个监控系统运行的软件也有一组唯一的代码,该代码借鉴了组件(COM)规范中唯一标识符产生的原理,软件的唯一代码为25位长的字符串(0~9,A~W 32进制)。
b、测控模块对RS-485总线上有无信息传送的侦听。
测控模块即插即用的实现,除了解决通讯波特率的问题,还必须解决总线竞争的问题。同样使用图1所示电路的侦听技术。当通讯线上有收发信息,引起CPU 89C52产生中断;反之,通讯线上没有收发信息,CPU 89C52就不会产生中断。
c、置测控模块的CPU串口为边发送边接收状态,在总线空闲时,由模块发送其本身对应的代码信息,并同时将发送的信息与接收到的反馈信息按位比较,若一致,即信息传输成功,总线无数据冲突。通过侦听,如果RS-485总线是空闲的,则测控模块可以发送信息;如果总线是忙的,则等待一个随机时间间隔后重新再试。当测控模块CPU89C52准备发送数据时,先通过CPU的P16和P17口线,将U4 RS485收发器的发送和接收功能同时使能,使CPU处于边发送边接收的状态,在CPU 89C52把数据发送出去后,CPU将已发送的数据与接收到的数据按位比较,若不一致,就说明RS-485总线上的数据已产生了冲突,则CPU89C52重复上述过程,直至比较结果一致。
d、主机向总线发布由查询码和主机软件代码构成的模块查询命令,测控模块将该命令信息与其自身对主机软件代码的记录比较,以完成主机对于测控模块的识别;
在解决总线竞争、模块与软件唯一代码问题后,对于具有即插即用功能的测控模块,用户可以将其接入或移出RS-485总线,而不需要重新启动监控系统进行修改或调整配置参数。对于安装好的、以RS-485总线为通讯通道的监控系统,不管系统是首次运行或系统已在运行中,此时加入测控模块,无论模块是第一次使用,还是曾经使用过,当该模块接入监控系统的RS-485总线上后,系统均会找到新加入的模块并识别它。具体方法是:系统主机总以一定的时间间隔,以广播方式向总线发布模块查询命令,查询广播命令由查询码和主机软件代码(简称为主机码)组成,总线上所有测控模块在收到查询广播命令后,首先,判别主机码是否与模块本身记录的主机码相同,若比较结果相同,测控模块无响应,反之,测控模块向主机发送模块代码以及模块当前的参数配置状态。
此外,若有模块从RS-485总线上移出,当监控系统启动时,将采用点名方式检查总线上模块的存在情况,若经多次点名确认,对已从RS-485总线上移出的模块,主机将移出的模块从注册表中删除。
关于对于测控模块的参数配置:
模块与主机经相互识别后,主机根据现有模块的注册以及地址资源的使用情况,向对应的模块发送配置命令,该配置命令包含有配置命令码、模块代码、模块地址码、波特率代码和主机码。
当接在监控系统RS-485总线上的所有模块接收到配置命令后,各模块将配置命令中的模块代码与本身的模块代码进行比较,若比较结果相同,则模块把新的模块地址码、波特率代码和主机码写入E2PROM中并重新初始化,按新的配置开始工作。从而实现即插即用的功能。
Claims (1)
1、一种RS-485总线式测控系统中的即插即用测控模块,其内置单片机U1,由电容C1、C2、晶体振荡器X1与单片机U1的内部电路构成振荡电路,采用非易失性存储器U3,异步通信串行接口,包括信号接收端RXD和信号发送端TXD,其特征是所述信号接收端RXD另有一路通过同相器U5与单片机U1的外部中断INTO端相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00221742 CN2450713Y (zh) | 2000-09-11 | 2000-09-11 | Rs-485总线式测控系统中的即插即用测控模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00221742 CN2450713Y (zh) | 2000-09-11 | 2000-09-11 | Rs-485总线式测控系统中的即插即用测控模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2450713Y true CN2450713Y (zh) | 2001-09-26 |
Family
ID=33586596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00221742 Expired - Fee Related CN2450713Y (zh) | 2000-09-11 | 2000-09-11 | Rs-485总线式测控系统中的即插即用测控模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2450713Y (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101353048B (zh) * | 2008-09-04 | 2010-10-06 | 铁道部运输局 | 一种用于机车通信系统的插件设备 |
CN112491505A (zh) * | 2020-11-17 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种通信方法、装置及系统 |
CN114374579A (zh) * | 2022-01-14 | 2022-04-19 | 宁波迦南智能电气股份有限公司 | 一种rs485总线竞争型通信方法 |
-
2000
- 2000-09-11 CN CN 00221742 patent/CN2450713Y/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101353048B (zh) * | 2008-09-04 | 2010-10-06 | 铁道部运输局 | 一种用于机车通信系统的插件设备 |
CN112491505A (zh) * | 2020-11-17 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种通信方法、装置及系统 |
CN114374579A (zh) * | 2022-01-14 | 2022-04-19 | 宁波迦南智能电气股份有限公司 | 一种rs485总线竞争型通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610876B (zh) | 工业控制自动化网络通信协议转换器及通信协议转换方法 | |
US6801942B1 (en) | Apparatus, method and system for remotely accessing and/or controlling can node arrangements, including vehicle electronic control units, during vehicle operation | |
CN1342938A (zh) | Rs-485总线式测控系统中测控模块的即插即用法及其测控模块 | |
CN1253051C (zh) | 一种通信设备和用于该通信设备的通信方法 | |
CN110083088B (zh) | 信号控制转换装置以及信号控制转换方法 | |
CN1975680A (zh) | 基于Java的进程间异步通信的实现方法 | |
CN1306753C (zh) | 利用通用异步收发器实现rs485主从多机通讯的方法 | |
CN1230756C (zh) | 用于处理状态查询的网络控制器 | |
CN114422288A (zh) | 基于Modbus协议的通讯系统 | |
CN2450713Y (zh) | Rs-485总线式测控系统中的即插即用测控模块 | |
CN101080073A (zh) | 一种双模通讯终端的模块间通讯电路及方法 | |
CN101267425B (zh) | 用于动力环境分布式监控系统中的板间接口通讯方法 | |
CN1642167A (zh) | 主节点支持从节点上不同协议类型从单元设备的方法 | |
CN103248547A (zh) | Modbus RTU从站快速捕获数据的方法及从站 | |
EP1624642A3 (en) | Apparatus, method and system for providing information in accordance with one of a plurality of protocols | |
EP2299744A3 (de) | Mobiles Telekommunikationsgerät | |
CN1627282A (zh) | 一个或多个移动终端和计算机同步数据通信方法和设备 | |
CN114416622B (zh) | 单总线通讯系统及方法 | |
CN1430860A (zh) | 便携信息终端、无线通信系统及连接确立方法 | |
CN101800916A (zh) | 一种光端口的配置方法及装置 | |
CN101145968A (zh) | 网管系统和传输设备间数据发送及接收方法 | |
CN113810473A (zh) | 一种物联网WiFi透传模组 | |
CN1133940C (zh) | 通信方法 | |
CN101764792A (zh) | 异步通信控制中的帧地址识别方法 | |
CN1122383C (zh) | 检查及过滤因特网协议包的网络接口卡装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |