袁航空,張勁松,呂 露
(1.武漢郵電科學研究院,湖北武漢 430074;2.世紀民生科技股份有限公司武漢群茂科技有限公司,湖北武漢 430074;3.烽火科技集團武漢虹信通信科技有限公司,湖北武漢 430074)
基于CS6209的串口服務器/交換機設計研究
袁航空1,2,張勁松2,呂 露1,3
(1.武漢郵電科學研究院,湖北武漢 430074;2.世紀民生科技股份有限公司武漢群茂科技有限公司,湖北武漢 430074;3.烽火科技集團武漢虹信通信科技有限公司,湖北武漢 430074)
首先分析了串口服務器的構成,然后提出了一種將串行通信設備連入管理網絡的解決方案,該方案MCU摒棄了常見的ARM類通用嵌入式芯片而采用世紀民生C8051核的CS6209,它集成了以太網接口(MAC和PHY),是一種超低成本串口服務器解決方案。隨后,介紹了該方案TCP/IP協議棧的結構和系統的軟件架構,以及該方案的硬件設計和驗證,最后對其實用性和易用性做了總結和說明。
串口服務器;CS6209;TCP/IP;網絡管理
【本文獻信息】袁航空,張勁松,呂露.基于CS6209的串口服務器/交換機設計研究[J].電視技術,2013,37(3).
隨著網絡通信和智能電子業的飛速發展,各種智能化電子設備逐漸增多,高速通信成為主流。但是在工業控制、智能家電等行業中很多的設備依然還是通過RS-232/RS-485與其他設備通信,很多情況下,串口通信是它們與外部世界通信的唯一方式,主要原因是串行口具有易用性和可靠性,在對數據速率要求不高時,依然能夠提供足夠高的通信能力。然而新的應用需要TCP/IP的連通性和以太網的通信能力,昂貴的成本和耗時設計常常阻止了開發者前進的步伐。本設計以實際問題出發,通過將串口轉換成以太網口,實現收發數據格式的轉換,完成設備遠程管理、本地串口之間以及本地串口與遠端串口之間的數據交換,最終實現串行設備強大的通信能力。
本方案的設計初衷是在不改變原有串行設備結構的基礎上,僅將串行接口進行轉換,將串行口的數據轉換成能在以太網上傳輸的TCP/IP協議網絡數據,并提供管理功能,可以進行串行接口交換。
本地主機通過本地網絡、遠端主機通過以太網發送網絡數據包給指定的串行設備,網絡數據包經過串口服務器進行解析,串行設備識別到管理端發來的管理信息,回傳相應的設備狀態信息或者管理端請求的數據。串行設備也可以不定期地向遠端管理主機發送自身設備的實時信息,實現實時監控。本方案的應用拓撲圖如圖1所示。
在一個串口服務器上的幾個串行設備也可以在串口服務器經過相應配置后進行信息的交互,即在管理端將要通信的串口配置成連接狀態,完成交換功能。
1.2.1 登錄管理
用戶可以通過不同用戶名登錄系統,設備參數的配置和命令下達的前提是用戶有管理權限,即成功登錄設備的HTTP Server,登錄后還可以新建用戶和修改密碼。
1.2.2 通過網頁查看和配置串口服務器
用戶能夠通過Web瀏覽器對連接在一個以太網上所有的串行設備進行系統參數和網絡參數的配置和查詢,而不用用戶在上位機上安裝任何配套管理軟件。

圖1 應用拓撲圖
1.2.3 系統配置管理
用戶可以修改設備參數,包括串口波特率(2 400~115 200 bit/s)和工作方式(TCP Server模式、TCP Client模式、UDP模式)、工作端口、系統獲取IP地址的方式、網絡參數以及DDNS相關信息等。
1.2.4 動態域名
為了給Internet用戶提供更方便的訪問,串口服務器內實現了DDNS的客戶端,并可以由用戶自己指定DDNS的Server,用戶只需要在任何一個提供DDNS的Server處申請一個動態域名,然后系統配置管理頁面對DDNS部分做相應的設置,便可以通過域名來訪問串口服務器。這樣,即使該串口服務的IP地址經常發生變化,對用戶來說也毫無影響。
CS6209是快速的與8051兼容的高度集成的網絡微控制器,其硬件結構如圖2所示。通常8051單片機中的12個時鐘周期可形成一個機器周期,而在CS6209中一個機器周期只需要1個時鐘周期,因此在相同的時鐘周期下,CS6209的處理速度是51系列單片機的12倍,而且CS6209比標準的8位微控制器提供了更多的資源。

