龚静康,王治
(杭州应用声学研究所,浙江 杭州 310013)
近年来,数据通信链路传输技术发展迅速[1],无论是单向、双向交替还是双向同时传输技术均得到快速发展,但是随着传输数据量的增大,容易导致数据通信链路传输过程中出现异常,异常原因包括数据丢包、链路中断、传输时钟不匹配等,常规通信链路传输异常检测方法操作流程复杂,需要专业的技术人员操作。大规模传感器阵列的数据传输异常检测难度进一步增加,常规检修方法已不能满足工程应用要求。
因此确保快速有效地对大规模传感器阵列进行故障诊断、定位和排除,并确保检测数据稳定快速传输,是提高现场维修人员维修效率的根本方法。当前市场也存在多种故障诊断设备[2-5],但是并不存在专门针对大规模传感器阵列的数据链路故障检测设备。
文中针对上述问题,设计并制作了一种基于网络处理器的数据链路诊断桥接模块,该模块可以快速确定数据传输链路中故障的位置及故障原因。
故障诊断桥接模块主要任务为接收待检测设备数据和整理、下发控制命令,模拟待检测设备数据发送、控制和检测时钟等。系统主要由处理器MPC8560及外围设备组成,外围设备包括网络处理芯片、NOR FLASH、DDR、ETHPHY、FPGA、FIFO 和电源模块。
故障诊断总体架构如图1 所示。故障诊断桥接模块以Freescale 公司PowerQUICC III™系列高性能网络处理器MPC8560 为核心设计,CPU 主频为833 MHz,支持16 位UTOPIA 2 层接口,ATM 通信数据带宽可达622 Mbps。故障诊断桥接模块主要接口包括与主控PC 机通信的1 000 M 以太网接口、与待检测设备数据交互的100 M 以太网接口。通过GMII接口外扩两个1 000 M 以太网PHY,实现与主控PC机网络通信与调试功能;通过GMII接口外扩两个1 00 M以太网PHY,实现与链路中通信功能;扩展32 MB Flash 程序存储器和64 MB DDR SDRAM 存储器,并使用一片FPGA 作为处理器上电控制和复位,处理器通过与FPGA 进行通信实现同步采集时钟的产生和时钟诊断。
图1 故障诊断桥接模块总体架构示意图
大规模传感器阵列下的数据传输量大,百兆以太网传输并不能满足数据传输的实时性要求,千兆以太网具有速率高、成本低和稳定性好等优点。当前信息化技术的快速发展,已有多种处理器单元下的千兆以太网接口设计方案[6-9]。此外还有较多的基于FPGA 的千兆以太网数据传输设计方案,但是成本相对较高[10-13]。
为了降低应用成本,满足并保证设备的可靠性要求,文中设计的处理器单元包括MPC8560 及其周边电路,主要实现网络收发,命令控制等功能。处理器通过千兆网口与工控机主板进行数据交互,接收主控软件命令以及相关数据上传。处理器通过与FPGA 交互完成时钟的相关功能。处理器通过百兆网口完成与数据链路中的数据交互,数据链路检测等功能。
1)处理器时钟设计
MPC8560 外部时钟为3.3 V LVTTL 电平,频率为33 MHz,精度要求为+/-50 ppm。
2)UART 端口设计
MPC8560 有一个UART 端口,通过RJ45 插件,用于调试。
3)DDR SDRAM 设计
DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器),由处理器直接控制,为系统程序的执行提供内部存储资源。MPC8560 处理器外扩了4 片DDR SDRAM 芯片MT46V16M16,组成了总容量为1 Gb,并具有64 位数据口线的DDR 模块,以满足系统对数据处理和程序运行的需要。MPC8560 通过各信号线完成对4 片DDR SDRAM 芯片的控制与信息交互,实现对程序和数据的存取。处理器与4 片DDR SDRAM 芯片之间的口线连接如图2 所示。
图2 DDR SDRAM连接框图
4)MPC8560 处理器的JTAG 接口信号线功能如表1 所示,主要实现以下3 种功能:
表1 JTAG接口信号线功能表
①获取MPC8560 的运行信息,以完成对处理器芯片的调试;
②通过JTAG 接口实现处理器的复位;
③对FLASH 芯片进行程序烧录,完成程序的修改与升级。
5)以太网接口设计MPC8560 自带10/100/1 000 Mbps 以太网控制器(TSEC),该系统利用该控制器扩展了两路1 000 M 以太网接口和两路100 M 以太网接口。TSECs 和FCC2 分别使用GMII 接口模式和MII 接口模式与以太网PHY 芯片进行交互[14]。
该系统选用VSC8641 作为1 000 M 以太网PHY芯片,LXT971作为100 M以太网PHY芯片与MPC8560 处理器相连。以太网接口的连接框图如图3 所示。
图3 以太网接口连接框图
电源模块以12 V直流电源输入,通过PTH 08T220W非隔离宽输出调节电源模块产生+1.2 V、+3.3 V、+5 V的直流电压,其中+1.2 V和3.3 V满足MPC8560的供电需求,另外将+3.3 V 的电压输出通过TPS79901 和MIC29502 降压分别得到+1.5 V和+2.5 V的输出,其中+1.5 V的电压输出给A3P125供 电,+2.5 V 给MPC8560 DDR 芯片供电,同时将+2.5 V再次降压,得到+1.25 V的电压输出,满足DDR芯片的供电需求。+5 V 的电压输出通过ADP 3338-3.3 降压芯片,得到正+3.3 V 的电压输出,满足LXT971 的供电需求。供电架构框图如图4 所示。
图4 供电架构框图
FPGA 与处理器通过GPIO 进行交互。采用5 个处理器GPIO 接口总线实现通信。处理器通过两个千兆网口与工控机连接,获取主控软件命令和数据上传,并实现调试功能;串口与工控机相连,实现处理器通信调试;两个百兆网口连接数据链路,完成其他测试功能。
该系统各芯片采用的时钟如表2 所示。
表2 各芯片采用的时钟分配示例表
数据链路故障诊断桥接模块功能复杂,模拟电路和数字电路集成在同一电路系统中,并统一供电。电源上电时,需要一个复位信号初始化数字电路中的存储单元,如数字寄存器,模拟电路中积分器等,以确保芯片进入正常的工作状态,因此系统上电复位信号的设计至关重要[15]。
文献[15-17]分别针对弹载系统、磁阻传感器和电能表的系统复位问题设计了复位电路,成本低、但增加了系统复杂度。文中整个复位模块的设计以复位芯片ADM706 为核心,配合74AHC125 和FPGA实现对整个系统的复位控制。系统内的复位线路如图5 所示。
图5 系统复位信号设计框图
其中,ADM706 是ADI 公司设计的一款电压监控复位芯片,可在3.3 V 电源稳定后发送复位脉冲,实现对系统的启动复位。在系统运行过程中,ADM706 可通过监测按键开关的开关情况,当按下按键开关后,ADM706 产生复位脉冲HREST*,并将其发往FPGA 和三态缓冲器74AHC125,实现对系统的硬复位。FPGA 通过HRESET 和调试复位信号COP_HRESET*生成处理器复位信号CPU_HRESET*,控制处理器复位。74AHC125 芯片输出的复位信号包括1 000 M 以太网PHY 芯片复位信号G_RST1/2*、100 M 以太网PHY芯片复位信号ETH_RST1/2*、ATM PHY 复位信号ATM_RST1/2*、FIFO 芯片复位信号FIFO_RST和FLASH 复位信号FLASH_RST*。除了硬件复位外,在进行JTAG 调试时,可通过JTAG 接口的复位信号之间实现对MPC8560 的e500 核心的软复位。通过多种复位方式保证系统运行的可靠性与稳定性。
按照上述设计方法,故障诊断桥接模块设计完成布板后的成品如图6 所示。
图6 故障诊断桥接模块印制板
3.2.1 时钟状态检测验证
运行时钟控制与状态分析软件,通过信号发生器模拟时钟信号的无时钟、过慢、过快、正常等状态,查询故障诊断桥接模块获取到的时钟状态,观察是否正确;将第41 个节点的第一路时钟断开,通过数据链路故障诊断桥接模块及相应的上位机软件进行观测,能够显示第一路时钟频率为0,即断开状态,判断异常。时钟状态异常前后检测对比结果如图7所示。
图7 时钟状态检测
3.2.2 数据丢包检测
故障诊断桥接模块接入链路中,运行采集传输系统数据采集分析软件,给所有通道输入动态范围内的信号,并任意变化,观察是否存在数据包丢失现象。搭建含有丢包节点的采集传输系统,将第41 号节点设计为丢包节点,连接到故障检测数据传输链路模块,加电测试,通过相应的上位机软件并进行观测,检测结果如图8 所示,检测结果表明,该节点的数据链路通信正常,但是存在丢包问题。
图8 链路丢包及链路稳定性
3.2.3 传输链路故障检测
断开链路中第41 号节点处的传输链路,通过数据链路故障诊断桥接模块及相应的上位机软件进行观测,断开前后检测对比结果如图9所示,其中异常情况下已不能显示第41号节点,并指示链路断开状态。
图9 链路检测
该文针对工程应用中数据传输链路中常见的故障问题,设计了故障诊断桥接模块,并通过实验验证该电路的有效性。通过该模块的设计,实现大规模传感器阵列故障的准确检测、数据稳定的传输,进而大大缩减了维修人员维修设备时的故障排查时间,提高了检修效率。