當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于以太網(wǎng)的控制器網(wǎng)絡(luò)的嵌入式網(wǎng)關(guān)開發(fā)

本地控制器網(wǎng)絡(luò)(CAN)[2]由于低成本和高可靠性,已經(jīng)在工業(yè)分布式控制系統(tǒng)中廣泛使用。以太網(wǎng)的低成本和易配置特性也使得其在計算機通信網(wǎng)絡(luò)中廣泛應(yīng)用。本文介紹了基于以太網(wǎng)和控制器區(qū)域網(wǎng)總線通信系統(tǒng)的集成通信網(wǎng)關(guān)系統(tǒng)的開發(fā)。系統(tǒng)開發(fā)的目的是在以太網(wǎng)和控制器區(qū)域網(wǎng)總線之間交換實時控制信息,以實現(xiàn)分布式控制和監(jiān)測。
1 硬件平臺設(shè)計
嵌入式處理器可編程邏輯電路設(shè)計方面最大的挑戰(zhàn)之一就是為適合速度要求非常廣泛的應(yīng)用。在低端,系統(tǒng)要求可能少于10MIPS;在高端,系統(tǒng)可能要求好幾百MIPS。不同系統(tǒng)需要的范圍不同。完全滿足范圍需要的解決方案需要提供可編程設(shè)備配置、操作以及精通嵌入式處理器的用戶。網(wǎng)關(guān)系統(tǒng)的設(shè)計建立在Altera Excalibur[3]嵌入式處理器基礎(chǔ)上,它可以提供最佳的解決方案,擁有較優(yōu)的適應(yīng)性和強大的性能?;诤诵牟糠諷OPC[4]的ARM系統(tǒng)設(shè)計結(jié)構(gòu)如圖 1所示??刂破骶W(wǎng)關(guān)結(jié)構(gòu)如圖2所示。


1.1 軟核CAN控制器設(shè)計
使用AMBA總線接口的Soft CAN控制器是為了進(jìn)行控制器網(wǎng)絡(luò)通信設(shè)計開發(fā)的,它能在網(wǎng)關(guān)系統(tǒng)平臺上運行。該Soft CAN控制器具備CAN 2.0B[1]規(guī)范的所有協(xié)議功能,包括錯誤處理能力、填充位產(chǎn)生、循環(huán)冗余碼校驗(CRC)、主動/被動錯誤幀和擴(kuò)展幀技術(shù)支持。Soft CAN控制器也能支持如下應(yīng)用發(fā)展:信息過濾、信息封裝、信息發(fā)送緩沖、信息接收緩沖以及發(fā)送、接收和錯誤事件的中斷觸發(fā)。Soft CAN控制器提供AMBA兼容接口以實現(xiàn)數(shù)據(jù)高速傳輸,也提供中斷支持實現(xiàn)系統(tǒng)快速響應(yīng)。
1.2 Soft CAN控制器模擬驗證
Soft CAN控制器模擬驗證平臺設(shè)計如圖3所示。


Soft CAN控制器的綜合模擬/驗證輸出波形(如圖4)說明了其控制器工作狀態(tài)正確。


從圖4所示的驗證輸出結(jié)果,可以得出以下結(jié)論:
(1)Soft CAN控制器#1狀態(tài):
 “00000000000000000000000000001000” -->Soft CAN控制器正在控制CAN數(shù)據(jù)線信號。
(2)Soft CAN 控制器#2狀態(tài):
 “00000000000000000000000000001000” --> Soft CAN控制器正在控制CAN數(shù)據(jù)線信號。
