用51內(nèi)核網(wǎng)絡(luò)單片機(jī)構(gòu)成的遠(yuǎn)程監(jiān)控系統(tǒng)
掃描二維碼
隨時隨地手機(jī)看文章
在工業(yè)控制、信息家電等應(yīng)用領(lǐng)域,存在大量的嵌入式設(shè)備,而這些設(shè)備很多只有串口、CAN總線等簡單的網(wǎng)絡(luò)接口,通信能力有限,有的甚至處于孤立運(yùn)行狀態(tài)。如何讓這些以單片機(jī)為核心的嵌入式系統(tǒng)接入以太網(wǎng),并通過網(wǎng)絡(luò)對它們進(jìn)行遠(yuǎn)程監(jiān)控,是當(dāng)前電子世界中的研究熱點。TCP/IP在Intemet和大多數(shù)局域網(wǎng)中的成功應(yīng)用,已經(jīng)證明了其強(qiáng)大的功能。如果實現(xiàn)TCP/IP協(xié)議和嵌入式系統(tǒng)的結(jié)合,嵌入式系統(tǒng)聯(lián)網(wǎng)問題就能得到有效解決。目前,嵌入式系統(tǒng)聯(lián)網(wǎng)主要有如下幾種方案:①EMIT,以PC或其它高檔計算機(jī)為網(wǎng)關(guān),將CAN、RS-232等設(shè)備接入重量級網(wǎng)絡(luò);②采用32位MCU+實時操作系統(tǒng),高檔MCU功能強(qiáng)大,可以實現(xiàn)復(fù)雜操作,但需要有RTOS支持,這種方案的成本和對開發(fā)人員的要求較高;③采用Scenix的8位MCU,加上虛擬軟件包,實現(xiàn)多任務(wù)操作系統(tǒng),運(yùn)行TCP/IP協(xié)議棧。
本文提出的基于網(wǎng)絡(luò)單片機(jī)的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)方案,可以實現(xiàn)串口、CAN總線等輕量級網(wǎng)絡(luò)和以太網(wǎng)的互連。該方案具有體積小,性價比高的特點。
1 系統(tǒng)的組成
基于網(wǎng)絡(luò)單片機(jī)的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)由主控制器、以太網(wǎng)接入模塊、CAN網(wǎng)絡(luò)接入模塊、1-Wire網(wǎng)絡(luò)、串口網(wǎng)絡(luò)、存儲器電路、實時時鐘、電源模塊和監(jiān)控電路等功能模塊組成。其原理框圖如圖1所示。
(1)主控制器
采用原Dallas公司的高性能51內(nèi)核的網(wǎng)絡(luò)單片機(jī)Ds80C400,內(nèi)部集成了1個10/100M以太網(wǎng)控制器(MAC),3個通用全雙工串口,1個CAN2.0B控制器,1個1.Wire控制器。MCU內(nèi)部64KB的ROM程序中包含完整的TCP/P V4/6協(xié)議棧;可訪問16MB存儲空間;具有專門的低位地址口;4個數(shù)據(jù)指針;有2x/4x時鐘加倍器,最高工作頻率可達(dá)75MHz。
(2)以太網(wǎng)接入模塊
利用集成的MAC,通過物理層器件PHY和以太網(wǎng)相連;MAC具有標(biāo)準(zhǔn)的媒體無關(guān)接口MII。設(shè)計中PHY采用具有自動協(xié)商功能的DP83846A,外接網(wǎng)絡(luò)變壓器20F001N。在工作過程中,可以通過MII管理總線設(shè)置工作模式。PHY和以太網(wǎng)控制器的連接如圖2所示。
MAC具有專門的接收發(fā)送緩沖區(qū),可以通過MOVX進(jìn)行訪問;MAC還具有緩沖區(qū)控制單元BCU、命令/狀態(tài)寄存器CSR、地址檢測模塊、電源管理單元等組成,主要由BCU負(fù)責(zé)以太網(wǎng)的收發(fā)活動,減少了CPU的參與,保證了以太網(wǎng)收發(fā)的效率。
(3)CAN網(wǎng)絡(luò)接入模塊
通過集成的CAN2.0B控制器,外接CAN收發(fā)器和CAN網(wǎng)絡(luò)相連。設(shè)計中使用的是TI的SN65HVD230,它具有低成本、低功耗的特點。
(4)1-Wire網(wǎng)絡(luò)
通過1一Wire總線控制器和1-Wire只讀存儲器DS2502-E48相連,給以太網(wǎng)控制器提供物理地址(MAC地址)。
(5)串口網(wǎng)絡(luò)
通過單片機(jī)內(nèi)部集成的全雙工串口,可以和串口設(shè)備相連。為了和外部的RS-232電平相匹配,外接收發(fā)器MAX560CAI(也可以采用MAX232、MAX3233等),它具有4個輸入、5個輸出。單片機(jī)的串口0用來和開發(fā)機(jī)相連,串口2作為DTE,具有完整的流控制線,用來和串口設(shè)備相連。
(6)電 源
電路中各種器件的工作電壓有3.3V、1.8V和5V等,采用MAX832、MAX682和MAXl792,分別提供3.3V、5V和1.8V電壓。
(7)監(jiān)控電路
選用MAX825T(門限電壓3.08V)來監(jiān)測主控制器的3.3V電源電壓,當(dāng)電壓低于3.08V時,產(chǎn)生可靠復(fù)位。
(8)實時時鐘
給系統(tǒng)提供準(zhǔn)確的時間,便于了解系統(tǒng)狀態(tài),比如獲取數(shù)據(jù)采集的時間等。
(9)存儲器單元
Ds80C400具有專門的低位地址線P7口和專門的工程序存儲器片選信號(CEO~CE7)和數(shù)據(jù)存儲器片選信號(PCEO~PCE3),可尋址16M的程序空間和4M的數(shù)據(jù)空間。選用AM29F040B一70(Flash,2片)作為程序存儲器,HM6285 12LFP-7(SRAM,2片)作為數(shù)據(jù)存儲器。將SRAM和Flash分別接在面、面、面、面。內(nèi)部64KB的R0M在系統(tǒng)啟動時,對SFR進(jìn)行初始化,從而SRAM、Flash分別映射到表i所示的空間。DS80C400內(nèi)部和各種控制器相關(guān)的存儲區(qū)及ROM的地址映射如表2。這些緩沖區(qū)在芯片內(nèi)部,具有豐富的訪問和操作指令,系統(tǒng)具有較高的集成度和吞吐量。
2 程序設(shè)計方法
DS80C400中集成了64KB的ROM,具有工業(yè)標(biāo)準(zhǔn)的TCP/IP v4/v6協(xié)議棧、占先式的調(diào)度程序和網(wǎng)絡(luò)引導(dǎo)程序、串口引導(dǎo)裝載程序。網(wǎng)絡(luò)引導(dǎo)程序和串口引導(dǎo)裝載程序可以裝載應(yīng)用程序。在應(yīng)用中通過外部引腳的配置,選擇內(nèi)部ROM的執(zhí)行流程。系統(tǒng)啟動時,ROM對單片機(jī)的串口0進(jìn)行初始化,MCU通過串口0和開發(fā)主機(jī)通信,向F1ash寫入程序。
網(wǎng)絡(luò)引導(dǎo)程序利用內(nèi)部的TCP/IP協(xié)議棧和任務(wù)調(diào)度程序,可以通過以太網(wǎng)進(jìn)行應(yīng)用程序下載,實現(xiàn)程序在線更新。應(yīng)用程序使用Java來開發(fā),借助Dallas公司提供的軟件開發(fā)工具包TINI SDK,大部分工作在開發(fā)主機(jī)上完成;可以使用免費的Java SDK工具或集成開發(fā)環(huán)境,提高編程效率。TINI SDK將DS80C400中的硬件部分虛擬為Java的類,從而將對實際硬件的操作,轉(zhuǎn)變?yōu)閷ο蠓椒ǖ恼{(diào)用,使用Java不要求開發(fā)者深入了解系統(tǒng)的硬件構(gòu)成。TINI SDK提供了Java程序的運(yùn)行環(huán)境,在主機(jī)上開發(fā)Java應(yīng)用程序經(jīng)過轉(zhuǎn)換,即可在目標(biāo)系統(tǒng)上運(yùn)行。在運(yùn)行環(huán)境的支持下,可以開發(fā)功能完善的嵌入式Web服務(wù)器,從而實現(xiàn)設(shè)備運(yùn)行狀態(tài)的遠(yuǎn)程監(jiān)測和控制。DS80C400中具有1KB的擴(kuò)展堆??臻g,具有支持高級語言開發(fā)的物理基礎(chǔ)。TINI SDK正是在這個基礎(chǔ)上,提供了Java運(yùn)行環(huán)境,從而可以開發(fā)多線程應(yīng)用程序。以開發(fā)串口設(shè)備到以太網(wǎng)服務(wù)器的數(shù)據(jù)流傳輸程序為例,其中包含主線程和發(fā)送、接收線程。程序結(jié)構(gòu)如圖3和圖4所示。
3 結(jié)論
該系統(tǒng)不僅可以拓展嵌入式設(shè)備的通信能力,將RS-232、CAN等輕量級網(wǎng)絡(luò)和以太網(wǎng)相連,比如實現(xiàn)串口設(shè)備和以太網(wǎng)服務(wù)器的數(shù)據(jù)流傳輸,通過以太網(wǎng)服務(wù)器對串口設(shè)備進(jìn)行監(jiān)控;也可以取代原有控制設(shè)備,直接來控制現(xiàn)場設(shè)備,可利用該系統(tǒng)實現(xiàn)網(wǎng)絡(luò)傳感器、遠(yuǎn)程控制設(shè)備運(yùn)行、遠(yuǎn)程數(shù)據(jù)采集等。系統(tǒng)還具有較大的擴(kuò)展余地,可以根據(jù)應(yīng)用需要進(jìn)行擴(kuò)展,如改變存儲器的容量等。系統(tǒng)實現(xiàn)時,要根據(jù)具體需要選擇合適容量和存取時間的存儲器,采用合適的尋址模式;選取合適的接口電路并確保正確的連接和配置。另一方面,該芯片的集成功能較多,系統(tǒng)出現(xiàn)問題時,定位比較困難。但該方案不依賴PC或高檔單片機(jī),實現(xiàn)8位機(jī)直接接入Internet;所需外圍器件少,系統(tǒng)成本低;開發(fā)周期較短,開發(fā)成本相對較低,具有實際應(yīng)用價值。