楊亞洲 何明華 福州大學物理與信息工程學院, 福州 350108
基于UPSD32xx的串口-以太網轉換器設計
楊亞洲 何明華 福州大學物理與信息工程學院, 福州 350108
本文詳細地說明了基于UPSD32xx控制器與RTL8019AS芯片實現串口和以太網互連的過程,并在此基礎上研究了轉換器參數配置的幾種方法,使得我們可以根據實際需要選擇最佳的配置方法來完成我們各種通信參數的設置工作,從而滿足大眾化的需求。
UPSD32xx;RTL8019AS;串口;以太網;參數配置
UPSD32XX; RTL8019AS; Serial ports; Ethernet; Parameter configuration
由于傳統RS-232串口通信的距離短,并且容易受到惡劣環境的影響,然而TCP/IP網絡是基于復雜環境設計的,具有自動糾錯功能,不受外部環境干擾,隨著其通信流量不斷的提高,使得網絡通信成為數據傳輸的主流方式。串口-以太網轉換器正是基于網絡通信的優點而設計的,通過向其內部添加TCP/IP協議來完成串口和以太網之間數據的雙向傳送。
由于轉換器在使用之前要配置各種參數,但參數的配置方法會受到現場實際環境的影響,因此本文在研究轉換器的設計流程的同時,也系統的比較了各種參數配置方法的優缺點,這樣我們就可以根據實際需要選擇最優的參數配置方法。以下介紹了串口-以太網網關的設計過程,并介紹了轉換器參數配置的幾種方法。

圖1
圖1是整個轉換器的框架圖,該轉換器從串口接收數據并通過網絡發送到上位機監控軟件,同時接收上位機軟件發送過來的數據。通過在轉換器內部添加TCP/ IP協議,就能方便地實現數據的透明傳輸。整個系統主要由控制器系統、串口驅動、網卡驅動和鍵盤電路四部分組成。

圖2
2.1 轉換器最小系統
轉換器最小系統是UPSD32xx控制器工作的基礎,UPSD32xx自帶至少64K的RAM空間和多達2M的FLASH空間[1],所以不需要外擴任何存儲器也能滿足設計要求。它主要由起振電路和JTAG下載電路兩部分組成。起振電路負責給控制器提供正常工作的時鐘,JTAG電路主要完成程序的下載工作。
2.2 串行通信
由于UPSD32xx控制器自帶UART硬件資源,所以只需把控制器的TXD和RXD管腳與MAX232對應管腳相連即可,通過操作UART寄存器來完成波特率、校驗位和數據位設置工作(注意:接收端的波特率必須和控制器設置的波特率一致,否則會出現亂碼現象)[2]。本文所采用的RS-232通信模式是一種異步串行通信模式,它需要事先在通信雙方約定通信速率,約定好通信速率后,通信的“位周期”就可確定下來。異步串行通信沒有同步線,這是它的優點,但缺點是增加了起始位和停止位,降低了通信效率。
2.3 以太網接口硬件設計
本文使用的以太網接口芯片采用RealTek公司的RTL8019AS,RTL8019AS自帶ISA接口,遵循IEEE802.3標準。對網卡內部寄存器的操作,包括對緩沖RAM的讀寫、對RTL8019AS的控制以及對內部ROM的操作。ISA總線共有98個信號線,通過對網卡工作原理的分析,我們可以將接口信號線減至最少,網卡芯片與UPSD32xx控制器的具體連接方式如圖2所示。
對網卡的操作只用到從0x300到0x310的地址空間,因此A19-A5這15根地址線是固定的二進制地址000000000011000,故A7-A5和A10-A19接地,A9-A8接VCC。這樣雖然RTL8019AS有20根地址線,但實際上只用到其中的五根,只需控制器的5根管腳就能訪問網卡的地址空間了,這樣可以節約控制器的管腳數量。
2.4 按鍵接口電路設計
鍵盤電路主要由四位八段數碼管、74HC164和三極管驅動電路組成。74HC164是8位移位寄存器,串行輸入,并行輸出,數據可以通過DSA或DSB任一管腳串行輸入(注:除開穿行輸入腳外,另一管腳必須置為高電平,不能置空,否則影響正常工作)。此外,控制器的P1.3口接74HC164的CLK管腳,提供時鐘脈沖。
3.1 硬件初始化
轉換器工作前必須初始化各種參數,主要包括控制器UPSD32xx的初始化、串口初始化和網卡初始化。控制器的初始化主要是包括內部寄存器(比如UART寄存器和TIME寄存器等)和需要配置的I/O口的初始化;對串口的初始化主要包括串口波特率的設置,數據位停止位的設置以及校驗位的設置;在初始化方面重點和難點在網卡的初始化,它主要包括以下步驟:
(1)芯片復位,讀取物理地址,設置芯片的物理地址和接收緩沖區的起始頁和結束頁的地址。
(2)設定BNRY為指向最后一個已經讀取的頁,并設定CURR指向當前正在寫的頁的下一頁。
(3)初始化TPSR為指向第一個發送緩沖區的頁,地址為0x40,并設置接收配置寄存器為接收緩沖區。
(4)設定發送配置寄存器TCR,啟用CRC自動生成和自動校驗。
(5)設置多播地址,清除所有中斷標志位,禁止所有中斷。
3.2 串口數據的接收和發送
串口數據接收采用中斷方式,可以避免接收數據的時候出現串口緩沖區寄存器數據被以后接收的數據給覆蓋。串口數據的發送采用查詢方式,這樣能減少中斷時間,提高控制器的工作效率。此外,為了避免批量數據傳輸過程中出現數據丟包現象,在串口緩沖區操作方面采用數組和結構體相結合的方式來提高數據傳輸的可靠度,具體代碼如下:

該結構體主要由數據狀態標志、生存時間、數據長度和數據緩沖區長度幾部分組成。uart_to_net標志了緩沖區一次最大能緩存多少幀的實際數據,此值應該根據實際的控制器芯片的存儲容量來設置,如果芯片所帶RAM空間大則可把此值設置相對大一點,這樣有利于數據的緩存。
轉換器使用時需要配置一些必備的參數,比如本地MAC地址、本地IP地址、服務器IP地址、服務器端口號、網關IP、串口波特率、串口校驗位等等,如果直接在程序中設置各種參數,參數配置就被固定化,想要修改參數就必須從新修改程序,編譯后再下載到控制器UPSD32xx中,這樣會造成極大的不便,滿足不了大眾化的需要。因此本文在參數配置方面采用可配置的方式來克服這一弱點,使轉換器模塊在參數配置方面可同時支持串口命令配置,鍵盤按鍵配置以及WEB網頁遠程配置。
4.1 串口配置
只要現場有一臺電腦就可以配合串口調試軟件來完成參數的配置,當串口輸入的參數正確就會返回正確的提示信息,如果串口輸入的參數錯誤則提示出錯信息。在串口配置方面主要的配置命令如下表1。
串口配置方式優點:通過電腦的串行接口配合串口調試軟件可以快速完成配置。
串口配置方式缺點:配置現場必須具備電腦,否則串口配置方式失效。
4.2 按鍵配置
在實際需要中,當轉換器被安裝在偏遠的工業區,可能當地沒有電腦或者電腦出現異常,這種情況下就不能再使用串口來配置所需的參數,我們就可以通過按鍵掃描來配置各種參數,只要有按鍵產生,程序就會做相應的記錄,表明某鍵按下了,然后和數碼管配合把相應的參數顯示出來。轉換器選擇按鍵配置方式時,需約定好數碼管顯示規則,本文規定數碼管的最左邊兩位表示配置的是第幾項參數,比如最左邊兩位數碼管被設置為00,則表示現在正在設置串口波特率,然后在右邊幾位數碼管上面通過按鍵來設置具體的波特率值,設置好后按確認鍵,表示參數設置完成。
按鍵配置方式優點:現場人員不必移動轉換器的位置就可以方便地通過按鍵來實現參數的配置。
按鍵配置方式缺點:如果現場沒有操作人員,就必須安排人員去現場實地配置參數,這樣浪費人力和財力。
4.3 遠程WEB網頁配置
通過在轉換器內部添加HTTP協議來完成WEB訪問功能[6],具體操作流程可分為以下四步:
(1)客戶端與服務器建立鏈接,鏈接建立后,客戶機發送一個請求給服務器。
(2)服務器接到請求后,給予相應的響應信息。
(3)客戶端接收服務器返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機與服務器斷開連接。
在使用轉換器時,只需在遠程電腦上通過 IE瀏覽器輸入轉換器的本地IP地址和80端口號(比如轉換器IP地址為121.11.11.11,只需在IE瀏覽器地址欄輸入http:// 121.11.11.11:80)就可以通過WEB網頁配置來配置參數。WEB界面分為參數信息顯示界面和修改參數信息顯示界面兩部分, 參數信息顯示界面顯示了當前轉換器內部實際的參數、修改參數信息界面主要用于修改需要修改的參數,然后點擊確認鍵參數就修改成功了。具體如下圖3所示:

表1

圖3
修改參數成功后界面如下圖4所示:

圖4
WEB網頁配置方式優點:操作人員可以對轉換器進行遠程配置,不必親臨現場就能完成轉換器參數的配置。
WEB網頁配置方式缺點:對網絡要求高,在網絡不穩定的情況下可能配置不成功。
本文討論了串口以太網轉換器的設計流程,并較詳細的比較了轉換器各種參數配置方法的優缺點,使得該轉換器可以滿足不同用戶的需要,實現大眾化需求。但在實際應用中各種干擾環境的存在以及受到RTL8019AS網卡芯片自身最大網絡傳輸速率的影響,轉換器在批量數據傳輸方面可能存在一些局限性,這方面有待軟硬件進一步完善。
[1]蔣兆遠等.新型高速單片機原理及其應用系統設計[M].北京:中國鐵道出版社,2004:100-152
[2]金之誠.UPSD32XX高速SOC51單片機原理及應用[M].北京:清華大學出版社,2005:155-251
[3]陳傳虎.基于RTL8019AS的串口與以太網接口轉換器的設計[J].電子工程師,2008,34(3):51-53
[4]吳剛,胡曉莉,勒世久.RTL8019AS在嵌入式以太網系統中應用[J].電子測量技術,2005(3):81-82
[5]李建國.串口/以太網網關設計[J].機械研究與應用,2004,17(1):83-84.
[6]王罡,林立志. 基于 Windows 的 TCP/IP 編程. 北京:清華大學出版社,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
楊亞洲(福州大學物理與信息工程學院),主要研究領域為嵌入式系統。