圖2 CS6209硬件架構示意圖
CS6209集成了10/100 Mbit/s以太網接口(包括MAC/PHY),以前網絡接入問題需要單片機和MAC/PHY兩個芯片才能解決,應用CS6209的高度集成性,既簡化了電路又降低了成本。硬件設計框圖如圖3所示,CS6209片上外設有兩個串口,能滿足兩口的串口服務器需求。

圖3 硬件設計框圖
串口服務器的目的就是要實現串口設備的連網能力,既要將串行通信數據在網絡上傳輸,又要確保數據傳輸的透明性,所以網絡協議的使用必不可少。本設計根據實際需要設計了精簡型的協議棧,下面介紹協議棧的結構和工作原理。
CS6209的協議棧結構如圖4所示,該協議棧支持主流應用協議。

圖4 CS6209 TCP/IP協議棧結構
物理層:支持片上Ethernet接口和RS-232接口。
Ethernet:通過CS6209片上的以太網硬件接口,支持IP數據報的傳輸協議。
PPP:點到點協議能夠支持通過串口傳輸IP數據報。
網絡層:支持網際協議(IPv4)。
ARP:當知曉遠端主機的IP地址的情況下,以太網的節點能夠確定遠端主機的MAC地址。
ICMP:完成網絡連通性的測試,主要用作調試。
傳輸層:支持TCP和UDP。
應用層:支持以下應用協議。
HTTP:主要用于建立Web Server,僅支持HTTP Server。
SMTP:支持郵件發送,僅支持SMTP Client。
POP3:支持郵件接收,僅支持POP3 Client。
FTP:支持網絡和主機之間的發送和接收文件操作,僅支持FTP Client。
在CS6209中,分為數據通道(COM1默認端口號8001、COM2默認端口號8002)和管理通道(端口號9090),其中數據通道主要是本地串口之間數據通信或者通過網管配置后經網絡口透明轉發至遠端,網管通過HTTP Server進行參數配置。
這里通過兩個串行設備的通信實例說明系統工作原理。
首先系統啟動,并初始化系統配置、網絡配置和串口驅動,然后進入消息處理的大循環,其中包括網絡收發和串口收發,各種操作均在大循環中完成。本設備因為沒有操作系統的支持,在TCP和UDP的操作上可能會更復雜,現以UDP的工作方式為例,每個串口默認分配了一個端口號,當本地串口和遠端串口通信時,首次通信必須組建一個ARP請求發送到遠端獲取MAC地址,遠端接收到請求后將IP信息組包回復,本地接收到回復,保存到NODE定義的desnode結構體中,NODE定義如下:

當本地串口要向遠端發送數據時,系統將串口buffer中的數據拷貝到UDP數據域中,UDP包定義如下:

IPHDR包含目的IP和源IP等IP信息,用于IP層的交互;UDPHDR則包含目的端口號和源端口號等Socket信息,用于Socket層交互。UDP包中的數據域經過IP層后在數據鏈路層進行封裝成幀,發往物理層的發送緩沖區,最終由物理層以比特流的形式,發往目的MAC的主機。
這些比特流經過以太網到達目的主機,并經過相同的逆過程后,最終以端口號的形式映射到指定串口,數據從而轉移進該串口的發送緩沖區,發往與該串口相連的串行設備,完成端到端的通信。具體的數據處理過程如圖5所示,圖中箭頭所指是數據的流向。

