---世纪新锐文档区欢迎你的到来!交流经验 资源共享!如果你有网站 欢迎转载 更欢迎链接 谢谢你!

芯锐科技——明智之选 好伙伴!

21XR.COM 世纪新锐-----> 电子技术类文档 综合版-----> PIC/51/TI单片机

最近更新

网页制作

计算机应用

PIC单片机

DSP技术

51/TI单片机

电子操作

电视技术

音响技术

无线电技术

仪器仪表

电子CAD

    <--- 返回

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

A Detection system Based on MC145027for Group Analogue Signal

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

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

广告:>>

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

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

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

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

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

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

  t2.gif (9224 字节)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在何时由低电平变为高t3.gif (5134 字节)电平,均必须等到当前发送周期结束以后才能停止[1]。

   1.2MC145027的解码方式

   MC145027是与MC145026配套使用的解码器(MC145027/145028)的一种,具有4位数据输出和5位地址编码,根据其地t4.gif (6712 字节)址的不同组合可以产生种不同的地址编码。根据其地址的不同组合可以产生种不同的地址编码。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脚的电压为:

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

   2.系统硬件电路的设计

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

   2.1探头电路

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

   t6.gif (4948 字节)主机发送至探头的编码信号线经过信号传至各个探头,经放大整形电路处理后送到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发送编码数据可有效地利用系统资源,节药成本,提高整个系统的可靠性。

 

 

21XR.COM 版权所有 联系我们