一種雙 X86 處理器架構(gòu)的網(wǎng)絡(luò)設(shè)備硬件設(shè)計(jì)
引 言
隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)系統(tǒng)對(duì)網(wǎng)絡(luò)硬件設(shè)備的性能提出了越來越高的要求,對(duì)硬件設(shè)備的數(shù)據(jù)處理能力和設(shè)備之間的通信傳輸交換能力的要求也在逐步提高。設(shè)備可采用雙處理器、雙操作系統(tǒng),雙系統(tǒng)獨(dú)立運(yùn)行、分工協(xié)同工作以完成不同功能任務(wù)的方式提升網(wǎng)絡(luò)設(shè)備的功能和性能。硬件上設(shè)計(jì) 2 套處理器系統(tǒng)電路,預(yù)留豐富的對(duì)外接口 ;軟件方面采用 VxWorks 操作系統(tǒng),該系統(tǒng)實(shí)時(shí)性、可靠性、互聯(lián)性優(yōu)異。雙處理器構(gòu)架的網(wǎng)絡(luò)設(shè)備硬件設(shè)計(jì)具有一定的經(jīng)濟(jì)性、適用性和擴(kuò)展性,在物聯(lián)網(wǎng)領(lǐng)域具有一定的推廣應(yīng)用價(jià)值。
根據(jù)雙處理器、雙操作系統(tǒng)可分工協(xié)同完成數(shù)據(jù)處理、運(yùn)算控制的使用需求,在一個(gè)電路模塊上設(shè)計(jì)實(shí)現(xiàn)兩套相對(duì)獨(dú)立的 CPU 處理電路,兩個(gè) CPU 之間通過以太網(wǎng)通信,且處理電路對(duì)外有多種接口。設(shè)計(jì)如圖 1 所示。
1 芯片選型
1.1 X86 處理器選擇
處理器選用 Intel 低功耗凌動(dòng)處理器 N2600。N2600 具有功耗低、雙核 4 線程、主頻 1.60 GHz、1 MB 緩存、2.5 GT/s總線速度、內(nèi)部集成顯卡等優(yōu)點(diǎn) [1]。該處理器除了支持Windows XP 操作系統(tǒng)外,還支持 VxWorks 操作系統(tǒng),配合橋片使用可滿足各種接口擴(kuò)展需求。
1.2 橋片選擇
橋片選用英特爾 Intel CG82NM10 PCH,該橋片支持 PCI與 4 通道 PCIE,可配置為 1 個(gè) 4x 或 4 個(gè) 1x PCIE 總線,支 持 8 路 USB 端口 [2]。NM10 橋片配合 Intel N2600 處理器完成對(duì)外接口和總線的擴(kuò)展,N2600 處理器配合 NM10 橋片使用,可滿足低功耗需求。
2 電路設(shè)計(jì)
2.1 電路組成
系統(tǒng)硬件如圖 2 所示。系統(tǒng)由三個(gè)功能區(qū)電路組成,分別為 2 個(gè) CPU 系統(tǒng)電路和電源管理電路。2 個(gè) CPU 系統(tǒng)電路完全相同,包含 CPU 最小系統(tǒng)和相應(yīng)的外設(shè)接口。CPU最小系統(tǒng)包括 N2600 處理器、NM10 橋片、BIOS FLASH 芯片、DDR3 外置存儲(chǔ)器和 SSD 電子盤。該最小系統(tǒng)最多可提供4 條 PCIE 1x 總線,8 個(gè) USB,2 個(gè) SATA,2 個(gè)顯示口。本設(shè)計(jì)中每個(gè)最小系統(tǒng)只使用 2 條 PCIE 1x 總線,2 個(gè) USB, 1 個(gè) SATA,1 個(gè)顯示口。
2.2 網(wǎng)口設(shè)計(jì)
設(shè)計(jì)多路以太網(wǎng)口用于與數(shù)據(jù)輸入輸出、對(duì)外部系統(tǒng)進(jìn)行控制。N2600 處理器無以太網(wǎng)接口,設(shè)計(jì)使用 NM10 的PCIE 接口通過以太網(wǎng)控制器實(shí)現(xiàn)網(wǎng)口擴(kuò)展。以太網(wǎng)控制器采用 Intel 公司設(shè)計(jì)生產(chǎn)的 82574 千兆位以太網(wǎng)控制器,配合對(duì)應(yīng)的變壓器、TVS 保護(hù)器件實(shí)現(xiàn)多路以太網(wǎng)口擴(kuò)展目的。NM10可提供四組PCIE 1x總線,滿足三片82574的使用需求,每個(gè) 1x 的 PCIE 接口外接一片 82574。
82574 支持 802.3X 流控制規(guī)范、802.1QVLAN 規(guī)范與MAC 地址過濾 ;支持 MAC 自循環(huán)模式 ;兼容 1 Gb/s IEEE 802.3,802.3u,802.3ab 規(guī)范 ;支持 IEEE 802.3ab 自動(dòng)協(xié)商機(jī)制規(guī)范 ;支持 10/100/1 000 Mb/s 全雙工 ;支持 10/100 Mb/s半雙工 [3]。
2.3 VGA 接口設(shè)計(jì)
設(shè)計(jì) VGA 接口用于軟件開發(fā)調(diào)試。N2600 處理器內(nèi)部集成有 GPU,GPU 的對(duì)外顯示接口采用數(shù)字顯示接口DisplayPort。采用 DisplayPort 接口的顯示器較為少見,選用CH7517 芯片將 DisplayPort 轉(zhuǎn)換成標(biāo)準(zhǔn) VGA 模擬顯示器接口 [4],方便連接顯示器。
2.4 USB 接口設(shè)計(jì)
設(shè)計(jì) USB 接口用于外接鍵盤。USB 接口數(shù)據(jù)線上連接 TVS 保護(hù)器,用于接口過流、過壓、靜電保護(hù)。USB 接口的 5 V 電源串接可恢復(fù)保險(xiǎn)管,以確保 USB 口的安全使用。
2.5 串口設(shè)計(jì)
設(shè)計(jì) RS 232 串口用于開發(fā)調(diào)試。RS 232 接口由 NM10上的 LPC 總線接口通過 IT8515E 芯片 [5]、電平轉(zhuǎn)換芯片MAX3232[6]、TVS 保護(hù)器實(shí)現(xiàn)。
2.6 CPLD 控制電路
CPLD 控制電路包括 CPLD 芯片、復(fù)位監(jiān)控芯片等。CPLD 選用 Xilinx 公司設(shè)計(jì)生產(chǎn)的 XC3S700AN[7],看門狗由CPLD 內(nèi)部邏輯完成。復(fù)位監(jiān)控芯片選用 Maxim 公司設(shè)計(jì)生產(chǎn)的 MAX706[8]。CPLD 和 MAX706 配合完成上電控制、復(fù)位控制、電源監(jiān)控、狀態(tài)指示等功能。系統(tǒng)上電后,CPLD首先啟動(dòng),MAX706 復(fù)位電路提供的復(fù)位信號(hào)通過 CPLD 復(fù)位兩個(gè) CPU。復(fù)位結(jié)束后放開復(fù)位信號(hào),CPU 啟動(dòng)。設(shè)計(jì)使用復(fù)位按鍵可復(fù)位整個(gè)系統(tǒng)。CPU 工作時(shí),定時(shí)通過 GPIO信號(hào)送清狗信號(hào)給 CPLD,當(dāng) CPU 死機(jī)后,無清狗信號(hào)且達(dá)到設(shè)定的時(shí)間后,CPLD 復(fù)位 CPU。
2.7 電源管理電路
電源管理電路實(shí)現(xiàn)電源保護(hù)、電源監(jiān)控功能,還設(shè)計(jì)有防止反接、過壓保護(hù)、過流保護(hù)及短路保護(hù)等功能。設(shè)定過壓閾值點(diǎn)與過流保護(hù)點(diǎn),在過壓、低壓或超過設(shè)定閾值時(shí)均會(huì)自動(dòng)保護(hù)。
3 操作系統(tǒng)
軟件操作系統(tǒng)為 VxWorks。VxWorks 操作系統(tǒng)是 Intel旗下美國風(fēng)河公司(Wind River)推出的一款高性能、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng),被廣泛應(yīng)用在航空航天、通信、工業(yè)、醫(yī)療、消費(fèi)電子、網(wǎng)絡(luò)通信等領(lǐng)域,VxWorks 操作系統(tǒng)在安全性、互聯(lián)性、可靠性、設(shè)備管理、用戶交互等方面性能優(yōu)異 [9],可以滿足目前物聯(lián)網(wǎng)設(shè)備的使用要求。
VxWorks 支持在線調(diào)試,網(wǎng)絡(luò)加載 ;支持標(biāo)準(zhǔn) C 庫API ;設(shè)計(jì) BootLoader 分別提供基于網(wǎng)絡(luò)和本地 Image 文件的加載模式。系統(tǒng) BIOS 采用 AMIBIOS,電路模塊啟動(dòng)時(shí),CPU 首先啟動(dòng)標(biāo)準(zhǔn)的 AMIBIOS,在設(shè)置界面使用鍵盤操作設(shè)置啟動(dòng)方式、CPU設(shè)置等。系統(tǒng)設(shè)置成SATA硬盤啟動(dòng)方式,SATA 硬盤設(shè)置為 IDE 模式。在 BIOS 狀態(tài)下,內(nèi)存、PCIE設(shè)備進(jìn)行初始化,鍵盤等 USB 設(shè)備可以使用。
BIOS 啟動(dòng)后,自動(dòng)運(yùn)行 Bootrom 加載 Vxowoks 操作系統(tǒng)鏡像,啟動(dòng) VxWorks 操作系統(tǒng)。VxWorks 操作系統(tǒng)包括網(wǎng)卡、USB、硬盤、串口、顯卡驅(qū)動(dòng),且支持網(wǎng)口和串口調(diào)試與顯示器命令行文字顯示。VxWorks 采用 DosFs 文件系統(tǒng),支持標(biāo)準(zhǔn) RS 232 串口設(shè)備和標(biāo)準(zhǔn) I/O 設(shè)備,可提供相關(guān)函數(shù)接口,同時(shí) Vxworks 操作系統(tǒng)還支持 TCP/IP 網(wǎng)絡(luò)協(xié)議棧,可提供 FTP,Telnet,Socket 編程等網(wǎng)絡(luò)功能 [10]。
4 測試方法
分別測試每個(gè) CPU 的系統(tǒng)電路和接口,測試方法如圖 3所示。
4.1 應(yīng)用程序更新測試
通過網(wǎng)口將 CPU 的測試程序下載至板子的 SSD 中,重新加電且應(yīng)用程序運(yùn)行成功后,通過顯示器顯示運(yùn)行成功信息。
4.2 DDR3 SDRAM 讀寫測試
CPU 分別以全 0、全 F、遞增數(shù)三種數(shù)據(jù)格式寫滿SDRAM 進(jìn)行回讀校驗(yàn),統(tǒng)計(jì)校驗(yàn)錯(cuò)誤數(shù)量,并將結(jié)果通過顯示器顯示。
4.3 網(wǎng)口測試
使用計(jì)算機(jī)對(duì) 2 個(gè)網(wǎng)口持續(xù)測試數(shù)萬包 65 500 B 的數(shù)據(jù)不丟包,CPU 之間的網(wǎng)口持續(xù)測試數(shù)萬包 65 500 B 的數(shù)據(jù)不丟包。
4.4 串口測試
CPU 通 過 RS 232 接口與計(jì)算機(jī)通信, 其波特率為115 200 bps。數(shù)據(jù)格式 :1 個(gè)起始位,8 個(gè)數(shù)據(jù)位,1 個(gè)停止位,無校驗(yàn)位。測試時(shí),每幀為 256 B,從 0 開始按 1 累加數(shù)據(jù),處理器發(fā)送數(shù)據(jù)時(shí),計(jì)算機(jī)通過串口調(diào)試助手或環(huán)回測試將接收到的數(shù)據(jù)進(jìn)行校驗(yàn) ;處理器接收數(shù)據(jù)時(shí),接收計(jì)算機(jī)發(fā)送的數(shù)據(jù)后進(jìn)行校驗(yàn),顯示測試結(jié)果。
4.5 USB 接口測試
USB 接口接鍵盤對(duì) VxWorks 系統(tǒng)進(jìn)行操作調(diào)試。
4.6 VGA 顯示接口測試
VGA接口接顯示器可正常顯示VxWorks系統(tǒng)的運(yùn)行狀態(tài)。
4.7 功耗測試
直流電源加電,根據(jù)直流電源的電壓、電流顯示計(jì)算電路的功耗。
5 結(jié) 語
文章介紹了一種雙 X86 構(gòu)架的網(wǎng)絡(luò)設(shè)備硬件設(shè)計(jì)方法與硬件電路測試方法。雙 X86 處理器可設(shè)置為每個(gè)處理器獨(dú)立工作,雙處理器分工完成不同任務(wù)的模式,實(shí)現(xiàn)雙重功能 ;也可以設(shè)置為處理器之間互為備份,冗余工作的模式,提升系統(tǒng)的任務(wù)可靠性。該網(wǎng)絡(luò)設(shè)備的硬件設(shè)計(jì)具有接口豐富、實(shí)時(shí)性好、功耗低、體積小、可靠性高、開發(fā)周期短等優(yōu)點(diǎn),在物聯(lián)網(wǎng)領(lǐng)域有著廣闊的應(yīng)用空間。