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

        ?

        基于LPC2294的CAN與以太網(wǎng)網(wǎng)關(guān)互聯(lián)的設(shè)計

        2013-10-17 08:45:48張忠民鄔曉靜
        電子科技 2013年6期
        關(guān)鍵詞:網(wǎng)關(guān)以太網(wǎng)報文

        張忠民,鄔曉靜

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

        控制器局域網(wǎng)(Controller Area Network,CAN)最先由德國BOSCH公司開發(fā),并成為一種國際標(biāo)準(zhǔn)(ISO11898)[1]。由于CAN總線具有靈活、可靠、實時、開放性好、糾錯能力強等優(yōu)點,成為目前最有前途的現(xiàn)場總線之一[2]。但任何事物都具有兩面性,CAN總線也有不足之處,由于其收發(fā)器驅(qū)動能力有限,導(dǎo)致總線上可連接的最大節(jié)點數(shù)和最遠(yuǎn)直接傳輸距離受到了限制,無法進行遠(yuǎn)程控制,這給系統(tǒng)組網(wǎng)帶來了一定的制約條件。相較而言,以太網(wǎng)憑借著成本低、易于組網(wǎng)、擁有眾多應(yīng)用軟硬件的支持且根據(jù)網(wǎng)絡(luò)需求的實際情況,不斷地進行完善和改進,并逐步發(fā)展了標(biāo)準(zhǔn)以太網(wǎng)(10 Mbit/s)、快速以太網(wǎng)(100 Mbit/s)千兆以太網(wǎng)和萬兆以太網(wǎng)等,成為目前應(yīng)用最為廣泛的局域網(wǎng)絡(luò)技術(shù)[3]。若將以太網(wǎng)與CAN總線互聯(lián),可降低成本,增加系統(tǒng)的最大CAN節(jié)點數(shù),擴大系統(tǒng)的組網(wǎng)范圍,還可實現(xiàn)不同傳輸速度的現(xiàn)場總線子網(wǎng)的相互通信,及其設(shè)備層到管理層的一體化。所以,文中提出一種以太網(wǎng)與CAN總線互聯(lián)的通信網(wǎng)關(guān)設(shè)計方案。

        1 硬件設(shè)計

        圖1所示為本網(wǎng)關(guān)模塊設(shè)計與實現(xiàn)的整體方案框圖,網(wǎng)關(guān)模塊使用LPC2294作為主控制器,μC/OS-II操作系統(tǒng)為平臺,擴展了兩個網(wǎng)卡接口和CAN接口,并通過軟件設(shè)計完成CAN總線協(xié)議與以太網(wǎng)協(xié)議相互轉(zhuǎn)換,最終實現(xiàn)CAN網(wǎng)絡(luò)與以太網(wǎng)之間的雙冗余通信。

        硬件電路可劃分為5個部分:控制電路、存儲電路、輔助電路、以太網(wǎng)接口電路和CAN總線接口電路。下面主要對控制電路、以太網(wǎng)接口電路和CAN總線接口電路進行分析。

        1.1 系統(tǒng)控制器

        圖1 整體結(jié)構(gòu)框圖

        系統(tǒng)選用ARM處理器LPC2294作為控制芯片,主要是LPC2294具有超強的功能、功耗低及豐富的片上資源,更重要的是集成了4個支持CAN2.0B協(xié)議的CAN控制器,并帶有先進的驗收濾波器,提供了系統(tǒng)的集成度和復(fù)雜度,還提供了系統(tǒng)的穩(wěn)定性[4]。為滿足系統(tǒng)的程序和數(shù)據(jù)存儲需要,外擴了1 MB的16位Flash芯片 SST39VF16 0,用于存儲程序代碼。其中Flash的地址線 A1~A20連接至 LPC2294的 A1~A20,數(shù)據(jù)線ED0~ED15通過一個雙電源供電的雙向收發(fā)器連接至 LPC2294的 DQ0~DQ15,CE#接至 LPC2294的CS0,將其分配到Bank0單元,其地址范圍0x8000 0000~0x8000 1000。OE#、OW#分別連接至LC2294的 OE#和WE#。同時外接了1 MB的16位SRAM存儲器IS6lLV25616AL,用于堆棧和數(shù)據(jù)的存儲。其中SRAM的地址線A1~A20連接至LPC2294的A0~A19,數(shù)據(jù)線IO0~IO15通過一個雙電源供電的雙向收發(fā)器連接至LPC2294的D0~D15,CE#接至LPC2294的 CS1,將其分配到 Bank1單元,該地址范圍0x8100 0000~0x8100 1000。LB#、UB分別與BLS0、BLS1相連,用于控制8位或16位讀寫數(shù)據(jù)。OE#、OW#分別連接至LC2294的OE#和WE#。

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

        系統(tǒng)有兩個CAN接口,其中一個是主接口,另一個是冗余接口,均接入同一個CAN網(wǎng)絡(luò),其目的是增加系統(tǒng)的可靠性。CAN2.0B控制器由LPC2294直接集成,無需外加獨立的CAN控制器,且LPC2294中集成了4個CAN控制器,在此系統(tǒng)中選用第1個和第2個CAN接口。CAN收發(fā)器選用了CAT8250T,主要作用是將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,但與常用的CAN收發(fā)器TJA1050T不同的是該CAN收發(fā)器將CAN節(jié)點的收發(fā)與高速光耦、電源隔離集成在一個電路模塊中,且隔離電壓高達(dá)DC 2 500 V,接口簡單、使用方便,并對CAN總線有過電壓保護作用。同時還要在CANH和CANL與地之間并聯(lián)一個120 Ω的電阻,來匹配傳輸阻抗,吸收總線回波,確保有較低的電磁輻射和通信可靠性。

        1.3 以太網(wǎng)接口電路設(shè)計

        系統(tǒng)由DM9000E以太網(wǎng)控制器,HR601860網(wǎng)卡變壓器,及RJ45接口,組成以太網(wǎng)接口電路。同樣選用了兩個網(wǎng)口電路,一個是主網(wǎng)口,另一個是冗余網(wǎng)口。其中,LPC2294使用16位總線方式對DM9000E進行控制,并使其工作在100 MHz全雙工模式下。對兩個網(wǎng)口的選用,是通過LPC2294的CS3、A22引腳來控制主網(wǎng)口的片選信號,即這兩個引腳與74AC32的引腳1和2相連,而引腳3連接主網(wǎng)口的ANE引腳。同理將 LPC2294的 CS3、A23經(jīng)74AC32與冗余網(wǎng)口的ANE引腳相連。再將 DM9000E的 CMD引腳與LPC2294的A2連接??蓪⒅骶W(wǎng)和冗余網(wǎng)卡芯片的數(shù)據(jù)端口地址與索引端口地址分別配置成0x8380000、0x83800004和0x83400000、0x83400004。DM9000E 的物理層發(fā)送和接收端口TXO+、TXO-、RXI+、RXI-經(jīng)網(wǎng)絡(luò)變壓器芯片HR601680接到RJ45接口。對于DM9000E的其余引腳可根據(jù)Datasheet中的說明,按要求連接即可,如圖2所示[5]。

        最終,對DM9000E芯片進行驅(qū)動。該芯片的驅(qū)動主要由3部分完成:void InitNic()用以對芯片進行初始化,配置片內(nèi)寄存器等;void Send_P-acket(struct_pkst*TxdData)為數(shù)據(jù)發(fā)送程序,uint8 Rec_Packet(uint8 num)為數(shù)據(jù)接收程序,上層協(xié)議通過調(diào)用這兩個函數(shù)來發(fā)送以太網(wǎng)數(shù)據(jù)幀。

        2 軟件設(shè)計

        2.1 報文結(jié)構(gòu)

        CAN總線與以太網(wǎng)互聯(lián)的軟件設(shè)計主要包括從以太網(wǎng)中提取CAN數(shù)據(jù)和將CAN總線的數(shù)據(jù)轉(zhuǎn)換成以太網(wǎng)的數(shù)據(jù)。其中,CAN報文結(jié)構(gòu)可分為兩種不同的幀格式,而兩種幀格式的區(qū)別在于其標(biāo)識符的長度不同:標(biāo)準(zhǔn)幀中有11位標(biāo)識符,擴展幀中有29位標(biāo)識符[6]。本設(shè)計中采用的是擴展幀,且在本網(wǎng)關(guān)模塊收到CAN板卡的報文時,需按上述以太網(wǎng)數(shù)據(jù)傳輸報文格式對CAN數(shù)據(jù)進行封裝及打包并通過以太網(wǎng)發(fā)送。在此過程中不必對CAN報文的13 Byte數(shù)據(jù)進行高低位轉(zhuǎn)換和移位處理,采用透明轉(zhuǎn)換方式。便可減少數(shù)據(jù)解析及處理的時間,并提高了數(shù)據(jù)在傳輸過程中的可靠性。

        圖2 以太網(wǎng)接口電路

        圖3 CAN數(shù)據(jù)的以太網(wǎng)封裝格式

        如圖3所示,該網(wǎng)關(guān)中規(guī)定的以太網(wǎng)幀格式包括5部分,按照封裝的先后順序分別為:封裝的數(shù)據(jù)(如本系統(tǒng)中的CAN數(shù)據(jù)幀等)、自定義UDP首部、標(biāo)準(zhǔn)UDP/TCP首部、IP首部、以太網(wǎng)首部和最終校驗。本系統(tǒng)中主要采用的是UDP協(xié)議,目的是為了自定義控制字來區(qū)別不同類型的報文,包括有:CAN數(shù)據(jù)報文、時統(tǒng)報文、工作狀態(tài)請求報文、心跳報文及設(shè)備故障診斷信息報文。其中時統(tǒng)報文是在開機時或每30分鐘系統(tǒng)發(fā)送的對時請求。工作狀態(tài)報文是在各設(shè)備開機或復(fù)位并正常工作后自動發(fā)送的,還有收到詢問報文或狀態(tài)改變后發(fā)送,主要發(fā)送時戳和設(shè)備ID信息。心跳報文是在各設(shè)備開機或復(fù)位并正常工作后,每5 s周期發(fā)送,作用是通知其所在的網(wǎng)絡(luò),是否工作狀態(tài)正常。設(shè)備故障診斷信息報文是當(dāng)接收到故障診斷請求報文或網(wǎng)關(guān)根據(jù)CAN板卡數(shù)據(jù)接收情況,自行檢測到網(wǎng)關(guān)箱內(nèi)該板卡故障情況的變化,一般網(wǎng)關(guān)在30分鐘內(nèi)未收到參數(shù)設(shè)置報文中指定的CAN板卡對應(yīng)節(jié)點的數(shù)據(jù)和遠(yuǎn)程幀等,可認(rèn)定此節(jié)點故障,并發(fā)送故障信息報文。這增添了系統(tǒng)的一些管理信息,根據(jù)不同的報文類型完成系統(tǒng)不同的通信功能。自定義UDP封裝格式如圖4所示。

        圖4 應(yīng)用層數(shù)據(jù)UDP封裝格式

        在自定義UDP封裝格式中,字節(jié)0~3為固定的幀頭信息,用以識別本網(wǎng)關(guān)模塊的數(shù)據(jù)報信息,無論是CAN報文、時統(tǒng)報文或工作狀態(tài)請求報文均使用該格式,若不符合該幀頭的數(shù)據(jù)報網(wǎng)關(guān)模塊不進行處理。需注意的是,第20 bit開始才是真正的數(shù)據(jù),每個信息單元均有各自的序號、標(biāo)識和長度等信息。其中信元的序號表示該信元在UDP數(shù)據(jù)報中的位置;標(biāo)識代表信息單元內(nèi)報文的類型。

        2.2 程序設(shè)計

        網(wǎng)關(guān)模塊的主要功能是以太網(wǎng)數(shù)據(jù)包與CAN數(shù)據(jù)幀之間的格式相互轉(zhuǎn)換,進而完成以太網(wǎng)和CAN網(wǎng)絡(luò)間通訊。本模塊使用嵌入式μC/OS-II作為操作系統(tǒng),通過裁剪、移植使其能順利運行于LPC2294控制器。另外,在系統(tǒng)中移植了TCP/IP協(xié)議的核心功能函數(shù),并編寫了6個任務(wù)函數(shù),使其分工合作實現(xiàn)了模塊的各項功能,并通過μC/OS-II系統(tǒng)的任務(wù)調(diào)度管理機制來進行系統(tǒng)資源的分配。

        系統(tǒng)首先建立設(shè)備初始化任務(wù)Task0,將該任務(wù)函數(shù)主要完成上電自檢,兩路CAN故障自檢,網(wǎng)口斷線檢測,本機IP、兩路CAN波特率及兩路網(wǎng)口等網(wǎng)關(guān)參數(shù)的初始化。在完成以上工作后,創(chuàng)建5個子任務(wù),按優(yōu)先級由高到低依次為 TaskB、TaskC、TaskF、TaskD、TaskE的5個子任務(wù)的具體功能如下:

        TaskB:主要功能為接收UDP報文并解析,下發(fā)至CAN;若接收到時統(tǒng)報文,按照協(xié)議解析,并將時戳信息寫入時鐘芯片。

        TaskC:主要功能為接收TCP報文,按照協(xié)議解析并下發(fā)到CAN。

        TaskD:完成接收CAN1口或CAN2口的數(shù)據(jù),根據(jù)規(guī)定的傳輸方式將數(shù)據(jù)封裝成報文格式,并發(fā)送至以太網(wǎng)。

        TaskE:完成接收CAN1口或CAN2口的數(shù)據(jù),并按照TCP傳輸方式,將數(shù)據(jù)封裝并發(fā)送到以太網(wǎng)。

        TaskF:主要功能為定時發(fā)送特殊報文,如:心跳報文、時統(tǒng)報文、工作狀態(tài)請求報文及設(shè)備故障診斷信息報文等,完成網(wǎng)關(guān)模塊的工作狀態(tài)檢測及參數(shù)配置等功能。

        5個子任務(wù)創(chuàng)建完成后,TaskB和TaskC進入阻塞狀態(tài),等待各自的信號量 RecUdpQFlag和 RecTcpQFlag,由于這兩個任務(wù)的優(yōu)先級較高,說明網(wǎng)關(guān)模塊優(yōu)先轉(zhuǎn)換以太網(wǎng)向CAN總線方向的數(shù)據(jù)。因此,當(dāng)以太網(wǎng)中有數(shù)據(jù)到來時根據(jù)報文的類型可得到相應(yīng)的信號量,TaskB或TaskC立即進入就緒狀態(tài)等待執(zhí)行,若當(dāng)前執(zhí)行的任務(wù)優(yōu)先級低于這兩個任務(wù),TaskB和TaskC可進行搶占執(zhí)行。當(dāng)網(wǎng)關(guān)模塊未收到以太網(wǎng)數(shù)據(jù)或處理完成后,任務(wù)函數(shù)TaskF檢測模塊的定時器,判斷是否需要發(fā)送工作狀態(tài)報文和心跳報文等特殊報文。執(zhí)行完成后,判斷CAN節(jié)點是否有數(shù)據(jù),并選擇用UDP或TCP方式發(fā)送到以太網(wǎng),即選擇執(zhí)行 TaskD或TaskE,完成CAN向以太網(wǎng)方向的數(shù)據(jù)傳輸過程,在此期間允許TaskB和TaskC進行搶占執(zhí)行。系統(tǒng)通過調(diào)度這5個任務(wù)函數(shù)完成以太網(wǎng)數(shù)據(jù)包與CAN數(shù)據(jù)幀間的格式轉(zhuǎn)換與傳輸,該程序流程如圖5所示。

        圖5 程序流程圖

        3 測試

        將該上位機IP地址設(shè)置為192.1.1.11,打開網(wǎng)關(guān)參數(shù)設(shè)置界面對一些參數(shù)進行設(shè)置,如:網(wǎng)關(guān)參數(shù)回復(fù)IP地址、網(wǎng)關(guān)參數(shù)回復(fù)端口、網(wǎng)關(guān)模塊IP地址、網(wǎng)關(guān)接收端口號和CAN數(shù)據(jù)目標(biāo)IP地址等參數(shù)。隨后將CAN總線數(shù)據(jù)報文測試軟件ZLGCANTest打開,設(shè)置CAN總線的波特率為250 kbit·s-1,將CAN報文發(fā)出后用ZLGCAN-Test、Tcp&Udp測試工具及EtherPeek NX軟件來查看網(wǎng)絡(luò)的通信情況。圖6便是由ZLGCANTest軟件所得到的,從圖中可知,CAN發(fā)送數(shù)據(jù)的幀類型是擴展幀,幀格式是數(shù)據(jù)幀,幀ID為0x0000 0000,每個CAN協(xié)議中發(fā)送8 bit的數(shù)據(jù)。而圖7是通過Tcp&Udp測試工具得到的數(shù)據(jù),并已在圖中標(biāo)出,此報文頭由Etherner協(xié)議報文頭、IP協(xié)議報頭、UDP協(xié)議報頭和自定義UDP報頭組成,并從自定義UDP報頭中的報文標(biāo)識可判別出CAN報文,而后面的數(shù)據(jù)正是圖6中CAN報文中的13 bit數(shù)據(jù),即對CAN報文采用透明轉(zhuǎn)換方式,將CAN網(wǎng)絡(luò)數(shù)據(jù)成功發(fā)送到以太網(wǎng)。同樣方法可測試到以太網(wǎng)中數(shù)據(jù)也成功發(fā)送至CAN。網(wǎng)絡(luò)中其他類型的報文也同樣如此。

        圖6 CAN報文發(fā)送

        圖7 CAN報文轉(zhuǎn)換后的網(wǎng)絡(luò)報文

        4 結(jié)束語

        文中闡述了以ARM7系列LPC2294為核心的以太網(wǎng)與CAN總線網(wǎng)絡(luò)互聯(lián)的通信網(wǎng)關(guān)實現(xiàn)過程,概述了本網(wǎng)關(guān)中采用的以太網(wǎng)和CAN總線的報文格式及其自定義UDP數(shù)據(jù)報文的結(jié)構(gòu)。并提出了網(wǎng)關(guān)的軟、硬件實現(xiàn)方法。通過實驗該網(wǎng)關(guān)模塊實現(xiàn)了以太網(wǎng)與CAN總線間的數(shù)據(jù)傳遞,且具有穩(wěn)定性和較高的可靠性。

        [1]侯明,杜奕.基于LPC2292的Ethernet-CAN轉(zhuǎn)換器的設(shè)計與實現(xiàn)[J].裝備制造技術(shù),2008(8):117-119.

        [2]沈躍,王家鼎.基于ARM技術(shù)的CAN總線和以太網(wǎng)間的互聯(lián)設(shè)計[J].嵌入式技術(shù),2006(5):56-58.

        [3]鄭建彬,楊亞莉.以太網(wǎng)和CAN現(xiàn)場總線網(wǎng)間的嵌入式網(wǎng)關(guān)設(shè)計[J].信息技術(shù),2002(2):14-17.

        [4]Philips Conpration.LPC2294 user manual[M].Holand:Philips Conpration,2004.

        [5]DAVICOM Conpration.DM9000 datasheet[M].Taiwan:DAVI-COM,2002.

        [6]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2001.

        猜你喜歡
        網(wǎng)關(guān)以太網(wǎng)報文
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        ATS與列車通信報文分析
        LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
        移動通信(2015年18期)2015-08-24 07:45:08
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        精品国产亚洲人成在线观看| 亚洲国产中文字幕一区| 日本边添边摸边做边爱| 亚洲日韩小电影在线观看| 专干老熟女视频在线观看| 99精品国产兔费观看久久99| 五月婷婷六月激情| 按摩师玩弄少妇到高潮hd| 黄片视频大全在线免费播放| 五月丁香综合激情六月久久| 无码毛片视频一区二区本码| 少妇精品久久久一区二区三区 | 在线成人tv天堂中文字幕| 久久国产高潮流白浆免费观看 | 中文字幕色偷偷人妻久久一区 | 尤物yw午夜国产精品视频| 久久亚洲av午夜福利精品一区| 国产精品狼人久久久久影院 | 免费看男女啪啪的视频网站| 国产精品国产三级国产密月| 亚洲理论电影在线观看| 99久久久无码国产精品6| 热久久网站| 特级毛片a级毛片在线播放www| 顶级高清嫩模一区二区| 激情内射人妻1区2区3区| 我爱我色成人网| 日韩精品无码一区二区三区视频| 纯肉无遮挡H肉动漫在线观看国产 国产精品自产拍在线观看免费 | 伊人婷婷综合缴情亚洲五月| 蜜桃传媒一区二区亚洲av婷婷| 丰满少妇人妻无码专区| 国产欧美日韩一区二区三区在线 | 夜夜综合网| 在线亚洲精品一区二区三区 | 亚洲精品无码国产| 香蕉久久人人97超碰caoproen| 天堂av无码大芭蕉伊人av孕妇黑人 | 国产一区二区三区爆白浆| 久久精品国产精品亚洲婷婷| 亚洲天堂一区二区偷拍|