(3)Soft CAN 控制器#1 TX緩沖器:標(biāo)識 -“11101101000”,數(shù)據(jù)-“10011001100110011001100110011001”。
(4)Soft CAN 控制器#1 TX緩沖器:標(biāo)識- NA,數(shù)據(jù)-NA。
2 軟件設(shè)計
軟件設(shè)計包括實時操作系統(tǒng)[5]移植、異常處理支持、設(shè)備驅(qū)動程序開發(fā)和文件系統(tǒng)開發(fā)等。
2.1 實時操作系統(tǒng)移植
eCos被成功地移植到網(wǎng)關(guān)系統(tǒng)硬件平臺,為應(yīng)用系統(tǒng)的開發(fā)提供實時服務(wù)。由于eCos的分層結(jié)構(gòu)使得其移植靈活并容易,所有結(jié)構(gòu)和平臺的絕對代碼都在硬件抽象層(HAL)實現(xiàn)。
2.1.1 系統(tǒng)啟動模式
本系統(tǒng)移植提供四種啟動模式。
(1)ROM啟動模式。在ROM啟動模式中,應(yīng)用程序儲存在EPXA1開發(fā)板的閃存中,并從那里啟動。
(2)ROM-RAM啟動模式。在ROM-RAM啟動模式中,應(yīng)用程序存儲在閃存中。啟動程序?qū)⑾葟拈W存中運行,并且初始化系統(tǒng)。在系統(tǒng)初始化后,eCos應(yīng)用程序?qū)拈W存中自動復(fù)制到SDRAM中,接著在SDRAM中以更高的速度運行。
(3)RAM啟動模式。在RAM啟動模式中,eCos應(yīng)用程序會通過EPXA1板上的調(diào)試器(例如RedBoot加載到其板的SDRAM內(nèi)存中)啟動。這主要是為了調(diào)試。
2.1.2 線程管理
EPXA1 eCos移植完全支持多線程編程模式。除了任務(wù)同步支持外,它還提供了一系列可選擇的調(diào)度算法。
2.1.3 系統(tǒng)定時支持
系統(tǒng)的定時基準(zhǔn)由Altera EPXA1平臺上的系統(tǒng)定時器提供,定時器頻率為150MHz。系統(tǒng)的脈沖周期為10毫秒。在EPXA1 上移植的eCos控制通過內(nèi)核使用的時鐘或計時設(shè)備進(jìn)行暫停、延時和調(diào)度服務(wù),供系統(tǒng)內(nèi)核使用。
2.2 異常處理
所有的異常,包括FIQ和IRQ中斷[7],都跳轉(zhuǎn)到矢量0地址,每個中斷矢量占4字節(jié)。這里僅有一個指令空間,它須立即跳轉(zhuǎn)到內(nèi)存中更高地址的代碼。中斷源必須進(jìn)行解碼。由于每一個矢量服務(wù)例程都對應(yīng)一個不同的CPU模式的入口,所以需要對每一個異常有一個不同的VSR,它知道怎樣從中斷控制器完全正確地保存CPU狀態(tài)。這個異常處理機制包含一個分離的中斷處理方案。在這個方案中,中斷處理劃分為兩部分。第一部分稱之為中斷服務(wù)程序或ISR;第二部分是延遲服務(wù)程序或DSR。這種劃分明確地顧及到了DSRs與正在執(zhí)行的中斷同時運行,因此允許當(dāng)正在執(zhí)行低級別的中斷時其他內(nèi)在具有更高優(yōu)先級別的中斷發(fā)生及接受處理。
2.3 設(shè)備驅(qū)動程序開發(fā)
2.3.1 閃存設(shè)備驅(qū)動程序

本項目開發(fā)了基于Intel 28F320C閃存的驅(qū)動程序。Boot-loader用它來儲存映像、配置信息和閃存內(nèi)的數(shù)據(jù)。這個設(shè)備驅(qū)動程序提供廣泛的操作支持。
(1)閃存查詢:可從閃存中重新獲得廠商和零件號碼代碼。
(2)閃存區(qū)塊擦除:擦掉閃存中的模塊。
(3)閃存編程緩沖:允許在閃存中寫入一緩沖的數(shù)據(jù)。
(4)閃存區(qū)段上鎖/開啟:允許閃存中的內(nèi)容受到保護(hù)。
2.3.2 以太網(wǎng)接口設(shè)備驅(qū)動程序
以太網(wǎng)設(shè)備驅(qū)動程序支持以太網(wǎng)控制器SMC91C111,它可以提供雙重速度10/100Mbps的通信支持。以太網(wǎng)設(shè)備Lan91C111提供所有發(fā)送、接收與事件中斷等必要的功能,以支持與BSD TCP/IP 堆棧的集成實現(xiàn)TCP/IP網(wǎng)絡(luò)協(xié)議。
2.3.3 Soft CAN控制器設(shè)備驅(qū)動程序
此設(shè)備驅(qū)動程序提供了對控制器區(qū)域網(wǎng)絡(luò)通信的支持,以實現(xiàn)發(fā)送、接收及中斷處理功能。圖5為驅(qū)動程序流程圖。

 


