《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM的橡塑機(jī)械雙層網(wǎng)絡(luò)設(shè)計(jì)
基于ARM的橡塑機(jī)械雙層網(wǎng)絡(luò)設(shè)計(jì)
摘要: 針對(duì)橡塑機(jī)械對(duì)監(jiān)控的需求,,設(shè)計(jì)了一款以AKM9、嵌入式Linux為核心,,以CAN總線技術(shù)和網(wǎng)絡(luò)技術(shù)為支持的,,集成了實(shí)時(shí)監(jiān)視、現(xiàn)場操作,、遠(yuǎn)程維護(hù)為一體的雙層網(wǎng)絡(luò)型,。
關(guān)鍵詞: ARM MCP2510 S3C2410
Abstract:
Key words :

0 引言

橡塑機(jī)械是現(xiàn)代制造技術(shù)中一類重要工具,是一種由數(shù)控裝置,、伺服驅(qū)動(dòng)裝置,、機(jī)床主體和其他輔助裝置構(gòu)成的機(jī)電一體化產(chǎn)品,它被廣泛應(yīng)用在橡塑產(chǎn)品加工制造領(lǐng)域,。隨著科技的進(jìn)步,,橡塑機(jī)械正朝著高速度、智能化,、多功能化,、高可靠性的方向發(fā)展。在監(jiān)控系統(tǒng)方面,,尤其是近年來,,也發(fā)展得更為集成化、網(wǎng)絡(luò)化,。作為提升橡塑機(jī)械性能的一個(gè)重要組成部分,,其監(jiān)控系統(tǒng)也得到了長足的發(fā)展。本文設(shè)計(jì)了一款基于ARM9,、嵌入式Linux以及CAN總線技術(shù)的應(yīng)用于橡塑機(jī)械的雙層網(wǎng)絡(luò).,,并介紹了成功應(yīng)用于橡塑機(jī)械的實(shí)例。

1 雙層網(wǎng)絡(luò)系統(tǒng)整體設(shè)計(jì)

系統(tǒng)基于工業(yè)現(xiàn)場監(jiān)控集成化,、自動(dòng)化的理念設(shè)計(jì)了下層CAN總線結(jié)構(gòu),。在現(xiàn)場監(jiān)控部分,.所需要完成的工作包括:通過CAN總線與底層控制器交互,,讀取并顯示橡塑機(jī)械當(dāng)前工作的狀態(tài),,配置并發(fā)送需要修改的運(yùn)行參數(shù)。

在CAN現(xiàn)場總線的基礎(chǔ)上,,基于遠(yuǎn)程維護(hù)監(jiān)控的理念,,設(shè)計(jì)了上層的網(wǎng)絡(luò)支持。在上層網(wǎng)絡(luò)部分,,.提供WEB服務(wù)器,,根據(jù)遠(yuǎn)程PC的請(qǐng)求發(fā)送相應(yīng)的數(shù)據(jù),。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

 

2 硬件系統(tǒng)設(shè)計(jì)

硬件系統(tǒng)采用了以ARM9內(nèi)核CPU為主體的組織體結(jié)構(gòu),。選擇了S3C2410為核心,,擴(kuò)展了64M SDRAM和64M NAND FLASH的硬件系統(tǒng)。由于該CPU內(nèi)部并未集成CAN總線控制器以及以太網(wǎng)控制器,,因此通過MCP2510以及CS8900A分別擴(kuò)展了CAN總線功能和以太網(wǎng)功能,。以下對(duì)兩個(gè)擴(kuò)展部分做重點(diǎn)介紹。

2.1 CAN總線擴(kuò)展

MCP2510完全支持CAN總線V2.0A/B技術(shù)規(guī)范,,能夠發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展報(bào)文,,同時(shí)具備驗(yàn)收過濾以及報(bào)文管理功能。該器件包含三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,,能夠減少S3C241O芯片的管理負(fù)擔(dān)和軟件設(shè)計(jì)的負(fù)擔(dān),。

接口中使用了總中斷引腳INT,處理器在響應(yīng)總中斷后,,通過SPI通道訪問MCP2510內(nèi)部相應(yīng)寄存器來確定具體的中斷事件,,并對(duì)其做出處理。

