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

        ?

        基于VxWorks的CAN與千兆以太網(wǎng)互聯(lián)設(shè)計

        2016-11-14 07:03:25張忠民王艷龍
        電子科技 2016年10期
        關(guān)鍵詞:設(shè)計

        張忠民,王艷龍

        (哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001)

        ?

        基于VxWorks的CAN與千兆以太網(wǎng)互聯(lián)設(shè)計

        張忠民,王艷龍

        (哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001)

        隨著千兆網(wǎng)絡(luò)的逐步全面積覆蓋,現(xiàn)用的百兆網(wǎng)關(guān)工業(yè)設(shè)備將被淘汰。為改進現(xiàn)用的網(wǎng)關(guān)設(shè)備,文中提出了一種千兆網(wǎng)與現(xiàn)場總線的互聯(lián)設(shè)計。在硬件設(shè)計中,分為CAN模塊電路和千兆網(wǎng)模塊電路兩部分。AX88180和M88E1111為構(gòu)成千兆網(wǎng)關(guān)模塊的主體器件;在軟件設(shè)計中,以VxWorks操作系統(tǒng)作為軟件平臺。利用Socket編程完成了網(wǎng)絡(luò)協(xié)議和CAN總線協(xié)議的相互轉(zhuǎn)化。通過測試證明,設(shè)計千兆網(wǎng)關(guān)的可實用性。

        CAN;千兆以太網(wǎng);協(xié)議轉(zhuǎn)換;VxWoks

        ZHANG Zhongmin, WANG Yanlong

        (School of Information and Communication Engineering, Harbin Engineering University, Harbin 150001, China)

        控制器局域網(wǎng)(Contrller Area Network,CAN)技術(shù)最早由德國BOSCH研發(fā),最后形成了國際化標準ISO11898。國內(nèi)引進CAN總線技術(shù)起始用于汽車領(lǐng)域。隨著技術(shù)的研究不斷加深,現(xiàn)在CAN總線已廣泛應用于自動化領(lǐng)域。由于現(xiàn)場總線的傳輸受到距離的制約。而由于網(wǎng)絡(luò)傳輸距離廣、成本低等特點。將以太網(wǎng)和現(xiàn)場總線互聯(lián)已是當今研究的熱題。隨著網(wǎng)絡(luò)發(fā)展的大幅度邁進,40/100 G標準的成功確立,現(xiàn)在千兆網(wǎng)幾乎全覆蓋,千兆網(wǎng)的應用覆蓋大多控制領(lǐng)域。百兆網(wǎng)會像十兆網(wǎng)一樣將面臨全面淘汰?,F(xiàn)在的工業(yè)設(shè)備網(wǎng)關(guān)還停留在十兆網(wǎng)網(wǎng)關(guān)或百兆網(wǎng)網(wǎng)關(guān),這將和上層服務器造成嚴重的不匹配。所以,現(xiàn)有的網(wǎng)關(guān)設(shè)備必然面臨著淘汰的命運。本設(shè)計提出了CAN-千兆網(wǎng)網(wǎng)關(guān)的互聯(lián)。實現(xiàn)了CAN協(xié)議和網(wǎng)絡(luò)協(xié)議之間的轉(zhuǎn)換。為將來工業(yè)網(wǎng)關(guān)設(shè)備和上層服務器實現(xiàn)對等通信奠定了基礎(chǔ)[1]。

        1 系統(tǒng)硬件設(shè)計

        系統(tǒng)以模塊化為設(shè)計思路,本文設(shè)計的千兆網(wǎng)關(guān)模塊由嵌入式最小系統(tǒng)、CAN模塊電路、千兆網(wǎng)模塊電路組成,以VxWorks操作系統(tǒng)為平臺,實現(xiàn)TCP/IP協(xié)議和CAN總線協(xié)議的轉(zhuǎn)換。為了解析方便CAN和千兆網(wǎng)的傳輸方式采用透明的傳輸方式。系統(tǒng)的結(jié)構(gòu)原理如圖1所示。

        圖1 系統(tǒng)硬件原理圖

        S3C2440最小系統(tǒng)由電源電路、時鐘電路、JTAG電路、存儲電路、Flash電路和串口電路6部分組成。在此不做過多介紹。本設(shè)計只對CAN模塊電路和千兆網(wǎng)模塊電路做出說明。

        1.1 CAN接口電路設(shè)計

        由于S3C2440內(nèi)部不具有CAN控制器,需外部總線擴展CAN控制器。設(shè)計采用SPI總線外擴CAN控制器,所用芯片MCP2510[2-3]。CAN收發(fā)器采用CTM8250T,主要用作CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,與常用的TJA1050T相比CTM8250T能將CAN總線的節(jié)點手法與高速光耦、電源隔離集成在一個電路模塊中,隔離電壓高達2 500 V,電路接口簡單、操作簡便[4]。具體接法是MCU SP1CS0和 /CS0 , SPICLK0接SCK,SPIMOSI接MCP2510的SI,SPIMISO接SO、RXCAN、TXCAN和CTM8250T的引腳對應相連,最為關(guān)鍵是對兩個單端信號單獨在末端并聯(lián)接到GND,由于每一條傳輸線上的差分信號分量傳輸?shù)钠婺W杩筞odd=60 Ω。進行阻抗傳輸匹配,吸收總線回波,保證最小的共模噪聲,確保CAN通信網(wǎng)絡(luò)的可靠性[5]。系統(tǒng)采用冗余CAN總線,增加的可靠性,用另一路SPI總線擴展CAN總線,與上述接法類似,不在贅述。

        1.2 千兆網(wǎng)模塊電路設(shè)計

        本設(shè)計千兆網(wǎng)采用總線形式的接入方式,即微處理器的數(shù)據(jù)總線、地址總線、控制線與MAC對應相連接。MAC與PHY采用RGMII(Reduced Gigabit Media Independent Interface)接口以減少接口引腳數(shù)量進而減少電路成本。采用VxWorks操作系統(tǒng)為平臺軟件部分主要編寫網(wǎng)絡(luò)驅(qū)動和CAN驅(qū)動,進而實現(xiàn)互聯(lián)。

        S3C2440作為核心處理器,負責數(shù)據(jù)與控制處理,其與MAC層芯片AX88180(ASIX)采用16位總線形式連接。減少16根數(shù)據(jù)線,MAC層與PHY層芯片M88E1111采用RGMII接口[6],原理如圖2所示。

        系統(tǒng)由AX88180 non-pci 千兆以太網(wǎng)控制器,千兆PHY M88E1111和千兆網(wǎng)絡(luò)變壓器H5062以及RJ45接口,組成千兆網(wǎng)絡(luò)電路,共有兩路網(wǎng)口實現(xiàn)可靠冗余,其中一路是總網(wǎng)口,另一路是冗余網(wǎng)口。其中,MCU到MAC采用同步16位總線模式,即MAC 的主時鐘HCLK由MCU 的clkout0提供,時鐘頻率100 MHz,片選CSN接MCU的/CS1,地址空間位0x08000000~0x10000000 。中斷引腳INTN接MCU eint0。GPIO 0接4.7 kΩ上拉。

        圖2 千兆網(wǎng)接口原理圖

        GPIO 1接地配置成16 bit little-endidan mode。MAC 采用2.5 V自供電模式。AX88180的REG_EN引腳接4.7 kΩ電阻上拉。使V25OUT輸出穩(wěn)定2.5 V電壓保持自供電。MCU 到MAC其他數(shù)據(jù)線、控制線的接法參照AX88180 datasheet 接法即可。MAC到Giga-PHY 采用RGMII接口,系統(tǒng)的125 MHz時鐘由PHY提供 保證同步,主網(wǎng)卡的PHY 地址為0x1f;模式為千兆百兆自適應。其余數(shù)據(jù)線控制線參照Datasheet接法即可。PHY 到Gigabit Ethernet Magnate 的接法四對差分對接到對應的差分對,中間抽頭總100 Ω的阻抗匹配,PHY到RJ45接口四對差分對。150 Ω的阻抗匹配,其余引腳的接法按照Datasheet 接法即可。冗余網(wǎng)卡的設(shè)計參照主網(wǎng)卡。

        2 系統(tǒng)軟件設(shè)計

        2.1 CAN總線驅(qū)動的實現(xiàn)

        設(shè)計采用Vxworks操作系統(tǒng),CAN總線控制器MCP2510是SPI接口,SPI總線設(shè)備是以字節(jié)流的方式進行操作,可等效成字符設(shè)備進行驅(qū)動。對MCP2510寄存器的讀寫是通過SPI總線進行的。為防止發(fā)生報文競爭緩沖區(qū)的現(xiàn)象,編寫時宏定義兩個互斥信號量,一個作為接收緩沖區(qū)的接收信號量,另一個作為發(fā)送緩沖區(qū)的發(fā)送信號量,在每次讀寫之前必須先獲得信號量才能進行讀寫,保證前一次數(shù)據(jù)幀能讀寫完成[7],這樣做確保了幀數(shù)據(jù)的完整性和連續(xù)性。

        2.1.1 CAN總線的數(shù)據(jù)接收

        MCP2510有兩個接收緩沖區(qū),當獲得接收信號量時,若數(shù)據(jù)幀的ID符合內(nèi)部接收濾波器的要求,同時將數(shù)據(jù)寫入接收緩沖區(qū)的數(shù)據(jù),釋放信號量,清除硬件中斷,激活報文接收任務,并將接收到的數(shù)據(jù)拷貝到SDRAM中的循環(huán)緩沖區(qū)。當上層應用程序調(diào)用read()函數(shù)時,對接收緩沖區(qū)的數(shù)據(jù)進行讀寫[8-9]。

        2.1.2 CAN報文發(fā)送流程

        MCP2510 有3個發(fā)送緩沖區(qū), MCP2510的發(fā)送過程是被動過程,當發(fā)送任務獲取寫信號量,啟動MCP2510的發(fā)送過程,將數(shù)據(jù)發(fā)送到發(fā)送緩沖區(qū)。函數(shù)在返回前激活發(fā)送任務,通過SPI送入MCP2510內(nèi)部的發(fā)送緩沖區(qū),然后令其發(fā)送。當上層應用程序調(diào)用 write()函數(shù),獲取發(fā)送互斥信號量。對發(fā)送緩沖區(qū)的數(shù)據(jù)進行發(fā)送報文[8-9]。

        2.2 AX88180驅(qū)動的實現(xiàn)

        網(wǎng)絡(luò)驅(qū)動的編寫,按照Vxworks END驅(qū)動模型編寫ax88180的驅(qū)動函數(shù),包括以太網(wǎng)的數(shù)據(jù)發(fā)送流程函數(shù)、網(wǎng)絡(luò)驅(qū)動裝載函數(shù)、網(wǎng)絡(luò)設(shè)備啟動函數(shù)、網(wǎng)絡(luò)中斷處理函數(shù)和網(wǎng)絡(luò)控制函數(shù)等。其中,中斷處理函數(shù)是整個驅(qū)動函數(shù)的核心。首先檢測是何觸發(fā)中斷,引起中斷觸發(fā)源有接收溢出、接收中斷、PHY中斷、發(fā)送不采用中斷模式,在任務中就進行發(fā)送處理[10]。

        2.2.1 網(wǎng)絡(luò)報文的發(fā)送

        數(shù)據(jù)幀的發(fā)送處理函數(shù),發(fā)送過程從底層看是被動過程,當上冊協(xié)議有要發(fā)送的數(shù)據(jù)時,立即進入發(fā)送函數(shù),發(fā)送的數(shù)據(jù)幀作為傳遞參數(shù),為增大發(fā)送效率在內(nèi)部硬件建立發(fā)送緩沖區(qū),使用netMblkToBufCopy獲得發(fā)送的幀長度,完成blBlk等封裝結(jié)構(gòu)和Cluster底層緩沖區(qū)的釋放工作,即將結(jié)構(gòu)和Cluster重新放入“池”中[11],然后判斷環(huán)形緩沖區(qū)中tx_dec和txbs是否相等,相等表示緩沖區(qū)可用,可向緩沖區(qū)中發(fā)送數(shù)據(jù)。完成發(fā)送數(shù)據(jù)后要更新tx_dec和txbs的值,便于下次發(fā)送,圖3為發(fā)送函數(shù)的具體流程。

        圖3 網(wǎng)絡(luò)報文的發(fā)送流程

        2.2.2 網(wǎng)絡(luò)報文的接收

        圖4 網(wǎng)絡(luò)報文的接收流程

        通過netJobAdd注冊的函數(shù)ax88180_rx_handler完成數(shù)據(jù)幀的具體接收工作,當環(huán)形緩沖區(qū)有數(shù)據(jù)接收時,當數(shù)據(jù)有效,啟動度接收緩沖區(qū)命令,得到接收緩沖區(qū)的數(shù)據(jù)長度,要對數(shù)據(jù)長度進行有效的判定。更新邊界指針和接收指針的值,在遞交上層程序之前要將數(shù)據(jù)幀以mBlk,clBlk,Cluster的形式,期間涉及到mBlk,clBlk,Cluster的結(jié)構(gòu)分配,然后完成底層數(shù)據(jù)幀向Cluster的復制,使用netclblktoJoin 和netMblkClJoin 完成mBlk,clBlk,Cluster連接成串,以便于向MUX層進行數(shù)據(jù)幀的傳遞[12-13],如圖4所示的接收流程顯示了數(shù)據(jù)幀的處理和上傳的詳細過程。

        2.3 主程序設(shè)計

        主程序主要完成協(xié)議的轉(zhuǎn)換,當上位機要檢查現(xiàn)場設(shè)備時,將網(wǎng)絡(luò)報文發(fā)送出去,對網(wǎng)絡(luò)報文進行處理,發(fā)送到CAN總線的緩沖區(qū),并發(fā)送至現(xiàn)場設(shè)備。當現(xiàn)場設(shè)備發(fā)送報文到上位機時。由CAN總線設(shè)備對報文進行發(fā)送,發(fā)送至主控制器,主控制器將CAN數(shù)據(jù)報文進行網(wǎng)絡(luò)封包處理,然后調(diào)用網(wǎng)絡(luò)發(fā)送程序,將報文發(fā)送至上位機,這樣就完成了協(xié)議的轉(zhuǎn)換[14],圖5具體轉(zhuǎn)換流程。

        圖5 主程序流程

        3 系統(tǒng)實現(xiàn)及測試

        使用ZLG CANtest軟件,參數(shù)設(shè)置完成后,發(fā)送CAN報文,對CAN數(shù)據(jù)發(fā)送千兆網(wǎng)做測試。圖6表示CAN報文發(fā)送數(shù)據(jù)。

        圖6 CAN發(fā)送的數(shù)據(jù)

        對CAN數(shù)據(jù)接收到網(wǎng)絡(luò)緩沖區(qū),然后將CAN數(shù)據(jù)封裝成網(wǎng)絡(luò)包發(fā)送到服務器,圖7顯示了接收的網(wǎng)絡(luò)報文。

        圖7 接收的網(wǎng)絡(luò)報文

        用TCP&UDP工具發(fā)送報文,圖8表示報文。

        圖8 發(fā)送的網(wǎng)絡(luò)報文

        將網(wǎng)絡(luò)報文解析通過CAN口發(fā)出,用軟件抓到的數(shù)據(jù)如圖9所示。

        圖9 CAN報文數(shù)據(jù)

        圖6~圖9說明以太網(wǎng)和CAN協(xié)議轉(zhuǎn)換成功,完成了千兆以太網(wǎng)和CAN網(wǎng)絡(luò)的通信。

        4 結(jié)束語

        本設(shè)計是以經(jīng)典的TCP/IP網(wǎng)絡(luò)協(xié)議、CAN總線協(xié)議、嵌入式理論和VxWorks理論為基礎(chǔ),實現(xiàn)千兆網(wǎng)和CAN總線的互聯(lián)。完成了協(xié)議之間的轉(zhuǎn)換,并對工業(yè)設(shè)備網(wǎng)關(guān)進行了可靠地升級。

        [1] 韋娟.工業(yè)以太網(wǎng)接入網(wǎng)關(guān)研究與應用[D].南京:南京理工大學,2010.

        [2] 唐相龍,牛振波,劉振宇.在S3C2440AL擴展CAN總線接口電路的設(shè)計[J].中國新技術(shù)新產(chǎn)品,2010(21):34-34.

        [3] 陶志東,周純杰,宋明權(quán),等.基于S3C2410的CAN總線通信設(shè)計與開發(fā)[J].可編程控制器與工廠自動化,2006(1):68-71.

        [4] 張忠民,鄔曉靜.基于LPC2294的CAN與以太網(wǎng)網(wǎng)關(guān)互聯(lián)的設(shè)計[J].電子科技,2013,26(6):140-144.

        [5] 劉濤.CAN總線接口電路設(shè)計中的關(guān)鍵問題[J].工礦自動化,2007(1):100-101.

        [6] 張磊,何昕,魏仲慧,等.基于千兆網(wǎng)接口的星敏感器圖像顯示與存儲[J].液晶與顯示,2015, 30(1):114-119.

        [7] 李延偉,陳欠根,朱毅.嵌入式操作系統(tǒng)VxWorks下CAN驅(qū)動程序開發(fā)[J].Industrial Control Computer,2006(10):30-32.

        [8] 江海峰,張劍英,孔明坤.基于VxWorks的CAN-Ethernet嵌入式網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].計算機工程與應用,2007,43(29):107-109.

        [9] 楊君,孫漢旭,賈慶軒,等.Vxworks下的冗余CAN通訊模塊設(shè)計[J].微計算機信息,2007,23(29):43-44.

        [10] 呂佳彥,楊志義,於志文,等.VxWorks增強型網(wǎng)絡(luò)驅(qū)動程序(END)的分析與實現(xiàn)[J].計算機應用研究,2005,22(4):200-202.

        [11] 張曉華,李智濤,徐釗.VxWorks網(wǎng)絡(luò)協(xié)議棧的MUX接口[J].單片機與嵌入式系統(tǒng)應用, 2002(5):22-24.

        [12] 張宇坤,袁冬莉,黃鑫鑫,等.基于 VxWorks 的網(wǎng)卡驅(qū)動程序開發(fā)[J].計算機技術(shù)與發(fā)展,2013,23(1):18-20,24.

        [13] 曹桂平. VxWorks設(shè)備驅(qū)動開發(fā)詳解[M].北京:電子工業(yè)出版社,2011.

        [14] 徐建寧,劉衛(wèi)東,姬巖鵬,等.基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關(guān)設(shè)計[J].測控技術(shù),2006, 25(10):49-52.

        Design of the Interconnecting Gateway Between CAN and Gigabit Ethernet Based on VxWorks

        A design of the interconnection between Gigabit ethernet and CAN bus is proposed to improve the performance of current industrial gateway equipment. The hardware consists of the CAN circuit module and the Gigabit gateway circuit module with ax88180 and m88e1111 as the major components. The software is based on the VxWorks RTOS platform. The socket programming is employed to realize the protocol conversion between Ethernet and CAN Bus. Tests verify that the design of Gigabit gateway is feasible.

        CAN; gigabit ethernet; protocol conversion; VxWorks

        2016- 01- 04

        王艷龍(1989-),男,碩士研究生。研究方向:電路與系統(tǒng)。

        10.16180/j.cnki.issn1007-7820.2016.10.019

        TP393.11

        A

        1007-7820(2016)10-065-04

        猜你喜歡
        設(shè)計
        二十四節(jié)氣在平面廣告設(shè)計中的應用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設(shè)計的守護之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計到“設(shè)計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        欧美国产高清| 日韩日韩日韩日韩日韩日韩| 亚洲国产一二三精品无码| 亚洲国产av精品一区二区蜜芽 | 在线视频亚洲一区二区三区 | 天堂网av在线| 中文字幕手机在线精品| 久青草影院在线观看国产| 亚洲中文字幕无码爆乳| 亚洲欧美日韩国产精品一区| 精品一区二区中文字幕| 成人免费播放视频影院| 国产精品国产精品国产专区不卡| 99久久综合精品五月天| 人妻AV无码一区二区三区奥田咲| 色婷婷一区二区三区四区| 国产av一区二区三区天美| 插上翅膀插上科学的翅膀飞| 边啃奶头边躁狠狠躁| 国产最新一区二区三区天堂| 99亚洲女人私处高清视频| 国产综合精品久久99之一| 国产精品免费看久久久8| 亚洲综合无码| 久久久亚洲精品蜜臀av| 日本三级香港三级人妇99| 国产精品亚洲二区在线观看| 被欺辱的高贵人妻被中出| 国产高清大片一级黄色| 99久久久无码国产精品性| 欧美成年黄网站色视频| 精品国产亚欧无码久久久| 亚洲中文乱码在线观看| 一区二区三区无码高清视频| 丰满少妇大力进入av亚洲| 亚洲加勒比无码一区二区在线播放| 国产精品成年人毛片毛片| 亚洲av无码专区在线| 九九九精品成人免费视频小说| 亚洲高清视频在线播放| 久久青青草原一区网站|