0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-22 10:20 ? 次閱讀

引言

橡塑機(jī)械是現(xiàn)代制造技術(shù)中一類重要工具,是一種由數(shù)控裝置、伺服驅(qū)動裝置、機(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ī)械性能的一個重要組成部分,其監(jiān)控系統(tǒng)也得到了長足的發(fā)展。本文設(shè)計了一款基于ARM9、嵌入式Linux以及CAN總線技術(shù)的應(yīng)用于橡塑機(jī)械的雙層網(wǎng)絡(luò)。并介紹了成功應(yīng)用于橡塑機(jī)械的實例。

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

系統(tǒng)基于工業(yè)現(xiàn)場監(jiān)控集成化、自動化的理念設(shè)計了下層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è)計了上層的網(wǎng)絡(luò)支持。在上層網(wǎng)絡(luò)部分,。提供WEB服務(wù)器,根據(jù)遠(yuǎn)程PC的請求發(fā)送相應(yīng)的數(shù)據(jù)。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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

硬件系統(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)功能。以下對兩個擴(kuò)展部分做重點(diǎn)介紹。

2.1 CAN總線擴(kuò)展

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

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

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

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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以及其他片選讀寫信號來控制網(wǎng)卡芯片的工作以及地址空間位置。

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

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

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

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

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

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

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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

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

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

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

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

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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

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

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

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

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

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

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

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

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

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

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

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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

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

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

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

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

基于ARM9、Linux與CAN總線實現(xiàn)應(yīng)用于橡塑機(jī)械的監(jiān)控系統(tǒng)設(shè)計

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

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

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

