當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]0 引言   CAN 總線是一種設備互連的總線型控制網(wǎng)絡,與其它的現(xiàn)場總線相比,CAN 總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。這些特點使得其能同時滿足過程控制和制造業(yè)自動化的需求,因此被認為是最具有發(fā)展

0 引言

  CAN 總線是一種設備互連的總線型控制網(wǎng)絡,與其它的現(xiàn)場總線相比,CAN 總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。這些特點使得其能同時滿足過程控制和制造業(yè)自動化的需求,因此被認為是最具有發(fā)展前途的現(xiàn)場總線之一。但是,由于其收發(fā)器驅(qū)動能力的限制,約束了CAN 總線的最遠直接傳輸距離和總線上可以掛接的最大節(jié)點數(shù),給系統(tǒng)組網(wǎng)帶來了一定的困難。而另一方面,由于以太網(wǎng)的低成本、開放性、應用軟硬件的支持以及強大的組網(wǎng)能力,目前已經(jīng)是應用最廣泛的局域網(wǎng)絡技術,越來越多的工程師們開始采用CAN 總線與以太網(wǎng)結合的技術。針對這樣一種情況,本文提出一種CAN 總線和以太網(wǎng)互連系統(tǒng)的設計方案,實現(xiàn)CAN 總線網(wǎng)和以太網(wǎng)的數(shù)據(jù)互連。

  1 系統(tǒng)結構

  用網(wǎng)關連接CAN 現(xiàn)場總線和以太網(wǎng)的網(wǎng)絡架構圖如圖1 所示。


 

圖1 系統(tǒng)網(wǎng)絡結構示意圖

  網(wǎng)關的嵌入不僅使管理深入到控制現(xiàn)場,同時給系統(tǒng)組網(wǎng)帶來了很大的方便。

  1.1 網(wǎng)關嵌入的益處

 ?、?增大了系統(tǒng)的最大CAN節(jié)點數(shù)

  在不接中繼器的條件下,一個CAN 子網(wǎng)內(nèi)最多可以掛接110 個節(jié)點,而每個網(wǎng)關下可以連接一個子網(wǎng),通過多個網(wǎng)關可以把多個子網(wǎng)聯(lián)系在一起,從而增加了系統(tǒng)的節(jié)點數(shù)。

 ?、?擴大了系統(tǒng)的組網(wǎng)范圍

  CAN 的直接通信距離大概只有10km 左右,系統(tǒng)按照現(xiàn)場區(qū)域和節(jié)點數(shù)構建子網(wǎng),子網(wǎng)與子網(wǎng)通過以太網(wǎng)連接,從而突破了區(qū)域和距離的限制。

 ?、?實現(xiàn)了具有不同傳輸速度的現(xiàn)場總線子網(wǎng)的相互通信網(wǎng)關提供一個友好的人機接口,用戶可以根據(jù)需要設置IP 地址和CAN 控制器的波特率。

  1.2 網(wǎng)關嵌入的問題

  網(wǎng)關的應用給系統(tǒng)帶來方便的同時,也付出了一定的代價,在設計中必須考慮這些問題,以提高系統(tǒng)的整體效率。這些問題表現(xiàn)在:

  ①實時性

  由于使用網(wǎng)關,對數(shù)據(jù)的處理必須經(jīng)歷先存儲,再轉換,最后再發(fā)送的過程,增加了一些存儲轉發(fā)延時。因此在設計中必須考慮系統(tǒng)的實時性,要求系統(tǒng)能在存儲新接收到的數(shù)據(jù)后立即啟動協(xié)議轉換和數(shù)據(jù)轉發(fā)任務,盡量減小系統(tǒng)延時。

 ?、?安全性

  若網(wǎng)關出現(xiàn)故障,會對CAN 子網(wǎng)和以太網(wǎng)間的通信產(chǎn)生影響,甚至會癱瘓這個子網(wǎng)與整個系統(tǒng)的通信。因此在硬件設計中,要盡量避免干擾等問題的出現(xiàn);軟件設計必須能對一些可糾正錯誤及時作出反應,并把錯誤信息返回給用戶。

  2 網(wǎng)關硬件設計

  網(wǎng)關硬件設計分為CAN 接口、以太網(wǎng)網(wǎng)絡接口和人機接口等3 個部分。

  2.1 主控制器的選擇

  主控制器采用Philips 的ARM 控制器LPC2292。LPC2292 基于一個支持實時仿真和跟蹤TM 的16/32 位ARM7TDMI-SCPU。CPU 內(nèi)核工作電壓為1.8V,引腳工作電壓為3.3V。

  LPC2292 帶有256 k 字節(jié)(kB)嵌入的高速Flash 存儲器,完全可以滿足系統(tǒng)代碼的容量要求,無需外擴存儲器;獨特的加速結構使32 位代碼能夠在最大時鐘速率下運行,可實現(xiàn)TCP/IP 協(xié)議棧中的ARP、TCP、UDP、ICMP 等網(wǎng)絡協(xié)議。
 
  LPC2292 內(nèi)部集成兩個CAN 控制器,方便系統(tǒng)采用冗余設計。CAN控制器主要特性有:單個總線上的數(shù)據(jù)傳輸速率高達1Mb/s;32 位寄存器和RAM 訪問;兼容CAN2.0B,ISO11898-1規(guī)范;全局驗收濾波器可以識別所有的11 位和29 位Rx 標識符;驗收濾波器為選擇的標準標識符提供了FullCAN-style 自動接收。

  CPU 外部靜態(tài)存儲器控制器為CPU 內(nèi)部系統(tǒng)總線和外部存儲器或外部I/O 器件提供了一個接口。利用這種外部總線可以方便與以太網(wǎng)網(wǎng)卡控制器進行連接。

  2.2  CAN 接口

  考慮系統(tǒng)的安全性,CAN 接口部分采用冗余設計。當正常通道發(fā)生故障時自動調(diào)用冗余通道進行傳輸;如果冗余通道也發(fā)生故障,則進入故障處理。其硬件接口示意圖如圖2 所示。LPC2292 兩路通道分別通過高速總線驅(qū)動器TJA1050 與總線相連。總線驅(qū)動器采用帶隔離的DC/DC 單獨供電,不僅實現(xiàn)了兩路通道之間的電氣隔離,也實現(xiàn)了網(wǎng)關與總線之間的電氣隔離。

  2.3  網(wǎng)絡接口

  網(wǎng)卡控制器采用臺灣RETACK 公司的10M 以太網(wǎng)控制芯片RTL8019 ,支持全雙工工作模式,軟件兼容8 位或16 位的NE2000 模式;內(nèi)部集成DMA 控制器、ISA 總線控制器以及16kRAM 、網(wǎng)絡PHY 收發(fā)器等。RTL8019 使用LPC2292 外部存儲控制的BANK3 部分,它的數(shù)據(jù)地址范圍為0x83400000~0x8340001F 。RTL8019 的工作電壓為+5V,而LPC2292 的引腳工作電壓為3.3V ,所以還應在連接線上串聯(lián)470 Ω 的保護電阻。網(wǎng)絡采用雙絞線傳輸。

