基于ARM的橡塑機(jī)械雙層網(wǎng)絡(luò)設(shè)計(jì)
0 引言
橡塑機(jī)械是現(xiàn)代制造技術(shù)中一類(lèi)重要工具,是一種由數(shù)控裝置、伺服驅(qū)動(dòng)裝置、機(jī)床主體和其他輔助裝置構(gòu)成的機(jī)電一體化產(chǎn)品,它被廣泛應(yīng)用在橡塑產(chǎn)品加工制造領(lǐng)域。隨著科技的進(jìn)步,橡塑機(jī)械正朝著高速度、智能化、多功能化、高可靠性的方向發(fā)展。在監(jiān)控系統(tǒng)方面,尤其是近年來(lái),也發(fā)展得更為集成化、網(wǎng)絡(luò)化。作為提升橡塑機(jī)械性能的一個(gè)重要組成部分,其監(jiān)控系統(tǒng)也得到了長(zhǎ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)場(chǎng)監(jiān)控集成化、自動(dòng)化的理念設(shè)計(jì)了下層CAN總線結(jié)構(gòu)。在現(xiàn)場(chǎng)監(jiān)控部分,.所需要完成的工作包括:通過(guò)CAN總線與底層控制器交互,讀取并顯示橡塑機(jī)械當(dāng)前工作的狀態(tài),配置并發(fā)送需要修改的運(yùn)行參數(shù)。
在CAN現(xiàn)場(chǎng)總線的基礎(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)控制器,因此通過(guò)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)收過(guò)濾以及報(bào)文管理功能。該器件包含三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,能夠減少S3C241O芯片的管理負(fù)擔(dān)和軟件設(shè)計(jì)的負(fù)擔(dān)。
接口中使用了總中斷引腳INT,處理器在響應(yīng)總中斷后,通過(guò)SPI通道訪問(wèn)MCP2510內(nèi)部相應(yīng)寄存器來(lái)確定具體的中斷事件,并對(duì)其做出處理。
如圖2所示,S3C2410通過(guò)SPI總線發(fā)送MCP2510控制命令以及需要傳輸?shù)臄?shù)據(jù),通過(guò)MCP2510控制轉(zhuǎn)換以后生成總線報(bào)文,并通過(guò)光電隔離器6N137以及總線驅(qū)動(dòng)器8C250之后發(fā)送到CAN總線上。
2.2 以太網(wǎng)擴(kuò)展
以太網(wǎng)和CAN現(xiàn)場(chǎng)總線的集合,大大加速了工業(yè)控制集成化、信息化的進(jìn)度。采用了CS8900A芯片以完成以太網(wǎng)擴(kuò)展。其主要包括802.3介質(zhì)訪問(wèn)控制塊,支持全雙工操作,完全依照IEEE 802.3以太網(wǎng)標(biāo)準(zhǔn)(ISO/IEC8802-3,1993),負(fù)責(zé)處理有關(guān)以太網(wǎng)數(shù)據(jù)幀的發(fā)送和接收。
在硬件連接上,通過(guò)外部中斷EINT9來(lái)響應(yīng)通信,通過(guò)ADDR24以及其他片選讀寫(xiě)信號(hào)來(lái)控制網(wǎng)卡芯片的工作以及地址空間位置。
在收到由CPU發(fā)來(lái)的數(shù)據(jù)報(bào)后,CS8900A將開(kāi)始偵聽(tīng)網(wǎng)絡(luò)線路。如果線路忙,就等待線路空閑,否則立即發(fā)送數(shù)據(jù)。發(fā)送過(guò)程中,需要添加以太網(wǎng)幀頭,產(chǎn)生CRC校驗(yàn)碼,最后將此數(shù)據(jù)幀發(fā)送出去。接收數(shù)據(jù)時(shí),接收到數(shù)據(jù)幀后,還需要經(jīng)過(guò)解碼、剝除幀頭和地址檢驗(yàn)等步驟后存于CS8900A片內(nèi)的緩存區(qū)。并還需要通過(guò)CRC校驗(yàn),便會(huì)產(chǎn)生外部中斷,通知主機(jī)收到了數(shù)據(jù)幀,最后,再根據(jù)CPU的指令,將數(shù)據(jù)傳輸給CPU。
網(wǎng)絡(luò)的擴(kuò)展對(duì)于橡塑機(jī)械的整體化集成化管理起著極為關(guān)鍵的作用,作為一個(gè)高速、開(kāi)放的通信接口,網(wǎng)絡(luò)給系統(tǒng)帶來(lái)了很大的靈活性和可擴(kuò)展性。同時(shí),在監(jiān)控系統(tǒng)的調(diào)試過(guò)程中網(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é)議來(lái)自定義實(shí)現(xiàn)。應(yīng)用軟件設(shè)計(jì)部分主要包括CAN服務(wù)器端的開(kāi)發(fā)和WEB Server的移植。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論