如圖2所示,,S3C2410通過SPI總線發(fā)送MCP2510控制命令以及需要傳輸?shù)臄?shù)據(jù),通過MCP2510控制轉(zhuǎn)換以后生成總線報(bào)文,,并通過光電隔離器6N137以及總線驅(qū)動(dòng)器8C250之后發(fā)送到CAN總線上,。

 

2.2 以太網(wǎng)擴(kuò)展

以太網(wǎng)和CAN現(xiàn)場總線的集合,大大加速了工業(yè)控制集成化,、信息化的進(jìn)度,。采用了CS8900A芯片以完成以太網(wǎng)擴(kuò)展。其主要包括802.3介質(zhì)訪問控制塊,,支持全雙工操作,,完全依照IEEE 802.3以太網(wǎng)標(biāo)準(zhǔn)(ISO/IEC8802-3,1993),,負(fù)責(zé)處理有關(guān)以太網(wǎng)數(shù)據(jù)幀的發(fā)送和接收,。

在硬件連接上,通過外部中斷EINT9來響應(yīng)通信,,通過ADDR24以及其他片選讀寫信號(hào)來控制網(wǎng)卡芯片的工作以及地址空間位置,。

在收到由CPU發(fā)來的數(shù)據(jù)報(bào)后,CS8900A將開始偵聽網(wǎng)絡(luò)線路,。如果線路忙,,就等待線路空閑,否則立即發(fā)送數(shù)據(jù),。發(fā)送過程中,,需要添加以太網(wǎng)幀頭,,產(chǎn)生CRC校驗(yàn)碼,最后將此數(shù)據(jù)幀發(fā)送出去,。接收數(shù)據(jù)時(shí),,接收到數(shù)據(jù)幀后,還需要經(jīng)過解碼,、剝除幀頭和地址檢驗(yàn)等步驟后存于CS8900A片內(nèi)的緩存區(qū),。并還需要通過CRC校驗(yàn),便會(huì)產(chǎn)生外部中斷,,通知主機(jī)收到了數(shù)據(jù)幀,,最后,再根據(jù)CPU的指令,,將數(shù)據(jù)傳輸給CPU,。

網(wǎng)絡(luò)的擴(kuò)展對(duì)于橡塑機(jī)械的整體化集成化管理起著極為關(guān)鍵的作用,作為一個(gè)高速,、開放的通信接口,,網(wǎng)絡(luò)給系統(tǒng)帶來了很大的靈活性和可擴(kuò)展性。同時(shí),,在監(jiān)控系統(tǒng)的調(diào)試過程中網(wǎng)絡(luò)也發(fā)揮著不可替代的作用,。

3 軟件系統(tǒng)設(shè)計(jì)

整個(gè).的軟件設(shè)計(jì)建立于嵌入式Linux操作系統(tǒng)的基礎(chǔ)之上,因此軟件設(shè)計(jì)分為系統(tǒng)軟件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)兩大部分,。系統(tǒng)軟件主要為對(duì)應(yīng)設(shè)備的驅(qū)動(dòng)程序設(shè)備,,CS8900A為常用的典型網(wǎng)絡(luò)擴(kuò)展設(shè)備,已經(jīng)有既成的驅(qū)動(dòng)程序,;而CAN總線擴(kuò)展則需要根據(jù)應(yīng)用中所需要的網(wǎng)絡(luò)協(xié)議來自定義實(shí)現(xiàn),。應(yīng)用軟件設(shè)計(jì)部分主要包括CAN服務(wù)器端的開發(fā)和WEB Server的移植。

3.1 系統(tǒng)軟件設(shè)計(jì)

本設(shè)計(jì)采用外部中斷EINT3連接MCP2510的總中斷,,配置控制器始終處于喚醒模式,,發(fā)送器處于正常模式,并使能接收,、發(fā)送,、錯(cuò)誤中斷,以中斷方式處理CAN總線數(shù)據(jù)收發(fā),。具體流程如圖3所示,。

 

對(duì)中斷的處理主要包括以下三種模式:

