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