0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文带您熟悉pc104故障监控平台

SwM2_ChinaAET 来源:互联网 作者:佚名 2017-11-06 18:24 次阅读
(1.湖北工业大学 太阳能高效利用湖北省协同创新中心,湖北 武汉430068;

2.湖北省电网智能控制与装备工程技术研究中心,湖北 武汉430068)

摘 要: PC104总线是专为嵌入式控制系统定义的一种工业控制线,其应用广泛,但是内部结构复杂,出现故障不易检测。设计了一种基于FPGA的PC104总线故障自动监控平台,对PC104总线信号进行实时监控和故障检测。该平台利用FPGA程序采集和处理总线信号,并传至上位机处理显示。系统中利用FPGA程序实现其功能模块,包括捕获POST上电自检指令和BIOS自检端口代码、监测总线电压水平、监控时钟和复位等关键信号的质量、控制PC104的自动复位和BIOS设置模式等功能。给出上位机监控结果和FPGA实时检测得到的时序图,反映了该FPGA程序在本系统中满足PC104总线检测的技术要求。

关键词: 总线监测;POST上电自检;自检端口监测;时钟测量

中图分类号: TN407;TP206

文献标识码: A

DOI:10.16157/j.issn.0258-7998.170644

中文引用格式: 周治虎,张凡,武明虎,等. PC104故障监控平台FPGA程序设计[J].电子技术应用,2017,43(9):57-60.

英文引用格式: Zhou Zhihu,Zhang Fan,Wu Minghu,et al. FPGA program design of PC104 fault monitoring platform[J].Application of Electronic Technique,2017,43(9):57-60.

0 引言

PC104作为一种专用嵌入式控制主板[1],具有功耗低、效率高、体积小、可扩展等优点,在航空航天[2]、军用武器装备[3]、工业控制[4]等领域应用广泛。PC104主板的结构复杂紧凑,一旦发生故障,仅靠常规的监控手段很难判断具体的故障原因。PC104总线需要监测的信号高达70多个,总线运行频率也高达14 MHz左右,无法利用单片机实现监测功能[5-6]。因此,本项目采用了基于FPGA的设计方案,利用FPGA的多I/O端口特性和高速并行处理能力[7]对PC104总线进行实时监测。

1 PC104监控系统设计方案

基于FPGA的PC104故障监控平台(以下简称监控平台)主要由待测PC104主板、电平信号转换模块、FPGA功能模块(DE0开发板)[9]、上位机系统4个部分组成。监控平台硬件结构如图1。

监控平台中的上位机系统板使用常用Windows XP系统,并自动运行监控APP程序。通过串口和FPGA功能模块通信,利用约定好的通信协议读取FPGA功能模块返回的信息,将返回的这些信息处理成可供参考的数据,最后在上位机APP程序的界面中显示。

PC104主板功能强大,扩展功能端口很多。监控平台为判断其具体的故障信息,需要对其总线信号进行实时监测。为了保证监控平台方便高效的运行,在待测下方引入主板治具方便主板的插拔,这不仅提高了监控效率和准确性,同时可以保护PC104主板总线接口不被损坏。

由于PC104主板工作在+5 V供电环境下,而采用的FPGA的工作电压是+3.3 V,监控平台加入了基于74AL-VC164245的电平信号转换模块。74ALVC164245是TI公司生产制造的一种+5 V和+3.3 V之间双向转换的电平转换芯片,可以很好地实现FPGA和PC104主板之间的电平匹配。转接板上还包括PC104主板电源测试模块,并将PC104主板上的键盘接口、鼠标接口和两个串口接口做了扩展。不仅实现了不同电平之间信号的实时传输,同时增加了监控平台的空间利用率。

2 FPGA功能模块设计

FPGA功能模块是PC104主板故障检测平台的核心,也是本文介绍的重点。FPGA拥有可编程输入输出单元(IOB)、可配置逻辑块(CLB)、数字时钟管理模块(DCM)、嵌入式块RAM(BRAM)、丰富的布线资源等功能,能很好地满足检测平台的相关需求。不仅可以实时采集PC104总线信号,而且可以通过输出TTL电平信号控制总线上相关引脚来控制PC104主板的运行状态。采用FPGA功能模块作为检测平台的核心,在很大程度上提高了检测平台的可靠性和高效性。

2.1 BIOS启动监测和POST上电自检

PC104主板的片外总线接口包括其地址信号线、锁存地址信号线和数据信号线,其中包括20根地址信号线和16根数据信号线。监控平台实现该功能基本原理是通过FPGA的信号采集端口监控PC104主板启动时所有地址信号线和数据信号线的状态来判断各信号线的工作状态是否正常。实现总线信号监控功能的具体FPGA程序设计流程图如图2。

