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