2.4 嵌入式文件系統(tǒng)開發(fā)
為了使信息保存與交換更加高效,本項目開發(fā)了基于閃存和RAM的文件系統(tǒng)。該文件系統(tǒng)提供廣泛的文件操作支持:文件新建、文件刪除、文件復(fù)制、文件重命名和文件移動,還有目錄支持。文件系統(tǒng)可以交叉操作,文件可以在基于文件系統(tǒng)的閃存和RAM之間實現(xiàn)復(fù)制或移動。
2.5 調(diào)試支持
一般地,硬件模擬方法需要花費大量的資金。為了實現(xiàn)低成本設(shè)計,釆用了基于軟件的調(diào)試方法。這個基于軟件的EPXA1平臺調(diào)試工具已經(jīng)集成到該網(wǎng)關(guān)平臺中,在系統(tǒng)開發(fā)中提供調(diào)試功能。這個調(diào)試器可以使用串行端口或以太網(wǎng)信道實現(xiàn)與主機間的通信。這個軟件調(diào)試器提供一般的調(diào)試功能,諸如:單步運行、變量訪問、處理器寄存器恢復(fù)、資源等級調(diào)試和斷點支持。
3 系統(tǒng)集成
3.1 網(wǎng)絡(luò)實時焊接控制系統(tǒng)應(yīng)用
此應(yīng)用提供了一個分布式的網(wǎng)絡(luò)解決方案,以監(jiān)控一個分布式的實時焊接控制網(wǎng)絡(luò)。用戶可以通過因特網(wǎng)監(jiān)控SMD[8]定位焊接控制網(wǎng)絡(luò)。SMD定位焊接系統(tǒng)如圖6所示。


該應(yīng)用系統(tǒng)基于嵌入式網(wǎng)絡(luò)服務(wù)器的支持,為遠(yuǎn)程計算機動態(tài)生成需要的網(wǎng)頁,即監(jiān)控和配置。
3.2 系統(tǒng)驗證以及結(jié)論
該網(wǎng)關(guān)系統(tǒng)的實時性能可通過使用儀器運行相關(guān)任務(wù)進(jìn)行評測。對該整套實驗操作所收集到的數(shù)據(jù)進(jìn)行分析,得出平均值、最大值以及最小值;再計算出樣品方差;測量出獲得實時時鐘計時數(shù)值所需的時間,再減去其他時間。所得到的數(shù)據(jù)說明,網(wǎng)關(guān)系統(tǒng)可以滿足網(wǎng)關(guān)系統(tǒng)計數(shù)需求的實時性能。
為了確保監(jiān)控系統(tǒng)的網(wǎng)頁不會丟失任何控制器區(qū)域網(wǎng)信息,已采取了如下結(jié)構(gòu)的接收計時測量方法:網(wǎng)絡(luò)監(jiān)控系統(tǒng)的控制器網(wǎng)絡(luò)通信速度為125Kbps,系統(tǒng)運行頻率為75MHz,控制器區(qū)域網(wǎng)絡(luò)標(biāo)準(zhǔn)限制了最小間幀間隔為3位節(jié)拍。因而一個滿荷的控制器網(wǎng)絡(luò)中,控制器區(qū)域網(wǎng)絡(luò)信息幀之間的空閑時間可以用式(1)計算:


從eCos的實時特性所顯示的結(jié)果,可以得到中斷反應(yīng)時間為5.31微秒。所以可以從式(2)得到計時結(jié)果。

 

通過以上驗證得知,網(wǎng)絡(luò)監(jiān)控系統(tǒng)網(wǎng)頁能夠監(jiān)控SMD定位焊接控制網(wǎng)絡(luò),即使網(wǎng)絡(luò)總線滿荷時也不會丟失任何一個實時的監(jiān)控信息。
參考文獻(xiàn)
[1] ROBERT BOSCH GmbH.控制器網(wǎng)絡(luò)標(biāo)準(zhǔn)2.0[P],1991.
[2] AUDSLEY N,BURNS A,RICHARDSON M et al.控制器網(wǎng)絡(luò)的實時性能分析.IEEE 實時系統(tǒng)會刊(RTSS′94),1994,259-263.
[3] Altera Corp.EPXA1開發(fā)系統(tǒng)用戶手冊,2003.
[4] CHAUHAN P,CLARKE E M,LU Y et al.基于IP內(nèi)核片上系統(tǒng)設(shè)計.第12屆國際ASIC/SOC會刊,1999,27-31.
[5] LI Y,POTKONJAK M,WOLF W.嵌入式實時操作系統(tǒng).國際計算機設(shè)計會刊,1997.
[6] MASSA A J.基于eCos的嵌入式軟件開發(fā).Upper Saddle River,New Jersey,ISBN:0-13-035473-2.
[7] SEAL D.ARM結(jié)構(gòu)參考手冊(第二版).Addison-Wesley Professional 2nd edition,ISBN:0201737191,2000.
[8] WU J,SMITH J S,LUCAS J.定位焊接系統(tǒng)設(shè)計.IEE國際測量工程會刊,1996.
[9] LI Q,YAO C.嵌入式系統(tǒng)實時系統(tǒng).CMP Books,ISBN:1578201241,2003.

本站聲明: 本文章由作者或相關(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)濟(jì)

北京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ù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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