2.1.1 BIOS启动检测

PC104主板的启动过程包括加电、自举、核心测试、POST自检4项。监控平台上电后开始测试,给PC104主板加电后向其发出复位命令,主板进入初始化过程及复位时长满足后,释放复位信号。FPGA的地址线监控端口开始读取地址信号线的数据,如果读到的地址线数据为0xFFFF0H,则开始执行监控PC104主板启动码的程序,并保存总线上的地址和数据。

从PC104主板用户手册可知,其在启动时,首先运行的通常都是一条“EA”跳转指令,跳转到实际BIOS ROM的开始地址。这个初始化搜索地址0xFFFF0H和随后的CPU重定向的过程一般称为自举或引导,也可简称为BOOT。当PC104每次启动时,FPGA采集总线上的地址和数据线信号理想情况下是会经过跳转指令“EA”跳转到某一固定地址单元,开始执行程序。分别监测两块正常运行主板的BIOS启动码实际被测数据,如表1所示。

从表中数据可以看到,主板正常启动时,从0xFFFFF0地址开始执行程序,执行的第一条指令是0x5BEA,依此可以判断该主板的数据和地址总线没有故障。监测结果符合测试要求。

2.1.2 POST上电自检

PC104主板初始化分为冷启动(初次加电启动)和热启动(通过FPGA发送复位命令重启)。若是冷启动,就会执行POST上电自检;反之,将会跳过POST上电自检。遇到错误时,单字节的POST码会被写入80H的I/O端口中,系统的初始化也将终止。如果自检通过,则会向80H的I/O端口中返回0xFF。主板的自检过程是判断PC104主板是否正常的标准,所以POST自检是判断主板故障信息最重要的模块之一。当FPGA监控到PC104主板启动后,开始定时反复读取80H的I/O端口中的信号。当读取到0xFF时,保存该信号并返回给上位机系统,提示自检通过;反之则返回故障指令并提示自检未通过。通过对比3块不同PC104主板的POST监控结果,并参考主板实际运行状态可知符合测试要求。当测试过程中,如果主板刚启动POST自检代码就监控到0xFF,同时起始代码不再变化,那也可能是主板并没有运行,BIOS自检并没有正常开始,应该重启PC104主板,重新测试。POST上电自检结果如表2所示。

利用FPGA实时采集PC104主板在启动过程中总线检测的结果,如图3所示。从图中可以很直观地看出PC104主板在启动过程中所包括的初始化过程和POST自检结果,符合其总线测试要求。

2.2 PC104复位与BIOS模式控制

监控平台在运行过程中,会要求对于同一块PC104主板进行反复测试。由于PC104主板的高集成度,并没有复位按钮,所以需要控制主板上的复位控制(Reset Switch)引脚进行复位控制。当上位机系统发出复位指令后,就需要FPGA给PC104主板的复位控制引脚发送一个延时复位命令,并监测启动计时器。当复位时间到达后,释放复位信号。

系统扩展模块利用盛博科技生产的符合PC104总线标准的软盘驱动控制器驱动装有测试程序的硬盘,通过测试程序可以监控PC104主板的串口和键盘等接口的故障信息。为了设置PC014主板的启动方式以及显示器状态和分辨率等基本硬件信息,需要在启动时对其是否进入BIOS进行控制。通过FPGA的I/O口控制由继电器和三极管组成的基本控制电路来控制主板的串行口连接器的DTR和RI引脚是否短接来控制其启动过程中是否进入BIOS设置。

2.3 PC104关键信号测量

PC104主板总线控制信号线中有4个关键信号,包括3个时钟信号和一个复位脉冲信号。

2.3.1 PC104总线时钟频率测量

FPGA常用测量频率的方法有直接测频法和等精度测频法,其中直接测频法又分为直接计数测频法和测周期测频法。直接测频法的测频精度与被测信号有关,被测信号频率越高,测频精度越高;实现简单,对硬件资源要求不高。等精度测频法的测频精度与被测信号无关,仅与系统时钟信号有关,系统时钟信号频率越高,精度越高;相比直接测频法,等精度测频法实现较复杂,需要FPGA系统的晶振频率达到等精度测频的测频精度要求。

