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