圖2 網(wǎng)絡硬件結構示意圖

  2.4  人機接口

  除了上面的主要部分外,還有LED 數(shù)碼管顯示和鍵盤部分,LED 用來顯示工作狀態(tài),鍵盤根據(jù)具體實際情況修正總線波特率和網(wǎng)關的IP 地址。

  3 軟件設計

  3.1  引入RTOS

  網(wǎng)關設計對系統(tǒng)的實時性要求比較高,而采用傳統(tǒng)的前后臺設計方法又會顯得過于復雜,實時性得不到保證。解決這個問題的最好方法就是采用實時操作系統(tǒng)RTOS 。目前世界上已有一大批成熟的嵌入式操作系統(tǒng),其中μC/OS-II 操作系統(tǒng)是一種源代碼公開的嵌入式操作系統(tǒng),具有代碼短小精悍、簡單易學的特點,針對網(wǎng)關的設計,這是一個理想的選擇。

  μC/OS-II 完全是占先式的實時內(nèi)核,是基于優(yōu)先級的,即總是讓就緒態(tài)中優(yōu)先級最高的任務先運行,因此實時性比非占先的內(nèi)核要好。它的絕大部分代碼是用C 語言編寫的,可移植性強。

圖3 嵌入式計算機系統(tǒng) [!--empirenews.page--]

  3.2  系統(tǒng)構成

  嵌入式網(wǎng)關的功能主要是進行以太網(wǎng)數(shù)據(jù)報文和CAN 數(shù)據(jù)幀之間的協(xié)議轉換,實現(xiàn)以太網(wǎng)和CAN 總線的互連;其次是根據(jù)應用環(huán)境,通過人機交互接口改變網(wǎng)關的IP 地址和CAN 總線的波特率。整個嵌入式系統(tǒng)的構成如圖3 所示。在進行任務設計之前的前期工作有:

  ① 實時操作系統(tǒng)的移植。μC/OS-II 可以在絕大多數(shù)8 位、16 位、32 位、以至64 位微處理器、微控制器、數(shù)字信號處理器(DSP)上運行。μC/OS-II 在LPC2292 上的移植可參考文獻[1]。

 ?、?TCP/IP 協(xié)議和CAN 協(xié)議的嵌入。由于μC/OS-II 操作系統(tǒng)只包含了實時內(nèi)核、任務管理、時間管理、任務間的通信同步(信號量、郵箱、消息隊列)和內(nèi)存管理等功能,所以用戶必須根據(jù)自己的需要添加一些功能模塊。網(wǎng)關的設計將TCP/IP 和CAN 協(xié)議嵌入到操作系統(tǒng)中,并提供一些API 接口函數(shù)供用戶調(diào)用。

  3.3 系統(tǒng)實現(xiàn)

  采用RTOS 使整個設計簡單且易調(diào)試,各個任務相互獨立,而且各個任務具有不同的優(yōu)先級可以保證緊急任務及時響應,從而能有效地對任務進行調(diào)度。系統(tǒng)軟件設計由操作系統(tǒng)和一系列用戶應用程序構成。 主函數(shù)是程序首先執(zhí)行的一個函數(shù)。該函數(shù)永遠不返回,主要實現(xiàn)系統(tǒng)的硬件(包括中斷、鍵盤、顯示等)和操作系統(tǒng)(包括任務控制塊、事件控制塊)的初始化,而且在啟動多任務調(diào)度之前,必須至少創(chuàng)建一個任務。在本系統(tǒng)中創(chuàng)建了一個啟動任務,主要負責時鐘的初始化和啟動、中斷的啟動、CAN 控制器的初始化與啟動、端口與IP 地址的初始化和RTL8019 的初始化與啟動,并且對各個應用任務進行了劃分。在交出CPU 的使用權之后自做一些空閑處理。

  3.3.1  任務的劃分

  要完成多任務系統(tǒng)的各種功能必須對任務進行劃分。本程序根據(jù)各個任務的重要性和實時性,把整個模塊分成7 個具有不同優(yōu)先級的應用任務:系統(tǒng)監(jiān)控、CAN 數(shù)據(jù)發(fā)送、鍵盤掃描、以太網(wǎng)數(shù)據(jù)發(fā)送、協(xié)議轉換、LED顯示、系統(tǒng)配置等。表1 所示為任務劃分表。