(1)發(fā)送處理。在滿足下述兩種條件時(shí)會(huì)啟動(dòng)發(fā)送處理:其一發(fā)送中斷響應(yīng)中,,如果當(dāng)前有發(fā)送任務(wù),,通過發(fā)送緩沖區(qū)記錄標(biāo)志確定空的發(fā)生緩沖區(qū)并向其中填發(fā)送幀,然后啟動(dòng)發(fā)送,;其二在接收中斷響應(yīng)中,,在接收處理完后如果有發(fā)送任務(wù)且有發(fā)送緩沖區(qū)空閑,,同樣會(huì)處理發(fā)送任務(wù)。采用兩種發(fā)送處理方式可充分利用MCP2510的多個(gè)發(fā)送,、接收緩沖區(qū),,以提高通信效率。

(2)接收處理,。首先需根據(jù)ICOD的值來確定當(dāng)前準(zhǔn)備好數(shù)據(jù)的接收緩沖區(qū),。接收幀處理過程中首先讀取幀的ID值,確定當(dāng)前幀的數(shù)據(jù)是哪個(gè)節(jié)點(diǎn)發(fā)送來的,,并據(jù)此把幀中數(shù)據(jù)字段的數(shù)據(jù)存放在相應(yīng)的位置,。

(3)錯(cuò)誤處理。由于引起錯(cuò)誤處理的原因很多,,在產(chǎn)生錯(cuò)誤中斷之后,,需訪問錯(cuò)誤標(biāo)志寄存器確定具體錯(cuò)誤類型,并據(jù)此做相應(yīng)的處理,。

最后在所有的處理中都需更新發(fā)送緩沖區(qū)使用記錄,,以便于發(fā)送和接收中斷響應(yīng)中據(jù)此判斷發(fā)送緩沖區(qū)的使用情況,從而確定當(dāng)前是否可以做發(fā)送處理,。

 

3.2 應(yīng)用軟件設(shè)計(jì)

3.2.1 CAN服務(wù)器端設(shè)計(jì)

CAN服務(wù)器端需要完成兩大部分的工作,。一是和底層控制器交互,二是處理并存儲(chǔ)好相應(yīng)的數(shù)據(jù),,以提供給人機(jī)界面和WEB服務(wù)器使用,。

CAN總線默認(rèn)的調(diào)度方式為CAMA/CD協(xié)議,該協(xié)議原理比較簡單,,技術(shù)上易實(shí)現(xiàn),網(wǎng)絡(luò)中各節(jié)點(diǎn)處于平等地位,,不需集中控制,,不提供優(yōu)先級(jí)控制。但在網(wǎng)絡(luò)負(fù)載增大時(shí),,發(fā)送時(shí)間增長,,發(fā)送效率急劇下降,即會(huì)永遠(yuǎn)優(yōu)先發(fā)送優(yōu)先級(jí)高的節(jié)點(diǎn)而阻塞優(yōu)先級(jí)低的節(jié)點(diǎn),,因此考慮到對(duì)該協(xié)議進(jìn)行改進(jìn),。為了自定義協(xié)議,因此我們的CAN數(shù)據(jù)采用了擴(kuò)展幀,。

針對(duì)橡塑機(jī)械需要的通信數(shù)據(jù)類型設(shè)計(jì)了如下的通信協(xié)議,。主要具備以下幾點(diǎn)特點(diǎn):

(1)下位機(jī)根據(jù)仲裁段優(yōu)先級(jí)來確定該段數(shù)據(jù)的優(yōu)先級(jí);

(2)優(yōu)先級(jí)的分配由服務(wù)器端進(jìn)行,,讀取初始化配置文件(包括節(jié)點(diǎn)編號(hào)和優(yōu)先級(jí)碼兩個(gè)部分)+頁面設(shè)定,;

(3)優(yōu)先級(jí)根據(jù)傳輸數(shù)據(jù)的截止時(shí)間決定(DM),。要求的時(shí)間越短,其優(yōu)先級(jí)越高,。

(4)通信數(shù)據(jù)的命令格式如圖4所示,,其中所有字節(jié)均為ASCII字符。

開始位必須放@,,以示命令的開始,。標(biāo)題碼為命令的代碼;用”*”和回車(ASCII碼為13)作為命令結(jié)束,。

一次通訊的流程如圖5所示,。

 

