一种基于PC104总线的数据采集装置及自诊断方法与流程

文档序号:11154752阅读:690来源:国知局
一种基于PC104总线的数据采集装置及自诊断方法与制造工艺

本发明涉及基于PC104总线的数据采集领域,尤其涉及一种基于PC104总线的数据采集装置及自诊断方法。



背景技术:

目前基于PC104总线的数据采集装置应用非常广泛,其数据采集系统一般由主处理模块、及多个外围扩展的通信接口模块构成,如图1所示,主处理模块通过PC104总线与各个外围扩展通信接口模块通讯获取数据,各个通信接口模块的另一端通过各类通讯芯片与外围设备进行通讯,从而实现分布式数据采集、集中式数据处理的理念。目前的这种设备在正常工作状态时,能够正确采集外部接口数据,并对外部设备进行有效的数据分析与状态诊断,但是存在的缺陷是,没有设备本身的一套完整有效的自诊断方法,当总线上某个通信接口模块硬件出现问题以后,主处理模块中的主CPU无法识别通过PC104总线所采集的数据的有效性,可能由于采集到无效的数据而导致错误的诊断结果,甚至给维护人员误导,严重的情况可能会由于误诊断而造成很大的经济损失。

主要可能存在的问题为:1、当某个通信接口模块的地址、数据锁存器器件出问题时,使得数据总线、或者地址总线某一线或者多线电平强行始终拉低或者拉高,导致主CPU读取到的总线数据为无效数据,但是主CPU却无法识别数据的有效性,如果总线上同时扩展多个通信接口模块,则也影响其他正常的通信接口模块的数据通信,而且也会将这种总线问题直接带入主CPU内部。2、当通信接口模块的译码器控制部分的软件、硬件出现问题,导致读取的数据无效,而主CPU却无法识别该无效性。3、由于通信接口模块的双口RAM器件出现问题,导致主CPU访问到的数据无效,而主CPU却无法识别该无效性。4、通信接口模块与外围设备通讯时由于干扰或者其他原因出现数据无效现象,而主CPU却无法定位具体原因。

解决现有装置自检自诊断,能够及时、准确的判决数据的有效性,及时发现故障点并及时处理,提高装置可用性及可靠性,提高装置智能诊断水平,成为当前急需解决的难题。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种投入成本小,可实现主处理模块与PC104总线的可控隔离,可准确进行深度自检诊断,调试、维护方便,生产、维护成本低的基于PC104总线的数据采集装置及自诊断方法。

为解决上述技术问题,本发明提出的技术方案为:一种基于PC104总线的数据采集装置,包括主处理模块、通讯接口模块和PC104总线,所述主处理模块通过PC104总线与通讯接口模块连接,所述主处理模块包括主CPU、CPLD(复杂可编程控制器)和第一锁存器;所述主CPU与所述CPLD之间通过地址总线、数据总线、控制总线和第一GPIO总线连接,所述第一锁存器分别与所述地址总线和数据总线连接,所述主CPU与所述第一锁存器之间通过第二GPIO总线连接;所述CPLD与所述PC104总线连接。

作为本发明的进一步改进,所述地址总线上设置有第一驱动电源,所述数据总线设置有第二驱动电源。

作为本发明的进一步改进,还包括第二锁存器、第三锁存器和第四锁存器;所述地址总线还与所述第二锁存器连接,所述第二锁存器与PC104总线连接;所述数据总线还与所述第三锁存器连接,所述第三锁存器与PC104总线连接;所述CPLD通过所述第四锁存器与PC104总线连接;所述CPLD分别与所述第二锁存器、第三锁存器和第四锁存器连接。

一种基于PC104总线的数据采集装置的自诊断方法,包括主处理模块地址总线自检;具体步骤包括:

S1.1 主CPU控制第一锁存器允许地址总线到数据总线的输送;

S1.2. 主CPU控制CPLD处于非使能状态;

S1.3. 主CPU通过PC104总线执行数据读操作,判断所读数据与地址总线的数据是否一致,一致则判定地址总线正常,否则判定地址总线异常;

S1.4. 当所述地址总线异常时,按比特位比较所述所读数据与所述地址总线的数据是否一致,确定不一致比特位对应的地址总线异常。

作为本发明的进一步改进,还包括CPLD自检;其具体步骤包括:

S2.1. 主CPU通过第一GPIO总线读取CPLD的生命信号,如果生命信号变化情况正常,跳转至步骤S2.2,否则跳转到步骤S2.3;

S2.2. 主CPU通过PC104总线读取CPLD的生命信号,如果生命信号变化情况正常则判定CPLD自检正常,否则判定CPLD至PC104总线之间的连接异常;

