新闻中心

EEPW首页 > 测试测量 > 设计应用 > 一种基于MC145027的群模拟信号检测系统ADetectionsystemBasedonMC145027forGroupAnalogueSignal

一种基于MC145027的群模拟信号检测系统ADetectionsystemBasedonMC145027forGroupAnalogueSignal

作者:时间:2006-05-07来源:网络收藏

摘要:介绍一种基于MC145027的群模拟信号检测系统,该系统可通过单信号线将各探头和主机连接起来,其探头的路数最多可达242路;MC145027特殊的设码方式可使数据在传输过程中具有极高的可靠性,这在强电磁干扰的工业现场具有较高的应用价值。

本文引用地址:http://www.eepw.com.cn/article/255644.htm

关键词:多点检测;单信号线;可靠性;MC145026;MC145027

在工业自动化控制系统中,往往需要对多点模拟量进行检测,传统的方法是在各检测点设置传感器 ,并以三线或二线连接到主机,通过多路模拟开关和模数转换器件对各个模拟量进行模数转换,取得相应的数据以供主机处理。这种方法存在如下缺陷:

·模拟电压在通过电缆传到主机的过程中容易受到干扰;

·主机要通过模拟开关选择传感器,这使探头的路数受到限制,主机的接口电路比较复杂;

·主机无法向各检测点传送控制指令;

·如果在检测点增加一个传感器,就必须增加一根电缆连至主机,因而增加了布线的复杂程度;

针对上述问题,笔者设计了一套基于MC145027的群模拟信号检测系统,使主机和各个探头之间只通过三根线即可进行双向的数据传输(如图1所示)。由于MC145027特殊的译码方式能够消除瞬间的强电磁干扰,因而数据在传输过程中具有很高的可靠性。

1. MC145027的解码方式

MC145027通常用作解码器,与之搭配使用的编码器为MC145026。为了说明MC145027的解码方式,这里首先介绍一下MC145026的编码方式。

1.1MC145026的编码

集成编码器CM145026的引脚功能和外部电路如图2所示。A1~A9是地址或数据输入端,当作地址使用时有三个状态 (高电平、开路、低电平),当作数据使用时有两种状态(高电平、低电平);的数值决定MC145026内部时钟振荡器的工作频率;TE是内部时钟振荡器的工作控制端,当TE为低电平时,振荡器工作;的输出编码信号如图3所示,两个连续的宽脉冲(占空比7:1)表示“1”,两个连续的窄脉冲(占空比1:7)表示“0”,一宽一窄两个脉冲表示“开路”。发送时,先发送17.5个时钟周期的低电平, 接着依次发送A1~A2的状态编码,如果A1~A9的状态编码发送完毕后TE依然是低电平,经过24个时钟周期后再依次发送 A1~A9的状态编码。其编码的发送工作不管TE在何时由低电平变为高电平,均必须等到当前发送周期结束以后才能停止[1]。

1.2MC145027的解码方式

MC145027是与MC145026配套使用的解码器(MC145027/145028)的一种,具有4位数据输出和5位地址编码,根据其地址的不同组合可以产生种不同的地址编码。根据其地址的不同组合可以产生种不同的地址编码。MC145027的引脚功能和外部电路如图4所示,其功能框图如图5所示。

MC145027通过RC积分电路来完成宽窄脉冲的识别,图5中,定时元件R1、C1决定对宽窄脉冲的识别。。 R2、C2是整个发送周期的辨别定时元件,用以确定各个有效单字,。当编码信号从数据输入端(9脚)输入时,6 脚将出现与9脚相同的信号,该信号经R1、C1积分电路积分后由7脚送至数据提取电路,数据提取电路在输入信号的每一个上升沿通过检测 7脚的状态来判断输入的是宽脉冲还是窄脉冲。图6给出了6脚和7脚信号的波形,假定数据输入端输入的是“开路”编码(即一个宽脉冲和一个窄脉冲),宽脉冲开始于t0时刻,结束于t1时刻,窄脉冲开始于t2时刻,结束于t3时刻,整个编码于t4时刻结束。那么,在t1时刻,7脚的电压为:

