亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PowerPC下雙網(wǎng)冗余熱備份高速切換技術(shù)實(shí)現(xiàn)

        2016-06-01 00:46:45強(qiáng)景趙多王紅兵
        關(guān)鍵詞:驅(qū)動(dòng)程序寄存器端口

        強(qiáng)景,趙多,王紅兵

        (西安電子科技大學(xué) 電子工程學(xué)院,西安 710071)

        ?

        強(qiáng)景,趙多,王紅兵

        (西安電子科技大學(xué) 電子工程學(xué)院,西安 710071)

        摘要:網(wǎng)絡(luò)冗余切換熱備份技術(shù)大多與運(yùn)行有嵌入式操作系統(tǒng)的控制芯片一起工作,該技術(shù)的應(yīng)用有效增強(qiáng)了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)奈锢砜煽啃?,但是網(wǎng)絡(luò)切換速度一直是這項(xiàng)技術(shù)的瓶頸。本文首先提出通過(guò)運(yùn)行有Linux系統(tǒng)的MPC8377芯片以及外部連接CPLD和2片88E111 PHY芯片完成網(wǎng)絡(luò)冗余切換熱備份的方案,然后依照方案設(shè)計(jì)對(duì)應(yīng)軟件,最終使得雙網(wǎng)切換時(shí)間小于20 ms,極大地改善了現(xiàn)存方案的切換速度,使得網(wǎng)絡(luò)恢復(fù)加快、數(shù)據(jù)傳輸更加可靠。

        關(guān)鍵詞:雙網(wǎng)切換;網(wǎng)絡(luò)冗余;Linux;MPC8377;88E111;PHY

        引言

        本文提出在PowerPC架構(gòu)上運(yùn)行有Linux系統(tǒng)的MPC8377來(lái)完成網(wǎng)絡(luò)冗余切換熱備份方案。通過(guò)MPC8377的GPIO口控制CPLD來(lái)完成MPC8377的MAC與PHY的對(duì)應(yīng)連接關(guān)系的切換,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)的重新恢復(fù)。本方案最終使得切換時(shí)間小于20 ms,極大改善了現(xiàn)有技術(shù)的缺陷和不足。

        1網(wǎng)絡(luò)冗余切換簡(jiǎn)介

        網(wǎng)絡(luò)冗余是工業(yè)網(wǎng)絡(luò)的一項(xiàng)保障策略,目的是減輕意外中斷的風(fēng)險(xiǎn),通過(guò)即時(shí)響應(yīng)保證生產(chǎn)連續(xù),從而降低關(guān)鍵數(shù)據(jù)流上任意一點(diǎn)失效所帶來(lái)的影響。在冗余網(wǎng)絡(luò)中比較重要的一種雙冗余類型為主備網(wǎng)絡(luò),在正常情況下一般只有主網(wǎng)絡(luò)在工作,一旦發(fā)生意外,主網(wǎng)切換到備用網(wǎng)絡(luò),并發(fā)送故障信號(hào)給上位機(jī),在主網(wǎng)絡(luò)得到修整后,主網(wǎng)成為備用網(wǎng)絡(luò)繼續(xù)運(yùn)行。這種方案的恢復(fù)時(shí)間一般在200 ms左右,雖然可以用來(lái)提供網(wǎng)絡(luò)連接保障,但是恢復(fù)時(shí)間和切換時(shí)間太長(zhǎng)一直是該方案的弊端。

        2方案總體設(shè)計(jì)

        2.1硬件介紹

        該設(shè)計(jì)采用Freescale公司的基于PowerPC架構(gòu)的MPC8377芯片,其外圍接口豐富,可參考實(shí)際需求自由刪減,提高了系統(tǒng)開(kāi)發(fā)的靈活性,同時(shí)降低了產(chǎn)品開(kāi)發(fā)的難度與成本,有效縮短了產(chǎn)品從研發(fā)到投放市場(chǎng)的時(shí)間,提高了產(chǎn)品的競(jìng)爭(zhēng)力,處理器內(nèi)部集成了e300內(nèi)核PCI、PCIE、DDR等控制器,其提供了雙千兆以太網(wǎng)控制器。MPC8377 I/O接口包括10/100/1000 Mbps以太網(wǎng)接口:一個(gè)千兆位 RGMII連接到(PHY)88E111,一個(gè)5端口 Vitesse Ethernet switch (VSC7385);PCI 和PCI Express插槽:PCI Express連接器,一個(gè)Mini PCI 連接器,一個(gè)標(biāo)準(zhǔn)PCI 連接器;SATA:兩個(gè)USB 2.0,4端口USB Hub,一個(gè)串行通信接口。

        該設(shè)計(jì)使用的PHY為88E1111,88E1111吉比特以太網(wǎng)收發(fā)器是一個(gè)物理層器件,用于1000 BASE-T、100 BASE-TX和10 BASE-T類型的以太網(wǎng)。88E1111支持用于直接連接到MAC/Switch接口的吉比特介質(zhì)無(wú)關(guān)接口(GMII)、精簡(jiǎn)的GMII(RGMII)、串行吉比特介質(zhì)無(wú)關(guān)接口(SGMII)、10比特接口(TBI)、精簡(jiǎn)的10比特接口(RTBI);集成了一個(gè)可選的1.25 GHz的SERDES接口(串行器/解串器);被用于實(shí)現(xiàn)1000 BASE-T千兆接口轉(zhuǎn)換器(GBIC)或小型可插拔(SFP)模塊;采用了先進(jìn)的混合信號(hào)進(jìn)程來(lái)均衡執(zhí)行、消除回聲和傳音、數(shù)據(jù)恢復(fù)和錯(cuò)誤校正。該器件運(yùn)行在高噪聲的環(huán)境中時(shí)功耗也非常低。

        2.2硬件方案

        MPC8377帶有兩路MAC接口,但是為了提高網(wǎng)絡(luò)恢復(fù)的速度和切換速度以及實(shí)現(xiàn)IP和MAC的唯一綁定,本方案只采用單路MAC。MAC數(shù)據(jù)線與控制線連接CPLD,然后通過(guò)CPLD一分二連接兩路PHY完成。為了保證切換正常和快速,采用MPC8377的一路GPIO口連接CPLD作為切換信號(hào)。為了保證中斷速度,直接把兩路PHY的中斷信號(hào)通過(guò)CPLD與門(mén)操作連接MPC8377。整個(gè)方案連接方式如圖1所示。

        3MPC8377的網(wǎng)絡(luò)設(shè)計(jì)

        為了網(wǎng)絡(luò)連通方便,該方案需要移植Linux系統(tǒng)到

        圖1 方案連接方式

        MPC8377,為了系統(tǒng)正常啟動(dòng),設(shè)計(jì)MPC8377為NOR Flash啟動(dòng)模式,NOR Flash通過(guò)燒寫(xiě)定制的Uboot啟動(dòng)引導(dǎo)文件、定制的Linux image鏡像文件、dtb文件,以及rootfs文件系統(tǒng)。移植好Linux系統(tǒng)之后,網(wǎng)絡(luò)底層程序可以通過(guò)移植網(wǎng)絡(luò)驅(qū)動(dòng)完成,因此只需通過(guò)底層驅(qū)動(dòng)獲取網(wǎng)絡(luò)診斷信息和向CPLD發(fā)送相應(yīng)切換命令。

        3.1Linux系統(tǒng)網(wǎng)絡(luò)診斷

        實(shí)現(xiàn)網(wǎng)絡(luò)切換程序,需要準(zhǔn)確判定網(wǎng)絡(luò)通斷狀態(tài),并及時(shí)發(fā)送切換命令。網(wǎng)絡(luò)通斷通過(guò)讀取88E111的寄存器1,其為狀態(tài)寄存器。88E111的狀態(tài)寄存器如表1所列。

        由此可知,狀態(tài)寄存器有16位,第2位為L(zhǎng)ink 狀態(tài),第3位為自動(dòng)協(xié)商,該寄存器在Linux系統(tǒng)啟動(dòng)結(jié)束后默認(rèn)值(默認(rèn)是指網(wǎng)絡(luò)在Linux系統(tǒng)啟動(dòng)過(guò)程中正常)為0x796D。通過(guò)讀取分析該狀態(tài)寄存器的第2位即可得到網(wǎng)絡(luò)狀態(tài),即該位為1,表示連接正常,為0表示連接中斷。

        Linux用戶空間應(yīng)用程序通過(guò)在用戶空間先創(chuàng)建套接字socket(PF_LOCAL, SOCK_DGRAM, 0),再調(diào)用ioctl(sockfd, SIOCGMIIPHY, &ifr)函數(shù),可以獲取PHY地址;通過(guò)先調(diào)用(uint16_t)strtoul(‘eth0’ NULL, 0),選定網(wǎng)絡(luò),再調(diào)用ioctl(sockfd, SIOCGMIIREG, &ifr)可以訪問(wèn)到網(wǎng)絡(luò)連接狀態(tài),最終通過(guò)if(mii->val_out&0x0004)來(lái)判定網(wǎng)絡(luò)連接狀態(tài)。

        3.2GPIO驅(qū)動(dòng)設(shè)計(jì)

        Linux系統(tǒng)驅(qū)動(dòng)分為3類:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備。本文采用字符驅(qū)動(dòng)來(lái)編寫(xiě)GPIO驅(qū)動(dòng),GPIO模塊的結(jié)構(gòu)圖如圖2所示。

        圖2 GPIO模塊的結(jié)構(gòu)圖

        驅(qū)動(dòng)程序通過(guò)module_init(GPIO_init)、module_exit(GPIO_exit)分別注冊(cè)和注銷GPIO驅(qū)動(dòng),在注冊(cè)設(shè)備驅(qū)動(dòng)時(shí)初始化SICRL、GPnDIR、GPnODR、GPnDAT寄存器。為了方便驅(qū)動(dòng)程序所驅(qū)動(dòng)的設(shè)備在用戶空間打開(kāi),在編寫(xiě)GPIO驅(qū)動(dòng)時(shí)通過(guò)class_create(THIS_MODULE, "GPIO")以及device_create(firstdrv_class, NULL, MKDEV(major, 0), NULL, "GPIO")函數(shù)讓系統(tǒng)自動(dòng)創(chuàng)建設(shè)備節(jié)點(diǎn)。最終通過(guò)用戶空間的ioctl函數(shù)改寫(xiě)GPnDAT來(lái)完成切換信號(hào)的控制。

        Linux系統(tǒng)在上電加載Uboot階段,開(kāi)始初始化PHY芯片。為了保證在進(jìn)入Linux系統(tǒng)后,切換到備用PHY后可以直接正常使用,需要更改Uboot啟動(dòng)初始化程序,在初始化主PHY芯片后,切換信號(hào)到備用PHY,再進(jìn)行一遍PHY初始化。MPC8377帶有串口,Uboot啟動(dòng)過(guò)程中可以通過(guò)串口將Uboot啟動(dòng)信息回送至上位機(jī),Uboot初始化完成后啟動(dòng)后串口輸出如圖3所示。

        圖3 MPC8377 Uboot引導(dǎo)程序初始化主、備PHY

        如圖3所示,Net下TSEC1和TSEC2分別對(duì)應(yīng)主、備PHY的初始化,在兩次初始化之間,MPC8377控制GPIO引腳,通過(guò)CPLD調(diào)整MAC與PHY的連接關(guān)系。

        3.3程序自啟動(dòng)和驅(qū)動(dòng)加載

        為了使得用戶切換程序和驅(qū)動(dòng)程序能在Linux系統(tǒng)啟動(dòng)后自動(dòng)運(yùn)行,編譯好的用戶程序和驅(qū)動(dòng)程序都被放置在rootfs文件系統(tǒng)中,并通過(guò)壓縮燒寫(xiě)到NOR Flash中。用戶程序?qū)崿F(xiàn)正常運(yùn)行必須先啟動(dòng)GPIO驅(qū)動(dòng)程序。Linux系統(tǒng)啟動(dòng)時(shí)會(huì)自動(dòng)加載/etc/profile文件,為了自動(dòng)啟動(dòng)用戶程序和GPIO驅(qū)動(dòng),需要在/ect /profile 文件中添加如下代碼:

        ifconfig eth0 192.168.81.238 netmask 255.255.255.0

        //更改網(wǎng)卡配置

        mkdir /lib/modules/3.0.0//創(chuàng)建節(jié)點(diǎn),供卸載GPIO驅(qū)動(dòng)使用

        insmod GPIO.ko//安裝GPIO驅(qū)動(dòng)

        ./main//啟動(dòng)用戶程序

        4CPLD切換設(shè)計(jì)

        CPLD連接來(lái)自MPC8377的MAC信號(hào),并且將其信號(hào)通過(guò)一分二給兩路PHY。在Uboot啟動(dòng)過(guò)程中由MPC8377通過(guò)GPIO信號(hào)發(fā)送給CPLD,從而實(shí)現(xiàn)兩路PHY的初始化,在啟動(dòng)Linux系統(tǒng)后,MPC8377仍然可以通過(guò)網(wǎng)絡(luò)狀態(tài)來(lái)調(diào)度CPLD連接不同的PHY。

        4.1CPLD與PHY的連接

        除去MDIO信號(hào)之外,CPLD與MAC連接的I/O信號(hào)都可以直接進(jìn)行一分二,最終生成的CPLD模塊略——編者注。

        4.2CPLD的MDIO設(shè)計(jì)

        MAC與PHY連接的MDIO信號(hào)屬于雙向I/O信號(hào),不能直接一分二。本文在CPLD中判斷收發(fā)條件來(lái)實(shí)現(xiàn)控制端口的I/O狀態(tài)切換。

        圖4 MDIO讀時(shí)序

        圖5 MDIO寫(xiě)時(shí)序

        MDIO信號(hào)協(xié)議讀寫(xiě)信號(hào)時(shí)序分別如圖4、圖5所示。MDIO的一分二可以通過(guò)CPLD的inout端口來(lái)實(shí)現(xiàn),對(duì)inout端口的控制可以通過(guò)分析MDIO的時(shí)序來(lái)完成。從MDIO讀寫(xiě)時(shí)序(圖4和圖5)可以看到,在起始(Start)信號(hào)過(guò)后,會(huì)有讀寫(xiě)控制位信號(hào),10為讀,01為寫(xiě),通過(guò)對(duì)這兩位的分析改變inout端口的輸入輸出特性,即在發(fā)現(xiàn)10時(shí),inout在TA階段表現(xiàn)為輸入,在發(fā)現(xiàn)01信號(hào)時(shí),在TA階段表現(xiàn)為輸出,進(jìn)而得到MDIO一分二模塊如圖6所示。

        圖6 MDIO一分二模塊

        5測(cè)試

        為了得到切換時(shí)間,在網(wǎng)絡(luò)切換前調(diào)用gettimeofday (&tvpre, &tz)獲取當(dāng)前系統(tǒng)時(shí)間,在完成網(wǎng)絡(luò)切換并且網(wǎng)絡(luò)連通后調(diào)用gettimeofday (&tvafter, &tz)再次獲取系統(tǒng)時(shí)間,最終計(jì)算差值打印出主備切換時(shí)間,如圖7所示。

        圖7 主備切換時(shí)間

        通過(guò)測(cè)試可以看到,從PHY1到PHY2的切換,僅僅在12 ms內(nèi)就可以完成,通過(guò)多次測(cè)試,雙網(wǎng)的切換時(shí)間一直保持小于20 ms。

        結(jié)語(yǔ)

        本文介紹了MPC8377與CPLD、88E111,通過(guò)Linux系統(tǒng)實(shí)現(xiàn)雙冗余網(wǎng)絡(luò)切換熱備份方案,介紹了MPC8377字符設(shè)備驅(qū)動(dòng)的編寫(xiě),以及CPLD在處理MDIO信號(hào)上的應(yīng)用,最終使得設(shè)計(jì)方案可以小于20 ms的切換時(shí)間。通過(guò)本方案的應(yīng)用可以一定程度上滿足網(wǎng)絡(luò)的可靠性和網(wǎng)絡(luò)恢復(fù)的時(shí)長(zhǎng)要求。

        編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。

        參考文獻(xiàn)

        [1] 胡國(guó)鵬,劉利強(qiáng).VxWorks環(huán)境下雙冗余以太網(wǎng)卡技術(shù)在底層驅(qū)動(dòng)中的實(shí)現(xiàn)[J].應(yīng)用科技,2005(8):43-45.

        [2] 劉利強(qiáng),戴運(yùn)桃,周衛(wèi)東.基于VxWorks的雙端口網(wǎng)卡智能雙冗余驅(qū)動(dòng)[J].電子技術(shù)應(yīng)用,2006(7):64-66.

        [3] 洪亮,章嘉文,陸亨立.基于FPGA的MDIO接口邏輯設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,25(5-2):171-172,196.

        強(qiáng)景(研究生),研究方向?yàn)镻owerPC嵌入式系統(tǒng)、電子存儲(chǔ)陣列;趙多(研究生),研究方向?yàn)镕PGA IP核控制器、信號(hào)處理;王紅兵(研究生),研究方向?yàn)镾ATA控制器、電子存儲(chǔ)陣列。

        Qiang Jing,Zhao Duo,Wang Hongbing

        (School of Electronic Engineering,Xidian University,Xi’an 710071,China)

        Abstract:The technology of network redundancy switching backup mostly works with the control chip running with embedded operating system.The application of this technology can effectively increase the reliability of network data transmission,but the speed of network switching is a big problem.In this paper,firstly the control chip MPC8377 running with Linux system,CPLD and 2 pieces of 88E111 (PHY) complete the design of the network redundancy backup.Then the corresponding software is designed.Thus the time of the network switching is less 20 ms.In this way,the switching speed is improved and makes the transmission more reliable.

        Key words:network switching;network redundancy;Linux;MPC8377;88E111;PHY

        收稿日期:(責(zé)任編輯:薛士然2015-09-05)

        中圖分類號(hào):TP368.1

        文獻(xiàn)標(biāo)識(shí)碼:A

        猜你喜歡
        驅(qū)動(dòng)程序寄存器端口
        一種端口故障的解決方案
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        端口阻塞與優(yōu)先級(jí)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        初識(shí)電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹(shù)協(xié)議實(shí)例探討
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        国产大片在线观看三级| 老太脱裤子让老头玩xxxxx | 美女福利视频网址导航| 日韩女优视频网站一区二区三区 | 国产又爽又黄又刺激的视频| 无码精品a∨在线观看十八禁 | 国产成人一区二区三区高清| 最新亚洲视频一区二区| 久久久精品亚洲一区二区国产av| 国产后入清纯学生妹| 日本做受高潮好舒服视频 | 无码人妻精品一区二区| 精品久久久久久无码国产| 久久久精品2019免费观看| 视频国产一区二区在线| 国产一区二区自拍刺激在线观看| 国精产品一区一区三区有限公司杨| 国产精品揄拍100视频| 亚洲日本VA午夜在线电影| 日本淫片一区二区三区| 中国娇小与黑人巨大交| 国产成人无码a区在线观看视频 | 无码av一区二区大桥久未| 亚洲熟妇色xxxxx欧美老妇y| 国产高清丝袜美腿视频在线观看| 你懂的视频网站亚洲视频| 日韩人妻少妇一区二区三区| 国产精品美女久久久久| 四虎国产精品免费久久麻豆| 青青草是针对华人绿色超碰| 国产香蕉视频在线播放| 激情第一区仑乱| 亚洲人成国产精品无码果冻| 波多野结衣乳巨码无在线| www.久久av.com| 亚洲乱熟妇一区二区三区蜜桃| 美女扒开大腿让男人桶| 中国熟妇人妻xxxxx| 中文字幕亚洲无线码a| 精品一区二区三区国产av| 日韩国产人妻一区二区三区|