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

        ?

        POWERLINK 物理層通信的實(shí)現(xiàn)

        2015-12-23 01:00:12陳在平
        關(guān)鍵詞:設(shè)備

        陳在平,孫 遜+,賈 超

        (1.天津理工大學(xué) 天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津300384;

        2.天津理工大學(xué) 自動化學(xué)院,天津300384)

        0 引 言

        傳統(tǒng)的工業(yè)以太網(wǎng)通信協(xié)議僅僅是在傳統(tǒng)以太網(wǎng)的基礎(chǔ)之上進(jìn)行簡單地優(yōu)化,實(shí)現(xiàn)了傳輸速度的提升,并沒有從根本上解決傳統(tǒng)以太網(wǎng)通信技術(shù)中所存在通信不確性的問題,這使得傳統(tǒng)工業(yè)以太網(wǎng)在現(xiàn)場設(shè)備層不能夠得到充分的應(yīng)用。Ethernet POWERLINK (簡稱POWERLINK)作為一種實(shí)時(shí)工業(yè)以太網(wǎng)通信協(xié)議,完全擺脫了傳統(tǒng)以太網(wǎng)基于TCP/IP的通信理念,引入了時(shí)間槽這一核心概念,實(shí)現(xiàn)了數(shù)據(jù)通信的確定性[1,2]。POWERLINK 實(shí)時(shí)以太網(wǎng)技術(shù)的推廣和應(yīng)用,對以太網(wǎng)通信技術(shù)向著確定性方向發(fā)展發(fā)揮了巨大作用。

        POWERLINK 通信協(xié)議能夠在多種平臺上實(shí)現(xiàn)通信功能。但由于其出現(xiàn)的比較晚,目前只獲得了少數(shù)第三方公司的支持[3]。本文在ARM+Linux這一成熟的嵌入式技術(shù)之上,從應(yīng)用角度出發(fā),提出了一種實(shí)現(xiàn)POWERLINK 協(xié)議物理層通信方法,并通過實(shí)際測試,驗(yàn)證了這一方法的可行性,從而為POWERLINK 實(shí)時(shí)以太網(wǎng)向工業(yè)現(xiàn)場推進(jìn)提供了一種可行方案。

        1 POWERLINK 通信協(xié)議

        POWERLINK 通信協(xié)議是在2001 年由奧地利貝加萊(B&R)公司提出,是一項(xiàng)在標(biāo)準(zhǔn)以太網(wǎng)介質(zhì)上,用于解決工業(yè)控制領(lǐng)域以及數(shù)據(jù)采集領(lǐng)域所涉及到的數(shù)據(jù)傳輸準(zhǔn)確性問題的技術(shù)規(guī)范,是一種開源實(shí)時(shí)以太網(wǎng)總線技術(shù)[4]。它作為一個(gè)免授權(quán)和開放性的通信協(xié)議,受到POWERLINK 標(biāo)準(zhǔn)化組織 (Ethernet POWERLINK standardization group,EPSG)的大力推廣[5]。2012年3月POWERLINK現(xiàn)場總線正式被批準(zhǔn)為中國國家推薦性標(biāo)準(zhǔn),作為國內(nèi)第一個(gè)實(shí)時(shí)以太網(wǎng)推薦標(biāo)準(zhǔn),從此POWERLINK 協(xié)議技術(shù)在國內(nèi)得到飛速地推廣和發(fā)展[6]。

        傳統(tǒng)工業(yè)以太網(wǎng)多是基于TCP/IP 協(xié)議的通信協(xié)議,基本上是對TCP/IP 協(xié)議的修改或補(bǔ)充,沒有從根本上解決工業(yè)底層通信實(shí)時(shí)性的需求。這是由于TCP/IP 是一種端到端面向連接的通信協(xié)議,它能夠提供一種可靠的數(shù)據(jù)流服務(wù),即采用 “帶重傳的肯定確認(rèn)”技術(shù)來保證傳輸?shù)目煽啃裕?]。同時(shí),我們知道IEEE802.3 標(biāo)準(zhǔn)以太網(wǎng)規(guī)定,在數(shù)據(jù)鏈路層采用載波監(jiān)聽/監(jiān)測即CSMA/CD (carrier sense multiple access with collision detection)方法來解決數(shù)據(jù)包傳輸產(chǎn)生的沖突,這種解決方法的原理簡單總結(jié)為:先聽后發(fā),邊發(fā)邊聽,沖突停發(fā),隨機(jī)延遲后重發(fā)[8,9]。所以,在傳統(tǒng)以太網(wǎng)組建的通信網(wǎng)絡(luò)上,當(dāng)有多個(gè)工作站同時(shí)發(fā)送數(shù)據(jù)導(dǎo)致沖突的產(chǎn)生,工作站就會延遲重發(fā)數(shù)據(jù),雖然這種方法能夠保證了通信數(shù)據(jù)的完整性,但是無法保證數(shù)據(jù)在確定的時(shí)間內(nèi)到達(dá),不具有良好的實(shí)時(shí)性。

        POWERLINK 的目標(biāo)是確定性、實(shí)時(shí)性工業(yè)以太網(wǎng),它是一個(gè)三層的通信網(wǎng)絡(luò),規(guī)定了物理層、數(shù)據(jù)鏈路層和應(yīng)用層,如圖1所示為POWERLINK 的OSI模型。應(yīng)用層上遵循CANopen協(xié)議規(guī)范,物理層上遵循標(biāo)準(zhǔn)以太網(wǎng)協(xié)議規(guī)范。數(shù)據(jù)鏈路層是POWERLINK 協(xié)議的核心層,其中引入了時(shí)間槽通信管理機(jī)制SCNM (slot communication network management),即主站在開始通信之前,會去配置從站的參數(shù),告訴每個(gè)從站應(yīng)該在循環(huán)周期的哪一時(shí)刻上報(bào)[10]。這樣,在所有時(shí)間內(nèi)僅一個(gè)節(jié)點(diǎn)訪問網(wǎng)絡(luò),從而避免數(shù)據(jù)碰撞,徹底解決了傳統(tǒng)以太網(wǎng)由CSMA/CD 機(jī)制引起的通信實(shí)時(shí)性差的問題。

        2 系統(tǒng)設(shè)計(jì)

        2.1 硬件設(shè)計(jì)

        本設(shè)計(jì)硬件電路主要由ARM9 芯片S3C2440 與DM9000網(wǎng)卡芯片構(gòu)成,總體硬件框架如圖2所示。

        DM9000的訪問基址是0x18000000對應(yīng)S3C2440芯片內(nèi)8個(gè)地址存儲空間中的BANK3,因此通過nGCS3 來連接DM9000的片選信號端AEN。只用到一條地址線:AD-DR2,這是因?yàn)镈M9000的地址信息和數(shù)據(jù)信息都在數(shù)據(jù)總線上傳輸,通過ADDR2控制CMD 引腳的電平狀態(tài)來決定數(shù)據(jù)總線傳遞何種信息。控制總線主要完成對DM9000內(nèi)部寄存器讀寫的控制。使用芯片H1102 作為網(wǎng)絡(luò)變壓器,可以增強(qiáng)信號的傳輸距離,并利用隔離措施加強(qiáng)抗干擾能力同時(shí)增加保護(hù)作用。

        圖1 POWERLINK 的OSI模型

        圖2 系統(tǒng)硬件框架

        2.2 軟件設(shè)計(jì)

        Linux操作系統(tǒng)提供了一種Platform 設(shè)備驅(qū)動的實(shí)現(xiàn)方法,就是將硬件設(shè)備與驅(qū)動程序相分離,通過platform虛擬總線進(jìn)行連接。論文就是利用這種方法實(shí)現(xiàn)DM9000芯片硬件與協(xié)議程序的關(guān)聯(lián)。軟件設(shè)計(jì)主要分為以下兩步。

        (1)增加平臺設(shè)備,即在Linux內(nèi)核文件中添加platform_device系統(tǒng)結(jié)構(gòu)體。目的是將DM9000 這一設(shè)備硬件的描述文件添加到Linux內(nèi)核中,使內(nèi)核在啟動時(shí)能夠識別DM9000以太網(wǎng)芯片。

        首先,建立dm9000_resource資源結(jié)構(gòu)體,此結(jié)構(gòu)體有兩項(xiàng)數(shù)據(jù),分別對DM9000以太網(wǎng)芯片的兩個(gè)主要資源——內(nèi)存空間資源和中斷資源,做了詳細(xì)的定義。其中,第一項(xiàng)數(shù)據(jù),定義了分配內(nèi)存資源的起始地址、所占內(nèi)存空間的大小以及所分配內(nèi)存空間的標(biāo)識類型;第二項(xiàng)數(shù)據(jù)定義了中斷號和中斷觸發(fā)方式。

        然后,將dm9000_resource結(jié)構(gòu)體變量添加到新創(chuàng)建的platform _device 總線型結(jié)構(gòu)體變量device_dm9000中。此結(jié)構(gòu)體中包含了硬件DM9000的完整信息,包括設(shè)備名稱、設(shè)備ID、資源結(jié)構(gòu)體和訪問的數(shù)據(jù)寬度。其中,DM9000以太網(wǎng)芯片支持8位、16位和32位3種不同的數(shù)據(jù)訪問方式,這里我們根據(jù)實(shí)際要求選擇了16位的訪問方式。

        最后,把描述平臺設(shè)備結(jié)構(gòu)體device_dm9000導(dǎo)入到系統(tǒng)變量smdk_devs數(shù)組中。該數(shù)組存放的是各種平臺設(shè)備結(jié)構(gòu)體,相當(dāng)于一個(gè)平臺設(shè)備列表。并且,在啟動Linux操作系統(tǒng)后,系統(tǒng)會自動把這個(gè)數(shù)組中的設(shè)備注冊進(jìn)內(nèi)核中。

        這樣,經(jīng)過第一步的一系列操作后,DM9000 這一硬件外設(shè)成功注冊到Linux內(nèi)核中。

        (2)在POWERLINK 協(xié)議源碼中添加DM9000的操作函數(shù),包括寄存器訪問函數(shù)、數(shù)據(jù)發(fā)送函數(shù)和中斷回調(diào)函數(shù)等。

        首先要增加platform _driver 結(jié)構(gòu)體類型變量EdrvDriver:

        然后,在協(xié)議棧初始化函數(shù)EdrvInit中通過platform_driver_register(&EdrvDriver)完成對EdrvDriver的注冊。其中,EdrvInit函數(shù)在協(xié)議啟動階段被調(diào)用。注冊過程就是platform 總線以EdrvDriver.driver.name為標(biāo)準(zhǔn),去遍歷之前啟動Linux內(nèi)核時(shí)注冊到內(nèi)核的platform_device設(shè)備,找到與之名字相同的進(jìn)行關(guān)聯(lián)。

        如果注冊成功就會繼續(xù)執(zhí)行結(jié)構(gòu)體成員函數(shù)EdrvDriver.probe=EdrvInitOne,這個(gè)函數(shù)將會繼續(xù)完成軟硬之間的關(guān)聯(lián),主要包括以下幾步設(shè)置:struct resource* pResource=platform _get _resource (pPlatformDev _p,IORESOURCE_M(jìn)EM,0);

        來獲得之前在Linux內(nèi)核中添加的dm9000以太網(wǎng)芯片的數(shù)據(jù)線物理地址,也就是dm9000的寄存器物理地址。

        m_pIoAddr=ioremap (pResource->start,0x08);

        將dm9000寄存器物理地址映射成虛擬地址,因?yàn)樵贚inux操作系統(tǒng)下,讀寫數(shù)據(jù)使用的是虛擬地址而不是物理地址。

        完成以上兩步操作后,便實(shí)現(xiàn)結(jié)構(gòu)體platform _device和結(jié)構(gòu)體platform _driver 的關(guān)聯(lián),從而將DM9000這一設(shè)備注冊給協(xié)議棧。

        3 數(shù)據(jù)通信與測試

        3.1 數(shù)據(jù)通信

        POWERLINK 協(xié)議利用DM9000芯片作為數(shù)據(jù)收發(fā)接口,完成協(xié)議的物理層功能。數(shù)據(jù)通信過程主要包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩大過程。

        用戶要傳輸?shù)臄?shù)據(jù),經(jīng)過POWERLINK 網(wǎng)絡(luò)協(xié)議的應(yīng)用層和數(shù)據(jù)鏈路層后,封裝成數(shù)據(jù)包,這個(gè)數(shù)據(jù)包保存在一個(gè)分配好存儲空間的tEdrvTxBuffer 類型結(jié)構(gòu)體變量pbBuff 中,最終通過EdrvSendTxMsg()函數(shù)傳送給網(wǎng)絡(luò)接口。網(wǎng)絡(luò)接口的任務(wù)就是將數(shù)據(jù)包傳送給硬件,完成物理傳輸。數(shù)據(jù)發(fā)送流程如圖3所示。

        圖3 數(shù)據(jù)發(fā)送流程

        網(wǎng)絡(luò)數(shù)據(jù)接受過程,是在Linux內(nèi)核提供的硬件中斷請求機(jī)制下完成。在協(xié)議棧初始化階段我們已經(jīng)向內(nèi)核注冊了DM9000設(shè)備中斷,當(dāng)DM9000接收到數(shù)據(jù)后會產(chǎn)生中斷信號,內(nèi)核操作系統(tǒng)會根據(jù)我們注冊的DM9000中斷號來找到協(xié)議棧程序中的中斷處理函數(shù)TgtEthIsr(),在中斷函數(shù)中處理接收到的數(shù)據(jù)。圖4為數(shù)據(jù)接收流程。

        3.2 通信測試

        使用2.6.30 版本的Linux 內(nèi)核對協(xié)議棧程序進(jìn)行編譯,生成可加載協(xié)議驅(qū)動模塊epl.ko,并通過SecureCRT終端軟件來觀察協(xié)議模塊的加載和運(yùn)行情況,如圖5所示。

        圖5表示POWERLINK 主站已經(jīng)正常運(yùn)行。

        利用裝有Wireshark軟件的PC機(jī)作為測試機(jī),對設(shè)計(jì)的POWERLINK 工作站發(fā)送的數(shù)據(jù)包進(jìn)行抓取測試,來檢驗(yàn)數(shù)據(jù)的傳輸?shù)恼_性和實(shí)時(shí)性。其中,測試器PC機(jī)與工作站設(shè)備,通過網(wǎng)線連接在一起,并設(shè)置二者的IP地址在同一網(wǎng)段內(nèi)。當(dāng)主站正常運(yùn)行時(shí),PC 機(jī)上能夠成功抓取到工作站傳過來的數(shù)據(jù)包。圖6為成功抓取到數(shù)據(jù)包的Wireshark界面。

        圖4 數(shù)據(jù)接收流程

        圖5 協(xié)議棧程序運(yùn)行

        圖6 Wireshark截圖

        為了進(jìn)一步驗(yàn)證本設(shè)計(jì)方法在實(shí)際應(yīng)用上的可行性,進(jìn)一步做主從協(xié)議棧之間的通信測試。其中,利用PC機(jī)運(yùn)行虛擬的協(xié)議棧程序作為通信主站,我們設(shè)計(jì)的工作站做從站。主站向從站發(fā)送變化的數(shù)據(jù),從站接受并顯示主站傳送過來的數(shù)據(jù)。圖7為二者傳輸數(shù)據(jù)的一致性比較,確定主從站之間數(shù)據(jù)通信的正確性。

        圖7 主從站之間數(shù)據(jù)傳輸

        4 結(jié)束語

        本文介紹了如何在POWERLINK 協(xié)議棧源代碼的基礎(chǔ)上,不改變協(xié)議核心層數(shù)據(jù)鏈路層的功能,利用platform設(shè)備驅(qū)動程序設(shè)計(jì)方法,對協(xié)議棧內(nèi)部物理層程序代碼重新設(shè)計(jì)和編寫。并設(shè)計(jì)制作相應(yīng)的硬件電路,達(dá)到了使用一片普通以太網(wǎng)控制芯片DM9000就可以實(shí)現(xiàn)實(shí)時(shí)以太網(wǎng)POWERLINK 物理層通信的功能要求。通過具體的實(shí)驗(yàn)測試,證實(shí)了這一設(shè)計(jì)方法的可行性。

        本設(shè)計(jì)的主導(dǎo)思想,是利用成熟的嵌入式技術(shù),在低投入的條件下,實(shí)現(xiàn)了實(shí)時(shí)以太網(wǎng)POWERLINK 的通信功能,符合工業(yè)生產(chǎn)現(xiàn)場安全和高效的要求。

        [1]Chowdhury Ali.Application of california ISO transmission economic assessment methodology(TEAM)for the sunrise POWERLINK project [C]//IEEE Power and Energy Society General Meeting,2009:1-5.

        [2]LIN Dan,WANG Wenhai.The PC-based communication EPL[J].Journal of Jilin University(Engineering Science),2011(Suppl.):314-318 (in Chinese).[林丹,王文海.基于EPL的上位機(jī)通信 [J].吉林大學(xué)學(xué)報(bào) (工學(xué)版),2011 (增刊):314-318.]

        [3]Erwinski Krystian,Paprocki.Application of Ethernet power-link for communication in a Linux RTAI Open CNC system[J].IEEE Transactions on Industrial Electronics,2013,60(2):628-636.

        [4]ZHANG Huiquan,CHEN Jing,YANG Ruixian.Research on application of Fieldbus control technology [J].China Instrumentation,2010 (9):45-48 (in Chinese). [張會泉,陳靖,楊瑞先.現(xiàn)場總線控制技術(shù)應(yīng)用研究 [J].中國儀器儀表,2010 (9):45-48.]

        [5]Lu Shengli,Li Min,Liu Meiling.Design of power windows based on POWERLINK industrial Ethernet[J].Applied Mechanics and Materials,2014,494-495:28-31.

        [6]LIU Yang.Strategies for industrial Ethernet POWERLINK time slot control[D].Wuhan:Wuhan University of Technology,2013 (in Chinese).[劉陽.POWERLINK 工業(yè)以太網(wǎng)時(shí)間槽控制策略研究 [D].武漢:武漢理工大學(xué),2013.]

        [7]Gong Maofa,Xu Xinyuan,Liu Jianping.Multi-loop network power grid monitor based on the embedded operating system [J].Advanced Materials Research,2012,468-471:2119-2123.

        [8]KONG Dong,ZHENG Jianhong.LWIP transplantation and application on the ARM platform embedded TCP/IP protocol stack [J].Communications Technology,2008 (6):38-40 (in Chinese). [孔棟,鄭建宏.嵌入式TCP/IP 協(xié)議棧LWIP 在ARM 平臺上的移植與應(yīng)用[J].通信技術(shù),2008 (6):38-40.]

        [9]YUAN Anfu,XIA Shengfeng.Based on ARM and Linux DM9000driven by design and implementation of network interfaces[J].Computer Engineering and Science,2011,33 (2):27-31 (in Chinese). [袁安富,夏生鳳.基于ARM 和Linux的DM9000網(wǎng)絡(luò)接口設(shè)計(jì)及驅(qū)動實(shí)現(xiàn) [J].計(jì)算機(jī)工程與科學(xué),2011,33 (2):27-31.]

        [10]Juan Antonio Maestro,Pedro Reviriego.Energy efficiency in industrial Ethernet:The case of powerlink [J].IEEE Tran-sactions on Industrial Electronics,2010,57 (8):2896-2903.

        猜你喜歡
        設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        調(diào)試新設(shè)備
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        HTC斥資千萬美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
        Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
        如何在設(shè)備采購中節(jié)省成本
        69天堂国产在线精品观看| 国产精品久久久天天影视| 在厨房拨开内裤进入毛片| 国产欧美性成人精品午夜| 少妇下面好紧好多水真爽播放| 成人白浆超碰人人人人 | 精品无码AV无码免费专区| 91极品尤物国产在线播放| 色噜噜精品一区二区三区| av在线免费观看男人天堂| 蜜桃成熟时在线观看免费视频| 国产精品毛片无遮挡| 欧美a级毛欧美1级a大片免费播放| 久久久久久国产精品mv| 车上震动a级作爱视频| 一本大道久久a久久综合 | 久久精品国产69国产精品亚洲| 国产成人av无码精品| 国产aⅴ无码专区亚洲av麻豆| 精品亚洲国产成人av| 日本欧美国产精品| 亚洲天堂av大片暖暖| 日韩精品极品系列在线免费视频 | 99久久国产露脸精品竹菊传媒| 国产成人啪精品| 少妇人妻字幕一区二区| 日本一区二区三区四区高清不卡 | 亚洲V在线激情| 国产免费一区二区三区在线观看| 亚洲最大在线视频一区二区| 中文人妻熟女乱又乱精品| 精品免费看国产一区二区| a毛片全部免费播放| 国产精品欧美亚洲韩国日本| av是男人的天堂免费| 美腿丝袜在线一区二区| 人妻少妇无码精品视频区| 欧美丰满大乳高跟鞋| 日本女优中文字幕看片| 国产精品亚洲一区二区三区妖精| 亚洲美女毛片在线视频|