S2.3. 主CPU通过PC104总线读取CPLD的生命信号,如果生命信号变化情况正常则判定CPLD软件正常,且CPLD至PC104总线之间的连接正常,PC104总线可以正常访问,但是第一GPIO总线与CPLD连接异常,否则判定CPLD自检异常。

作为本发明的进一步改进,还包括主处理模块侧PC104总线自检;其具体步骤包括:

S3.1. 主CPU通过PC104总线向CPLD写入预设的第一自检数据,然后读出,判断所写入与读出的数据是否一致,一致则跳转至步骤S3.2,否则判定主处理模块侧PC104总线异常;

S3.2. 主CPU通过PC104总线向CPLD写入预设的第二自检数据,然后读出,判断所写入与读出的数据是否一致,一致则判定主处理模块侧PC104总线正常,否则判定主处理模块侧PC104总线异常。

作为本发明的进一步改进,所述第一自检数据为0x5A,所述第二自检数据为0xA5。

作为本发明的进一步改进,还包括通信接口模块自检;其具体步骤包括:

S4.1. 主CPU读取通信接口模块的生命信号,如果所述生命信号正常,则跳转至步骤S4.2,否则判断所述通信接口模块自检异常;

S4.2. 主CPU向所述通信接口模块的命令寄存器写入自检标志;

S4.3. 主CPU读取所述通信接口模块的响应寄存器的值,当所述值为响应标志则跳转至步骤S4.4,否则判断通信接口模块自检异常;

S4.4. 主CPU依次向所述通信接口模块的各数据存储区写入预设的自检数据,并从所述通信接口模块的各数据存储区读取数据,当所述读取数据与所写入的预设的自检数据一致,则判断通信接口模块正常,否则判定所述数据存储区异常。

作为本发明的进一步改进,所述预设的自检数据包括0x00、0x5A、0xA5。

与现有技术相比,本发明的优点在于:

1、本发明只需要对主处理模块的硬件电路改进,不需要整体重新设计,投入成本小。

2、本发明在主CPU与通信接口模块之间设计数据总线、地址总线、控制总线和第二锁存器、第三锁存器和第四锁存器;由CPLD控制锁存器的使能与方向,即可实现主CPU侧从通信接口模块采集数据,又可实现主CPU与通信接口模块间的侧总线可控隔离。

3、本发明在主CPU与CPLD之间通过第一GPIO总线连接,使得主CPU能够通过双通道实时监测CPLD的状态;能够准确诊断到CPLD的软件是否刷写的程度,尤其对生产、调试、维修人员提供方便,节约产品的生产、维护成本。

4、本发明在主CPU侧的数据总线和地址总线之间设计第一锁存器,由主CPU的GPIO直接控制其使能和传输方向,可以实现对地址总线的自检。

5、本发明通过CPLD编程控制,可实现对PC104控制总线的管理 。

6、本发明通过在主CPU与通信接口模块的软件接口设计中约定自检机制,主CPU可通过软件协议接口随时对通信接口模块进行智能检测与诊断,可做到通信接口模块的软件是否刷写的诊断程度,还可检测存储单元坏块情况。

附图说明

图1为现有数据采集装置PC104总线结构示意图。

图2为本发明数据采集装置结构示意图一。

图3为本发明数据采集装置结构示意图二。

图4为本发明主处理模块地址总线自检流程示意图。

图5为本发明CPLD自检自检流程示意图。

图6为本发明主处理模块侧PC104总线自检流程示意图。

图7为本发明通信接口模块自检流程示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

实施例一:

如图2所示,本实施例的基于PC104总线的数据采集装置,包括主处理模块、通讯接口模块和PC104总线,主处理模块通过PC104总线与通讯接口模块连接,主处理模块包括主CPU、CPLD和第一锁存器;主CPU与CPLD之间通过地址总线、数据总线、控制总线和第一GPIO总线连接,第一锁存器分别与地址总线和数据总线连接,主CPU与第一锁存器之间通过第二GPIO总线连接;CPLD与PC104总线连接。地址总线上设置有第一驱动电源,数据总线设置有第二驱动电源。第一驱动电源和第二驱动电源均为5V。

如图4所示,本实施例的基于PC104总线的数据采集装置的自诊断方法,包括主处理模块地址总线自检;具体步骤包括:S1.1 主CPU控制第一锁存器允许地址总线到数据总线的输送;S1.2. 主CPU控制CPLD处于非使能状态;此时不响应PC104总线操作;S1.3. 主CPU通过PC104总线执行数据读操作,判断所读数据与地址总线的数据是否一致,一致则判定地址总线正常,否则判定地址总线异常;S1.4. 当地址总线异常时,按比特位比较确定不一致比特位对应的地址总线,记录检测的异常信息,可指引工作人员及时、快速、针对性的检修。

