當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于CAN總線的分布式嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)研制

前 言

隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet網(wǎng)已成為信息交流的重要渠道,基于WebB/S(BroWser/Server)遠(yuǎn)程監(jiān)控技術(shù)的應(yīng)用也越來越廣泛。將這種技術(shù)應(yīng)用于工業(yè)現(xiàn)場控制,用戶可在Internet接入的地方,實現(xiàn)對工業(yè)現(xiàn)場設(shè)備進行遠(yuǎn)程監(jiān)控,是當(dāng)前倍受關(guān)注和研究熱點的真正意義上的工業(yè)控制遠(yuǎn)程監(jiān)控系統(tǒng)。CAN bus是一種有效支持分布式控制和實時控制的優(yōu)秀工業(yè)控制現(xiàn)場總線,與其它通信總線相比,具有突出的可靠性、實時性和靈活性。由CAN總線組成的分布式控制系統(tǒng)與Internet網(wǎng)絡(luò)連接的嵌入式系統(tǒng)集成后的遠(yuǎn)程監(jiān)控系統(tǒng),可把工業(yè)控制現(xiàn)場的數(shù)據(jù)信息實時可靠地傳輸,實現(xiàn)工控現(xiàn)場與管理信息系統(tǒng)(MIS)的無縫連接。本系統(tǒng)針對通信用多逆變模塊電源系統(tǒng)的遠(yuǎn)程監(jiān)控要求,通過CAN總線與底層多逆變電源模塊連接、通過Web服務(wù)器接入Internet的嵌入式系統(tǒng),成功實現(xiàn)了對底層工業(yè)現(xiàn)場設(shè)備的遠(yuǎn)程監(jiān)控和管理。

CAN總線與嵌入式操作系統(tǒng)

CAN(CoNtroller Area Net)總線
CAN總線是一種多主總線,通信速率可達1Mb/s。CAN總線的通信接口集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等通信數(shù)據(jù)的成幀處理。CAN bus協(xié)議廢除了傳統(tǒng)的站地址編碼,采用了對通信數(shù)據(jù)塊進行編碼的方式,這種方法可使網(wǎng)絡(luò)內(nèi)的節(jié)點個數(shù)在理論上不受限制。數(shù)據(jù)塊的標(biāo)識碼由11位或29位二進制數(shù)組成,即可定義211或229個不同的數(shù)據(jù)塊。這種按數(shù)據(jù)塊編碼的方式,可以使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分布式控制系統(tǒng)中非常有用。因為CAN bus采用短幀格式通信,每幀最多有8個字節(jié)數(shù)據(jù),可滿足工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,保證了通信系統(tǒng)的實時性要求。同時CAN bus協(xié)議采用CRC檢驗并提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN總線的上述特點非常適合工業(yè)現(xiàn)場過程監(jiān)控設(shè)備的互連。

CAN總線采用多主競爭方式工作和非破壞性總線仲裁技術(shù),總線上任意節(jié)點可在任意時刻主動地向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息而不分主次,各節(jié)點之間實現(xiàn)自由通信。當(dāng)多個節(jié)點同時向總線發(fā)信息時,優(yōu)先級較低的節(jié)點會主動退出發(fā)送,而優(yōu)先級較高的節(jié)點不受影響。大大節(jié)省了總線沖突仲裁時間,在網(wǎng)絡(luò)負(fù)載很重的情況下,也不會出現(xiàn)網(wǎng)絡(luò)癱瘓的情況。因此,適用于分布式監(jiān)控系統(tǒng)的數(shù)據(jù)通訊。

嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)(Embedded Operation System簡稱EOS)是嵌入式技術(shù)或嵌入式系統(tǒng)的關(guān)鍵技術(shù)之一。嵌入式系統(tǒng)(Embedded System)是對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機系統(tǒng)。簡單的嵌入式系統(tǒng)并不使用操作系統(tǒng),只包含一些控制流程。但當(dāng)功能復(fù)雜化以后(如圖像用戶界面和網(wǎng)絡(luò)支持等),簡單的流程控制不能滿足系統(tǒng)的要求,這時就必須考慮采用操作系統(tǒng)作為系統(tǒng)軟件。嵌入式操作系統(tǒng)uclinux是在Linux2. 0版本的基礎(chǔ)上裁減掉存儲器管理單元(Memory Management Unit簡稱MMU)得到的。此外,為了將系統(tǒng)設(shè)置成為網(wǎng)絡(luò)服務(wù)器,需另外移植并調(diào)試通過支持公共網(wǎng)關(guān)接口(CG I:Common Gateway Interface)的HTTP服務(wù)器軟件BOA。

系統(tǒng)工作原理

