一种双 X86 处理器架构的网络设备硬件设计
扫描二维码
随时随地手机看文章
引 言
随着物联网技术的快速发展,物联网系统对网络硬件设备的性能提出了越来越高的要求,对硬件设备的数据处理能力和设备之间的通信传输交换能力的要求也在逐步提高。设备可采用双处理器、双操作系统,双系统独立运行、分工协同工作以完成不同功能任务的方式提升网络设备的功能和性能。硬件上设计 2 套处理器系统电路,预留丰富的对外接口 ;软件方面采用 VxWorks 操作系统,该系统实时性、可靠性、互联性优异。双处理器构架的网络设备硬件设计具有一定的经济性、适用性和扩展性,在物联网领域具有一定的推广应用价值。
根据双处理器、双操作系统可分工协同完成数据处理、运算控制的使用需求,在一个电路模块上设计实现两套相对独立的 CPU 处理电路,两个 CPU 之间通过以太网通信,且处理电路对外有多种接口。设计如图 1 所示。
1 芯片选型
1.1 X86 处理器选择
处理器选用 Intel 低功耗凌动处理器 N2600。N2600 具有功耗低、双核 4 线程、主频 1.60 GHz、1 MB 缓存、2.5 GT/s总线速度、内部集成显卡等优点 [1]。该处理器除了支持Windows XP 操作系统外,还支持 VxWorks 操作系统,配合桥片使用可满足各种接口扩展需求。
1.2 桥片选择
桥片选用英特尔 Intel CG82NM10 PCH,该桥片支持 PCI与 4 通道 PCIE,可配置为 1 个 4x 或 4 个 1x PCIE 总线,支 持 8 路 USB 端口 [2]。NM10 桥片配合 Intel N2600 处理器完成对外接口和总线的扩展,N2600 处理器配合 NM10 桥片使用,可满足低功耗需求。
2 电路设计
2.1 电路组成
系统硬件如图 2 所示。系统由三个功能区电路组成,分别为 2 个 CPU 系统电路和电源管理电路。2 个 CPU 系统电路完全相同,包含 CPU 最小系统和相应的外设接口。CPU最小系统包括 N2600 处理器、NM10 桥片、BIOS FLASH 芯片、DDR3 外置存储器和 SSD 电子盘。该最小系统最多可提供4 条 PCIE 1x 总线,8 个 USB,2 个 SATA,2 个显示口。本设计中每个最小系统只使用 2 条 PCIE 1x 总线,2 个 USB, 1 个 SATA,1 个显示口。
2.2 网口设计
设计多路以太网口用于与数据输入输出、对外部系统进行控制。N2600 处理器无以太网接口,设计使用 NM10 的PCIE 接口通过以太网控制器实现网口扩展。以太网控制器采用 Intel 公司设计生产的 82574 千兆位以太网控制器,配合对应的变压器、TVS 保护器件实现多路以太网口扩展目的。NM10可提供四组PCIE 1x总线,满足三片82574的使用需求,每个 1x 的 PCIE 接口外接一片 82574。
82574 支持 802.3X 流控制规范、802.1QVLAN 规范与MAC 地址过滤 ;支持 MAC 自循环模式 ;兼容 1 Gb/s IEEE 802.3,802.3u,802.3ab 规范 ;支持 IEEE 802.3ab 自动协商机制规范 ;支持 10/100/1 000 Mb/s 全双工 ;支持 10/100 Mb/s半双工 [3]。
2.3 VGA 接口设计
设计 VGA 接口用于软件开发调试。N2600 处理器内部集成有 GPU,GPU 的对外显示接口采用数字显示接口DisplayPort。采用 DisplayPort 接口的显示器较为少见,选用CH7517 芯片将 DisplayPort 转换成标准 VGA 模拟显示器接口 [4],方便连接显示器。
2.4 USB 接口设计
设计 USB 接口用于外接键盘。USB 接口数据线上连接 TVS 保护器,用于接口过流、过压、静电保护。USB 接口的 5 V 电源串接可恢复保险管,以确保 USB 口的安全使用。
2.5 串口设计
设计 RS 232 串口用于开发调试。RS 232 接口由 NM10上的 LPC 总线接口通过 IT8515E 芯片 [5]、电平转换芯片MAX3232[6]、TVS 保护器实现。
2.6 CPLD 控制电路
CPLD 控制电路包括 CPLD 芯片、复位监控芯片等。CPLD 选用 Xilinx 公司设计生产的 XC3S700AN[7],看门狗由CPLD 内部逻辑完成。复位监控芯片选用 Maxim 公司设计生产的 MAX706[8]。CPLD 和 MAX706 配合完成上电控制、复位控制、电源监控、状态指示等功能。系统上电后,CPLD首先启动,MAX706 复位电路提供的复位信号通过 CPLD 复位两个 CPU。复位结束后放开复位信号,CPU 启动。设计使用复位按键可复位整个系统。CPU 工作时,定时通过 GPIO信号送清狗信号给 CPLD,当 CPU 死机后,无清狗信号且达到设定的时间后,CPLD 复位 CPU。
2.7 电源管理电路
电源管理电路实现电源保护、电源监控功能,还设计有防止反接、过压保护、过流保护及短路保护等功能。设定过压阈值点与过流保护点,在过压、低压或超过设定阈值时均会自动保护。
3 操作系统
软件操作系统为 VxWorks。VxWorks 操作系统是 Intel旗下美国风河公司(Wind River)推出的一款高性能、可裁减的嵌入式实时操作系统,被广泛应用在航空航天、通信、工业、医疗、消费电子、网络通信等领域,VxWorks 操作系统在安全性、互联性、可靠性、设备管理、用户交互等方面性能优异 [9],可以满足目前物联网设备的使用要求。
VxWorks 支持在线调试,网络加载 ;支持标准 C 库API ;设计 BootLoader 分别提供基于网络和本地 Image 文件的加载模式。系统 BIOS 采用 AMIBIOS,电路模块启动时,CPU 首先启动标准的 AMIBIOS,在设置界面使用键盘操作设置启动方式、CPU设置等。系统设置成SATA硬盘启动方式,SATA 硬盘设置为 IDE 模式。在 BIOS 状态下,内存、PCIE设备进行初始化,键盘等 USB 设备可以使用。
BIOS 启动后,自动运行 Bootrom 加载 Vxowoks 操作系统镜像,启动 VxWorks 操作系统。VxWorks 操作系统包括网卡、USB、硬盘、串口、显卡驱动,且支持网口和串口调试与显示器命令行文字显示。VxWorks 采用 DosFs 文件系统,支持标准 RS 232 串口设备和标准 I/O 设备,可提供相关函数接口,同时 Vxworks 操作系统还支持 TCP/IP 网络协议栈,可提供 FTP,Telnet,Socket 编程等网络功能 [10]。
4 测试方法
分别测试每个 CPU 的系统电路和接口,测试方法如图 3所示。
4.1 应用程序更新测试
通过网口将 CPU 的测试程序下载至板子的 SSD 中,重新加电且应用程序运行成功后,通过显示器显示运行成功信息。
4.2 DDR3 SDRAM 读写测试
CPU 分别以全 0、全 F、递增数三种数据格式写满SDRAM 进行回读校验,统计校验错误数量,并将结果通过显示器显示。
4.3 网口测试
使用计算机对 2 个网口持续测试数万包 65 500 B 的数据不丢包,CPU 之间的网口持续测试数万包 65 500 B 的数据不丢包。
4.4 串口测试
CPU 通 过 RS 232 接口与计算机通信, 其波特率为115 200 bps。数据格式 :1 个起始位,8 个数据位,1 个停止位,无校验位。测试时,每帧为 256 B,从 0 开始按 1 累加数据,处理器发送数据时,计算机通过串口调试助手或环回测试将接收到的数据进行校验 ;处理器接收数据时,接收计算机发送的数据后进行校验,显示测试结果。
4.5 USB 接口测试
USB 接口接键盘对 VxWorks 系统进行操作调试。
4.6 VGA 显示接口测试
VGA接口接显示器可正常显示VxWorks系统的运行状态。
4.7 功耗测试
直流电源加电,根据直流电源的电压、电流显示计算电路的功耗。
5 结 语
文章介绍了一种双 X86 构架的网络设备硬件设计方法与硬件电路测试方法。双 X86 处理器可设置为每个处理器独立工作,双处理器分工完成不同任务的模式,实现双重功能 ;也可以设置为处理器之间互为备份,冗余工作的模式,提升系统的任务可靠性。该网络设备的硬件设计具有接口丰富、实时性好、功耗低、体积小、可靠性高、开发周期短等优点,在物联网领域有着广阔的应用空间。