表1  任物劃分表

除了7 個主要應用任務之外,還有兩個中斷服務子程序:一個時鐘節(jié)拍中斷,提供周期性信號源;另一個接收中斷,把接收到的數(shù)據(jù)寫入緩沖區(qū)。

  3.1.2  任務的具體實現(xiàn)任務劃分后,各任務具有獨立的堆??臻g,彼此爭奪CPU 的使用權。一旦獲得CPU 的使用權,就會獨立運行而完成特定的功能。

  CAN 總線通信模塊包括數(shù)據(jù)傳輸和總線管理兩個部分。數(shù)據(jù)傳輸實現(xiàn)的功能有CAN 初始化、CAN 報文發(fā)送和CAN 報文接收。CAN 初始化及報文的接收在啟動任務與中斷服務程序中實現(xiàn),CAN 報文發(fā)送和總線管理作為一個單獨的任務獨立運行??偩€管理功能塊實現(xiàn)的主要是總線檢測,判斷一路總線是否良好。如果不是,就進入另一路總線檢測;如果冗余總線良好,就采用冗余總線通信。CAN 數(shù)據(jù)發(fā)送任務需要系統(tǒng)調(diào)度器通知是否有待發(fā)送數(shù)據(jù)進入發(fā)送隊列,任務的實現(xiàn)如圖4 所示。

