基于DM9000的以太網(wǎng)藏文信息控制平臺(tái)
摘要:基于DM9000的以太網(wǎng)電路,單片機(jī)端移植精簡(jiǎn)TCP/IP協(xié)議棧unIP,實(shí)現(xiàn)簡(jiǎn)易的TCP服務(wù)器。對(duì)該簡(jiǎn)易的TCP服務(wù)器進(jìn)行改造,把藏文網(wǎng)頁(yè)存儲(chǔ)到TCP服務(wù)器中,利用互聯(lián)網(wǎng)直接訪問(wèn)該藏文TCP服務(wù)器,直接控制家用電器。這種小型化的、以單片機(jī)為基礎(chǔ)的TCP服務(wù)器,接入到任何有互聯(lián)網(wǎng)的端口,用戶通過(guò)互聯(lián)網(wǎng)輕松實(shí)現(xiàn)家電控制。該藏文信息平臺(tái)給藏族同胞帶來(lái)較為人性化的信息服務(wù),具有一定的推廣前景。
關(guān)鍵詞:以太網(wǎng);單片機(jī);TCP;IP;服務(wù)器隨著IT技術(shù),特別是網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)給人們的生活帶來(lái)了方便與快捷,這也使得“智能住宅”、“家庭自動(dòng)化”等技術(shù)倍受關(guān)注。盡管目前從事網(wǎng)絡(luò)家電控制方面設(shè)計(jì)人員較多,但以少數(shù)民族語(yǔ)言開(kāi)發(fā)的相關(guān)設(shè)計(jì)卻很少。本方案正是基于藏文信息交流平臺(tái),結(jié)合目前網(wǎng)絡(luò)的發(fā)展趨勢(shì),立足廣大藏族同胞的實(shí)際而提出的,它是以SPCE061A為主控制器,DM9000為以太網(wǎng)MAC控制器,配合一定的外圍電路而實(shí)現(xiàn)的基于TCP/IP協(xié)議棧的簡(jiǎn)易服務(wù)器。當(dāng)用戶通過(guò)瀏覽器訪問(wèn)該服務(wù)器存儲(chǔ)的藏語(yǔ)網(wǎng)頁(yè)時(shí),服務(wù)器會(huì)解析出用戶的相應(yīng)操作指令并將其轉(zhuǎn)化成電信號(hào),借助控制電路對(duì)相應(yīng)家電進(jìn)行控制。
關(guān)鍵詞:以太網(wǎng);單片機(jī);TCP;IP;服務(wù)器
1 系統(tǒng)硬件設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)是一個(gè)簡(jiǎn)單易行的網(wǎng)絡(luò)家電終端設(shè)備,利用互聯(lián)網(wǎng)資源使廣大藏族同胞在工作的同時(shí)可輕松自如地控制家電。基于以上考慮,因此,該終端設(shè)備能夠與因特網(wǎng)相互通信;TCP服務(wù)器必須提供藏文服務(wù),方便藏族同胞操作;終端設(shè)備操作簡(jiǎn)單明了;采用交流220 V供電;具有指示燈和藏語(yǔ)語(yǔ)音播報(bào)等操作指示;考慮到安全性,必須密碼登錄,同時(shí)能夠通過(guò)互聯(lián)網(wǎng)監(jiān)控家電狀態(tài)。
圖l為該系統(tǒng)硬件設(shè)計(jì)組成框圖,主要由SPCE061A主控板、DM9000控制模塊、電源電路、外接電器控制電路、揚(yáng)聲器組成。其中,DM9000以太網(wǎng)控制模塊通過(guò)16位單片機(jī)SPCE061A直接控制,完成相應(yīng)數(shù)據(jù)包的收發(fā)和解析,解析完成后,再由SPCE06iA向外接電器控制電路、揚(yáng)聲器以及指示燈模塊發(fā)出操作指令,進(jìn)而控制家電。
1.1 SPCE061A主控板
高性價(jià)比、16位單片機(jī)SPCE061A可方便靈活實(shí)現(xiàn)語(yǔ)音的錄放系統(tǒng),該器件擁有8路10位精度的A/D轉(zhuǎn)換器,其中l(wèi)路為音頻轉(zhuǎn)換通道,內(nèi)置自動(dòng)增益電路,便于實(shí)現(xiàn)語(yǔ)音錄入:2路10位精度的A/D轉(zhuǎn)換器,只需要外接功放(SPY0030A)即可完成語(yǔ)音播放。另外,該器件還具有易學(xué)易用的效率較高的指令系統(tǒng)和集成開(kāi)發(fā)環(huán)境。在此環(huán)境中,可實(shí)現(xiàn)C語(yǔ)言與凌陽(yáng)匯編語(yǔ)言的互相調(diào)用,并提供語(yǔ)音錄放的庫(kù)函數(shù),只要了解庫(kù)函數(shù)使用,就很容易完成語(yǔ)音錄放。
SPCE061A主要特性如下:16位un’SP微處理器:內(nèi)核工作電壓VDD為3.3~3.6 V(CPU),IO端口工作電壓VDH為VDD~5.5 V;CPU時(shí)鐘為0.32~49.152 MHz:內(nèi)置32 K字Flash;可編程音頻處理;32位通用可編程輸入/輸出端口;14個(gè)中斷源來(lái)自于定時(shí)器A/B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;使用凌陽(yáng)音頻編碼SACM S240方式(2.4 kbit/s),能存儲(chǔ)210 s的語(yǔ)音數(shù)據(jù):鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào)。這里需要注意的是:I/O連線不能接反,采用穩(wěn)壓電源供電,且電壓為5~6 V;流經(jīng)I/O端口的電流不宜過(guò)大,防止I/O端口燒壞。
1.2 以太網(wǎng)模塊
以太網(wǎng)模塊是以太網(wǎng)數(shù)據(jù)包收發(fā)控制模塊,該模塊與控制器配合,除了可完成以太網(wǎng)數(shù)據(jù)包收發(fā)外,還具有4 Mbit的串行Flash存儲(chǔ)器SPR4096,為用戶提供一個(gè)較大容量的存儲(chǔ)空間。在網(wǎng)絡(luò)中可自動(dòng)獲得同設(shè)定MAC地址一致的IP包,完成IP包的收發(fā)。該設(shè)計(jì)方案中以SPCE06lA單片機(jī)為主控制器,用以控制DM9000完成以太網(wǎng)數(shù)據(jù)包收發(fā)以及TCP/IP協(xié)議實(shí)現(xiàn)。DM9000主要特性如下:工作電壓為5 V,與MCU連接模式有ISA 8 bit/ISA 16 bit模式,并支持3.3 V和5 V的I/O控制;支且持EEPROM(93C46),可供存放系統(tǒng)所需信息。圖2給出該以太網(wǎng)模塊的硬件電路連接。
這里需注意的是:SPCE06lA主控板和以太網(wǎng)模塊必須共地,最好采用同一電源供電,該以太網(wǎng)模塊供電電壓必須為5 V,控制I/O端口電壓為3.3 V;SPCE061A主控板和以太網(wǎng)模塊之間用于數(shù)據(jù)傳輸?shù)目刂凭€的長(zhǎng)度應(yīng)不超過(guò)20 cm;供電電流大于200 mA。
1.3 控制電路
外接電器控制電路是實(shí)現(xiàn)單片機(jī)到電器控制的主體,單片機(jī)通過(guò)處理網(wǎng)頁(yè)得到用戶的操作指令,將指令轉(zhuǎn)化為電信號(hào)通過(guò)單片機(jī)的I/O接口送給外接電器控制電路,經(jīng)三極管的兩級(jí)放大,再通過(guò)繼電器完成外接電器與交流220 V電源的接通和斷開(kāi)以及指示燈的點(diǎn)亮和熄滅等操作。圖3為控制電路原理圖。
在設(shè)計(jì)該控制電路時(shí),應(yīng)注意的是:控制電路的繼電器工作電壓為6 V,但實(shí)際供電電壓應(yīng)大于6 V,以保證繼電器更好的工作;指令控制端口的電壓應(yīng)為5 V,如果達(dá)不到,應(yīng)加放大電路放大,以免影響指令執(zhí)行。
1.4 電源及供電轉(zhuǎn)換電路
該電源電路設(shè)計(jì)是將交流220 V通過(guò)變壓器轉(zhuǎn)換成直流9 V,為外接電器控制電路供電,同時(shí)在通過(guò)三端集成穩(wěn)壓器7805將直流12 V轉(zhuǎn)換成5 V,分別給SPCE061A主控板和以太網(wǎng)模塊供電。這樣可使用戶采用最常用的電源,即可為對(duì)該設(shè)備供電。其電路如圖4所示。
圖4中,變壓器的選擇要合適,三端集成穩(wěn)壓器要做好散熱設(shè)備,以免燒壞,導(dǎo)致整個(gè)設(shè)備無(wú)法正常工作。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 服務(wù)器程序
根據(jù)需求分析,軟件設(shè)計(jì)需要實(shí)現(xiàn)在藏文基礎(chǔ)上的TCP服務(wù)器,同時(shí),考慮到人性化,在家電動(dòng)作方面也給出藏文語(yǔ)音提示,其核心是unIP的移植和TCP服務(wù)器的實(shí)現(xiàn)。其中,unIP協(xié)議棧是運(yùn)行在凌陽(yáng)公司unSP系列單片機(jī)上的一個(gè)精簡(jiǎn)TCP/IP協(xié)議棧。協(xié)議棧的初始版本由LwIP移植而來(lái),它不僅僅只是LwIP說(shuō)明的arch目錄下的改動(dòng), core部分也做了不少的修改以適應(yīng)unSP的16 bit的特性到協(xié)議棧中,unSP并不具有8 bit的數(shù)據(jù)類(lèi)型,地址也是以16 bit為單位,因此unIP與LwIP并不兼容,此外還增加DNS Client域名解析客戶端以及分應(yīng)用實(shí)例,例如WEB SERVER等。保持協(xié)議棧的完整性。該設(shè)計(jì)方案需利用unIP協(xié)議棧中提供的運(yùn)輸層TCP協(xié)議,建立應(yīng)用層HTTP協(xié)議,以便完成Web服務(wù)器,使得網(wǎng)頁(yè)和服務(wù)器的數(shù)據(jù)能夠相互通信。
單片機(jī)端TCP服務(wù)器的實(shí)現(xiàn):HTTP協(xié)議是一個(gè)常見(jiàn)應(yīng)用層協(xié)議,它是基于TCP協(xié)議的。在本方案中通過(guò)unIP提供的TCP/IP協(xié)議的一些接口函數(shù)API實(shí)現(xiàn)該應(yīng)用層協(xié)議。實(shí)現(xiàn)整個(gè)服務(wù)器的具體思路為:
1)初始化unIP協(xié)議棧,然后使用DM9000創(chuàng)建一個(gè)網(wǎng)絡(luò)接口,添加至unIP協(xié)議棧內(nèi),并將其設(shè)置為unlP協(xié)議棧的默認(rèn)網(wǎng)絡(luò)接口。
2)申請(qǐng)創(chuàng)建一個(gè)TCP協(xié)議控制塊,并將其配置為監(jiān)聽(tīng)80端口(Web 服務(wù)的默認(rèn)端口),同時(shí)設(shè)置好TCP協(xié)議接收連接的回調(diào)函數(shù)(指用戶將自行定義的函數(shù)的函數(shù)指針通過(guò)某種方式告訴協(xié)議棧,使得協(xié)議棧在適當(dāng)時(shí)候,通過(guò)該函數(shù)指針調(diào)用該函數(shù),從而執(zhí)行用戶操作)。
3)建立循環(huán),在循環(huán)中不斷檢測(cè)DM9000是否有新的數(shù)據(jù)輸入,并將接收到的數(shù)據(jù)包送至協(xié)議棧處理。當(dāng)TCP的3次握手完成后,協(xié)議棧自動(dòng)調(diào)用用戶設(shè)置好的接收連接回調(diào)函數(shù),交由應(yīng)用層處理連接建立后的事宜。
由上述思路,構(gòu)思出基于TCP協(xié)議的服務(wù)器的流程,如圖5所示。
2.2 藏文網(wǎng)頁(yè)部分設(shè)計(jì)
藏文網(wǎng)頁(yè)的實(shí)現(xiàn)有兩種方案:使用圖片形式和標(biāo)準(zhǔn)藏文國(guó)際編碼(UTF-8)。前者是所有的操作系統(tǒng)都可打開(kāi)所做的藏文網(wǎng)頁(yè)。但處理過(guò)程相對(duì)繁瑣;后者采用國(guó)際藏文編碼,網(wǎng)頁(yè)制作簡(jiǎn)單,但所做的網(wǎng)頁(yè)必須在裝有藏文字庫(kù)的系統(tǒng)上顯示。本方案的網(wǎng)頁(yè)需通過(guò)網(wǎng)頁(yè)轉(zhuǎn)換工具將相應(yīng)的網(wǎng)頁(yè)數(shù)據(jù)存儲(chǔ)到單片機(jī)中。由于網(wǎng)頁(yè)轉(zhuǎn)換工具無(wú)法保存圖片信息,故只能選擇后者。
監(jiān)控界面在本方案中以3個(gè)電器(空調(diào)、燈、音樂(lè))為例設(shè)計(jì)的,電器的操作設(shè)計(jì)通過(guò)按鈕控制,電器狀態(tài)的監(jiān)控通過(guò)游走的表顯示,當(dāng)未對(duì)電器操作時(shí)電器的狀態(tài)默認(rèn)為“C”(關(guān)閉),當(dāng)電器被打開(kāi)后狀態(tài)欄的狀態(tài)是“0”(打開(kāi)),其網(wǎng)頁(yè)如圖6所示。
制作好的藏語(yǔ)網(wǎng)頁(yè)文件經(jīng)過(guò)“NetpagetoC”網(wǎng)頁(yè)轉(zhuǎn)換工具將網(wǎng)頁(yè)數(shù)據(jù)轉(zhuǎn)換成C文件添加到相應(yīng)的工程位置中,從而完成網(wǎng)頁(yè)數(shù)據(jù)在SPCE0-6lA與以太網(wǎng)模塊所構(gòu)成的服務(wù)器中的存儲(chǔ)。
3 系統(tǒng)測(cè)試
將以DM9000以太網(wǎng)模組和單片機(jī)組成的TCP服務(wù)器終端直接接到交換機(jī)上,即可通過(guò)互聯(lián)網(wǎng)訪問(wèn)該終端設(shè)備。把TCP服務(wù)器接好后,通過(guò)能夠連接Internet的PC機(jī)即可直接登陸到該TCP服務(wù)器,并且可設(shè)置相應(yīng)的家用電器的狀態(tài)。本方案采用控制接線板供電線路的開(kāi)關(guān)進(jìn)行模擬。登陸TCP服務(wù)器后,點(diǎn)擊家用電器的開(kāi)或關(guān),在網(wǎng)絡(luò)通暢時(shí),家用電器能夠在小于l s的時(shí)間內(nèi)響應(yīng)PC機(jī)的控制指令。該系統(tǒng)設(shè)計(jì)的主控板消耗電流20 mA;太網(wǎng)模組消耗電流為212 mA;接線板控制驅(qū)動(dòng)電路消耗電流40 mA。
4 結(jié)論
經(jīng)測(cè)試各項(xiàng)功能指標(biāo)均達(dá)到系統(tǒng)設(shè)計(jì)要求。本方案結(jié)合西藏地區(qū)人民日益增長(zhǎng)的物質(zhì)文化生活的需要,立足于解決和提升藏族同胞實(shí)際的生活質(zhì)量,在需求方面盡量考慮藏民們需要的同時(shí),具有操作簡(jiǎn)便,界面友好等特點(diǎn)。進(jìn)一步開(kāi)發(fā)該系統(tǒng)設(shè)計(jì),其將具有一定的市場(chǎng)前景。