周 毅,周艷霞,次仁卓瑪,葉 軍
(1.西藏大學(xué) 理學(xué)院,西藏 拉薩 850000;2.西藏大學(xué) 工學(xué)院,西藏 拉薩 850000;3.國(guó)家電網(wǎng)西藏電力有限公司,西藏 拉薩 850000;4.北京航空航天大學(xué) 物理科學(xué)與核能工程學(xué)院,北京 100191)
無(wú)線以太網(wǎng)接口轉(zhuǎn)換技術(shù)及應(yīng)用研究
周 毅1,周艷霞2,次仁卓瑪3,葉 軍4
(1.西藏大學(xué) 理學(xué)院,西藏 拉薩 850000;2.西藏大學(xué) 工學(xué)院,西藏 拉薩 850000;3.國(guó)家電網(wǎng)西藏電力有限公司,西藏 拉薩 850000;4.北京航空航天大學(xué) 物理科學(xué)與核能工程學(xué)院,北京 100191)
無(wú)線以太網(wǎng)技術(shù)具有傳輸?shù)母咝院挽`活性等特點(diǎn),而其接口轉(zhuǎn)換技術(shù)的研究能使傳統(tǒng)測(cè)控儀器借助無(wú)線以太網(wǎng)實(shí)現(xiàn)數(shù)據(jù)傳輸,將數(shù)據(jù)轉(zhuǎn)換器應(yīng)用于韋根代碼模擬器,并結(jié)合該平臺(tái)對(duì)數(shù)據(jù)轉(zhuǎn)換器進(jìn)行測(cè)試。其測(cè)試結(jié)果表明,轉(zhuǎn)換器能確保所轉(zhuǎn)換數(shù)據(jù)的可靠性與及時(shí)性。
無(wú)線以太網(wǎng);WLAN模塊;單片機(jī);C#
將WiFi技術(shù)應(yīng)用于工業(yè)以太網(wǎng)中,可利用現(xiàn)有的無(wú)線網(wǎng)絡(luò),無(wú)需增加新節(jié)點(diǎn),同時(shí)終端網(wǎng)絡(luò)中亦無(wú)需增加,易于組網(wǎng),且在傳輸過(guò)程中比ZigBee和藍(lán)牙等傳輸方式的速度更快,可根據(jù)網(wǎng)絡(luò)狀況自動(dòng)調(diào)整速度,是未來(lái)工業(yè)以太網(wǎng)發(fā)展的一個(gè)重要方向[1]。本研究設(shè)計(jì)了一個(gè)數(shù)據(jù)轉(zhuǎn)換器,將串口數(shù)據(jù)利用TCP/IP協(xié)議經(jīng)無(wú)線以太網(wǎng)傳輸?shù)浇K端設(shè)備,并在終端設(shè)備編寫軟件以進(jìn)行數(shù)據(jù)的初步處理,同時(shí)完成該轉(zhuǎn)換器的調(diào)試工作使其能應(yīng)用于一些需要利用無(wú)線以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)膬x器中。
設(shè)計(jì)采用一個(gè)串口接口的WLAN模塊[2]。此時(shí),需設(shè)計(jì)的轉(zhuǎn)換器包括WLAN模塊、顯示控制模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊。WLAN模塊是系統(tǒng)的核心,其主要功能是將經(jīng)過(guò)打包的串口數(shù)據(jù)通過(guò)WiFi技術(shù)接入到以太網(wǎng)系統(tǒng)中,通過(guò)以太網(wǎng)發(fā)送到上位機(jī)軟件。顯示控制模塊是系統(tǒng)的基本模塊,其主要實(shí)現(xiàn)WLAN模塊配置及控制,以及轉(zhuǎn)發(fā)器的控制。
數(shù)據(jù)轉(zhuǎn)換原理如圖1所示,外部數(shù)據(jù)可通過(guò)外部3種接口連接到單片機(jī),數(shù)據(jù)在單片機(jī)內(nèi)經(jīng)過(guò)打包處理以后經(jīng)WLAN模塊送入無(wú)線以太網(wǎng)。
圖1 數(shù)據(jù)轉(zhuǎn)換器原理圖
所設(shè)計(jì)的無(wú)線數(shù)據(jù)轉(zhuǎn)發(fā)器是具有將數(shù)據(jù)從傳統(tǒng)的接口轉(zhuǎn)化到能利用無(wú)線局域網(wǎng)進(jìn)行傳播的數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換器的硬件設(shè)計(jì)主要包括:WLAN模塊、液晶顯示模塊、觸摸屏及其驅(qū)動(dòng)模塊、單片機(jī)選型及其擴(kuò)展、通信電路設(shè)計(jì)和電源電路設(shè)計(jì)。
1.1 WLAN模塊
數(shù)據(jù)轉(zhuǎn)換器的核心,WLAN模塊型號(hào)為CG-WIFI-1000,其主要特點(diǎn)如下:(1)SOC芯片,性價(jià)比高,質(zhì)量穩(wěn)定,內(nèi)置WiFi協(xié)議棧和串口傳輸協(xié)議,接口信號(hào)5 V、地、RX、TX的4線連接。(2)模塊簡(jiǎn)潔、體積小。(3)用戶接口開發(fā)簡(jiǎn)單,串口驅(qū)動(dòng)。(4)MSC51/PIC/ARM7等8、32位單片機(jī)容易驅(qū)動(dòng),驅(qū)動(dòng)代碼少。
圖2 WLAN模塊
電路設(shè)計(jì)需將單片機(jī)的一個(gè)串行通信口通過(guò)電平轉(zhuǎn)換電路連接到模塊即可,再添加一路電源,即可使模塊正常工作。
1.2 液晶顯示模塊
液晶模塊以ST7920作為控制器的中文圖形液晶顯示模塊,此液晶模塊有多種接口方式與單片機(jī)進(jìn)行通信[3],其具體接口如圖3所示,選用3線串行通信方式,分別連接到單片機(jī),用程序模擬串行通信方式。供電方式采用直接供電,對(duì)于模塊背光,則采用一個(gè)插口進(jìn)行選通,可根據(jù)不同的工作環(huán)境來(lái)決定是否需要背光。
圖3 液晶模塊接口原理圖
1.3 觸摸屏及其驅(qū)動(dòng)模塊
觸摸屏為4線式電阻觸摸屏,其驅(qū)動(dòng)電路為AD7843。觸摸屏正確使用的關(guān)鍵是其驅(qū)動(dòng)電路的正確設(shè)計(jì),雖然驅(qū)動(dòng)芯片已經(jīng)能夠較好地解決其到觸摸屏之間的問(wèn)題,但驅(qū)動(dòng)芯片的接口,以及采用怎樣的設(shè)計(jì)方法對(duì)單片機(jī)程序的執(zhí)行效率有較大影響。因此采用了和液晶顯示模塊電路設(shè)計(jì)相同的方法電路設(shè)計(jì)原理圖。觸摸屏的4個(gè)引腳接到了驅(qū)動(dòng)芯片的相應(yīng)管腳,驅(qū)動(dòng)芯片相應(yīng)管腳接到單片機(jī)上。芯片的大致工作是不斷監(jiān)視觸摸屏,判斷是否壓迫屏幕表面,若有則輸出一個(gè)中斷,當(dāng)單片機(jī)檢測(cè)到有觸摸屏中斷時(shí),則執(zhí)行中斷程序,讀出壓迫點(diǎn)的位置。當(dāng)然單片機(jī)也可用查詢方式對(duì)驅(qū)動(dòng)芯片的中斷口進(jìn)行查詢。從而程序執(zhí)行效率將得到大幅提高。
1.4 單片機(jī)選型
文中所使用的單片機(jī)必須擁有足夠多的資源來(lái)驅(qū)動(dòng)液晶顯示模塊和觸摸屏,并能夠較好地與WLAN模塊兼容,此外還可擴(kuò)展足夠多的傳統(tǒng)接口。
圖4是STC12C5A60S2單片機(jī)的資源圖。對(duì)于數(shù)據(jù)轉(zhuǎn)發(fā)器而言,大量數(shù)據(jù)的緩沖是必不可少的,且WLAN模塊一次最大收發(fā)數(shù)據(jù)可達(dá)1 400 Byte,此外對(duì)于WLAN模塊的控制,以及液晶模塊的顯示,觸摸屏的驅(qū)動(dòng)也需要較多RAM,因此必須外擴(kuò)RAM來(lái)滿足設(shè)計(jì)要求。STC12C5A60S2單片機(jī)有16位地址總線,8位數(shù)據(jù)總線,因此可外擴(kuò)64 kB的數(shù)據(jù)存儲(chǔ)器作為數(shù)據(jù)緩沖器使用。數(shù)據(jù)擴(kuò)展是以單片機(jī)的P0口為地址低8位,以P2口作為地址高8位,其共有16根地址總線,尋址空間為64 kB[4]。同時(shí)本文選用74HC573作為數(shù)據(jù)鎖存器,當(dāng)鎖存使能端為高時(shí),該芯片的鎖存對(duì)于數(shù)據(jù)是透明的;當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。
圖4 STC12C5A60S2單片機(jī)的資源
1.5 通信電路設(shè)計(jì)
STC12C5A60S2單片機(jī)已有2個(gè)串口和一個(gè)SPI接口。在此基礎(chǔ)上,只需再添加一個(gè)8位并口。對(duì)于并口的設(shè)計(jì),選用了8根數(shù)據(jù)線,1根時(shí)鐘線,還有1根數(shù)據(jù)準(zhǔn)備線,提醒接收雙方準(zhǔn)備接收數(shù)據(jù)。對(duì)于SPI(Serial Peripheral Interface,串行外設(shè)接口)接口的設(shè)計(jì),其是一種同步串行接口的總線系統(tǒng),因此需要四線制。單片機(jī)自帶SPI接口可滿足要求。而本文數(shù)據(jù)轉(zhuǎn)換器設(shè)計(jì)的主要的傳統(tǒng)接口是RS-232C標(biāo)準(zhǔn)串行接口。在電氣性能方面,RS-232C使用負(fù)邏輯[5]。邏輯“1”電平是在-5~-15 V 范圍內(nèi),邏輯“0”電平是在+5~+15 V 范圍內(nèi)。其要求RS-232C 接受器必須能識(shí)別低至+3 V 的信號(hào)作為邏輯“0”,識(shí)別高至-3 V 的信號(hào)作為邏輯“1”,即有2 V 的噪聲容限。這與TTL電平的電氣性能有較大差距,因此需要一個(gè)電平轉(zhuǎn)換電路將單片機(jī)的TTL電平信號(hào)進(jìn)行轉(zhuǎn)換。此轉(zhuǎn)換電路本文選擇MAX232芯片,其具有功耗低、高數(shù)據(jù)率、增強(qiáng)型ESD保護(hù)等特性。增強(qiáng)型ESD結(jié)構(gòu)為所有發(fā)送器輸出和接收器輸入提供保護(hù),且采用專有的低壓差發(fā)送輸出級(jí),利用內(nèi)部電荷泵提供RS-232性能。
在實(shí)際設(shè)計(jì)過(guò)程中,不僅模塊本身需要供電,還需考慮到接入轉(zhuǎn)換器上的各模塊供電,以及可為需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換的系統(tǒng)提供一定的穩(wěn)定電壓。因此,在每個(gè)傳統(tǒng)接口上,均增加了一個(gè)電源口。同時(shí)7805芯片也選用了最大輸出電流為1 A的型號(hào)。
系統(tǒng)軟件部分主要實(shí)現(xiàn)對(duì)整個(gè)數(shù)據(jù)轉(zhuǎn)換器的控制,以及完成數(shù)據(jù)轉(zhuǎn)換和轉(zhuǎn)發(fā)的功能。
2.1 WLAN模塊驅(qū)動(dòng)設(shè)計(jì)
WLAN模塊通過(guò)串行接口和單片機(jī)進(jìn)行通信,其數(shù)據(jù)格式由相應(yīng)的接口協(xié)議規(guī)定。接口數(shù)據(jù)分為控制數(shù)據(jù)和用戶數(shù)據(jù)兩種不同類型[6]??刂茢?shù)據(jù)是用戶終端設(shè)備與WLAN模塊之間的控制信息傳輸,其控制命令定義及機(jī)制由用戶接口控制協(xié)議規(guī)定;用戶數(shù)據(jù)是指用戶私有數(shù)據(jù),協(xié)議由用戶自定義,模塊串口接口協(xié)議數(shù)據(jù)格式如圖5所示。
圖5 WLAN模塊數(shù)據(jù)協(xié)議
2.2 液晶模塊驅(qū)動(dòng)設(shè)計(jì)
液晶顯示模塊采用3線串口方式連接,圖6為WLAN模塊串口時(shí)序圖。
圖6 WLAN模塊串口時(shí)序圖
在設(shè)計(jì)完一個(gè)基本的字節(jié)數(shù)據(jù)處理程序以后,還需設(shè)計(jì)多個(gè)函數(shù)來(lái)完成屏幕上數(shù)據(jù)的顯示,如字庫(kù)中的字符、點(diǎn)陣圖形以及固定菜單的顯示。
2.3 觸摸屏及其驅(qū)動(dòng)設(shè)計(jì)
觸摸屏控制器主要通過(guò)串行方式與單片機(jī)進(jìn)行通信,圖7是單片機(jī)處理程序流程圖。
圖7 觸摸屏驅(qū)動(dòng)程序流程圖
2.4 數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì)方案
數(shù)據(jù)轉(zhuǎn)換將傳統(tǒng)的接口數(shù)據(jù)經(jīng)過(guò)打包后通過(guò)WLAN模塊,再經(jīng)無(wú)線局域網(wǎng)傳送到服務(wù)器。但傳統(tǒng)接口數(shù)據(jù)簡(jiǎn)單,沒有進(jìn)行封裝,而經(jīng)過(guò)WLAN模塊的數(shù)據(jù)是經(jīng)打包后的數(shù)據(jù),必須遵循其固有的格式,否則就無(wú)法使數(shù)據(jù)發(fā)送出去,或正確地得到從WLAN模塊接收而來(lái)的數(shù)據(jù)。因此,數(shù)據(jù)轉(zhuǎn)換器的首要功能是進(jìn)行數(shù)據(jù)的打包和拆包處理,將有用的數(shù)據(jù)進(jìn)行提取。
但數(shù)據(jù)在傳輸過(guò)程中,各種可能性均存在,如數(shù)據(jù)連續(xù)傳輸或者間斷傳輸。由于數(shù)據(jù)轉(zhuǎn)換器的處理器是單片機(jī),其同一時(shí)間只能處理一項(xiàng)任務(wù),因此對(duì)于數(shù)據(jù)連續(xù)傳輸狀態(tài),其在接收數(shù)據(jù)時(shí)不能進(jìn)行數(shù)據(jù)轉(zhuǎn)換和轉(zhuǎn)發(fā),這樣就會(huì)丟失數(shù)據(jù),甚至造成數(shù)據(jù)轉(zhuǎn)換器的死機(jī)。因此必須設(shè)計(jì)一個(gè)數(shù)據(jù)的緩存,使數(shù)據(jù)在接收后先進(jìn)行緩存,等有空隙時(shí)間,再將數(shù)據(jù)進(jìn)行打包拆包,然后轉(zhuǎn)發(fā)。
綜上,數(shù)據(jù)轉(zhuǎn)換器數(shù)據(jù)轉(zhuǎn)發(fā)部分程序的設(shè)計(jì)應(yīng)該是由傳統(tǒng)接口數(shù)據(jù)處理、數(shù)據(jù)緩沖、數(shù)據(jù)打包以及WLAN模塊數(shù)據(jù)發(fā)送組成。同時(shí)程序也分成數(shù)據(jù)發(fā)送和接收兩部分,并且注意數(shù)據(jù)的安全性。
圖8是傳統(tǒng)接口數(shù)據(jù)到WLAN模塊數(shù)據(jù)的程序流程圖。該程序用到了4個(gè)地址指針。其中兩個(gè)是指示整個(gè)緩沖區(qū)數(shù)據(jù)地址,保證數(shù)據(jù)不會(huì)被漏發(fā)或錯(cuò)發(fā),一個(gè)是傳統(tǒng)接口數(shù)據(jù)存儲(chǔ)到緩沖區(qū)的地址,使緩沖區(qū)數(shù)據(jù)有一個(gè)連貫性,最后一個(gè)是向WLAN模塊發(fā)送打包數(shù)據(jù)的數(shù)據(jù)地址。即4個(gè)數(shù)據(jù)地址指針,指出了數(shù)據(jù)緩沖區(qū)的大小以及接收數(shù)據(jù)位置和發(fā)送數(shù)據(jù)位置,使整個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程,不會(huì)發(fā)生錯(cuò)誤。首先傳統(tǒng)接口接收數(shù)據(jù)存儲(chǔ)到緩沖區(qū),因?yàn)閭鹘y(tǒng)接口的速率不快,以串口為例,通常為9 600 bit·s-1,接收一個(gè)數(shù)據(jù)后,根據(jù)單片機(jī)的運(yùn)行速率,有足夠的時(shí)間將數(shù)據(jù)轉(zhuǎn)存到緩沖區(qū),在接收完數(shù)據(jù)以后則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。如果數(shù)據(jù)連續(xù)發(fā)送,單片機(jī)沒有時(shí)間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),那么數(shù)據(jù)就將一直轉(zhuǎn)存到緩沖區(qū),等待數(shù)據(jù)發(fā)送結(jié)束,一旦結(jié)束,立即將緩沖數(shù)據(jù)全部轉(zhuǎn)發(fā)。這樣在保證數(shù)據(jù)安全性的前提下,也保證了數(shù)據(jù)的轉(zhuǎn)發(fā)效率。
圖8 傳統(tǒng)接口數(shù)據(jù)到WLAN模塊數(shù)據(jù)流程圖
但從WLAN模塊到傳統(tǒng)接口的程序設(shè)計(jì)則簡(jiǎn)單得多。因WLAN每發(fā)送一次數(shù)據(jù)都有一定的間隔時(shí)間,單片機(jī)可以完成數(shù)據(jù)的轉(zhuǎn)發(fā)。因此,這一轉(zhuǎn)發(fā)過(guò)程中,發(fā)生數(shù)據(jù)丟失的可能性較小,無(wú)需設(shè)計(jì)復(fù)雜的轉(zhuǎn)發(fā)機(jī)制,只需設(shè)置標(biāo)志位,在WLAN接收成功以后,將數(shù)據(jù)拆包進(jìn)行轉(zhuǎn)發(fā)即可。
系統(tǒng)應(yīng)用實(shí)例的名稱是韋根代碼模擬器,其主要功能是上位機(jī)程序產(chǎn)生需模擬的韋根碼的數(shù)據(jù),經(jīng)無(wú)線以太網(wǎng)發(fā)送到數(shù)據(jù)轉(zhuǎn)換器,之后轉(zhuǎn)發(fā)到韋根代碼生成器[7],韋根代碼生成器就會(huì)根據(jù)上位機(jī)發(fā)送來(lái)的數(shù)據(jù)生成韋根代碼脈沖,讀卡器讀取韋根代碼的脈沖,將其讀到的數(shù)據(jù)通過(guò)串口發(fā)送到上位機(jī)。應(yīng)用Visual Studio2008開發(fā)平臺(tái)[8],開發(fā)出的上位機(jī)程序界面如圖10所示,其主要功能是產(chǎn)生所需要模擬的韋根代碼,可根據(jù)需要發(fā)送不同格式和長(zhǎng)度的卡號(hào),并附帶密碼發(fā)送。韋根代碼生成器收到上位機(jī)的指令數(shù)據(jù),并根據(jù)這些數(shù)據(jù),按照設(shè)定到的韋根碼的波形的峰值時(shí)間和間隔時(shí)間產(chǎn)生脈沖,供讀卡器讀取韋根碼。同時(shí)韋根代碼生成器還附帶外部狀態(tài)接入端口,可以讀取外部報(bào)警和燈的狀態(tài)等,因此在設(shè)計(jì)上位機(jī)程序和單片機(jī)程序時(shí),加入了狀態(tài)讀取和狀態(tài)顯示的功能。上位機(jī)軟件也集成了韋根代碼生成器的設(shè)置功能,可根據(jù)需要改變韋根脈沖的脈寬和間隔,以模擬不同類型的發(fā)卡器。
經(jīng)實(shí)驗(yàn)證明,數(shù)據(jù)轉(zhuǎn)換器在長(zhǎng)時(shí)間工作條件下,能保證所轉(zhuǎn)換數(shù)據(jù)的可靠性以及及時(shí)性,符合設(shè)計(jì)要求。
圖9 韋根代碼模擬系統(tǒng)示意圖
圖10 上位機(jī)程序界面
本文回顧了現(xiàn)今主要流行的幾種無(wú)線傳輸技術(shù),并比較了其優(yōu)劣,提出了以太網(wǎng)無(wú)線接口轉(zhuǎn)換技術(shù),闡述了設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換器的目的和意義。而以太網(wǎng)無(wú)線接口轉(zhuǎn)換技術(shù),由于其覆蓋范圍廣、傳輸速率快和方便組網(wǎng)的特點(diǎn),將在工業(yè)領(lǐng)域被廣泛應(yīng)用。
[1] 孫榮,徐江華,邵惠鶴.基于嵌入式模塊工業(yè)以太網(wǎng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2003(2):70-71,278.
[2] 田英峰.基于CPCI的8串口通訊板的設(shè)計(jì)與實(shí)現(xiàn)[J].華章,2012(20):315-316.
[3] 陳信,利用可編程接口技術(shù)和8031單片機(jī)實(shí)現(xiàn)LCM顯示的研究[J].大眾科技,2005(8):45-50.
[4] 曹國(guó)華,程繼紅.單片機(jī)系統(tǒng)中大容量數(shù)據(jù)存儲(chǔ)器的系統(tǒng)擴(kuò)展[J].電子工程師,2002(12):10-11.
[5] 王蘭英.基于USB接口的RS232轉(zhuǎn)換器的設(shè)計(jì)[J].網(wǎng)絡(luò)財(cái)富,2009(8):184-185.
[6] 周學(xué)義,盧煒.HDLC協(xié)議處理芯片MT8952B在數(shù)字程控交換機(jī)中的應(yīng)用[J].電子設(shè)計(jì)應(yīng)用,2003(4):80-83.
[7] 宋微,李亞芬.Web應(yīng)用代碼生成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2009(22):63-67.
[8] James Foxall.Visual C#2008入門經(jīng)典[M].張劼,譯.北京:人民郵電出版社,2009.
Research on Wireless Ethernet Interface Conversion and its Application
ZHOU Yi1,ZHOU Yanxia2,CIREN Zhouma3,YE Jun4
(1.School of Science,Tibet University,Lhasa 850000,China;2.School of Engineering,Tibet University,Lhasa 850000,China;3.State Grid Tibet Electric Power Co.,Lhasa 850000,China;4.School of Physics and Nuclear Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)
Wireless Ethernet technology possesses the characteristics of efficiency and flexibility in transmission,and the study if its interface conversion technology could enable traditional measurement and control instruments to use wireless Ethernet for data transmission.Data converters have been applied to Wiegand code simulators and tested.The results show that the converter could ensure the reliability and timeliness of the converted data.
wireless ethernet;WLAN module;MCU;C#
2014- 10- 07
西藏自治區(qū)高校教師專業(yè)實(shí)踐實(shí)戰(zhàn)能力提高計(jì)劃基金資助項(xiàng)目(201310694014)
周毅(1988—),男,助理工程師。研究方向:電子線路。E-mail:986766511@qq.com
10.16180/j.cnki.issn1007-7820.2015.04.032
TN926;TP393.11
A
1007-7820(2015)04-120-05