如图5所示,本实施例还包括CPLD自检;其具体步骤包括:S2.1. 主CPU通过第一GPIO总线读取CPLD的生命信号,如果生命信号变化情况正常,跳转至步骤S2.2,否则跳转到步骤S2.3;S2.2. 主CPU通过PC104总线读取CPLD的生命信号,如果生命信号变化情况正常则判定CPLD自检正常,否则判定CPLD至PC104总线之间的连接异常;S2.3. 主CPU通过PC104总线读取CPLD的生命信号,如果生命信号变化情况正常则判定CPLD软件正常,且CPLD至PC104总线之间的连接正常,PC104总线可以正常访问,但是第一GPIO总线与CPLD连接异常,否则判定CPLD自检异常。在本实施例中,通过不同的总线读取CPLD的生命信号,并对生命信号进行判断,从而分析CPLD是否正常、以及主CPU与CPLD之间不同的总线是否正常。主CPU通过第一GPIO总线读CPLD的生命信号,获该CPLD的第一个生命信号,主CPU通过数据总线、PC104总线读CPLD的生命信号,获该CPLD的第二个生命信号,分别对第一个生命信号和第二个生命信号进行判断,如果都正常,则CPLD自检正常,同时也说明第一GPIO总线、数据总线和PC104总线的状态都正常。如果第一个生命信号正常,第二个生命信号异常,则说明CPLD正常,但CPLD与PC104总线之间存在异常,需要检查CPLD和PC104总线是否存在虚接。如果第一个生命信号异常,第二个生命信号正常,说明CPLD正常,且PC104总线正常,但主CPU与GPLD之间的第一GPIO总线异常,需要检查第一GPIO总线是否存在虚接。如果第一个生命信号和第二个生命信号均异常,则说明CPLD异常,需要检查CPLD的软件是否刷写,或者检查CPLD的硬件电路是否异常。

如图6所示,本实施例还包括主处理模块侧PC104总线自检;其具体步骤包括:S3.1. 主CPU通过PC104总线向CPLD写入预设的第一自检数据,然后读出,判断所写入与读出的数据是否一致,一致则跳转至步骤S3.2,否则判定主处理模块侧PC104总线异常;S3.2. 主CPU通过PC104总线向CPLD写入预设的第二自检数据,然后读出,判断所写入与读出的数据是否一致,一致则判定主处理模块侧PC104总线正常,否则判定主处理模块侧PC104总线异常。在本实施例中,第一自检数据为0x5A,第二自检数据为0xA5。

如图7所示,本实施例还包括通信接口模块自检;其具体步骤包括:S4.1. 主CPU读取通信接口模块的生命信号,如果生命信号正常,则跳转至步骤S4.2,否则判断通信接口模块自检异常;S4.2. 主CPU向通信接口模块的命令寄存器写入自检标志;S4.3. 主CPU读取通信接口模块的响应寄存器的值,当值为响应标志则跳转至步骤S4.4,否则判断通信接口模块自检异常;S4.4. 主CPU依次向通信接口模块的各数据存储区写入预设的自检数据,并从通信接口模块的各数据存储区读取数据,当读取数据与所写入的预设的自检数据一致,则判断通信接口模块正常,否则判定数据存储区异常。预设的自检数据包括0x00、0x5A、0xA5。在本实施例中,主CPU通过向通信接口模块中的不同数据存储写入自检数据,并读取所写入的数据,当读取的数据与写入的数据不一致,说明通信接口模块的该块数据存储区异常,存在坏块现象,需要及时更换。

在本实例中,所有检测结果均可通过人机接口界面进行显示,以提醒工作人员及时进行相应的检修操作。

实施例二:

如图3所示,本实施例与实施例一基本相同,不同之处在于:基于PC104总线的数据采集装置还包括第二锁存器、第三锁存器和第四锁存器;地址总线还与第二锁存器连接,第二锁存器与PC104总线连接;数据总线还与第三锁存器连接,第三锁存器与PC104总线连接;CPLD通过第四锁存器与PC104总线连接;CPLD分别与第二锁存器、第三锁存器和第四锁存器连接,CPLD只是挂在PC104总线上,不直接对通信接口模块输出地址、数据总线。此实例对CPLD的功能要求不如实施例一高。本实施例的自诊断方法与实施例一相同。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1