待测的时钟信号分别是:REFRESH#存储器刷新信号线由刷新控制器驱动,以表明将执行一个刷新周期;BCLK是由平台电路驱动的系统总线时钟信号线,正常运行状态下频率为6 MHz~8 MHz(±500 ppm),周期的占空比为45%~55%;OSC振荡器信号线是由平台电路驱动的时钟信号,其频率为14.318 18 MHz(±500 ppm),周期的占空比为45%~55%。其中OSC不与任何其他总线信号线同步。最小的待测频率是6 MHz,可以选用直接计数测频法,测量精度分别可达10-6和10-7级,满足该频率测量1%误差的技术要求。直接计数测频法实现过程简单,计算量小,提高了监控平台的运行速度。

2.3.2 PC104总线复位脉宽测量

脉宽测试是测量PC104主板复位过程中复位脉冲的脉宽,复位信号线由平台电路驱动为有效状态。任何接收到复位信号的总线资源必须立即使所有输出驱动器处于三态,并进入适当的复位状态。

FPGA监测脉宽通常采用脉冲计数法,即在待测信号的高电平或低电平用一个高频时钟脉冲进行计数,然后根据脉冲的个数计算待测信号宽度。待测信号相对于计数时钟通常是独立的,其上升、下降沿不可能正好落在时钟的边沿上,因此该法的最大测量误差为一个时钟周期。监控平台FPGA采用50 MHz的高频时钟,脉宽测量精度可达2×10-8,满足PC104主板监测复位脉宽测量的技术要求。

2.4 电源测量模块

电压监控模块是基于ADI公司生产的AD7417设计的,AD7417为十位、四通道模数转换器,片内带有温度传感器。AD7417在降低功耗方面有非凡的性能,其自动掉电功能可以使芯片在输出速率较低时启动掉电模式来降低功耗。

PC104主板工作电压是+5 V,有些模块的工作电压是+12 V。AD7417拥有四路AD转换通道,可以对于总线的±5 V、±12 V分别进行监测。利用FPGA的I/O口和AD7417的SDA、SCL构成双线I2C串行总线接口,通过FPGA控制AD7417芯片分别采集PC104总线上的各路电源电压,同时将采集到的结果进行AD转换后上传到FPGA处理。

电压测试模块输入电路原理图如图4所示。总线正电压采用电阻串联分压的方式得到可被AD7417识别的模拟电压值;总线负电压经过8.2 V的反向稳压二极管后得到正电压,再分压为可识别电压值。下面以+5 V测试输入端口为例,介绍实际电压值计算方法。

已知AD7417的参考电压是内部参考电压2.5 V,假设实际被测电压为V1,AD7417输入端口IN1被测电压为V2,FPGA采集到的数值为x,则:

3 结论

本项目设计的FPGA监测程序不仅可以有效地记录PC104的总线运行代码,还能实时提取有效启动代码和故障监控码,测量总线关键信号的频率和脉宽。FPGA程序与上位机实时通信,可根据上位机的指令,实现信息上传、复位控制及BIOS模式控制等功能。该设计经过多次测试,可以有效地检测到故障PC104主板,并提供具体的故障信息。从检测结果可以看出,基于FPGA设计的检测程序在速度和功能上均能满足PC104主板系统的检测技术要求。本设计的系统操作方便,扩展性强,实用性好。目前应用该FPGA程序的PC104监控平台达到技术要求,并通过验收。

参考文献

[1] 刘广林.基于PC/104和ARM的工业控制平台设计及应用[D].武汉:华中科技大学,2010.

[2] 杨勇智,黄胜伦,冯和军,等.基于PC/104总线的某型飞机武器控制系统的ATS[J].空军工程大学学报(自然科学版),2003,4(3):36-39.

[3] 张仲华,高晓庄,王大鹏.基于PC104的雷达主控单元检测维修平台[J].现代电子技术,2015,38(3):48-50.

[4] 陈芳.基于PC/104的ARINC 429通讯总线的设计与实现[D].南京:南京航空航天大学,2005.

[5] 陈正捷,何健.基于CPLD和PC104总线规范的嵌入式计算机主板检测卡设计[J].测控技术,2006,2(25):331-336.

[6] 陈岩申,张波,管少辉,等.基于OMAPLl38和FPGA构架的PCI04主板检测系统[J].计算机测量与控制,2015,23(5):1512-1514.

[7] 杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.

[8] 张婉明,李琦,李金海,等.基于ARM与FPGA的便携式GNSS信号采集回放系统设计[J].电子技术应用,2016,42(10):58-61.

