• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于fpga的嵌入式網(wǎng)絡(luò)接口控制器設(shè)計(jì)

      2016-01-18 12:08:13王輝
      電腦知識(shí)與技術(shù) 2015年33期

      王輝

      摘要:近年來,網(wǎng)絡(luò)技術(shù)發(fā)展迅速,且為推動(dòng)社會(huì)各個(gè)生產(chǎn)生活領(lǐng)域的發(fā)展做出了較大貢獻(xiàn),而工業(yè)以太網(wǎng)技術(shù)的出現(xiàn)也使得其進(jìn)一步融入到控制系統(tǒng)網(wǎng)絡(luò)中的控制層與設(shè)備層。為了進(jìn)一步促進(jìn)以太網(wǎng)技術(shù)的發(fā)展,該文以基于fpga的嵌入式網(wǎng)絡(luò)接口控制器作為主要研究對(duì)象,通過對(duì)嵌入式網(wǎng)絡(luò)接口控制器的工作原理進(jìn)行簡(jiǎn)要闡述,進(jìn)而對(duì)基于fpga的嵌入式網(wǎng)絡(luò)接口控制器的硬件和軟件平臺(tái)展開了全面的設(shè)計(jì)和分析。

      關(guān)鍵詞:fpga;嵌入式網(wǎng)絡(luò)接口;板級(jí)支持包

      中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)33-0025-02

      對(duì)傳統(tǒng)的控制系統(tǒng)進(jìn)行分析可知,其在信息層大都以以太網(wǎng)為主,而在設(shè)備層與控制層則選取不同的現(xiàn)場(chǎng)總線支持局域網(wǎng)聯(lián)網(wǎng)。而隨著工業(yè)以太網(wǎng)技術(shù)的產(chǎn)生與發(fā)展,以太網(wǎng)也由傳統(tǒng)的信息層逐漸滲透到了控制層與設(shè)備層。在此背景下,將以微控制器和微處理作為硬件核心的嵌入式網(wǎng)絡(luò)接口控制器融入到數(shù)控機(jī)床、機(jī)械手等工業(yè)設(shè)備中,并促使其與以太網(wǎng)形成有效連接,提高設(shè)備的控制效率,已成為當(dāng)前工業(yè)以太網(wǎng)領(lǐng)域需要著重開展的關(guān)鍵工作。

      1 嵌入式網(wǎng)絡(luò)接口控制器工作原理

      對(duì)嵌入式網(wǎng)絡(luò)接口控制器進(jìn)行分析可知,其選用的是DM9000E芯片為主控制器,以此來實(shí)現(xiàn)接口數(shù)據(jù)信息同上層以太網(wǎng)的數(shù)據(jù)交換,并以32位微處理器s3c2410與嵌入式Linux系統(tǒng)為基礎(chǔ)實(shí)現(xiàn)協(xié)議與數(shù)據(jù)處理,而后,將經(jīng)處理的數(shù)據(jù)下傳至底層的設(shè)備終端,同時(shí),將來自底層設(shè)備終端的數(shù)據(jù)進(jìn)行處理并實(shí)現(xiàn)協(xié)議,在經(jīng)由DM900E芯片傳至互聯(lián)網(wǎng)中[1]。

      2 基于fpga的嵌入式網(wǎng)絡(luò)接口控制器硬件設(shè)計(jì)

      2.1 fpga簡(jiǎn)介

      設(shè)計(jì)中的核心控制器fpga選取Altrea公司的EP2C8Q208C8型號(hào)fpga為主,其是Altera CycloneⅡ系列器件的關(guān)鍵組成部分,其應(yīng)用主要集中在終端市場(chǎng),如計(jì)算機(jī)、工業(yè)以及汽車等相關(guān)領(lǐng)域。fpga中的鎖相環(huán)以及全局時(shí)鐘網(wǎng)絡(luò)和邏輯單元的個(gè)數(shù)分別為2、8和8256,此外,還具有36個(gè)M4K RAM與138個(gè)I/O端口,具有成本低、性能高、低功耗與強(qiáng)擴(kuò)展等諸多優(yōu)勢(shì)。但由于其內(nèi)部的塊隨機(jī)存儲(chǔ)器,即BlockRam的容量并不能夠滿足VxWorks以及Linux等操作系統(tǒng)對(duì)存儲(chǔ)空間的需求,故引入一32MB的Flash作為映像與引導(dǎo)程序的主要存儲(chǔ)模塊,同時(shí),以256MB的新生代內(nèi)存標(biāo)準(zhǔn)DDR2提供程序運(yùn)行空間,另引入1個(gè)RS232通訊接口和GPIO以供調(diào)試[2]。

      2.2 Temac設(shè)計(jì)

      首先,對(duì)Temac,即三態(tài)以太網(wǎng)媒體訪問控制器進(jìn)行設(shè)計(jì),Temac的原語包括了一對(duì)10/100/1000MB的以太網(wǎng)Mac,而對(duì)Virtex系列器件進(jìn)行分析可知,其所含有的以太網(wǎng)mac模塊數(shù)大都為4個(gè),故其完全符合IEEE802.3規(guī)范。對(duì)以太網(wǎng)Mac的模塊結(jié)構(gòu)進(jìn)行設(shè)計(jì),以對(duì)外接口的類型為依據(jù),可將其接口模塊劃分為物理接口、客戶端接口以及控制接口,且每一個(gè)Mac還具備一可選管理的數(shù)據(jù)I/O接口,利用此接口能夠?qū)崿F(xiàn)對(duì)物理層中管理寄存器以及以太網(wǎng)Mac本身的物理接口管理寄存器的訪問[3]。

      其次,為了提高設(shè)計(jì)的全面性和可靠性,以跳線選擇的方式將以太網(wǎng)Mac的物理接口劃分為GMⅡ(密碼設(shè)備應(yīng)用接口)與SGMⅡ(串行千兆位煤質(zhì)獨(dú)立接口),當(dāng)選擇GMⅡ接口時(shí),外部的88E1111-RCJ配置寄存器為物理層芯片,而選擇SGMⅡ接口時(shí),則可減少Temac同外部物理層接口的接線數(shù)量,利用脈沖編碼調(diào)制/物理媒介適配層模塊,即PCS/PMA同RocketIO收發(fā)器共同工作,從而為Temac提供GBIC或是小型的SFP光纖收發(fā)器所具備的全部功能,從而有效防止1000Base-X網(wǎng)絡(luò)在應(yīng)用過程中所需外部物理層芯片而造成結(jié)構(gòu)和數(shù)據(jù)冗余的問題[4]。還需說明的是,為了進(jìn)一步簡(jiǎn)化設(shè)計(jì)并為后續(xù)片上系統(tǒng)集成奠定基礎(chǔ),還應(yīng)引入PLB控制總線,所引入的PLB_Temac總線核中具有大小可調(diào)的先入先出隊(duì)列與直接內(nèi)存存取引擎,從而使嵌入式的PowerPc系統(tǒng)構(gòu)建得以進(jìn)一步簡(jiǎn)化。

      2.3片上系統(tǒng)集成設(shè)計(jì)

      在片上系統(tǒng)的定制方面,其核心工作即系統(tǒng)主頻的設(shè)計(jì),并實(shí)現(xiàn)對(duì)質(zhì)量、數(shù)據(jù)Cache大小和外部數(shù)據(jù)指令的選配,其外設(shè)IP包括了DDR2協(xié)議標(biāo)準(zhǔn)下的控制接口IP以及外部Flash與GPIO接口IP和PLB_Temac網(wǎng)絡(luò)接口IP。在Flash單元模塊方面,需對(duì)其類型與讀寫時(shí)間進(jìn)行設(shè)計(jì),并視情況引入調(diào)試用串口Uart16550,以供調(diào)試。同時(shí),還需對(duì)DCM即時(shí)鐘管理模塊與FPGA的Ram區(qū)域進(jìn)行設(shè)置,以分別實(shí)現(xiàn)時(shí)鐘管理和.boot文件的存放功能。在外設(shè)方面,以PLB總線與PPC通信地址的統(tǒng)一分配共同實(shí)現(xiàn),并將DDR2的內(nèi)存空間地址分至初始狀態(tài)0×0。

      對(duì)DDR2協(xié)議標(biāo)準(zhǔn)下的控制器進(jìn)行設(shè)計(jì),其采用XPS生產(chǎn)的Memory Controller模塊,并對(duì)DDR2的芯片廠商以及芯片內(nèi)存大小與容納數(shù)據(jù)位數(shù)等進(jìn)行設(shè)計(jì),還需說明的是,除了上述各項(xiàng)模塊、功能的配置的外,還需另外設(shè)置兩條獨(dú)立的PLB總線,并將其同PPC線相連,使二者共同作為PPC的指令總線與數(shù)據(jù)總線。此外,將XPS的PLB_Temac模塊加至MAC單元當(dāng)中實(shí)現(xiàn)接口控制[5]。

      2.4外圍電路設(shè)計(jì)

      外圍電路的設(shè)計(jì)需要以現(xiàn)場(chǎng)可編程門陣列fpga為核心,并逐步向外延伸各類設(shè)備,在設(shè)置fpga的引腳時(shí)需要對(duì)不同的電壓控制晶體振蕩器的電壓予以充分考慮,且考慮到DDR2與物理層PHY芯片分別在+2.5V和+1.8V的電壓下方能運(yùn)轉(zhuǎn),且外設(shè)所需電壓為3.3V,故與DDR2及PHY芯片連接的引腳電源應(yīng)分別提供2.5V與1.8V電壓,而與片外設(shè)相連的引腳所在電源應(yīng)提供3.3V電壓。此外,還需將DCM時(shí)鐘管理模塊置于全局時(shí)鐘引腳處,實(shí)現(xiàn)時(shí)鐘信號(hào)的管理和傳遞。在DDR2進(jìn)行布線過程中,要確保數(shù)據(jù)線與地址線等長(zhǎng),且數(shù)據(jù)線和地址線要分別控制在10Mil(千分之一英寸)和20Mil之內(nèi),而時(shí)鐘線除了需要進(jìn)行差分等長(zhǎng)設(shè)置外,還應(yīng)保證其長(zhǎng)度大于地址線,從而避免時(shí)鐘信號(hào)接受延遲。

      3 基于fpga的嵌入式網(wǎng)絡(luò)接口控制器軟件設(shè)計(jì)

      首先,對(duì)板級(jí)支持包BSP的移植進(jìn)行分析。以微處理器與嵌入式操作系統(tǒng)為平臺(tái)和依據(jù),EDK(嵌入式開發(fā)套件)中的BSP生成器BSP_GEN能夠自動(dòng)產(chǎn)生供用戶裁剪的BSP,其不僅能夠支持Boot代碼和設(shè)備驅(qū)動(dòng)的初始化,而且也能夠支持操作系統(tǒng)本身的初始化。利用BSP_GEN,將可編程邏輯完整解決方案的相關(guān)驅(qū)動(dòng)進(jìn)行打包,并存至BSP子目錄當(dāng)中,同時(shí),將上述驅(qū)動(dòng)同Vxworks操作系統(tǒng)的集成開發(fā)環(huán)境進(jìn)行無縫集成,用以縮短控制器的開發(fā)周期。但需要說明的是,BSP生成器BSP_GEN實(shí)質(zhì)上是一類固定的BSP模板,故難以將RAM/ROM存儲(chǔ)器映射予以正確、全面反映,且并不能夠?qū)τ脩敉ㄟ^BSP_GEN茲定于核驅(qū)動(dòng)予以良好支持,基于此,還需要對(duì)BSP_GEN所生成的BSP做出相應(yīng)的改進(jìn):1)修改Makefile文件中的RAM與ROM地質(zhì)和串口波特率,對(duì)串口進(jìn)行正確設(shè)置;2)引入難以同Vxworks操作系統(tǒng)無縫集成的器件所對(duì)應(yīng)的驅(qū)動(dòng)文件,并對(duì)systemNet.c中的以太網(wǎng)參數(shù)進(jìn)行配置,實(shí)現(xiàn)對(duì)MAC地址的準(zhǔn)確設(shè)置;3)以EDK中的相關(guān)配置為依據(jù),將Cache禁止并修改systemLih.c,確保生成器顯示的信息準(zhǔn)確無誤,且對(duì)主機(jī)的IP地址進(jìn)行科學(xué)設(shè)置。

      其次,對(duì)雙向通信連接的Socket端的用戶數(shù)據(jù)報(bào)協(xié)議,即UDP進(jìn)行程序設(shè)計(jì),BSP的配置與修改工作完成后,進(jìn)入到UDP服務(wù)端程序書寫環(huán)節(jié)。在網(wǎng)絡(luò)通信方面,大都能夠通過Socket予以實(shí)現(xiàn),其編程選取的是基于客戶端/服務(wù)器的數(shù)據(jù)通信模式,對(duì)Vxworks系統(tǒng)進(jìn)行分析可知,其向用戶提供了標(biāo)準(zhǔn)的BSDsocket用以支持UDP協(xié)議的傳輸,并允許同遠(yuǎn)程計(jì)算機(jī)建立連接,從而實(shí)現(xiàn)基于UDP協(xié)議的數(shù)據(jù)傳輸。

      服務(wù)器工作的具體流程為:1)服務(wù)器調(diào)用Socket(),建立起套接字socket,并調(diào)用bind()將套接字同本地網(wǎng)絡(luò)地址進(jìn)行捆綁,以供客戶端準(zhǔn)確識(shí)別;2)服務(wù)器調(diào)用listen()將套接字置于準(zhǔn)備接收狀態(tài)中,并標(biāo)明套接字請(qǐng)求隊(duì)列的長(zhǎng)度,而后,對(duì)accept()進(jìn)行調(diào)用,用以接受客戶連接;3)上述工作完成后,服務(wù)器進(jìn)程便進(jìn)入相對(duì)阻塞的狀態(tài),使客戶端、服務(wù)器的關(guān)系轉(zhuǎn)為非對(duì)稱,而服務(wù)器則率先啟動(dòng),并根據(jù)某一時(shí)刻,客戶端發(fā)出的請(qǐng)求,進(jìn)行被動(dòng)應(yīng)答。

      客戶端的具體工作流程為:1)調(diào)用Socket()函數(shù),建立客戶端與系統(tǒng)連接的套接口,同時(shí),將各套接口所對(duì)應(yīng)的ID號(hào)予以返回;2)對(duì)某一套接口的結(jié)構(gòu)體進(jìn)行初始化,并向其賦予返回ID號(hào)和服務(wù)端IP地址及IP端口號(hào),而后,將其作為關(guān)聯(lián)函數(shù)connect()的主要參數(shù),對(duì)connect()函數(shù)進(jìn)行調(diào)用,促使客戶端主動(dòng)與服務(wù)端相連,實(shí)現(xiàn)數(shù)據(jù)傳輸。

      最后,對(duì)系統(tǒng)進(jìn)行調(diào)試。為了確保系統(tǒng)調(diào)試的有效性,借助ChipScope Pro內(nèi)嵌邏輯分析儀對(duì)fpga片上系統(tǒng)的內(nèi)部數(shù)據(jù)進(jìn)行抓取分析,以達(dá)到快速調(diào)試和驗(yàn)證優(yōu)化的目的。此外,根據(jù)內(nèi)嵌邏輯分析儀存儲(chǔ)器在進(jìn)行讀寫過程中捕獲的實(shí)時(shí)數(shù)據(jù)仿真結(jié)果,進(jìn)而對(duì)接口控制器的時(shí)序進(jìn)行優(yōu)化設(shè)計(jì),完成控制器的調(diào)試及驗(yàn)證。

      4結(jié)論

      本文通過對(duì)嵌入式網(wǎng)絡(luò)接口控制器的工作原理進(jìn)行簡(jiǎn)要說明,在對(duì)fpga進(jìn)行簡(jiǎn)要介紹的基礎(chǔ)上,分別從Temac、片上系統(tǒng)集成與外圍電路等方面對(duì)嵌入式網(wǎng)絡(luò)接口控制器的硬件部分展開設(shè)計(jì),又從板級(jí)支持包及其修改、Socket下的UDP程序等方面對(duì)嵌入式網(wǎng)絡(luò)接口控制器的軟件部分展開設(shè)計(jì)。研究結(jié)果表明,將fpga加入操作系統(tǒng)后,能夠更為輕松地實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的接收與發(fā)送,對(duì)于促進(jìn)工業(yè)以太網(wǎng)技術(shù)的發(fā)展以及實(shí)現(xiàn)工業(yè)設(shè)備接口與以太網(wǎng)的有效連接具有重要的現(xiàn)實(shí)意義。

      參考文獻(xiàn):

      [1] 劉存,周曉波.基于FPGA的嵌入式千兆以太網(wǎng)接口設(shè)計(jì)[J].光通信技術(shù),2013,2(12):56-59.

      [2] 郭鳳鳴,冉成科,余波,等.基于FPGA的嵌入式智能家居控制器設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2011,10(05):72-75.

      [3] 劉金龍,史忠科.基于FPGA的以太網(wǎng)與1553B網(wǎng)絡(luò)接口設(shè)計(jì)[J].測(cè)控技術(shù),2012,10(8):84-87.

      [4] 劉巖,王曉君.基于FPGA和LAN91C111的嵌入式以太網(wǎng)接口設(shè)計(jì)[J].電子元器件應(yīng)用,2012,12(18):1-3.

      [5] 王鵬,秦文進(jìn).基于ARM和FPGA的嵌入式工業(yè)控制器設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2014,1(18):53-55.

      大安市| 自治县| 金阳县| 马鞍山市| 从化市| 界首市| 南宫市| 淄博市| 惠水县| 葵青区| 石狮市| 墨江| 永和县| 阳朔县| 邮箱| 津南区| 江源县| 尉犁县| 吴忠市| 陕西省| 榕江县| 长沙县| 施秉县| 弥渡县| 望谟县| 德昌县| 衡东县| 康马县| 香港| 沙洋县| 长宁县| 宜城市| 广水市| 胶州市| 桂阳县| 长武县| 来凤县| 渑池县| 汝州市| 奉贤区| 仁布县|