圖5 數據流向圖
CS6209 HTTP Server是基于TCP協議的應用,它提供了相應的回調函數處理80端口的連接請求,這里通過配置串口波特率的實例說明HTTP Server的工作過程:
1)當遠端客戶端(瀏覽器)發送一個修改波特率連接請求時,格式為
GET/application.cgi?BR=6...
2)HTTP Server收到GET請求時,調用回調函數,執行

提取請求的網頁,調用CGI(Common Gateway Interface)程序去替換EGI標簽(BR),并將替換后的網頁發送給客戶端(瀏覽器),刷新顯示。
3)網頁在發送時,其大小有時超過了Socket發送的Buffer空間,必須順序地將網頁分片發送,當數據發送完成,且客戶端確定接收的數據后,關閉 Socket,完成交互[4]。
對串口服務器方案的測試,是為了實驗者能夠對系統方案通信能力進行評測的有效保證。
本系統設計的成功與否,關鍵在于系統的通信速率是否能適應現場要求,現將一對串口服務器,通過網線接入同一局域網,通過瀏覽器對兩端串口分別配置成UDP模式,設置好目的IP和端口號后,用串口調試軟件測試在連續發送100 kbyte后(單次發送包大小為200 byte,發送間隔為18 ms),查看丟包情況,結果如表1所示。

表1 通信速率測試數據
由于該設計方案沒有采用操作系統作為系統時間調度,不考慮在以太網中可能出現的沖突和碰撞現象,在串口通信速率較高時(115 200 bit/s),連續傳送大的網絡包,由于串口包轉成網絡包,網絡包在對端轉成串口包后,超出接收瓶頸,會有微量丟包情況出現,而在實際應用中反復測試時,幾乎無影響。
本文介紹了一種低成本的串口服務器設計方案,運用世紀民生CS6209高度集成的特性,簡化了硬件電路設計,易用性大大加強。CS6209非常高的集成度以及豐富的I/O資源,使得嵌入式系統通過以太網方便地和遠程計算機進行通信。該串口服務器能很好地應用于智能家電、遠程控制、網絡管理等領域,解決了串行設備接入難的問題。
:
[1]王俊.嵌入式 WebServer系統的實現[EB/OL].[2012-06-09].http://www.docin.com/p-462494272.html.
[2]CS6209_user_manual[EB/OL].[2012-06-09].http://en.pudn.com/downloads155/doc/comm/detail688423_en.html.
[3]史蒂文斯.TCP/IP詳解:卷1[M].范建華,譯.北京:機械工業出版社,2000.
[4]RICHARD S W,BILL F,ANDREW M.UNIX 網絡編程:卷1API[M].楊繼張,譯.3版.北京:人民郵電出版社,2009.
Study of Serial Port Server/Switch Based on CS6209
YUAN Hangkong1,2,ZHANG Jinsong2,Lü Lu1,3
(1.Wuhan Research Institute of Posts&Telecommunications,Wuhan 430074,China;2.Myson Century Inc.,Wuhan Trimode Technology Inc.,Wuhan 430074,China;3.Firberhome Inc.,Wuhan Hongxin Telecommunication Technologies Co.,Ltd.,Wuhan 430074,China)
A kind of solution that serial communication devices connect to the management network.This scheme adopts Myson Century CS6209 chip as the main MCU,incorporating C8051-compatible micro-controller core and integrating Ethernet interface(MAC and PHY),it is a kind of ultra low-cost serial server solution.In this paper,the composition of the serial server is described firstly.Then,a solution that serial communication devices connect to the management network is proposed.That solution adopts Myson Century CS6209 chip as the main MCU,incorporating C8051-compatible micro-controller core and integrating Ethernet interface(MAC and PHY),it is a kind of ultra low-cost serial server solution.After that,the structure of TCP/IP protocol stack,system software architecture and hardware design and verification of this program are all introduced.Finally,it sums up and makes an instruction of CS6209’s practical and facility.
serial device server;CS6209;TCP/IP;network management
TP368.1
A
袁航空(1988— ),碩士生,從事嵌入式IA設計;
張勁松(1970— ),博士,研究生導師,從事通信終端設計研究;
呂 露(1987— ),碩士生,從事通信電源設計和視頻監控設計。
責任編輯:許 盈
2012-07-30