[9] Altera Corporation,Terasic Technologies.DE0 user manual[EB/OL].(2011)[2017]http://DE0.terasic.com.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【论文精选】PC104故障监控平台FPGA程序设计

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    arm vs pc104

    公司以前都使用pc104单板作为处理器,但是功耗和成本都偏高而我们使用时对资源的要求又不高,想用更低功耗的处理平台但是我们公司没有专业开发嵌入式平台的队伍问各位达人如何?
    发表于 02-04 15:06

    CPLD控制PC104总线时序问题

    东哥好,请教个问题:我在用CPLD做数字采集卡,AD芯片采集了的数据放到fifo里面,然后通过半满信号告诉pc104总线取数据,二者之间加了hct245,可是控制hct245的传输数据方向的管脚DIR和PC104总线的读数据的
    发表于 07-22 10:12

    pc104、Vxworks、u***、摄像头

    想在PC104上用vxworks实现u***摄像头的现实,是否很困难?群里还有谁做过的,求助!
    发表于 09-08 21:38

    很想知道现在用PC104的人还多吗?

    打扰各位下,很想知道现在用PC104的人还多吗?如果之前用现在没用,你们现在用的啥?做个小调查,还希望各位帅哥不吝赐教。先谢过了
    发表于 10-23 14:48

    使用VHDL语言和FPGA的DSP HPI口与PC104总线接口设计

    。因为工控机的总线为PC104,因此需要设计PC104与DSP之间的通信接口。系统中以Altera公司的片FPGA芯片EPlK50来对该接口和数据采集过程中的逻辑控制与FIFO进行设计。下面主要阐述
    发表于 05-07 07:00

    怎么设计基于PC104总线的实时信号采集处理系统?

    PC104是嵌入式工控机的种,其外部总线接口为PC104总线。使用堆叠的方式可以将多个PC104主板结合到起,并通过螺栓固定,保证系统的
    发表于 09-27 06:30

    怎样去构建种基于PC104无人机的视频系统?

    本文主要介绍了种基于PC104无人机的视频系统构建方法和流程。
    发表于 06-07 06:01

    嵌入式Linux在PC104平台上的构建与实现

    摘 要:介绍了在PC104平台上构建嵌入式L inux操作系统方法及嵌入式L inux系统开机导入的原理,提出有效地利用最少资源在CF卡上构建一个功能完整的最小L inux系统,并且阐述了利用Grub
    发表于 04-21 23:31 22次下载

    基于Paradigm IDE 开发PC104 嵌入式系统的R

    描述了Paradigm C++ IDE 嵌入式系统开发工具的功能和应用范围,并介绍了PC104嵌入式计算机系统的性能和特点,重点说明了在Paradigm 环境下开发基于PC104 的应用系统的存储空间
    发表于 05-30 10:44 29次下载

    基于DSP与PC104高速通信接口设计

    本文设计利用工控机上的PC104总线,通过共享双端口RAM的方式,实现工控机与DSP之间的高速数据交换。本文详细介绍了系统设计的基本思路,PC104与双口RAM的硬件连接方式及其设计要点。
    发表于 04-15 15:02 91次下载
    基于DSP与<b class='flag-5'>PC104</b>高速通信接口设计

    基于PC104总线的车载深度模拟器设计

    深度模拟器根据设定指令产生期望的压力输出,用来模拟水下航行器在不同深度所承受的水压。利用PC104 总线产品体积小、嵌入式的特点,研制基于PC104 总线的小型化车载型深度模拟器
    发表于 06-17 17:30 30次下载
    基于<b class='flag-5'>PC104</b>总线的车载深度模拟器设计

    基于PC104的导弹随动装置检测系统设计

    针对某型导弹随动装置在实际应用中的测试需求,设计了一种基于 PC104 嵌入式系统开发平台的高可靠、高精度、小体积的检测系统,详细介绍了该系统各功能模块的硬件电路设计,同时
    发表于 07-12 16:39 44次下载
    基于<b class='flag-5'>PC104</b>的导弹随动装置检测系统设计

    基于PC104总线的故障诊断装置的设计

    为了解决某装置故障诊断的难题,提出了一种基于PC104总线的便携式故障诊断装置的设计方案。分析了采用模块化结构设计的硬件,介绍了利用多媒体技术实现的专家系统。
    发表于 08-30 10:47 1574次阅读
    基于<b class='flag-5'>PC104</b>总线的<b class='flag-5'>故障</b>诊断装置的设计

    基于PC104的电动投弹器检测系统电路设计

    介绍了一个基于PC104的数据采集与检测电路的设计,它完成A/D数据采集、D/A数字/模拟转换、数字量输入/输出、信号显示卡以及LCD显示器的控制等功能。PC104总线信号检测电路对于改进装
    发表于 09-19 15:32 29次下载
    基于<b class='flag-5'>PC104</b>的电动投弹器检测系统电路设计

    基于PC104总线的旋转变压器电路图

    基于PC104总线的旋转变压器电路图基于PC104总线的旋转变压器电路图
    发表于 10-28 14:25 0次下载