系統(tǒng)簡介
針對通信用多逆變模塊電源系統(tǒng)的遠(yuǎn)程監(jiān)控要求,在嵌入式核心板的基礎(chǔ)上擴展了CAN總線接口,整個系統(tǒng)稱為嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)(uCremM)。它基于Motorola公司的ColdFire5272CPU,2M FLASHMEMORY、32M DRAM以及UART、ETHERNET網(wǎng)卡等外圍設(shè)備接口,CAN總線控制芯片采用英飛凌的82C900,SPI接口支持CAN2. 0B。

監(jiān)控系統(tǒng)板利用RS232串口線和雙絞線與宿主PC機相連,組成可以交叉編譯的開發(fā)環(huán)境。編譯語言為標(biāo)準(zhǔn)C,在宿主PC機上編譯uClinux內(nèi)核并下載到uCremM板上,由uCremMMOUNT上宿主機上的應(yīng)用程序開發(fā)目錄,就可以在PC機的L inux環(huán)境下進行嵌入式應(yīng)用程序開發(fā),最后重新編譯包括應(yīng)用程序的內(nèi)核并燒寫到uCremM上的FLASHMEMORY 就完成了監(jiān)控系統(tǒng)的軟件。

系統(tǒng)結(jié)構(gòu)及結(jié)構(gòu)流程
系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
  
本系統(tǒng)由嵌入式uCremm與現(xiàn)場數(shù)據(jù)采集節(jié)點組成主從(Masterand Slave)關(guān)系,數(shù)據(jù)結(jié)構(gòu)參考CAN總線通訊協(xié)議。

1)系統(tǒng)下層結(jié)構(gòu)流程。由主站按授權(quán)用戶要求向指定MCU系統(tǒng)發(fā)出查詢信息,實現(xiàn)對工控現(xiàn)場節(jié)點查詢功能;各個CAN節(jié)點隨時監(jiān)聽總線,當(dāng)發(fā)現(xiàn)總線上有地址段與自己的地址相同的幀時,再判斷是遠(yuǎn)程幀還是數(shù)據(jù)幀:如果是遠(yuǎn)程幀,則由CANbus節(jié)點按既定協(xié)議發(fā)送數(shù)據(jù)到總線上;否則節(jié)點開始接收CANbus上的數(shù)據(jù)幀。嵌入式uCremM與Internet的互聯(lián)以及與用戶的交互功能,則由其嵌入式操作系統(tǒng)中的網(wǎng)絡(luò)服務(wù)器來完成。嵌入式uCremM上配有以太網(wǎng)接口RJ45,當(dāng)用網(wǎng)線把uCremM與Internet連接,并配置好IP地址且運行網(wǎng)絡(luò)服務(wù)器后,授權(quán)用戶就可在INternet上任何一臺機器的瀏覽器中敲入IP地址,訪問存在嵌入式uCremM中的主頁了。

2)用戶與服務(wù)器的交互是通過CGI程序來完成的。簡單地講,CGI是一個運行在Web服務(wù)器上的程序,由瀏覽器的輸入觸發(fā)。這個腳本通常是客戶端與服務(wù)器中其他程序如數(shù)據(jù)庫的橋梁。

用戶可以通過點擊頁面,查詢來自現(xiàn)場的數(shù)據(jù),如逆變模塊的電壓、電流和功率等;或者發(fā)送命令,如設(shè)置模塊最高直流輸入和交流輸出等數(shù)值。

CAN總線通訊協(xié)議及程序流程
目前有3種CAN通訊協(xié)議,包括CAN2. 0A,CAN2. 0B和CAN2. 0B passive,CAN2. 0B是最通用的CAN通訊協(xié)議。CAN的3種通訊協(xié)議間的區(qū)別就是協(xié)議中定義的標(biāo)識符的長度不同。CAN2. 0A協(xié)議中僅定義了具有11位標(biāo)識符的標(biāo)準(zhǔn)幀數(shù)據(jù)結(jié)構(gòu),CAN2. 0B協(xié)議中除了定義標(biāo)準(zhǔn)幀外還定義了具有29位標(biāo)識符的擴展幀數(shù)據(jù)結(jié)構(gòu)。

本系統(tǒng)定義在CAN總線上傳輸?shù)臄?shù)據(jù)包為標(biāo)準(zhǔn)幀格式,它分為遠(yuǎn)程幀和數(shù)據(jù)幀兩種,區(qū)別遠(yuǎn)程發(fā)送請求位是否置位。標(biāo)準(zhǔn)幀的數(shù)據(jù)結(jié)構(gòu)如表1所示。

表1 標(biāo)準(zhǔn)幀格式