圖4 數(shù)據(jù)發(fā)送任務實現(xiàn)圖

  以太網(wǎng)通信模塊由以太網(wǎng)數(shù)據(jù)收發(fā)功能塊和數(shù)據(jù)協(xié)議管理功能塊構成。數(shù)據(jù)的收發(fā)功能塊主要實現(xiàn)RTL8019 的初始化、數(shù)據(jù)報文的發(fā)送與接收。同理,RTL8019 的初始化在系統(tǒng)的啟動任務中實現(xiàn)。數(shù)據(jù)的接收在RTL8019 的中斷服務程序中實現(xiàn)。數(shù)據(jù)協(xié)議管理主要實現(xiàn)對接收數(shù)據(jù)報文的解析,以及給待發(fā)送數(shù)據(jù)添加協(xié)議報頭。以太網(wǎng)數(shù)據(jù)發(fā)送與協(xié)議管理分別作為獨立任務運行。

  以太網(wǎng)數(shù)據(jù)發(fā)送任務同樣需要系統(tǒng)調(diào)度器通知發(fā)送隊列中是否有待發(fā)送的數(shù)據(jù)。若沒有數(shù)據(jù)發(fā)送,則將 該任務掛起,系統(tǒng)運行其他任務。以太網(wǎng)數(shù)據(jù)發(fā)送任務通過對RTL8019 的操作完成,根據(jù)RTL8019 的狀態(tài),將發(fā)送隊列中數(shù)據(jù)通過DMA 傳送到8019 的發(fā)送緩沖區(qū)啟動發(fā)送,并根據(jù)發(fā)送結果,對發(fā)送隊列指針進行調(diào)整。


  以太網(wǎng)協(xié)議管理即協(xié)議轉換任務在用戶數(shù)據(jù)與8019 驅(qū)動需要的數(shù)據(jù)報文之間進行協(xié)議轉換。TCP/IP 協(xié)議為應用層、傳輸層、網(wǎng)絡層和數(shù)據(jù)鏈路層等4 層模型,每層具有不同的功能,并對應相應的子協(xié)議,而且層與層之間在邏輯上是相互獨立的。在編程時,可以直接調(diào)用嵌入的TCP/IP 協(xié)議的API 函數(shù)對數(shù)據(jù)報文進行分層。該任務對從8019 傳過來的數(shù)據(jù)處理示意圖如圖5 所示。不同的子協(xié)議具有不同的功能號,任務根據(jù)功能號對協(xié)議進行區(qū)別。把用戶數(shù)據(jù)傳遞給8019 驅(qū)動的示意圖是圖5 的逆序表示。

圖5  協(xié)議轉換任務的數(shù)據(jù)處理的示意圖

  3.3.3 任務間的同步與調(diào)度

  通常多任務操作系統(tǒng)的任務不同于一般的函數(shù),它是一個無限循環(huán),而且沒有返回值。如果沒有更高優(yōu)先級的任務進入就緒態(tài),當前任務是不會放棄對CPU 的使用權的。為了實現(xiàn)操作系統(tǒng)的正常運行和有關事件的同步,必須正確處理任務間的通信和事件標志的設置。整個系統(tǒng)的功能結構如圖6 所示。

圖6 系統(tǒng)運行示意圖

  各個任務具有不同的優(yōu)先級,通過調(diào)用系統(tǒng)掛起函數(shù)或延時函數(shù)可以啟動具有更高優(yōu)先級的進入就緒態(tài)的任務。高優(yōu)先級的任務,例如1、2、3、4 號任務,往往由于申請某個資源而發(fā)生阻塞,進入掛起態(tài)。系統(tǒng)調(diào)度器啟動低優(yōu)先級的任務,通過對延時參數(shù)的設置,每隔一定時鐘節(jié)拍就啟動鍵盤掃描或LED 顯示任務。如果其中有任何一事件發(fā)生就啟動相關的任務,這個過程通過信號量的通信機制來實現(xiàn)。對每一個事件分配一個信號量,一旦事件發(fā)生就啟動信號量的等待任務列表中進入就緒態(tài)的任務,從而保證任務與事件的同步。

  4 結束語

  在嵌入式硬件平臺的基礎上,用μC/OS-II 實時操作系統(tǒng)開發(fā)應用程序有其獨到之處,用戶可以直接利用系統(tǒng)的接口函數(shù)編寫自己的應用程序,毋需另行開發(fā),大大方便了用戶編程,縮短了軟件的開發(fā)周期,提高了開發(fā)效率;基于ARM LPC2292 CAN 總線和以太網(wǎng)間的網(wǎng)關,在實驗調(diào)試過程中運行狀況良好,工作穩(wěn)定。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