5 結(jié)束語

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

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18816

    瀏覽量

    298459
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207895
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122732
收藏 人收藏

    評論

    相關(guān)推薦

    構(gòu)造廉價的Arm9 開發(fā)平臺

    構(gòu)造廉價的Arm9 開發(fā)平臺摘要:基于Arm9內(nèi)核的單片機(jī),由于其低廉的價格與優(yōu)越的性能,已經(jīng)被廣泛的應(yīng)用于各種消費(fèi)類電子產(chǎn)品中。掌握Arm9單片機(jī)的開發(fā)技能已經(jīng)成為嵌入式
    發(fā)表于 10-31 17:56

    適合ARM7/ARM9/ARM9/A8的wifi模塊、linux/andriod/wince系統(tǒng)

    `適合ARM7/ARM9/ARM9/A8的wifi模塊、linux/andriod/wince系統(tǒng)`
    發(fā)表于 09-27 17:07

    怎么設(shè)計一種基于ARM9 S3C2410A的智能車載系統(tǒng)?

    本文設(shè)計一種基于ARM9 S3C2410A的智能車載系統(tǒng),它能夠通過GPS全球定位系統(tǒng)和GPRS無線通信技術(shù),實現(xiàn)車輛定位以及車輛與控制中心之間的數(shù)據(jù)通信,構(gòu)建
    發(fā)表于 05-17 06:03

    怎樣去設(shè)計一種機(jī)械雙層網(wǎng)絡(luò)監(jiān)控器?

    本文設(shè)計了一款基于ARM9、嵌入式Linux以及CAN總線技術(shù)的應(yīng)用于
    發(fā)表于 06-04 06:37

    Linux環(huán)境下實現(xiàn)ARM9CAN總線通信

    Linux環(huán)境下實現(xiàn)ARM9CAN總線通信 1.  引言CAN(Controlle
    發(fā)表于 11-02 15:06 ?977次閱讀
    <b class='flag-5'>Linux</b>環(huán)境下<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>ARM9</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信

    Linux環(huán)境下實現(xiàn)基于ARM9CAN總線通信

    Linux環(huán)境下實現(xiàn)基于ARM9CAN總線通信 1.  引言CAN(Control
    發(fā)表于 11-03 09:56 ?618次閱讀
    <b class='flag-5'>Linux</b>環(huán)境下<b class='flag-5'>實現(xiàn)</b>基于<b class='flag-5'>ARM9</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信

    基于ARM9Linux的門禁監(jiān)控系統(tǒng)

    提出了一種可配置、功耗低的門禁監(jiān)控系統(tǒng)軟件設(shè)計方案,該方案基于ARM9Linux相結(jié)合的軟硬件平臺,同時結(jié)合CGI技術(shù)實現(xiàn)。
    發(fā)表于 03-07 15:27 ?545次下載
    基于<b class='flag-5'>ARM9</b>與<b class='flag-5'>Linux</b>的門禁<b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>

    基于ARM機(jī)械雙層網(wǎng)絡(luò)設(shè)計

    針對機(jī)械監(jiān)控的需求,設(shè)計了一款以AKM9、嵌入式Linux為核心,以
    發(fā)表于 09-20 14:52 ?716次閱讀
    基于<b class='flag-5'>ARM</b>的<b class='flag-5'>橡</b><b class='flag-5'>塑</b><b class='flag-5'>機(jī)械</b>雙層網(wǎng)絡(luò)設(shè)計

    基于ARM9的嵌入式Web遠(yuǎn)程實時溫度監(jiān)控系統(tǒng)設(shè)計

    提出了一種基于ARM9的嵌入式Web遠(yuǎn)程實時溫度監(jiān)控系統(tǒng)的設(shè)計方法。在基于ARM9Linux2.6內(nèi)核的嵌入式
    發(fā)表于 05-06 14:26 ?158次下載
    基于<b class='flag-5'>ARM9</b>的嵌入式Web遠(yuǎn)程實時溫度<b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于ARM9的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

    針對傳統(tǒng)監(jiān)控系統(tǒng)無法聯(lián)網(wǎng)、維護(hù)困難、成本高等不足,運(yùn)用嵌入式技術(shù)和圖像處理技術(shù),設(shè)計了一種基于ARM9的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。
    發(fā)表于 07-25 14:56 ?44次下載
    基于<b class='flag-5'>ARM9</b>的網(wǎng)絡(luò)視頻<b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    基于ARM9LINUX的RS485總線的通信接口設(shè)計

    ARM9處理器S3C2440上設(shè)計RS485通信接口,實現(xiàn)總線上其他設(shè)備的通信,利用ARM9處理器內(nèi)部集成的UART外設(shè)和RSM485CT模塊組成RS485通信硬件接口,在嵌入式
    發(fā)表于 12-07 09:28 ?1.1w次閱讀
    基于<b class='flag-5'>ARM9</b>與<b class='flag-5'>LINUX</b>的RS485<b class='flag-5'>總線</b>的通信接口設(shè)計

    如何利用英創(chuàng)ARM9嵌入式主板快速構(gòu)建雙CAN接口的方案

    英創(chuàng)提供的系列ARM9嵌入式主板,除EM9160嵌入式主板外,所有的ARM9主板上均可直接支持一個CAN接口。ETA701是英創(chuàng)公司提供的基于ISA總線擴(kuò)展的一個
    的頭像 發(fā)表于 10-08 11:37 ?3882次閱讀
    如何利用英創(chuàng)<b class='flag-5'>ARM9</b>嵌入式主板快速構(gòu)建雙<b class='flag-5'>CAN</b>接口的方案

    基于ARM9的無線環(huán)境監(jiān)控系統(tǒng)實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9的無線環(huán)境監(jiān)控系統(tǒng)實現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 14:53 ?0次下載
    基于<b class='flag-5'>ARM9</b>的無線環(huán)境<b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>實現(xiàn)</b>

    基于ARM9的遠(yuǎn)程圖像無線監(jiān)控系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9的遠(yuǎn)程圖像無線監(jiān)控系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 11:40 ?0次下載
    基于<b class='flag-5'>ARM9</b>的遠(yuǎn)程圖像無線<b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>

    基于ARM9平臺和FPGA的1553B總線測試系統(tǒng)的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9平臺和FPGA的1553B總線測試系統(tǒng)的設(shè)計與實現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 10:10 ?0次下載
    基于<b class='flag-5'>ARM9</b>平臺和FPGA的1553B<b class='flag-5'>總線</b>測試<b class='flag-5'>系統(tǒng)</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>