一個雙MCU機構(gòu)的潛入式Internet接入服務器
嵌入式internet?1?是指借助于internet監(jiān)視和控制工廠的機器、通信設(shè)備、數(shù)據(jù)采集系統(tǒng)、過程控制系統(tǒng)、醫(yī)療設(shè)備、機頂盒、車輛控制器、辦公機械、個人數(shù)字助理(pda)和其它設(shè)備。隨著internet/intranet的迅猛發(fā)展,將internet延伸到8位、16位、32位單片機,實現(xiàn)基于internet的遠程數(shù)據(jù)采集、遠程控制、自動報警、上傳/下載數(shù)據(jù)文件、自動發(fā)送email等功能已經(jīng)成為嵌入式系統(tǒng)發(fā)展的必然趨勢。就嵌入式internet系統(tǒng)而言,實現(xiàn)internet通信協(xié)議及其服務,同時還要控制現(xiàn)場設(shè)備將占用大量資源,而嵌入式internet系統(tǒng)中大量存在的是8位和16位mcu,這些系統(tǒng)在某些環(huán)境下實現(xiàn)上述功能將十分困難?2?。如果采用32位或64位的處理器,無疑會增加成本。為此,本文提出了一種雙mcu結(jié)構(gòu)的嵌入式internet接入服務器dmcueias。其中一個mcu作為internet服務器與用戶交互(稱作inetmcu),它支持tcp/ip協(xié)議棧并運行internet服務程序,形成一個用戶可以通過瀏覽器進行交互的服務器;另一個mcu專門用作設(shè)備服務器(稱作devmcu)控制多個設(shè)備。inetmcu和devmcu通過rac協(xié)議實現(xiàn)通信,完成現(xiàn)場設(shè)備的控制。這樣可以提高性能價格比,具有操作簡便、功能易擴展等特點。
1 硬件結(jié)構(gòu)
雙mcu結(jié)構(gòu)的嵌入式internet接入服務器dmcueias采用atmel公司生產(chǎn)的at90s8515at90s8515微控制器作為inetmcu,采用at89s53作為devmcu,系統(tǒng)體系結(jié)構(gòu)如圖1。其中,devmcu擁有12k字節(jié)的flash程序存儲器,256字節(jié)的片內(nèi)ram,3個可預分頻的16位定時器、計數(shù)器,32位i/o口和一個內(nèi)置的全雙工uart;inetmcu擁有8k字節(jié)的flash程序存儲器,512字節(jié)的片內(nèi)eeprom,512字節(jié)的片內(nèi)ram,1個可預分頻的8位定時器、計數(shù)器,1個可預分頻、具有比較、捕捉和8/9/10位pwm功能的16位定時器和計數(shù)器,用于程序下載的spi口,32位i/o口和一個內(nèi)置的全雙工uart。inetmcu的時鐘頻率是8mhz,可以高速地通過isa口傳遞數(shù)據(jù)(約2mbps)。通過一個時鐘周期內(nèi)執(zhí)行一條指令,inetmcu可以取得近1mips/mhz的性能。通過在單一芯片內(nèi)將一個增強性能的8位risc cpu與可下載的flash結(jié)合,使它非常適合多種嵌入式應用要求,具有高度靈活性和低成本的特點。dmcueias的以太網(wǎng)控制器采用臺灣realtek公司的rtl8019as?10mbps?。其采用全雙工通信方式,使幀的發(fā)送與接收能夠在一條通信線路上同時進行。使信道的帶寬增加一倍,實現(xiàn)了基于ieee802.3協(xié)議標準的mac層(media access control layer)的所有功能。內(nèi)置的雙dma通道和fifo完成簡單有效的包管理(數(shù)據(jù)幀的接收和發(fā)送)功能,本地dma通道的傳輸速率高達10mbps。其優(yōu)越的性能價格比使它非常適合嵌入式internet系統(tǒng)。
在inetmcu的片內(nèi)flash中固化的服務程序可實現(xiàn)任務調(diào)度、線程支持、文件系統(tǒng)、內(nèi)存管理、網(wǎng)絡(luò)系統(tǒng)(tcp/ip)和i/o管理等。通過20位(8位a口,8位c口,d口的pd0、pd1、pd2、pd7)i/o口連接到廉價的isa總線的網(wǎng)卡芯片rtl8019asrtl8019as上,能夠?qū)ν?如internet上的用戶)提供一種通過以太網(wǎng)接口訪問嵌入式系統(tǒng)的方法。inetmcu的片內(nèi)eeprom存儲授權(quán)的用戶名、密碼和其固定的ip地址及mac地址。遠程用戶訪問dmcueias時,要比較用戶名和密碼,只有合法用戶可以通過 internet訪問dmcueias。inetmcu的片內(nèi)ram存儲臨時數(shù)據(jù),同時外擴了32k字節(jié)的seeprom。它采用at24c256at24c256存儲不同的控制網(wǎng)頁,完成必要的文件系統(tǒng)功能,通過web頁可以實現(xiàn)遠程用戶與dmcueias的交互。inetmcu用12位(8位b口作為數(shù)據(jù)口,d口的pd3、pd4、pd5、pd6 作為控制口)i/o口完成與devmcu的通信。devmcu的片內(nèi)flash已經(jīng)固化dcx51嵌入式實時操作系統(tǒng)、通信服務和遠程存取控制服務?rac?,負責現(xiàn)場設(shè)備的控制。devmcu的另外16位(8位a口,8位c口作為數(shù)據(jù))i/o口與isp相連,完成必要的邏輯功能,最后由isp的io56~io63(8位)通過功率驅(qū)動直接驅(qū)動設(shè)備。
2 軟件體系結(jié)構(gòu)
2.1 tc