国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器

一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器

時(shí)間:2023-02-20 23:39:16 電子通信論文 我要投稿
  • 相關(guān)推薦

一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器

摘要:針對(duì)某些單MCU結(jié)構(gòu)的嵌入式Internet服務(wù)器性能價(jià)格比低且靈活性差的問(wèn)題,提出了一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器(DMCUEIAS)。它使嵌入式Internet的用戶交互和設(shè)備控制分離,用戶通過(guò)Internet不僅可以監(jiān)視和控制現(xiàn)場(chǎng)設(shè)備,而且利用RAC可以將任務(wù)下載到現(xiàn)場(chǎng);解決了低端單MCU處理能力低高端MCU成本高的矛盾,并能夠靈活地實(shí)現(xiàn)現(xiàn)場(chǎng)控制程序的功能擴(kuò)展和升級(jí)。
  關(guān)鍵詞:雙MCU結(jié)構(gòu)嵌入式InternetRAC嵌入式TCP/IP協(xié)議棧
  
  嵌入式Internet[1]是指借助于Internet監(jiān)視和控制工廠的機(jī)器、通信設(shè)備、數(shù)據(jù)采集系統(tǒng)、過(guò)程控制系統(tǒng)、醫(yī)療設(shè)備、機(jī)頂盒、車(chē)輛控制器、辦公機(jī)械、個(gè)人數(shù)字助理(PDA)和其它設(shè)備。隨著Internet/Intranet的迅猛發(fā)展,將Internet延伸到8位、16位、32位單片機(jī),實(shí)現(xiàn)基于Internet的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制、自動(dòng)報(bào)警、上傳/下載數(shù)據(jù)文件、自動(dòng)發(fā)送EMALL等功能已經(jīng)成為嵌入式系統(tǒng)發(fā)展的必然趨勢(shì)。就嵌入式Internet系統(tǒng)而言,實(shí)現(xiàn)Internet通信協(xié)議及其服務(wù),同時(shí)還要控制現(xiàn)場(chǎng)設(shè)備將占用大量資源,而嵌入式Internet系統(tǒng)中大量存在的是8位和16位MCU,這些系統(tǒng)在某些環(huán)境下實(shí)現(xiàn)上述功能將十分困難[2]。如果采用32位或64位的處理器,無(wú)疑會(huì)增加成本。為此,本文提出了一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器DMCUEIAS。其中一個(gè)MCU作為Internet服務(wù)器與用戶交互(稱作InetMCU),它支持TCP/IP協(xié)議棧并運(yùn)行Internet服務(wù)程序,形成一個(gè)用戶可以通過(guò)瀏覽器進(jìn)行交互的服務(wù)器;另一個(gè)MCU專(zhuān)門(mén)用作設(shè)備服務(wù)器(稱作DevMCU)控制多個(gè)設(shè)備。InetMCU和DevMCU通過(guò)RAC協(xié)議實(shí)現(xiàn)通信,完成現(xiàn)場(chǎng)設(shè)備的控制。這樣可以提高性能價(jià)格比,具有操作簡(jiǎn)便、功能易擴(kuò)展等特點(diǎn)。
  
  1硬件結(jié)構(gòu)
  
  雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器DMCUEIAS采用ATMEL公司生產(chǎn)的AT90S8515微控制器作為InetMCU,采用AT89S53作為DevMCU,系統(tǒng)體系結(jié)構(gòu)如圖1。其中,DevMCU擁有12K字節(jié)的Flash程序存儲(chǔ)器,256字節(jié)的片內(nèi)RAM,3個(gè)可預(yù)分頻的16位定時(shí)儲(chǔ)器,256字節(jié)的片內(nèi)RAM,3個(gè)可預(yù)分頻的16位定時(shí)器、計(jì)數(shù)器,32位I/O口和一個(gè)內(nèi)置的全雙工UART;InetMCU擁有8K字節(jié)的Flash程序存儲(chǔ)器,512字節(jié)的片內(nèi)EEPROM,512字節(jié)的片內(nèi)RAM,1個(gè)可預(yù)分頻的8位定時(shí)器、計(jì)數(shù)器,1個(gè)可預(yù)分頻、具有比較、捕捉和8/9/10位PWM功能的16位定時(shí)器和計(jì)數(shù)器,用于程序下載的SPI口,32位I/O和一個(gè)內(nèi)置的全雙工UART。InetMCU的時(shí)鐘頻率是8MHz,可以高速地通過(guò)ISA口傳遞數(shù)據(jù)(約2Mbps)。通過(guò)一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令,InetMCU可以取得近1MIPS/MHz的性能。通過(guò)在單一芯片內(nèi)將一個(gè)增強(qiáng)性的8位RISCCPU與可下載的Flash結(jié)合,使它非常適合多種嵌入式應(yīng)用要求,具有高度靈活性和低成本的特點(diǎn)。DMCUEISA的以太網(wǎng)控制器采用臺(tái)灣Realtek公司的RTL8019AS(10Mbps)。其采用全雙工通信方式,使幀的發(fā)送與接收能夠在一條通信線路上同時(shí)進(jìn)行。使信道的帶寬增加一倍,實(shí)現(xiàn)了基于IEEE802.3協(xié)議標(biāo)準(zhǔn)的MAC層(MediaAccessControlLayer)的所有功能。內(nèi)置的雙DMA通道FIFO完成簡(jiǎn)單有效的包管理(數(shù)據(jù)幀的接收和發(fā)送)功能,本地DMA通道的傳輸速率高達(dá)10Mbps。其優(yōu)越的性能價(jià)格比使它非常適合嵌入式Internet系統(tǒng)。
  
  在InetMCU的片內(nèi)Flash中固化的服務(wù)程序可以現(xiàn)任務(wù)調(diào)度、線程支持、文件系統(tǒng)、內(nèi)存管理、網(wǎng)絡(luò)系統(tǒng)(TCP/IP)和I/O管理等。通過(guò)20位(8位A口,8位C口,D口的PD0、PD1、PD2、PD7)I/O口連接到廉價(jià)的ISA總線的網(wǎng)卡芯片RTL8019AS卡,能夠?qū)ν猓ㄈ鏘nternet上的用戶)提供一種通過(guò)以太網(wǎng)接口訪問(wèn)嵌入式系統(tǒng)的方法。InetMCU的片內(nèi)EEPROM存儲(chǔ)授權(quán)的用戶名、密碼和其固定的IP地址及MAC地址。遠(yuǎn)程用戶訪問(wèn)DMCUEIAS時(shí),要比較用戶名密碼,只有合法用戶可以通過(guò)Internet訪問(wèn)DMCUEIAS。InetMCU的片內(nèi)RAM存儲(chǔ)臨時(shí)數(shù)據(jù),同時(shí)外擴(kuò)了32K字節(jié)的SEEPROM。它采用AT24C256存儲(chǔ)不同的控制網(wǎng)頁(yè),完成必要的文件系統(tǒng)功能,通過(guò)WEB頁(yè)可以實(shí)現(xiàn)遠(yuǎn)程用戶與DMCUEIAS的交互。InetMCU用12位(8位B口作為數(shù)據(jù)口,D口的PD3、PD4、PD5、PD6作為控制口)I/O完成與DevMCU的通信。DevMCU的片內(nèi)Flash已經(jīng)固化DCX51嵌入式實(shí)時(shí)操作系統(tǒng)、通信服務(wù)和遠(yuǎn)程存取控制服務(wù)(RAC),負(fù)責(zé)現(xiàn)場(chǎng)設(shè)備的控制。DevMCU的另外16位(8位A口,8位C口作為數(shù)據(jù))I/O口與ISP相連,完成必要的邏輯功能,最后由ISP的IO56~I(xiàn)O63(8位)通過(guò)功率驅(qū)動(dòng)直接驅(qū)動(dòng)設(shè)備。
  
  2軟件體系結(jié)構(gòu)
  
  2.1TCP/IP協(xié)議
  
  由于系統(tǒng)的資源有限,要求實(shí)現(xiàn)協(xié)議時(shí)應(yīng)從具體需求著眼,而不是以實(shí)現(xiàn)完整的協(xié)議為主要目的。DMCUEIAS要求能夠提供WWW服務(wù),并選擇以太網(wǎng)為其運(yùn)行的網(wǎng)絡(luò)環(huán)境。這樣用戶可以利用瀏覽器通過(guò)HTTP協(xié)議瀏覽事先下載到InetMCU的SEEPROM中的控制網(wǎng)頁(yè),通過(guò)該網(wǎng)頁(yè)傳遞控制命令到InetMCU?蛻舳税l(fā)來(lái)的數(shù)據(jù)以HTTP協(xié)議標(biāo)準(zhǔn)發(fā)到DMCUEIAS。這是因?yàn)镠TTP協(xié)議是國(guó)際標(biāo)準(zhǔn),它被所有瀏覽器支持,能保證用戶可以通過(guò)任何地方的瀏覽器下達(dá)命令。HTTP協(xié)議建立在TCP協(xié)議的基礎(chǔ)上。建立連接時(shí)經(jīng)過(guò)三次握手,每次傳輸數(shù)據(jù)都要求服務(wù)器給予確認(rèn);如無(wú)確認(rèn),則重發(fā),保證從客戶端到InetMCU的數(shù)據(jù)正確、無(wú)整。
  
  軟件部分要實(shí)現(xiàn)的協(xié)議[3]至少是:應(yīng)用層上負(fù)責(zé)Web頁(yè)面請(qǐng)求和應(yīng)答的HTTP協(xié)議;位于傳輸層上保證數(shù)據(jù)進(jìn)行可靠傳輸?shù)腡CP協(xié)議[4],在數(shù)據(jù)傳輸時(shí)采用帶重傳機(jī)制的停-等協(xié)議,有效保證數(shù)據(jù)的傳輸;位于網(wǎng)絡(luò)層上進(jìn)行數(shù)據(jù)傳輸?shù)腎P協(xié)議;IP[5]是TCP/IP協(xié)議族中最為核心的協(xié)議,它對(duì)收到的IP數(shù)據(jù)報(bào)進(jìn)行分用,提交TCP或ICMP協(xié)議處理,對(duì)TCP或ICMP[6]報(bào)文進(jìn)行IP封裝,交數(shù)據(jù)鏈路層裝幀發(fā)送是IP協(xié)議負(fù)責(zé)的主要任務(wù),因此對(duì)這兩個(gè)功能也要進(jìn)行實(shí)現(xiàn);實(shí)現(xiàn)32位IP地址到48位網(wǎng)卡地址轉(zhuǎn)換的ARP協(xié)議,完全可以滿足網(wǎng)絡(luò)上主機(jī)對(duì)InetMCU的IP地址進(jìn)行解析的需求;實(shí)現(xiàn)網(wǎng)卡的驅(qū)動(dòng)程序。Ping這一常用的網(wǎng)絡(luò)診斷工具也應(yīng)該被提供,所以與Ping相應(yīng)的ICMP協(xié)議應(yīng)該予以實(shí)現(xiàn)。
  
  2.2DCX嵌入式實(shí)時(shí)操作系統(tǒng)
  
  DMCUEIAS基于實(shí)時(shí)多任務(wù)操作系統(tǒng)“&”,這是一段在DMCUEIAS啟動(dòng)后首先執(zhí)行的后臺(tái)程序。用戶的應(yīng)用程序是運(yùn)行于RTOS上的各個(gè)任務(wù),RTOS[8]根據(jù)各個(gè)任務(wù)時(shí)要求,進(jìn)行資源(包括存儲(chǔ)器、外設(shè)等)管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在RTOS[9]支持的DMCUEIAS系統(tǒng)中,每個(gè)任務(wù)均有一個(gè)優(yōu)先級(jí)。DMCUEIAS根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)切換各個(gè)任務(wù),保證實(shí)時(shí)性的要求。
  
  DCX(DistributedControlExecutive)嵌入式實(shí)時(shí)操作系統(tǒng)[10]相當(dāng)于實(shí)時(shí)操作系統(tǒng)的核,本文討論的DMCUEIAS支持8位的DCX51。DCX51執(zhí)行程序已固化在DevMCU中,為BITBUS網(wǎng)絡(luò)上的節(jié)點(diǎn)提供多任務(wù)能力,并且控制DevMCU和InetMCU之間的通信。DCX51操作系統(tǒng)提供中斷處理,能實(shí)時(shí)地響應(yīng)外事件發(fā)出的中斷服務(wù)請(qǐng)求、任務(wù)間的通訊、任務(wù)的同步,內(nèi)部存儲(chǔ)器管理對(duì)應(yīng)用程序代碼段和數(shù)據(jù)區(qū)以不同方式管理;定時(shí)服務(wù)以及其于優(yōu)先級(jí)的搶占式任務(wù)調(diào)度方法。新建任務(wù)如果優(yōu)先級(jí)最高,可立即運(yùn)行,否則處于就緒狀態(tài)。就緒隊(duì)列中的任務(wù)按優(yōu)先級(jí)順序排列,下一次運(yùn)行的總是就緒階列中優(yōu)先級(jí)最高的任務(wù),同優(yōu)先級(jí)的任務(wù)則按就緒時(shí)間順序排列是。DCX支持多任務(wù),0號(hào)任務(wù)RAC是系統(tǒng)任務(wù),它管理目標(biāo)機(jī)與上位機(jī)通信。含有DCX51的DevMCU作為主控芯片安裝到目標(biāo)機(jī)上,分布到工業(yè)現(xiàn)場(chǎng)中控制設(shè)備。對(duì)于每部分功能,DCX都提供系統(tǒng)調(diào)用,這些調(diào)用就是用戶任務(wù)與DCX的接口。這些服務(wù)綜合在一起就實(shí)現(xiàn)一個(gè)實(shí)時(shí)系統(tǒng)。這樣在DMCUEIAS中,用戶主要完成控制外部設(shè)備的各個(gè)程序模塊。
  
  2.3RAC任務(wù)
  
  任務(wù)是一個(gè)可調(diào)度的執(zhí)行單元,它由執(zhí)行代碼和只能由該任務(wù)存取的私有數(shù)據(jù)組成。RAC(RemoteAccessControl)任務(wù),即遠(yuǎn)程存取和控制,專(zhuān)門(mén)負(fù)責(zé)遠(yuǎn)程任務(wù)的接收和發(fā)送。當(dāng)信息發(fā)送到另一節(jié)點(diǎn)時(shí),DCX51執(zhí)行程序發(fā)送信息到RAC任務(wù)(即任務(wù)0)。RAC任務(wù)內(nèi)含通信服務(wù),它已經(jīng)隨同DCX51操作系統(tǒng)一道固化到DevMCU,通過(guò)DCX51,可以實(shí)現(xiàn)InetMCU與DevMCU的通信。它有兩種類(lèi)型的服務(wù):數(shù)據(jù)存取和任務(wù)控制。數(shù)據(jù)存取類(lèi)的服務(wù)可以對(duì)DevMCU不同的存儲(chǔ)器段或I/O空間進(jìn)行數(shù)據(jù)的讀或?qū)。任?wù)控制類(lèi)的服務(wù)可以下載一個(gè)任務(wù)的目標(biāo)代碼到DevMCU,建立或刪除在DevMCU的一個(gè)任務(wù)。傳到InetMCU的數(shù)據(jù)通過(guò)RAC任務(wù)從InetMCU傳到DevMCU,再由DevMCU完成遠(yuǎn)端設(shè)備的控制和訪問(wèn)。
  
  RAC任務(wù)的信息格式如表1。其中,Link是系統(tǒng)用于保存信息表的兩字節(jié)的參數(shù);Messagelength是RAC命令或回答的字節(jié)數(shù)。MT(Message-type):指定信息類(lèi)型的一位;SE(src-ext)表示產(chǎn)生信息的任務(wù)是否在擴(kuò)展節(jié)點(diǎn)上;DE(dest-ext):表示接收命令信息的任務(wù)駐留在擴(kuò)展節(jié)點(diǎn)上,還是在一個(gè)設(shè)備上;Nodeaddress:只能通過(guò)PC系統(tǒng)接口進(jìn)行傳遞的信息參數(shù)是0xff,當(dāng)信息從同一節(jié)點(diǎn)的一個(gè)任務(wù)傳遞到另一個(gè)任務(wù)時(shí),參數(shù)是"0";Sourcetask:是源節(jié)點(diǎn)發(fā)送任務(wù)的任務(wù)ID(0~7);Destinationtask:是目的任務(wù)的任務(wù)標(biāo)識(shí)符;Command/respond:包含選擇規(guī)定的RAC任務(wù)的參數(shù)(不同服務(wù)其值也不同),RAC任務(wù)的響應(yīng)信息包含了指示服務(wù)結(jié)果的狀態(tài)代碼;data:數(shù)據(jù),對(duì)不同RAC服務(wù)而不同。
  
  表1RAC信息格式
  
  Link(高字節(jié))Link(低字節(jié))MessageLengthMTSEDE00000NodeaddressSourcetaskDestinationtaskCommand/responddata
  2.3.1RAC任務(wù)控制類(lèi)
  
  任務(wù)控制類(lèi)允許用戶在遠(yuǎn)程節(jié)點(diǎn)上使用適當(dāng)?shù)腄CX51系統(tǒng)調(diào)用,或者控制遠(yuǎn)程節(jié)點(diǎn)自身。在DMCUEIAS中用戶可以把指定的任務(wù)文件(必須是十六進(jìn)制格式,如.hex)通過(guò)Internet下載到InetMCU里,然后通過(guò)下載后,客戶端還要發(fā)create命令激活下載的文件數(shù)據(jù),通過(guò)RAC任務(wù)create服務(wù)把命令傳到DevMCU,完成新任務(wù)的建立,實(shí)現(xiàn)控制設(shè)備。
  
  用戶還可以控制其它服務(wù)如deletetask(刪除特定的任務(wù),并禁止所有與該任務(wù)有關(guān)的中斷)、resetdevice(全部任務(wù)初始化),為此用戶必須知道當(dāng)前運(yùn)行的任務(wù)號(hào)。這需用戶事前發(fā)getfunctionids命令,DevMCU通過(guò)RAC任務(wù)的getfunctionids服務(wù)把ID號(hào)傳給InetMCU,并通過(guò)Internet返回到客戶端,用戶可對(duì)任務(wù)進(jìn)行不同的操作(如刪除等)。
  
  2.3.2RAC數(shù)據(jù)存取類(lèi)
  
  數(shù)據(jù)存取類(lèi)使用戶可以對(duì)不同的存儲(chǔ)段或I/O空間進(jìn)行數(shù)據(jù)的讀寫(xiě)。在DMCUEIAS中,客戶端可以通過(guò)對(duì)DevMCU的I/O空間進(jìn)行數(shù)據(jù)讀寫(xiě)來(lái)控制設(shè)備,完成數(shù)據(jù)的寫(xiě)(客戶端傳來(lái)的數(shù)據(jù)直接控制設(shè)備狀態(tài))、讀(把設(shè)備的狀態(tài)通過(guò)網(wǎng)絡(luò)傳給客戶端)。
  
  RAC任務(wù)寫(xiě)服務(wù):寫(xiě)數(shù)據(jù)到DevMCU的I/O口中?蛻舳藦腎nternet傳來(lái)的設(shè)備狀態(tài)碼從InetMCU寫(xiě)到DevMCU,完成對(duì)設(shè)備的控制。
  
  RAC任務(wù)讀服務(wù):把DevMCU的I/O口內(nèi)容進(jìn)行讀和顯示。當(dāng)前設(shè)備的狀態(tài)(用一字節(jié)8位表示,即可同時(shí)控制8個(gè)設(shè)備)從DevMCU傳到InetMCU,然后通過(guò)Internet返回到遠(yuǎn)端的客戶端,用戶就可知道設(shè)備的狀態(tài)。
  
  3實(shí)驗(yàn)結(jié)果
  
  本文的實(shí)驗(yàn)環(huán)境是:通過(guò)計(jì)算機(jī)的RS-232串口把編好的服務(wù)程序(采用匯編語(yǔ)言,這樣可減少程序代碼量,并提高執(zhí)行效率)固化到InetMCU的Flash存儲(chǔ)器里,實(shí)現(xiàn)較完整的服務(wù)器功能,如任務(wù)調(diào)度、線程的支持、文件系統(tǒng)、內(nèi)存管理、網(wǎng)絡(luò)系統(tǒng)(TCP/IP)和I/O管理。斷開(kāi)程序下載線,雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器(DMCUEIAS)和運(yùn)行客戶端程序的PC機(jī)只通過(guò)網(wǎng)線連接。了演示實(shí)驗(yàn)結(jié)果,把8個(gè)設(shè)備用8個(gè)指示燈代替,對(duì)指示燈的控制通過(guò)二進(jìn)制0(燈滅)、1(燈亮)實(shí)現(xiàn),即指示燈只有兩個(gè)狀態(tài),完成客戶遠(yuǎn)端控制和讀取指示燈的狀態(tài)。這個(gè)實(shí)驗(yàn)環(huán)境是對(duì)用戶通過(guò)Internet遠(yuǎn)端控制設(shè)備的模擬。
  
  驗(yàn)證RAC任務(wù)控制類(lèi):首先下載文件fd.hex,它控制指示燈,使8個(gè)小燈按序接連亮,然后滅,下一個(gè)亮,到最后一個(gè)燈,再?gòu)牡?個(gè)燈開(kāi)始,重復(fù)循環(huán)……然后用戶發(fā)create命令,激活任務(wù),實(shí)現(xiàn)實(shí)驗(yàn)?zāi)康摹T谶@里共有4個(gè)任務(wù),所有用戶發(fā)的getfunctionids只有ID0、ID1、ID2、ID3返回,它們分別完成不同的功能。任務(wù)0即RAC任務(wù),完成InetMCU與DevMCU的通信?蛻舳丝梢苑謩e控制這4個(gè)任務(wù),對(duì)不同任務(wù)進(jìn)行不處理(如刪除等)。驗(yàn)證RAC數(shù)據(jù)存取類(lèi):用戶發(fā)“寫(xiě)”0xff命令,則8個(gè)燈全亮(8位,每位控制1個(gè)燈);用戶發(fā)“讀”命令,則從DevMCU返回0xff,指示燈狀態(tài)是全亮。
  
  但為使MCU與非標(biāo)準(zhǔn)設(shè)備有統(tǒng)一的接口,而不用提供專(zhuān)門(mén)的接口是下一步研究的方向。
  
  
  
  

【一種雙MCU結(jié)構(gòu)的嵌入式Internet接入服務(wù)器】相關(guān)文章:

用GPRS modem實(shí)現(xiàn)嵌入式Internet接入系統(tǒng)04-12

MCU應(yīng)用系統(tǒng)與Internet連接的一種新技術(shù)08-06

一種嵌入式WEB服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)08-06

一種MCU時(shí)鐘系統(tǒng)的設(shè)計(jì)08-06

基于嵌入式PsoC的MCU選色控制器設(shè)計(jì)08-06

嵌入式藍(lán)牙PSTN語(yǔ)音接入點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)08-06

CAN總線的嵌入式Web服務(wù)器設(shè)計(jì)08-06

基于Nios軟核的嵌入式Internet系統(tǒng)設(shè)計(jì)08-06

基于Internet的多媒體教學(xué)系統(tǒng)結(jié)構(gòu)08-06