在設(shè)計中,本系統(tǒng)以嵌入式監(jiān)控系統(tǒng)來完成對各個分布的逆變電源模塊的參數(shù)上傳和設(shè)置。當(dāng)CAN控制器發(fā)出要求逆變電源模塊上傳數(shù)據(jù)的遠(yuǎn)程幀時,系統(tǒng)定義了遠(yuǎn)程幀中的11位標(biāo)識符中高5位作為各模塊的模塊號標(biāo)識,同樣在各模塊的CAN控制器中的Msg ID 寄存器也作了相應(yīng)的設(shè)置。另外在幀格式中的遠(yuǎn)程發(fā)送請求位必須置“1”,DLC全置“0”,數(shù)據(jù)域無數(shù)據(jù)信息。遠(yuǎn)程幀舉例見表2。[!--empirenews.page--]

表2 遠(yuǎn)程幀舉例


當(dāng)CAN控制器發(fā)出設(shè)置逆變模塊開關(guān)和模塊參數(shù)的數(shù)據(jù)幀時,定義中除了標(biāo)識符的設(shè)置外,遠(yuǎn)程發(fā)送請求位被置為“0”,DLC置“1000”表示一幀數(shù)據(jù)信息中的數(shù)據(jù)域有8個節(jié)字的數(shù)據(jù)要發(fā)送。CAN控制器發(fā)送設(shè)置(修改)逆變模塊參數(shù)的數(shù)據(jù)幀時,數(shù)據(jù)結(jié)構(gòu)如表3所示。

表3 模塊參數(shù)格式


在CAN控制器發(fā)送設(shè)置逆變模塊開關(guān)機的數(shù)據(jù)幀時,開關(guān)機信息由一位數(shù)據(jù)表示,緊跟命令編碼。當(dāng)數(shù)據(jù)值為0FH時,表示逆變模塊關(guān)機;當(dāng)數(shù)據(jù)值為01H時,表示逆變模塊開機。除了發(fā)送數(shù)據(jù)信息外,系統(tǒng)還要接收來自各個逆變模塊的告警信息幀和模塊參數(shù)數(shù)據(jù)幀信息,接收數(shù)據(jù)幀的格式仍然參考上例制定。主站程序流程圖如圖2所示。

圖2 主站程序流程圖

網(wǎng)絡(luò)服務(wù)器配置及主頁設(shè)計
通過在嵌入式uCremm上的uClinux操作系統(tǒng)上移植HTTP服務(wù)器軟件BOA,并設(shè)置其配置文件(boa. conf),可以指定主頁和CGI程序所在路徑。這里CGI程序用C語言編寫,其實就是一些應(yīng)用程序,如CAN通訊數(shù)據(jù)等,只是它能由遠(yuǎn)程瀏覽器通過點擊主頁而激活,從而實現(xiàn)瀏覽器和服務(wù)器的交互功能。如圖3所示,用戶在遠(yuǎn)程瀏覽器中輸入嵌入式Webserver的IP地址后,需要登錄用戶名及密碼,當(dāng)?shù)玫椒?wù)器確認(rèn)后,進入監(jiān)控界面。圖4為監(jiān)控系統(tǒng)登陸界面,圖5為系統(tǒng)主參數(shù)界面。

圖3 瀏覽器和服務(wù)器的交互功能示意圖

圖4 監(jiān)控系統(tǒng)登陸界面


圖5 系統(tǒng)主參數(shù)界面

利用網(wǎng)頁來顯示監(jiān)控界面, 使監(jiān)控系統(tǒng)由傳統(tǒng)的C?S 模式(Clien t?Server) 轉(zhuǎn)變?yōu)楦冗M的B?S 模式(B row ser?Server) , 不僅節(jié)省了購買和開發(fā)監(jiān)控上位機軟件的費用, 而且使之成為不受地域限制上的真正意義的遠(yuǎn)程監(jiān)控系統(tǒng)

總結(jié)

嵌入式系統(tǒng)具有可裁減、體積小和進程及內(nèi)存管理、網(wǎng)絡(luò)支持等功能的獨特設(shè)計和極高的可靠性; 而CAN 總線具有多主站運行和分散仲裁以及廣播通信的特點和可不分主次任意節(jié)點可在任意時刻主動向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息,實現(xiàn)自由通信卓越特性和功能。因此將CAN 總線與嵌入式系統(tǒng)的技術(shù)融合,將是后PC 時代的發(fā)展趨勢。本系統(tǒng)針對通信用多逆變模塊電源系統(tǒng)的遠(yuǎn)程監(jiān)控要求而開發(fā)研制,其技術(shù)完全可以移植到樓宇自動化、工業(yè)底層設(shè)備網(wǎng)絡(luò)等其它遠(yuǎn)程監(jiān)控場合。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

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

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

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

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

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

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

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

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