設(shè)計(jì)了兩個(gè)隊(duì)列,分別為發(fā)送隊(duì)列和接收隊(duì)列,,以處理大量數(shù)據(jù)的發(fā)送問題,。在隊(duì)列中的數(shù)據(jù)按照其優(yōu)先級(jí)排序(DM判定)。

3.2.2 WEB服務(wù)器的移植

Boa是一個(gè)運(yùn)行在類Unix系統(tǒng)中的小型Web Server,,特別適合在嵌入式的場合中使用,,其優(yōu)點(diǎn)在于快速性和可靠性。

Boa網(wǎng)絡(luò)服務(wù)器的移植主要有兩個(gè)部分:src下的文件修改和config文件修改,。Src部分需要修改應(yīng)用的硬件平臺(tái)配置,,指定交叉編譯器等。config文件需要針對(duì).設(shè)備所處網(wǎng)絡(luò)環(huán)境來配置端口號(hào)等,。

根據(jù)移植好的Boa,,設(shè)計(jì)了圖6所示結(jié)構(gòu)的遠(yuǎn)程橡塑機(jī)械WEB Server。

 

Boa服務(wù)器用以處理用戶請(qǐng)求,,并返回?cái)?shù)據(jù)給瀏覽器,。當(dāng)瀏覽器需要訪問.上動(dòng)態(tài)的監(jiān)控?cái)?shù)據(jù)時(shí),Boa服務(wù)器將調(diào)用存儲(chǔ)在服務(wù)器中的CGI(公用網(wǎng)關(guān)接口)程序,。首先瀏覽器提交請(qǐng)求,,Boa接收網(wǎng)絡(luò)數(shù)據(jù)后進(jìn)行解析,再根據(jù)請(qǐng)求數(shù)據(jù)調(diào)用相關(guān)的CGI程序,,CGI生成相關(guān)頁面數(shù)據(jù)向屏幕輸出,,此時(shí)這個(gè)輸出被定義為到Boa的輸入,Boa再返回?cái)?shù)據(jù)給瀏覽器客戶端,。上述CGI程序中實(shí)現(xiàn)了對(duì)實(shí)時(shí)更新的數(shù)據(jù)文件/tmp/currentData的調(diào)用,,并輸出給瀏覽器端。

 

4 在橡塑機(jī)械上的應(yīng)用實(shí)例

本網(wǎng)絡(luò).配合相應(yīng)的圖形用戶界面程序已經(jīng)成功應(yīng)用于抽真空平板硫化機(jī)上,,目前已經(jīng)實(shí)現(xiàn)了雙機(jī)的同時(shí)監(jiān)控,。通過本.可實(shí)時(shí)監(jiān)控抽真空平板硫化機(jī)在運(yùn)行當(dāng)中的各工序,配置硫化機(jī)的各項(xiàng)生產(chǎn)工藝參數(shù),。遠(yuǎn)程的計(jì)算機(jī)也可通過局域網(wǎng)讀取到.上的運(yùn)行設(shè)備,。

5 結(jié)束語

ARM9,、嵌入式Linux操作系統(tǒng)、以及CAN總線和網(wǎng)絡(luò)技術(shù)在本.上的應(yīng)用將結(jié)構(gòu)簡單,、功能局限的一對(duì)一的橡塑機(jī)械.擴(kuò)展到了網(wǎng)絡(luò)化,、信息化的集成系統(tǒng)當(dāng)中。CAN總線數(shù)據(jù)的按優(yōu)先級(jí)調(diào)度能適應(yīng)多任務(wù),、大容量數(shù)據(jù)的處理,,可有效提高.的實(shí)時(shí)性能,而嵌入式WEB服務(wù)器的成功移植實(shí)現(xiàn)了遠(yuǎn)程的監(jiān)測和維護(hù),,可大大縮短維護(hù)時(shí)間開銷,,減少維護(hù)成本。

同樣,,本控制器不僅僅局限于現(xiàn)今應(yīng)用中的抽真空平板硫化機(jī),,其網(wǎng)絡(luò)的架構(gòu)理念使得只需要將具體通信數(shù)據(jù)協(xié)議以及與人機(jī)界面程序的接口稍作修改即可應(yīng)用于其他的橡塑機(jī)械乃至于其他工業(yè)控制應(yīng)用場合。(電子科技 作者:謝英俊 李 婷 陳飛飛 金 波 )

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。