上海理工大學光電信息與計算機工程學院 崔二勇 簡獻忠 蔡晶晶 趙俊艷 唐唯喬 谷 亮
基于LPC2103的串口服務器設計與實現
上海理工大學光電信息與計算機工程學院 崔二勇 簡獻忠 蔡晶晶 趙俊艷 唐唯喬 谷 亮
為了將具有串口功能的設備適應物聯網技術的要求,提出了一種基于LPC2103的串口服務器的設計方法。先從物理接口機制方面對串口服務器進行了概述,然后從系統硬件和軟件兩方面對基于LPC2103的串口服務器進行了詳細的設計,最后對該串口服務器進行了測試。實驗發現,基于LPC2103的串口服務器設計具有嵌入式產品的特點,滿足物聯網絡應用要求,為串口服務器設計提供了一種設計方法。
串口服務器;LPC2103;物聯網;TCP/IP
物聯網是新一代信息技術的重要組成部分。其英文名稱是“The Internet of things”。由此,顧名思義,“物聯網就是物物相連的互聯網”。這有兩層意思:第一,物聯網的核心和基礎仍然是互聯網,是在互聯網基礎上的延伸和擴展的網絡;第二,其用戶端延伸和擴展到了任何物品與物品之間,進行信息交換和通信。因此,物聯網的定義是通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物品與互聯網相連接,進行信息交換和通信,以實現對物品的智能化識別、定位、跟蹤、監控和管理的一種網絡。
電子系統在生產生活中扮演著越來越重要的角色,工業中的控制系統、監控系統帶來了生產力的飛速提升,生活中的門禁系統、考勤系統、POS消費系統、醫療設備系統帶來了生活的高效和便捷。這些電子系統通常由控制主機以及各各樣數量繁多的傳感器、檢測器等設備組成。在這些系統的運轉中,設備的運行控制和設備間的數據傳輸是其中最重要的環節,而這兩者都要依賴于設備間的互聯通信。在各種電子系統中,以RS-232和RS-485為代表的串行通信方式因其易于實現和維護的特點得到廣泛的應用。但是,伴隨物聯網技術和數字技術的快速發展,越來越多的傳感器、檢測器等設備投入到應用中,設備間的互聯要求變得越來越高,設備的網絡化成為主要的發展趨勢,而傳統的串行通信方式逐漸暴露出其傳輸速率低、傳輸距離近、網絡化實現復雜的缺點。與此同時,Internet技術逐漸發展完善,TCP/IP網絡迅速普及,其寬帶傳輸速率、網絡接入后的無限傳輸距離以及成熟的現有網絡等特點使之成為升級串行通信方式的首選改造方案。當前,在生產生活中廣泛使用的以串行通信標準進行通信的設備往往不具備網絡接口,將這些設備更換升級,使之具有網絡接口會耗費大量的人力、物力、財力,產生巨大的改造成本;而在一些串口通信足以滿足需求,只有少量設備需要進行網絡化的環境下,把所有設備進行升級也是一種浪費。
因此如何通過外部模塊或設備,利用現有的通信接口如何來實現聯網,以適應物聯網技術的要求是一個具有創新的理論及實踐意義的課題。本文本文提出了一種以高性能微處理器ARM7TDMI-S芯片LPC2103和以太網控制芯片DM9000AE為核心的轉換系統,把從串口(RS-232)中接收的數據數據通過以太網進行傳輸,達到了遠程控制,遠程通信的目的,提高了傳輸數據的抗干擾性,節省了更新換代成本
串口服務器是一種通信協議轉換器,它設有兩類通信端口:一類是標準RS232/422/485格式的串行端口,遠程的實時監控模塊通過串行控制總線接入串口服務器的此類端口;另一類是RJ45以太網口,通過網線將串口服務器接入局域網的交換機等設備中,因上位監控機亦連入此局域網,故可對遠程實時單元進行運行數據采集及實時控制。若局域網接入了路由器等設備,可實現廣域網范圍的遠程監控。有的串口服務器以太網口數目為兩個,這樣通過自身的以太網口就可實現網絡設備的互聯,可以省去交換機等設備。串口服務器在工作中可自動的將RS232/422/485格式的串行數據與基于TCP/IP協議的以太網數據包進行透明轉換。一方面,串口服務器收到來自某一串行端口的現場數據,端口號判斷完畢后將其連同實時數據一并打入TCP/UDP數據包,加入報頭地址通過以太網口進行網絡上傳;另一方面,串口服務器在局域網中捕獲合法的數據協議包,通過解包解析出有效控制信息,通過監控機指定的串行端口將控制命令以串行數據的方式傳送給遠程實時控制單元。服務器模型如圖1所示。

圖1 串口服務器模型
本系統主要由三大模塊組成,分別是由微處理器芯片LPC2103構成的MCU模塊,由網口控制芯片DM9000AEP和含RI45和網絡變壓器的HR911105A的網口模塊,由串口控制芯片MAX232與RS-232接口構成的串口模塊。設備發送過來的信息通過串口模塊之后,送入MCU進行處理,然后通過網口模塊發送至以太網進行顯示,如圖2所示為服務器的系統設計框圖。

