摘 要: 為了使遠(yuǎn)程設(shè)備正常運(yùn)行,,及時(shí)排除運(yùn)行故障,設(shè)計(jì)了一種以嵌入式以太網(wǎng)芯片為核心的遠(yuǎn)程故障診斷系統(tǒng),。簡要介紹了以太網(wǎng)芯片MC9S12NE64的主要特點(diǎn),、內(nèi)部結(jié)構(gòu)和運(yùn)行模式,給出了遠(yuǎn)程故障診斷系統(tǒng)的硬件組成以及軟件支持,。
關(guān)鍵詞: 嵌入式系統(tǒng),;以太網(wǎng);MC9S12NE64芯片,;遠(yuǎn)程故障診斷
嵌入式遠(yuǎn)程故障診斷系統(tǒng)將計(jì)算機(jī),、通信、網(wǎng)絡(luò)及自動(dòng)化技術(shù)融為一體,,實(shí)現(xiàn)對遠(yuǎn)程設(shè)備進(jìn)行監(jiān)測、協(xié)調(diào)和控制,。要實(shí)現(xiàn)網(wǎng)絡(luò)化,,就需要把微控制器(MCU)與以太網(wǎng)連接,并在設(shè)備上執(zhí)行TCP/IP協(xié)議堆棧,。Freescale Semiconductor公司開發(fā)的MC9S12NE64是集成了單片處理器,、常用接口和以太網(wǎng)控制器(含TCP/IP網(wǎng)絡(luò)協(xié)議)的單一芯片。MC9S12NE64憑借豐富的以太網(wǎng)連接功能,,可以提供功能齊全的以太網(wǎng)連接,。
本文簡要介紹了MC9S12NE64的主要特點(diǎn)、內(nèi)部結(jié)構(gòu)和運(yùn)行模式,,并給出了其在遠(yuǎn)程故障診斷系統(tǒng)中的應(yīng)用,。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 主控芯片MC9S12NE64
基于單片機(jī)的以太網(wǎng)設(shè)備可以采用多芯片方案進(jìn)行設(shè)計(jì),這類以太網(wǎng)解決方案成本高,、結(jié)構(gòu)復(fù)雜,、可靠性和穩(wěn)定性都不理想。而針對以太網(wǎng)應(yīng)用設(shè)計(jì)的高性能嵌入式處理器MC9S12NE64,,具有優(yōu)化的指令系統(tǒng),,最高工作頻率高達(dá)50 MHz,。圖1是MC9S12NE64的內(nèi)部結(jié)構(gòu)圖。
片內(nèi)集成的串行通信接口(SCI)允許外圍設(shè)備和其他設(shè)備之間進(jìn)行異步串行通信,。而串行外圍設(shè)備接口(SPI)允許MCU和外圍設(shè)備之間進(jìn)行雙工,、同步串行通信。程序可以輪詢狀態(tài)標(biāo)志或者通過中斷驅(qū)動(dòng)SPI工作,。內(nèi)部總線是雙線制,、雙向串行總線,這可為兩個(gè)設(shè)備之間進(jìn)行數(shù)據(jù)交換提供一個(gè)簡單而有效的方法,。IIC總線使連接設(shè)備實(shí)現(xiàn)最簡化,,不需要使用地址譯碼器,該總線適用于大量設(shè)備之間短距離非頻繁性地通信時(shí)應(yīng)用,。MC9S12NE64的靈活性允許附加設(shè)備連接到總線上以實(shí)現(xiàn)進(jìn)一步的擴(kuò)展和系統(tǒng)開發(fā),;其接口速率為100 Kb/s,最高可達(dá)時(shí)鐘的1/200[1],。
1.2 系統(tǒng)硬件設(shè)計(jì)原理
基于MC9S12NE64的遠(yuǎn)程故障系統(tǒng)組成如圖2所示,。
圖中各部分功能如下:
(1)故障診斷儀:以MC9S12NE64為核心、具有網(wǎng)絡(luò)通信功能的智能化遠(yuǎn)程故障診斷設(shè)備,。通過故障診斷儀可以實(shí)現(xiàn)對遠(yuǎn)程設(shè)備各個(gè)工作參數(shù)的測量與記錄,,并且通過以太網(wǎng)傳送到故障診斷中心。
(2)故障診斷中心:遠(yuǎn)程故障診斷中心的1臺服務(wù)器可以連接1臺或幾臺故障診斷儀,,主要負(fù)責(zé)遠(yuǎn)程診斷平臺與故障診斷儀之間數(shù)據(jù)的傳送(將客戶端遠(yuǎn)程故障診斷平臺傳送過來的命令傳回到故障診斷儀,,并將故障診斷儀傳送過來的數(shù)據(jù)傳送到客戶端)。
(3)客戶端:客戶端通過故障診斷中心遠(yuǎn)程獲取故障診斷儀所測量的設(shè)備各類參數(shù),,然后根據(jù)實(shí)際測量結(jié)果,,對遠(yuǎn)程設(shè)備運(yùn)行出現(xiàn)的故障進(jìn)行診斷,維護(hù)遠(yuǎn)程設(shè)備的正常運(yùn)行,。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 故障診斷儀的以太網(wǎng)接入方案
一般嵌入式的應(yīng)用對協(xié)議棧的完備性要求不是很高,,因此可以選擇使用開放源代碼的免費(fèi)協(xié)議棧。利用OpenTCP提供的一個(gè)在NE64上使用的協(xié)議棧,,由于該協(xié)議棧針對NE64進(jìn)行了優(yōu)化,,能更好地利用處理器的特性,有效地提高了協(xié)議棧的處理效率,。而且由于在絕大多數(shù)場合數(shù)據(jù)采集終端的處理任務(wù)都是相對簡單,,并不需要操作系統(tǒng)。因此采用這種方案無疑對提高系統(tǒng)的整體性能更為有利[2],。
基于MC9S12NE64的特點(diǎn)是可以對協(xié)議棧進(jìn)行裁減,。由于網(wǎng)絡(luò)部分主要負(fù)責(zé)數(shù)據(jù)傳輸,實(shí)現(xiàn)的HTTP等應(yīng)用層協(xié)議并不是必須的,。為了節(jié)省程序空間和保證程序運(yùn)行的效率,,可以進(jìn)行裁減,,只保留核心協(xié)議,直接向應(yīng)用程序提供服務(wù),。圖3是經(jīng)過裁減后的協(xié)議棧結(jié)構(gòu)[3],。
2.2 遠(yuǎn)程故障診斷儀的程序設(shè)計(jì)
遠(yuǎn)程故障診斷儀實(shí)現(xiàn)對遠(yuǎn)程設(shè)備各種工作參數(shù)的采樣和數(shù)據(jù)處理,將處理結(jié)果進(jìn)行保存顯示,,然后傳送到故障診斷中心,。此外,還接收來自故障診斷中心發(fā)來的命令,,對遠(yuǎn)程設(shè)備進(jìn)行實(shí)時(shí)診斷[4],。故障診斷儀程序流程如圖4所示:
2.3 遠(yuǎn)程故障診斷系統(tǒng)模塊設(shè)計(jì)
客戶端遠(yuǎn)程故障診斷平臺主要包括:數(shù)據(jù)通信與處理、用戶管理,、系統(tǒng)維護(hù)等模塊,。
數(shù)據(jù)通信與處理模塊自動(dòng)對各故障診斷中心的數(shù)據(jù)進(jìn)行采集。在進(jìn)行自動(dòng)通信時(shí),,可以采用定時(shí)輪詢或者故障診斷中心主叫的方式,,即在主循環(huán)中不停地檢測智能控制器的狀態(tài),發(fā)現(xiàn)問題后立即處理,。對不能及時(shí)處理的問題,,及時(shí)發(fā)出警報(bào)信息并提醒管理人員處理。該模塊又可以把采集到的數(shù)據(jù)存儲在數(shù)據(jù)庫中,,實(shí)現(xiàn)數(shù)據(jù)庫的各種查詢,,對各種故障記錄存檔,以便以后查詢和進(jìn)行故障分析,。
出于安全考慮,,用戶管理模塊是必要的,服務(wù)器應(yīng)該進(jìn)行用戶的身份鑒定和權(quán)限設(shè)置,,用來區(qū)分管理專家和普通用戶。而系統(tǒng)維護(hù)模塊可以保證該系統(tǒng)的正常運(yùn)行,。
本文利用MC9S12NE64芯片的特性,,提出了遠(yuǎn)程故障診斷系統(tǒng)的設(shè)計(jì)方案。MC9S12NE64芯片不僅可以用于遠(yuǎn)程設(shè)備的診斷過程中,,還適用于工業(yè)控制,、環(huán)境監(jiān)控器、銷售設(shè)備終端和家庭自動(dòng)化等,。
參考文獻(xiàn)
[1] 陳剛.16位單片機(jī)MC9S12NE64的應(yīng)用與參考設(shè)計(jì)[J].世界電子元器件,,2005(6).
[2] 趙仕俊,李素俠.基于MC9S12NE64的嵌入式Web服務(wù)器的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,,2006(12).
[3] Freescale Semiconductor. AN2836 Web server development with MC9S12NE64 and openTCP[S]. 2009.
[4] 李睿,,黃守道,,吳桂清.單芯片以太網(wǎng)的開發(fā)及其在電氣自動(dòng)化中應(yīng)用[J].電力自動(dòng)化設(shè)備,2006,,26(11).