楊亞洲 何明華 福州大學(xué)物理與信息工程學(xué)院, 福州 350108
基于UPSD32xx的串口-以太網(wǎng)轉(zhuǎn)換器設(shè)計
楊亞洲 何明華 福州大學(xué)物理與信息工程學(xué)院, 福州 350108
本文詳細(xì)地說明了基于UPSD32xx控制器與RTL8019AS芯片實現(xiàn)串口和以太網(wǎng)互連的過程,并在此基礎(chǔ)上研究了轉(zhuǎn)換器參數(shù)配置的幾種方法,使得我們可以根據(jù)實際需要選擇最佳的配置方法來完成我們各種通信參數(shù)的設(shè)置工作,從而滿足大眾化的需求。
UPSD32xx;RTL8019AS;串口;以太網(wǎng);參數(shù)配置
UPSD32XX; RTL8019AS; Serial ports; Ethernet; Parameter configuration
由于傳統(tǒng)RS-232串口通信的距離短,并且容易受到惡劣環(huán)境的影響,然而TCP/IP網(wǎng)絡(luò)是基于復(fù)雜環(huán)境設(shè)計的,具有自動糾錯功能,不受外部環(huán)境干擾,隨著其通信流量不斷的提高,使得網(wǎng)絡(luò)通信成為數(shù)據(jù)傳輸?shù)闹髁鞣绞?。串?以太網(wǎng)轉(zhuǎn)換器正是基于網(wǎng)絡(luò)通信的優(yōu)點而設(shè)計的,通過向其內(nèi)部添加TCP/IP協(xié)議來完成串口和以太網(wǎng)之間數(shù)據(jù)的雙向傳送。
由于轉(zhuǎn)換器在使用之前要配置各種參數(shù),但參數(shù)的配置方法會受到現(xiàn)場實際環(huán)境的影響,因此本文在研究轉(zhuǎn)換器的設(shè)計流程的同時,也系統(tǒng)的比較了各種參數(shù)配置方法的優(yōu)缺點,這樣我們就可以根據(jù)實際需要選擇最優(yōu)的參數(shù)配置方法。以下介紹了串口-以太網(wǎng)網(wǎng)關(guān)的設(shè)計過程,并介紹了轉(zhuǎn)換器參數(shù)配置的幾種方法。
圖1
圖1是整個轉(zhuǎn)換器的框架圖,該轉(zhuǎn)換器從串口接收數(shù)據(jù)并通過網(wǎng)絡(luò)發(fā)送到上位機(jī)監(jiān)控軟件,同時接收上位機(jī)軟件發(fā)送過來的數(shù)據(jù)。通過在轉(zhuǎn)換器內(nèi)部添加TCP/ IP協(xié)議,就能方便地實現(xiàn)數(shù)據(jù)的透明傳輸。整個系統(tǒng)主要由控制器系統(tǒng)、串口驅(qū)動、網(wǎng)卡驅(qū)動和鍵盤電路四部分組成。
圖2
2.1 轉(zhuǎn)換器最小系統(tǒng)
轉(zhuǎn)換器最小系統(tǒng)是UPSD32xx控制器工作的基礎(chǔ),UPSD32xx自帶至少64K的RAM空間和多達(dá)2M的FLASH空間[1],所以不需要外擴(kuò)任何存儲器也能滿足設(shè)計要求。它主要由起振電路和JTAG下載電路兩部分組成。起振電路負(fù)責(zé)給控制器提供正常工作的時鐘,JTAG電路主要完成程序的下載工作。
2.2 串行通信
由于UPSD32xx控制器自帶UART硬件資源,所以只需把控制器的TXD和RXD管腳與MAX232對應(yīng)管腳相連即可,通過操作UART寄存器來完成波特率、校驗位和數(shù)據(jù)位設(shè)置工作(注意:接收端的波特率必須和控制器設(shè)置的波特率一致,否則會出現(xiàn)亂碼現(xiàn)象)[2]。本文所采用的RS-232通信模式是一種異步串行通信模式,它需要事先在通信雙方約定通信速率,約定好通信速率后,通信的“位周期”就可確定下來。異步串行通信沒有同步線,這是它的優(yōu)點,但缺點是增加了起始位和停止位,降低了通信效率。
2.3 以太網(wǎng)接口硬件設(shè)計
本文使用的以太網(wǎng)接口芯片采用RealTek公司的RTL8019AS,RTL8019AS自帶ISA接口,遵循IEEE802.3標(biāo)準(zhǔn)。對網(wǎng)卡內(nèi)部寄存器的操作,包括對緩沖RAM的讀寫、對RTL8019AS的控制以及對內(nèi)部ROM的操作。ISA總線共有98個信號線,通過對網(wǎng)卡工作原理的分析,我們可以將接口信號線減至最少,網(wǎng)卡芯片與UPSD32xx控制器的具體連接方式如圖2所示。
對網(wǎng)卡的操作只用到從0x300到0x310的地址空間,因此A19-A5這15根地址線是固定的二進(jìn)制地址000000000011000,故A7-A5和A10-A19接地,A9-A8接VCC。這樣雖然RTL8019AS有20根地址線,但實際上只用到其中的五根,只需控制器的5根管腳就能訪問網(wǎng)卡的地址空間了,這樣可以節(jié)約控制器的管腳數(shù)量。
2.4 按鍵接口電路設(shè)計
鍵盤電路主要由四位八段數(shù)碼管、74HC164和三極管驅(qū)動電路組成。74HC164是8位移位寄存器,串行輸入,并行輸出,數(shù)據(jù)可以通過DSA或DSB任一管腳串行輸入(注:除開穿行輸入腳外,另一管腳必須置為高電平,不能置空,否則影響正常工作)。此外,控制器的P1.3口接74HC164的CLK管腳,提供時鐘脈沖。
3.1 硬件初始化
轉(zhuǎn)換器工作前必須初始化各種參數(shù),主要包括控制器UPSD32xx的初始化、串口初始化和網(wǎng)卡初始化。控制器的初始化主要是包括內(nèi)部寄存器(比如UART寄存器和TIME寄存器等)和需要配置的I/O口的初始化;對串口的初始化主要包括串口波特率的設(shè)置,數(shù)據(jù)位停止位的設(shè)置以及校驗位的設(shè)置;在初始化方面重點和難點在網(wǎng)卡的初始化,它主要包括以下步驟:
(1)芯片復(fù)位,讀取物理地址,設(shè)置芯片的物理地址和接收緩沖區(qū)的起始頁和結(jié)束頁的地址。
(2)設(shè)定BNRY為指向最后一個已經(jīng)讀取的頁,并設(shè)定CURR指向當(dāng)前正在寫的頁的下一頁。
(3)初始化TPSR為指向第一個發(fā)送緩沖區(qū)的頁,地址為0x40,并設(shè)置接收配置寄存器為接收緩沖區(qū)。
(4)設(shè)定發(fā)送配置寄存器TCR,啟用CRC自動生成和自動校驗。
(5)設(shè)置多播地址,清除所有中斷標(biāo)志位,禁止所有中斷。
3.2 串口數(shù)據(jù)的接收和發(fā)送
串口數(shù)據(jù)接收采用中斷方式,可以避免接收數(shù)據(jù)的時候出現(xiàn)串口緩沖區(qū)寄存器數(shù)據(jù)被以后接收的數(shù)據(jù)給覆蓋。串口數(shù)據(jù)的發(fā)送采用查詢方式,這樣能減少中斷時間,提高控制器的工作效率。此外,為了避免批量數(shù)據(jù)傳輸過程中出現(xiàn)數(shù)據(jù)丟包現(xiàn)象,在串口緩沖區(qū)操作方面采用數(shù)組和結(jié)構(gòu)體相結(jié)合的方式來提高數(shù)據(jù)傳輸?shù)目煽慷龋唧w代碼如下:
該結(jié)構(gòu)體主要由數(shù)據(jù)狀態(tài)標(biāo)志、生存時間、數(shù)據(jù)長度和數(shù)據(jù)緩沖區(qū)長度幾部分組成。uart_to_net標(biāo)志了緩沖區(qū)一次最大能緩存多少幀的實際數(shù)據(jù),此值應(yīng)該根據(jù)實際的控制器芯片的存儲容量來設(shè)置,如果芯片所帶RAM空間大則可把此值設(shè)置相對大一點,這樣有利于數(shù)據(jù)的緩存。
轉(zhuǎn)換器使用時需要配置一些必備的參數(shù),比如本地MAC地址、本地IP地址、服務(wù)器IP地址、服務(wù)器端口號、網(wǎng)關(guān)IP、串口波特率、串口校驗位等等,如果直接在程序中設(shè)置各種參數(shù),參數(shù)配置就被固定化,想要修改參數(shù)就必須從新修改程序,編譯后再下載到控制器UPSD32xx中,這樣會造成極大的不便,滿足不了大眾化的需要。因此本文在參數(shù)配置方面采用可配置的方式來克服這一弱點,使轉(zhuǎn)換器模塊在參數(shù)配置方面可同時支持串口命令配置,鍵盤按鍵配置以及WEB網(wǎng)頁遠(yuǎn)程配置。
4.1 串口配置
只要現(xiàn)場有一臺電腦就可以配合串口調(diào)試軟件來完成參數(shù)的配置,當(dāng)串口輸入的參數(shù)正確就會返回正確的提示信息,如果串口輸入的參數(shù)錯誤則提示出錯信息。在串口配置方面主要的配置命令如下表1。
串口配置方式優(yōu)點:通過電腦的串行接口配合串口調(diào)試軟件可以快速完成配置。
串口配置方式缺點:配置現(xiàn)場必須具備電腦,否則串口配置方式失效。
4.2 按鍵配置
在實際需要中,當(dāng)轉(zhuǎn)換器被安裝在偏遠(yuǎn)的工業(yè)區(qū),可能當(dāng)?shù)貨]有電腦或者電腦出現(xiàn)異常,這種情況下就不能再使用串口來配置所需的參數(shù),我們就可以通過按鍵掃描來配置各種參數(shù),只要有按鍵產(chǎn)生,程序就會做相應(yīng)的記錄,表明某鍵按下了,然后和數(shù)碼管配合把相應(yīng)的參數(shù)顯示出來。轉(zhuǎn)換器選擇按鍵配置方式時,需約定好數(shù)碼管顯示規(guī)則,本文規(guī)定數(shù)碼管的最左邊兩位表示配置的是第幾項參數(shù),比如最左邊兩位數(shù)碼管被設(shè)置為00,則表示現(xiàn)在正在設(shè)置串口波特率,然后在右邊幾位數(shù)碼管上面通過按鍵來設(shè)置具體的波特率值,設(shè)置好后按確認(rèn)鍵,表示參數(shù)設(shè)置完成。
按鍵配置方式優(yōu)點:現(xiàn)場人員不必移動轉(zhuǎn)換器的位置就可以方便地通過按鍵來實現(xiàn)參數(shù)的配置。
按鍵配置方式缺點:如果現(xiàn)場沒有操作人員,就必須安排人員去現(xiàn)場實地配置參數(shù),這樣浪費(fèi)人力和財力。
4.3 遠(yuǎn)程WEB網(wǎng)頁配置
通過在轉(zhuǎn)換器內(nèi)部添加HTTP協(xié)議來完成WEB訪問功能[6],具體操作流程可分為以下四步:
(1)客戶端與服務(wù)器建立鏈接,鏈接建立后,客戶機(jī)發(fā)送一個請求給服務(wù)器。
(2)服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息。
(3)客戶端接收服務(wù)器返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。
在使用轉(zhuǎn)換器時,只需在遠(yuǎn)程電腦上通過 IE瀏覽器輸入轉(zhuǎn)換器的本地IP地址和80端口號(比如轉(zhuǎn)換器IP地址為121.11.11.11,只需在IE瀏覽器地址欄輸入http:// 121.11.11.11:80)就可以通過WEB網(wǎng)頁配置來配置參數(shù)。WEB界面分為參數(shù)信息顯示界面和修改參數(shù)信息顯示界面兩部分, 參數(shù)信息顯示界面顯示了當(dāng)前轉(zhuǎn)換器內(nèi)部實際的參數(shù)、修改參數(shù)信息界面主要用于修改需要修改的參數(shù),然后點擊確認(rèn)鍵參數(shù)就修改成功了。具體如下圖3所示:
表1
圖3
修改參數(shù)成功后界面如下圖4所示:
圖4
WEB網(wǎng)頁配置方式優(yōu)點:操作人員可以對轉(zhuǎn)換器進(jìn)行遠(yuǎn)程配置,不必親臨現(xiàn)場就能完成轉(zhuǎn)換器參數(shù)的配置。
WEB網(wǎng)頁配置方式缺點:對網(wǎng)絡(luò)要求高,在網(wǎng)絡(luò)不穩(wěn)定的情況下可能配置不成功。
本文討論了串口以太網(wǎng)轉(zhuǎn)換器的設(shè)計流程,并較詳細(xì)的比較了轉(zhuǎn)換器各種參數(shù)配置方法的優(yōu)缺點,使得該轉(zhuǎn)換器可以滿足不同用戶的需要,實現(xiàn)大眾化需求。但在實際應(yīng)用中各種干擾環(huán)境的存在以及受到RTL8019AS網(wǎng)卡芯片自身最大網(wǎng)絡(luò)傳輸速率的影響,轉(zhuǎn)換器在批量數(shù)據(jù)傳輸方面可能存在一些局限性,這方面有待軟硬件進(jìn)一步完善。
[1]蔣兆遠(yuǎn)等.新型高速單片機(jī)原理及其應(yīng)用系統(tǒng)設(shè)計[M].北京:中國鐵道出版社,2004:100-152
[2]金之誠.UPSD32XX高速SOC51單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2005:155-251
[3]陳傳虎.基于RTL8019AS的串口與以太網(wǎng)接口轉(zhuǎn)換器的設(shè)計[J].電子工程師,2008,34(3):51-53
[4]吳剛,胡曉莉,勒世久.RTL8019AS在嵌入式以太網(wǎng)系統(tǒng)中應(yīng)用[J].電子測量技術(shù),2005(3):81-82
[5]李建國.串口/以太網(wǎng)網(wǎng)關(guān)設(shè)計[J].機(jī)械研究與應(yīng)用,2004,17(1):83-84.
[6]王罡,林立志. 基于 Windows 的 TCP/IP 編程. 北京:清華大學(xué)出版社,2002.3
Design of the Convertor for Serial Port to Ethernet Based on UPSD32xx
Yang yazhou He minghua Fuzhou univercity., College of Physics and information Engineering, fuzhou 118002
This article illustrates the interconnection process of the serial port to ethernet based on UPSD32xx and TRL8019AS,it also research the ways of configurating the wanted parameters for the convertor,so wo can choose the appropriate configuration mode to complete our various communication parameters ,thus it can meet popular demand.
TB51
A
10.3969/j.issn.1001-8972.2012.07.065
楊亞洲(福州大學(xué)物理與信息工程學(xué)院),主要研究領(lǐng)域為嵌入式系統(tǒng)。