圖2 串口服務器系統框圖
2.2.1 MCU模塊
LPC2103是PHILIPS公司最新推出的基于ARM7TDMI-S、LQFP48封裝的LPC2103,最高工作速度可達70MHz,32KB的片內FLASH程序存儲器和8K的片內靜態RAM。通過片內boot裝載程序實現ISP/IAP編程。
LPC2103的10位A/D轉換器提供8路模擬輸入,低功耗實時時鐘具有獨立的電源和特定的32768HZ時鐘輸入,多達32個通用I/O口(可承受5V電壓),可通過個別使能/禁止外圍功能外圍時鐘分頻來優化額外功耗。較小的封裝和很低的功耗使LPC2103特別適用于訪問控制和POS機等小型應用中;由于內置了寬范圍的串行通信接口和8KB的片內SRAM,非常適合于通信網關和協議轉換器的研制,在本串口服務器的設計中,MCU的設計如圖3所示。

圖3 串口服務器的MCU模塊
2.2.2 串口模塊
幾乎所有的微控制器PC都提供串行接口,使用電子工業協會(EIA)推薦的RS-232-C標準RS-232-C是一種很常用的串行數據傳輸總線標準,采用的接口是3芯插頭,通過3芯插頭再連接到標準的9芯D型插座上。由于RS-232-C標準所定義的高低電平信號與lpc2103系統的LVTTL電路所定義的高低電平信號完全不同,所以,兩者間要進行通信必須經過信號電平的轉換目前常使用的電平轉換芯片為MAX232。將MAX232的10,11腳分別接至LPC2103的13,14腳。具體設計如圖4所示。

圖4 串口通訊接口
2.2.3 網口模塊
是一款高集成度且成本較低的單片快速以太網媒體介質訪問層MAC控制器,上有通用處理器接口,10M/100M物理層和16KbyteSRAM,低功耗、高性能IO管腳兼容3.3/5.0V電壓。DM9000AEP合成了以太網MAC、物理層PHY和MMU,內置AUTOMDI2X功能10/100MPHY,芯片可以根據處理器提供8/16/32bit3種連接方式實現以太網MAC層和PHY層的功能。
以太網變壓器HR911105A主要包含了RJ45和網絡變壓器RJ45連接器俗稱水晶頭,就是連接網卡或HUB的那個透明的插頭,是用來連接雙絞線的兩端RJ45是一種網絡接口規范,類似的還有RJ11接口,就是平常所用的電話接口,用來連接電話線雙絞線的兩端必須都安裝這種RJ45插頭,以便插在網卡(NIC)集線器(Hub)或交換機(Switch)的RJ45接口上,進行網絡通訊。網絡模塊設計如圖5所示。

圖5 DM9000AE構成的以太網控制電路
2.2.4 下載口模塊
本系統設計中采用10針的JTAG接口作為下載口,如表1接口的管腳和lpc2103的管腳相連接。

表1 JTAG接口與LPC2103的管腳對應
本系統要實現UDP/IP通信,還要實現和串口交換數據,若用一般的前后臺系統,設計起來將是相當復雜,而且性能也要受到影響。因此,在設計中采用了嵌入式操作系統,把需要實現的各種功能分解成一個個獨立的任務,按照任務的優先級,使各個任務獨占CPU來運行。任務之間通過信號量、消息隊列、郵箱等進行通信,這樣既保證了系統的實時性,又簡化了實現的難度。又簡化了實現的難度。
串口服務器的軟件系統完成的功能主要有:進行硬件初始化,包括對網絡接口芯片DM9000AE和主控芯片LPC2103的進行初始化、參數配置;協議透明轉換,完成串行數據與以太網數據的相互轉換;通過LED進行工作狀態指示。具體的軟件流程圖如圖6所示。

圖6 軟件流程圖

圖7 系統測試示意圖
在本系統設計中,發送收發數據按照事先約定的協議“開始碼+數據長度+類型+數據+結束碼”的數據格式進行數據的收發,開始前用UDP網絡調試工具,勾上按十六進制發送即網絡和串口數據雙向發送了。實驗發現,網絡向串口發和串口向網絡發數據均正常,從而驗證了本設計的正確性,測試如圖7所示。
通過本系統的研究表明,串口和網口的通信正常,實時性和穩定性都實現得較好,并且硬件電路制作簡單,功耗較低,工作穩定。本系統串口服務器可以進行串口和網口的通信,可以通過以太網遠程管理串口設備,也可以把串口設備返回的數據封裝成IP數據包,然后通過網口傳輸至網絡中,實時地顯示串口設備的工作狀態。由于串口服務器具有使用方便、組網便捷、投資經濟等優點,是用以實現以太網數據通信的最佳產品選擇,將在工業自動化、醫療設備網絡監測、智能樓宇、通信和交通等領域有著廣泛的應用。
[1]任哲.嵌入式實時操作系統C/OS-II原理及應用(第2版)[M].北京:北京航空航天大學出版社.
[2]徐愛鈞.IAR EWARM V5嵌入式系統應用編程與開發[M].北京:北京航空航天大學出版社,2009.
注:本課題來源于2012年上海市大學生創新創業訓練計劃項目“基于物聯網技術的串口服務器設計”(項目編號:SH201210252045)。