一种基于MC145027的群模拟信号检测系统ADetectionsystemBasedonMC145027forGroupAnalogueSignal 在此时刻,数据提取电路检测到的7脚电平为高电平,说明上一个脉冲为宽脉冲;此后窄脉冲通过 R1给C1充电,在窄脉冲结束时的t3时刻,7脚的电压为0.74Vcc,在此后的一段时间里C1通过R1放电,在编码结束的t4时刻,7脚的电压为0.1Vcc。此时数据提取电路检测到7脚的电平为低电平,说明上一个脉冲为窄脉冲。由此可见MC145027并不是对接收到的脉冲信号直接进行解码,而是将输入信号积分后进行解码,由于积分电路能滤除瞬间的尖脉冲干扰,因此MC145027接收的编码信号即使受到某种程序的干扰,MC145027依然能够进行正确的解码,这一点对于环境复杂的工业现场特别重要。

2. 系统硬件电路的设计

该检测系统的硬件电路包括探头电路和主机接口电路两部分,主机和探头之间传输的格式遵循MC145026的编码格式。

2.1探头电路

探头电路的原理框图如图7所示。

主机发送至探头的编码信号线经过信号传至各个探头,经放大整形电路处理后送到 MC145027进行解码,当地址判断一致后,VT由低变高向单片机申请中断,由单片机读取解码后的数据, MC145027能够解出4位数据码,4位二进制的数据码可以表示种命令,单片机根据命令的要求将采集到的数据(温度、压力、湿度等)按照 MC145026的编码格式由P1.7输出,再经过驱动电路回送至主机。

2.2主机接口电路

以486或586微机作为主机,通过并行打印口与探头交换数据的主机接口电路如图8所示。MC145027 的A1~A5引脚的状态决定主机的地址码(00000),D6~D9分别和主机打印口的引脚13、12、10、11相连,上述4个引脚为打印机的状态输入口,口地址为 379H(279H),分别对应于主机数据总线的D4~D7。主机通过打印口的14脚(口地址37AH/27AH,对应于数据位D1)向各个探头发送命令,探头接到命令后向主机回传所要求的数据,并通过 MC145027解码后由主机读取。MC145027的VT引脚接至打印口的1脚(口地址37AH/27AH,对应于数据位D0),主机通过定时检测VT脚的状态来判断是否有应答数据到来。

3. 软件的设计

3.1数据格式的定义

根据MC145026的编码格式,在一个发送周期里可以发送9位数据信息,我们定义A1~A5为探头和主机的地址信息,由于总共可表示243个地址码,而主机的地址码定义为00000,因而其余242个地址码可供探头使用; 在主机发至探头的编码里,除了A1~A5表示探头的地址之外,尚有A6~A9共4位可以表示控制命令,共可组成个命令码,设计时可以根据系统的要求将这16个命令码一一定义,以供系统使用。在探头发往主机的编码里,前五位A1~A5是固定格式00000 ,表示主机的地址号,后四位A6~A9表示发往主机的数据,一个字节分两次发送,先发高半字节(高四位),再发低半字节(低四位)。

3.2探头地址码的设置

MC145027的地址输入脚(A1~A5)有三个状态(高电平、平路、低电平)也就是说地址线是三进制数据,而单片机的 I/O口是二进制状态(二进制数据格式),在探头电路中,为了使单片机发送的地址码与 MC145027的地址码相对应,单片机必须能自动检测自身的地址。在图7所示的电路中,P1.0~P1.6作为地址设定脚,它们所表示的地址信息应与 MC145027的地址(A1~A5)相同,这涉及到二进制到三进制转换的问题。由于表示243个地址需要8 位二进制数据,而单片机只有7位地址设定脚,另外的一位(最高位)只能由程序设定。这样探头的地址就可以比较灵活地设置,因而具有一定的通用性。

3.3单片机的软件设计

探头电路中的单片机主要用来完成以下几个功能:(1)完成探头电路的自检;(2)接收并执行主机发来的控制命令;(3)根据主机的命令完成相应的动作;(4)按照MC145026 的编码格式向主机发送数据。

3.4主机软件的设计

主机软件是整个控制系统的核心,在这里我们只讨论和探头通信有关的内容。在主控软件中设置一个定时中断程序,以定时检测 MC145027的VT脚的状态,当VT脚由低电平变为高电平时,通过读取379H/279H口的内容来接收探头发来的数据。当主机向各探头发送命令时,就可通过并行打印口的 14脚发送控制命令编码。主机命令码的发送格式也应遵循MC145026的编码格式。

4. 结束语

利用MC145027独特的解码方式能有效地克服工业现场的强电磁干扰,保证数据的可靠传输,利用单片机(或 486/586主机)模仿MC145026发送编码数据可有效地利用系统资源,节药成本,提高整个系统的可靠性。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